diff options
Diffstat (limited to 'prepare-source')
-rwxr-xr-x | prepare-source | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/prepare-source b/prepare-source new file mode 100755 index 0000000..a4e78e6 --- /dev/null +++ b/prepare-source @@ -0,0 +1,72 @@ +#!/bin/sh +# 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 autoconfig files +# fetchgen fetch all the latest dev generated files (including manpages) +# 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; then + dir=. +fi + +if test "$dir" = '.'; then + branch=`packaging/prep-auto-dir` || exit 1 + if test x"$branch" != x; then + cd build || exit 1 + dir=.. + fi +fi + +if test "$dir" != '.'; then + for lnk in configure.ac m4; do + if test ! -h $lnk; then + rm -f $lnk # Just in case + ln -s "$dir/$lnk" $lnk + fi + done + for fn in configure.sh config.h.in aclocal.m4; do + test ! -f $fn && test -f "$dir/$fn" && cp -p "$dir/$fn" $fn + done +fi + +if test $# = 0; then + set -- build +fi + +for action in "${@}"; do + case "$action" in + build|make) + make -f "$dir/prepare-source.mak" + ;; + fetch|fetchgen) + if test "$action" = fetchgen; then + match='*' + else + match='[ca]*' + fi + $dir/rsync-ssl -iipc --no-motd "rsync://download.samba.org/rsyncftp/generated-files/$match" ./ + test $? != 0 && continue + sleep 1 # The following files need to be newer than aclocal.m4 + touch configure.sh config.h.in + ;; + fetchSRC) + ./rsync-ssl -iipr --no-motd --exclude=/.git/ rsync://download.samba.org/ftp/pub/unpacked/rsync/ . + ;; + *) + echo "Unknown action: $action" + exit 1 + ;; + esac + if test $? = 0; then + exit + fi +done + +exit 1 |