List:Internals« Previous MessageNext Message »
From:kent Date:October 6 2005 6:00pm
Subject:bk commit into 4.1 tree (kent:1.2476)
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of kent. When kent does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2476 05/10/06 18:00:23 kent@stripped +1 -0
  make_binary_distribution.sh:
    Replaced --machine with --platform
    General code cleanup

  scripts/make_binary_distribution.sh
    1.81 05/10/06 17:58:02 kent@stripped +102 -118
    Replaced --machine with --platform
    General code cleanup

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	kent
# Host:	c-554072d5.010-2112-6f72651.cust.bredbandsbolaget.se
# Root:	/Users/kent/mysql/bk/mysql-4.1

--- 1.80/scripts/make_binary_distribution.sh	2005-07-08 21:04:50 +02:00
+++ 1.81/scripts/make_binary_distribution.sh	2005-10-06 17:58:02 +02:00
@@ -1,54 +1,50 @@
 #!/bin/sh
-# The default path should be /usr/local
 
-# Get some info from configure
-# chmod +x ./scripts/setsomevars
+# This is a script to create a TAR or ZIP binary distribution out of a
+# built source tree. The output file will be put at the top level of
+# the source tree, as "mysql-<vsn>....{tar.gz,zip}"
+#
+# The temporary directory path given to "--tmp=<path>" has to be
+# absolute and with no spaces.
 
 machine=@MACHINE_TYPE@
 system=@SYSTEM_TYPE@
 version=@VERSION@
-export machine system version
-SOURCE=`pwd` 
+SOURCE=`pwd`
 CP="cp -p"
 MV="mv"
 
 STRIP=1
 DEBUG=0
 SILENT=0
-MACHINE=
+PLATFORM="$system-$machine"
 TMP=/tmp
 SUFFIX=""
 NDBCLUSTER=
 
-parse_arguments() {
-  for arg do
-    case "$arg" in
-      --debug)    DEBUG=1;;
-      --tmp=*)    TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;;
-      --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;;
-      --no-strip) STRIP=0 ;;
-      --machine=*)  MACHINE=`echo "$arg" | sed -e "s;--machine=;;"` ;;
-      --silent)   SILENT=1 ;;
-      --with-ndbcluster) NDBCLUSTER=1 ;;
-      *)
-	echo "Unknown argument '$arg'"
-	exit 1
-        ;;
-    esac
-  done
-}
-
-parse_arguments "$@"
-
-#make
+for arg do
+  case "$arg" in
+    --debug)    DEBUG=1;;
+    --tmp=*)    TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;;
+    --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;;
+    --no-strip) STRIP=0 ;;
+    --platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;;
+    --silent)   SILENT=1 ;;
+    --with-ndbcluster) NDBCLUSTER=1 ;;
+    *)
+      echo "Unknown argument '$arg'"
+      exit 1
+      ;;
+  esac
+done
 
-# This should really be integrated with automake and not duplicate the
+# FIXME This should really be integrated with automake and not duplicate the
 # installation list.
 
 BASE=$TMP/my_dist$SUFFIX
 
 if [ -d $BASE ] ; then
- rm -r -f $BASE
+ rm -rf $BASE
 fi
 
 BS=""
@@ -77,23 +73,26 @@
  chmod o-rwx $BASE/data $BASE/data/*
 fi
 
-for i in ChangeLog \
-				 Docs/mysql.info
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE/docs
-  fi
-done
+# Copy files if they exists, warn for those that don't
+copyfileto()
+{
+  destdir=$1
+  shift
+  for i ; do
+    if [ -f $i ] ; then
+      $CP $i $destdir
+    elif [ -d $i ] ; then
+      echo "Warning: Will not copy directory \"$i\""
+    else
+      echo "Warning: Listed file not found   \"$i\""
+    fi
+  done
+}
+
+copyfileto $BASE/docs ChangeLog Docs/mysql.info
 
-for i in COPYING COPYING.LIB README Docs/INSTALL-BINARY \
+copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \
          EXCEPTIONS-CLIENT MySQLEULA.txt LICENSE.doc README.NW
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE
-  fi
-done
 
 # Non platform-specific bin dir files:
 BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
@@ -135,45 +134,27 @@
   ";
 fi
 
-for i in $BIN_FILES
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE/bin
-  fi
-done
+copyfileto $BASE/bin $BIN_FILES
 
 if [ x$STRIP = x1 ] ; then
   strip $BASE/bin/*
 fi
 
 # Copy not binary files
-for i in sql/mysqld.sym.gz
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE/bin
-  fi
-done
+copyfileto $BASE/bin sql/mysqld.sym.gz
 
 if [ $BASE_SYSTEM = "netware" ] ; then
-    $CP -r netware/*.pl $BASE/scripts
+    $CP netware/*.pl $BASE/scripts
     $CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl
 fi
 
-for i in \
+copyfileto $BASE/lib \
   libmysql/.libs/libmysqlclient.a libmysql/.libs/libmysqlclient.so* \
   libmysql/libmysqlclient.* libmysql_r/.libs/libmysqlclient_r.a \
   libmysql_r/.libs/libmysqlclient_r.so* libmysql_r/libmysqlclient_r.* \
   mysys/libmysys.a strings/libmystrings.a dbug/libdbug.a \
   libmysqld/.libs/libmysqld.a libmysqld/.libs/libmysqld.so* \
   libmysqld/libmysqld.a netware/libmysql.imp
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE/lib
-   fi
-done
 
 # convert the .a to .lib for NetWare
 if [ $BASE_SYSTEM = "netware" ] ; then
@@ -184,7 +165,8 @@
     done
 fi
 
-$CP config.h include/* $BASE/include
+copyfileto $BASE/include config.h include/*
+
 rm -f $BASE/include/Makefile* $BASE/include/*.in $BASE/include/config-win.h
 if [ $BASE_SYSTEM != "netware" ] ; then
   rm -f $BASE/include/config-netware.h
@@ -199,45 +181,52 @@
   fi
 fi
 
-$CP support-files/* $BASE/support-files
-$CP scripts/*.sql $BASE/share
+copyfileto $BASE/support-files support-files/*
+
+copyfileto $BASE/share scripts/*.sql
 
 $CP -r sql/share/* $MYSQL_SHARE
 rm -f $MYSQL_SHARE/Makefile* $MYSQL_SHARE/*/*.OLD
 
