diff options
author | Wayne Davison <wayned@samba.org> | 2007-12-17 23:09:35 -0800 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2007-12-17 23:32:47 -0800 |
commit | 9203c8d274b6f62e83dcc35f0a2514534ee8fd85 (patch) | |
tree | 99323d86e735534254ad453bfd6e0f1f86477c30 | |
parent | 9468cf796daf9824070acea5fa0ec0f34f393d25 (diff) | |
download | rsync-9203c8d274b6f62e83dcc35f0a2514534ee8fd85.tar.gz rsync-9203c8d274b6f62e83dcc35f0a2514534ee8fd85.tar.bz2 rsync-9203c8d274b6f62e83dcc35f0a2514534ee8fd85.zip |
Improved prepare-source to make it more flexible. The script now
lets the user choose which actions to perform and their order.
-rwxr-xr-x | configure | 6 | ||||
-rwxr-xr-x | prepare-source | 61 |
2 files changed, 48 insertions, 19 deletions
@@ -9,11 +9,11 @@ realconfigure="$dir/configure.sh" if test ! -f "$realconfigure"; then if test -f "$HOME/build_farm/build_test.fns"; then # Allow the build farm to grab latest files via rsync. - fetch=fetch + actions='build fetch' else - fetch='' + actions='build' fi - if "$dir/prepare-source" $fetch; then + if "$dir/prepare-source" $actions; then : else echo 'Failed to build configure.sh and/or config.h.in -- giving up.' >&2 diff --git a/prepare-source b/prepare-source index 3cb7096e..0e73138d 100755 --- a/prepare-source +++ b/prepare-source @@ -1,22 +1,51 @@ #!/bin/sh -# Use autoconf and autoheader to create configure.sh and config.h.in. -# If unsuccessful and the "fetch" option was provided, grab the latest -# development versions of these files (only useful with a dev checkout). +# Either use autoconf and autoheader to create configure.sh and config.h.in +# or (optionally) fetch the latest development versions of generated files. +# +# Specify one action or more than one to provide a fall-back: +# +# build build the config files [the default w/no arg] +# fetch fetch the latest dev config files +# fetchgen fetch all the latest dev generated files +# fetchSRC fetch the latest dev source files [NON-GENERATED FILES] +# +# The script stops after the first successful action. + dir=`dirname $0` if test x"$dir" != x -a x"$dir" != x.; then cd "$dir" fi -if make -f prepare-source.mak; then - : -elif test x"$1" = x"fetch"; then - if perl --version >/dev/null 2>/dev/null; then - files='c*' - else - files='[cp]*' - fi - rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/"$files" . -elif test x"$1" = x"fetchall"; then - rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/'*' . -else - exit 1 + +if test $# = 0; then + set -- build fi + +for action in "${@}"; do + case "$action" in + build|make) + make -f prepare-source.mak + ;; + fetch) + if perl --version >/dev/null 2>/dev/null; then + files='c*' + else + files='[cp]*' + fi + rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/"$files" . + ;; + fetchgen) + rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/'*' . + ;; + fetchSRC) + rsync -pvrz --exclude=/.git/ rsync://rsync.samba.org/ftp/pub/unpacked/rsync/ . + ;; + *) + echo "Unknown action: $action" + exit 1 + esac + if test $? = 0; then + exit + fi +done + +exit 1 |