Commit 9203c8d2 authored by Wayne Davison's avatar Wayne Davison

Improved prepare-source to make it more flexible. The script now

lets the user choose which actions to perform and their order.
parent 9468cf79
...@@ -9,11 +9,11 @@ realconfigure="$dir/configure.sh" ...@@ -9,11 +9,11 @@ realconfigure="$dir/configure.sh"
if test ! -f "$realconfigure"; then if test ! -f "$realconfigure"; then
if test -f "$HOME/build_farm/build_test.fns"; then if test -f "$HOME/build_farm/build_test.fns"; then
# Allow the build farm to grab latest files via rsync. # Allow the build farm to grab latest files via rsync.
fetch=fetch actions='build fetch'
else else
fetch='' actions='build'
fi fi
if "$dir/prepare-source" $fetch; then if "$dir/prepare-source" $actions; then
: :
else else
echo 'Failed to build configure.sh and/or config.h.in -- giving up.' >&2 echo 'Failed to build configure.sh and/or config.h.in -- giving up.' >&2
......
#!/bin/sh #!/bin/sh
# Use autoconf and autoheader to create configure.sh and config.h.in. # Either use autoconf and autoheader to create configure.sh and config.h.in
# If unsuccessful and the "fetch" option was provided, grab the latest # or (optionally) fetch the latest development versions of generated files.
# development versions of these files (only useful with a dev checkout). #
# 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` dir=`dirname $0`
if test x"$dir" != x -a x"$dir" != x.; then if test x"$dir" != x -a x"$dir" != x.; then
cd "$dir" cd "$dir"
fi fi
if make -f prepare-source.mak; then
: if test $# = 0; then
elif test x"$1" = x"fetch"; then set -- build
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
fi 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment