Reorganize the build-farm "prepare-source" magic a little.
authorWayne Davison <wayned@samba.org>
Sat, 1 Dec 2007 02:01:18 +0000 (18:01 -0800)
committerWayne Davison <wayned@samba.org>
Sat, 1 Dec 2007 02:01:18 +0000 (18:01 -0800)
This makes it easier for a user to request a copy of the
configure scripts via rsync ("./prepare-source fetch").

configure
prepare-source

index 96198f6b3f6fad1e6d0e39d5a946675280d58e00..dec14ab02c51d62154db8ff6a657cd9b3850fcdb 100755 (executable)
--- a/configure
+++ b/configure
@@ -6,23 +6,21 @@
 dir=`dirname $0`
 realconfigure="$dir/configure.sh"
 
 dir=`dirname $0`
 realconfigure="$dir/configure.sh"
 
-if [ ! -f "$realconfigure" ]; then
+if test ! -f "$realconfigure"; then
     if test x"$dir" != x -a x"$dir" != x.; then
        curdir=`pwd`
        cd "$dir"
     else
        curdir=''
     fi
     if test x"$dir" != x -a x"$dir" != x.; then
        curdir=`pwd`
        cd "$dir"
     else
        curdir=''
     fi
-    if make -f prepare-source.mak conf; then
-       :
-    elif [ -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.
-       if perl --version >/dev/null; then
-           files='c*'
-       else
-           files='[cp]*'
-       fi
-       rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/"$files" .
+       fetch=fetch
+    else
+       fetch=''
+    fi
+    if ./prepare-source $fetch; then
+       :
     else
        echo 'Failed to build configure.sh and/or config.h.in -- giving up.' >&2
        rm -f "$realconfigure"
     else
        echo 'Failed to build configure.sh and/or config.h.in -- giving up.' >&2
        rm -f "$realconfigure"
index c3a788d32dfb017bb4bafd968fa875ac34c2ff18..ff1e6ba13a42a4d74d81ec83a8777d7bd9be9895 100755 (executable)
@@ -1,12 +1,20 @@
 #!/bin/sh
 #!/bin/sh
-# Use autoconf, autoheader, yodl, etc. to ready the generated files in the
-# release.  This is typically used after applying a diff from the "patches"
-# directory in a CVS-checked-out version.
-#
-# NOTE:  if you use a diff from the "patches" directory of a *release tar*
-# (as opposed to from CVS), this is not needed (but doesn't hurt anything).
+# 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).
 dir=`dirname $0`
 if test x"$dir" != x -a x"$dir" != x.; then
     cd "$dir"
 fi
 dir=`dirname $0`
 if test x"$dir" != x -a x"$dir" != x.; then
     cd "$dir"
 fi
-make -f prepare-source.mak
+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" .
+else
+    exit 1
+fi