List:Internals« Previous MessageNext Message »
From:kent Date:October 7 2005 12:55pm
Subject:bk commit into 5.0 tree (kent:1.2028)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 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.2028 05/10/07 12:55:00 kent@stripped +2 -0
  Merge

  scripts/make_binary_distribution.sh
    1.95 05/10/07 12:54:49 kent@stripped +21 -35

  ndb/src/mgmsrv/Services.cpp
    1.54 05/10/07 12:26:03 kent@stripped +0 -1
    Auto merged

# 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-5.0/RESYNC

--- 1.94/scripts/make_binary_distribution.sh	2005-09-20 19:24:41 +02:00
+++ 1.95/scripts/make_binary_distribution.sh	2005-10-07 12:54:49 +02:00
@@ -1,56 +1,78 @@
 #!/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=
+MACHINE=""
+PLATFORM=""
 TMP=/tmp
 SUFFIX=""
-NDBCLUSTER=
+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
-}
+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=;;"` ;;
+    --platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;;
+    --silent)   SILENT=1 ;;
+    --with-ndbcluster) NDBCLUSTER=1 ;;
+    *)
+      echo "Unknown argument '$arg'"
+      exit 1
+      ;;
+  esac
+done
 
-parse_arguments "$@"
+# Remove vendor from $system
+system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
 
+# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
+system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
+system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
+system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
+system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
+system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
+system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
+system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
+system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
+system=`echo $system | sed -e 's/linux-gnu/linux/g'`
+system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
+system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
 
+if [ x"$MACHINE" != x"" ] ; then
+  machine=$MACHINE
+fi
 
-#make
+if [ x"$PLATFORM" != x"" ] ; then
+  platform="$PLATFORM"
+else
+  platform="$system-$machine"
+fi
 
-# 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=""
@@ -79,25 +101,29 @@
  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 files:
+# Non platform-specific bin dir files:
 BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
   extra/resolveip$BS extra/my_print_defaults$BS \
   extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
@@ -114,7 +140,7 @@
   libmysqld/examples/mysqltest_embedded$BS \
   ";
 
-# Platform-specific bin files:
+# Platform-specific bin dir files:
 if [ $BASE_SYSTEM = "netware" ] ; then
   BIN_FILES="$BIN_FILES \
     netware/mysqld_safe$BS netware/mysql_install_db$BS \
@@ -137,33 +163,21 @@
   ";
 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.* \
@@ -171,12 +185,6 @@
   libmysqld/.libs/libmysqld.a libmysqld/.libs/libmysqld.so* \
   libmysqld/libmysqld.a netware/libmysql.imp \
   zlib/.libs/libz.a
-do
-  if [ -f $i ]
-  then
-    $CP $i $BASE/lib
-   fi
-done
 
 # convert the .a to .lib for NetWare
 if [ $BASE_SYSTEM = "netware" ] ; then
@@ -187,7 +195,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
@@ -202,22 +211,18 @@
   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 \
 	 mysql-test/valgrind.supp \
          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
@@ -234,19 +239,29 @@
 
 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 \@sbindir\@ ./bin \@libexecdir\@ ./bin \@MYSQLD_USER\@ @MYSQLD_USER@ \@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 \
+      \@sbindir\@ ./bin \@libexecdir\@ ./bin \
+      \@MYSQLD_USER\@ @MYSQLD_USER@ \@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
@@ -280,9 +295,9 @@
 fi
 
 # 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
@@ -297,52 +312,27 @@
   rm -rf $BASE/ndb-stage
 fi
 
-# Remove vendor from $system
-system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
-
-# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
-system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
-system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
-system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
-system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
-system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
-system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
-system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
-system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
-system=`echo $system | sed -e 's/linux-gnu/linux/g'`
-system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
-system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
-
-# 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"
-then
-  cd $BASE/lib
+if [ x"@GXX@" = x"yes" ] ; then
   gcclib=`@CC@ --print-libgcc-file`
-  if test $? -ne 0
-  then
+  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
@@ -353,7 +343,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
@@ -362,8 +354,7 @@
     do
       for file in $d/$cmd
       do
-	if test -x $file -a ! -d $file
-	then
+	if [ -x $file -a ! -d $file ] ; then
 	  echo $file
 	  exit 0
 	fi
@@ -378,38 +369,35 @@
   #
   # Create the result tar file
   #
-  
+
   tar=`which_1 gnutar gtar`
-  if test "$?" = "1" -o "$tar" = ""
-  then
+  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 5.0 tree (kent:1.2028)kent7 Oct