-for i in mysql-test/mysql-test-run mysql-test/install_test_db \
+copyfileto $BASE/mysql-test \
+         mysql-test/mysql-test-run mysql-test/install_test_db \
          mysql-test/mysql-test-run.pl mysql-test/README \
          netware/mysql_test_run.nlm netware/install_test_db.ncf
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE/mysql-test
-   fi
-done
 
 $CP mysql-test/lib/*.pl  $BASE/mysql-test/lib
 $CP mysql-test/lib/*.sql $BASE/mysql-test/lib
 $CP mysql-test/include/*.inc $BASE/mysql-test/include
-$CP mysql-test/std_data/*.dat mysql-test/std_data/*.*001 $BASE/mysql-test/std_data
+$CP mysql-test/std_data/*.dat mysql-test/std_data/*.*001 \
+    $BASE/mysql-test/std_data
 $CP mysql-test/std_data/des_key_file $BASE/mysql-test/std_data
-$CP mysql-test/t/*test mysql-test/t/*.opt mysql-test/t/*.slave-mi mysql-test/t/*.sh $BASE/mysql-test/t
+$CP mysql-test/t/*test mysql-test/t/*.opt mysql-test/t/*.slave-mi \
+    mysql-test/t/*.sh $BASE/mysql-test/t
 $CP mysql-test/r/*result mysql-test/r/*.require $BASE/mysql-test/r
 
 if [ $BASE_SYSTEM != "netware" ] ; then
   chmod a+x $BASE/bin/*
-  $CP scripts/* $BASE/bin
-  $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ @HOSTNAME@ \@pkgdatadir\@ ./support-files < $SOURCE/scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db
-  $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@MYSQLD_USER\@ root \@localstatedir\@ /usr/local/mysql/data \@HOSTNAME\@ @HOSTNAME@ < $SOURCE/support-files/mysql.server.sh > $BASE/support-files/mysql.server
+  copyfileto $BASE/bin scripts/*
+  $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ \
+      ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ \
+      @HOSTNAME@ \@pkgdatadir\@ ./support-files \
+      < scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db
+  $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \
+      \@MYSQLD_USER\@ root \@localstatedir\@ /usr/local/mysql/data \
+      \@HOSTNAME\@ @HOSTNAME@ \
+      < support-files/mysql.server.sh > $BASE/support-files/mysql.server
   $BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe
   mv $BASE/support-files/binary-configure $BASE/configure
-  chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-* $BASE/support-files/mysql.server $BASE/configure
+  chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-* \
+      $BASE/support-files/mysql.server $BASE/configure
   $CP -r sql-bench/* $BASE/sql-bench
   rm -f $BASE/sql-bench/*.sh $BASE/sql-bench/Makefile* $BASE/lib/*.la
   rm -f $BASE/bin/*.sql
 fi
 
-rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh $BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution $BASE/bin/setsomevars $BASE/support-files/Makefile* $BASE/support-files/*.sh
-
+rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
+    $BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \
+    $BASE/bin/setsomevars $BASE/support-files/Makefile* \
+    $BASE/support-files/*.sh
 
 #
 # Copy system dependent files
@@ -245,8 +234,10 @@
 if [ $BASE_SYSTEM = "netware" ] ; then
   echo "CREATE DATABASE mysql;" > $BASE/bin/init_db.sql
   echo "CREATE DATABASE test;" >> $BASE/bin/init_db.sql
-  sh ./scripts/mysql_create_system_tables.sh real "" "%" 0 >> $BASE/bin/init_db.sql
-  sh ./scripts/mysql_create_system_tables.sh test "" "%" 0 > $BASE/bin/test_db.sql
+  sh ./scripts/mysql_create_system_tables.sh real "" "%" 0 \
+      >> $BASE/bin/init_db.sql
+  sh ./scripts/mysql_create_system_tables.sh test "" "%" 0 \
+      > $BASE/bin/test_db.sql
 #  cp ./netware/static_init_db.sql ./netware/init_db.sql
 #  ./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql
 fi
@@ -271,9 +262,9 @@
 (cd $BASE/bin ; ln -s mysqld_safe safe_mysqld )
 
 # Clean up if we did this from a bk tree
-if [ -d $BASE/sql-bench/SCCS ] ; then 
-  find $BASE/share -name SCCS -print | xargs rm -r -f
-  find $BASE/sql-bench -name SCCS -print | xargs rm -r -f
+if [ -d $BASE/sql-bench/SCCS ] ; then
+  find $BASE/share -name SCCS -print | xargs rm -rf
+  find $BASE/sql-bench -name SCCS -print | xargs rm -rf
 fi
 
 # NDB Cluster
@@ -288,36 +279,29 @@
   rm -rf $BASE/ndb-stage
 fi
 
-# Use the override --machine if present
-if [ -n "$MACHINE" ] ; then
-  machine=$MACHINE
-fi
-
 # Change the distribution to a long descriptive name
-NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$system-$machine$SUFFIX
+NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$PLATFORM$SUFFIX
 
 # Print the platform name for build logs
-echo "PLATFORM NAME: $system-$machine"
+echo "PLATFORM NAME: $PLATFORM"
 
 BASE2=$TMP/$NEW_NAME
-rm -r -f $BASE2
+rm -rf $BASE2
 mv $BASE $BASE2
 BASE=$BASE2
 #
 # If we are compiling with gcc, copy libgcc.a to the distribution as libmygcc.a
 #
 
-if test "@GXX@" = "yes"
+if [ x"@GXX@" = x"yes" ]
 then
-  cd $BASE/lib
   gcclib=`@CC@ --print-libgcc-file`
-  if test $? -ne 0
+  if [ $? -ne 0 ]
   then
     print "Warning: Couldn't find libgcc.a!"
   else
-    $CP $gcclib libmygcc.a
+    $CP $gcclib $BASE/lib/libmygcc.a
   fi
-  cd $SOURCE
 fi
 
 #if we are debugging, do not do tar/gz
@@ -328,7 +312,9 @@
 # This is needed to prefere gnu tar instead of tar because tar can't
 # always handle long filenames
 
-PATH_DIRS=`echo $PATH | sed -e 's/^:/. /' -e 's/:$/ ./' -e 's/::/ . /g' -e 's/:/ /g' `
+PATH_DIRS=`echo $PATH | \
+    sed -e 's/^:/. /' -e 's/:$/ ./' -e 's/::/ . /g' -e 's/:/ /g' `
+
 which_1 ()
 {
   for cmd
@@ -337,7 +323,7 @@
     do
       for file in $d/$cmd
       do
-	if test -x $file -a ! -d $file
+	if [ -x $file -a ! -d $file ]
 	then
 	  echo $file
 	  exit 0
@@ -353,38 +339,36 @@
   #
   # Create the result tar file
   #
-  
+
   tar=`which_1 gnutar gtar`
-  if test "$?" = "1" -o "$tar" = ""
+  if [ "$?" = "1" -o x"$tar" = x"" ]
   then
     tar=tar
   fi
-  
+
   echo "Using $tar to create archive"
-  cd $TMP
-  
+
   OPT=cvf
   if [ x$SILENT = x1 ] ; then
     OPT=cf
   fi
-  
-  $tar $OPT $SOURCE/$NEW_NAME.tar $NEW_NAME
-  cd $SOURCE
-  echo "Compressing archive"
+
+  echo "Creating and compressing archive"
   rm -f $NEW_NAME.tar.gz
-  gzip -9 $NEW_NAME.tar
+  (cd $TMP ; $tar $OPT -  $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz
   echo "$NEW_NAME.tar.gz created"
+
 else
 
   #
   # Create a zip file for NetWare users
   #
 
-  cd $TMP
-  if test -e "$SOURCE/$NEW_NAME.zip"; then rm $SOURCE/$NEW_NAME.zip; fi
-  zip -r $SOURCE/$NEW_NAME.zip $NEW_NAME
+  rm -f $NEW_NAME.zip
+  (cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME)
   echo "$NEW_NAME.zip created"
 
 fi
+
 echo "Removing temporary directory"
-rm -r -f $BASE
+rm -rf $BASE
Thread
bk commit into 4.1 tree (kent:1.2476)kent6 Oct