Whamcloud - gitweb
file rhel-2.4.21 was initially added on branch b1_4.
[fs/lustre-release.git] / lustre / scripts / lbuild
index 3664e02..8f59969 100755 (executable)
@@ -29,6 +29,7 @@ UP_ARCHS=
 
 DATE=$(date)
 
+USE_DATESTAMP=1
 RPMBUILD=
 
 cleanup()
@@ -113,6 +114,11 @@ Usage: ${0##*/} [OPTION]... [-- <lustre configure options>]
     Also note that by using a non-"base" arch (eg, i386) only kernels
     will be built - there will be no lustre-lite-utils package.
 
+  --disable-datestamp
+    Prevents the datestamp flag (-D) from being passed to cvs for 
+    checkouts. This is a workaround for a problem encountered when 
+    using lbuild with tinderbox.
+
 EOF
 
 #   list_targets
@@ -150,10 +156,10 @@ check_options()
 #    [ -r "$TARGET_FILE" ] || \
 #      usage 1 "Target '$TARGET' was not found."
 
-    RPMBUILD=`which rpmbuild`
-    if [ $? -ne 0 -o ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
-       RPMBUILD=`which rpm`
-       if [ $? -ne 0 -o ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
+    RPMBUILD=$(which rpmbuild 2>/dev/null | head -1)
+    if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
+       RPMBUILD=$(which rpm 2>/dev/null | head -1)
+       if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
            usage 1 "Could not find binary for making rpms (tried rpmbuild and rpm)."
        fi
     fi
@@ -244,7 +250,13 @@ unpack_lustre()
        untar "$LUSTRE"
        [ -d lustre ] || ln -sf lustre* lustre
     else
-       cvs -d "$CVSROOT" -qz3 co -r "$TAG" -d "$DIRNAME" lustre || \
+       if [ "$USE_DATESTAMP" ]; then
+           DATESTAMP="-D '$DATE'"
+       else
+           DATESTAMP=""
+       fi          
+
+       cvs -d "$CVSROOT" -qz3 co $DATESTAMP -r "$TAG" -d "$DIRNAME" lustre || \
            fatal 1 "There was an error checking out Lustre from CVS."
        echo "Creating lustre tarball..."
        tar zcf "$DIRNAME.tar.gz" "$DIRNAME" \
@@ -364,7 +376,7 @@ publish()
 
 [ -r ~/.lbuildrc ] && . ~/.lbuildrc
 
-options=$(getopt -o d:D:h -l extraversion:,kerneldir:,lustre:,nosrc,publish,release,tag:,target:,target-archs: -- "$@")
+options=$(getopt -o d:D:h -l extraversion:,kerneldir:,lustre:,nosrc,publish,release,tag:,target:,target-archs:,disable-datestamp -- "$@")
 
 eval set -- "$options"
     
@@ -420,6 +432,10 @@ while [ "$1" ] ; do
            TARGET_ARCHS=$2
            shift 2
            ;;
+       --disable-datestamp)
+           USE_DATESTAMP=
+           shift
+           ;;
        --)
            shift
            CONFIGURE_FLAGS=$@