List:Commits« Previous MessageNext Message »
From:kent Date:August 27 2006 2:22pm
Subject:bk commit into 5.0 tree (kent:1.2244)
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@stripped, 2006-08-27 16:21:57+02:00, kent@stripped +2 -0
  make_win_bin_dist:
    More exact copying, and some options added
  configure.js:
    Reverted faulty change

  scripts/make_win_bin_dist@stripped, 2006-08-27 16:19:47+02:00, kent@stripped +271 -90
    More exact copying, and some options added

  win/configure.js@stripped, 2006-08-25 11:35:38+02:00, kent@stripped +1 -14
    Reverted faulty change

# 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-7b4072d5.010-2112-6f72651.cust.bredbandsbolaget.se
# Root:	/Users/kent/mysql/bk/mysql-5.0-cmake

--- 1.2/win/configure.js	2006-08-27 16:22:17 +02:00
+++ 1.3/win/configure.js	2006-08-27 16:22:17 +02:00
@@ -24,26 +24,13 @@
         switch (parts[0])
         {
             case "WITH_ARCHIVE_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_ARCHIVE_DB TRUE)");
-                    break;
             case "WITH_BERKELEY_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_BERKELEY_DB TRUE)");
-                    break;
             case "WITH_BLACKHOLE_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_BLACKHOLE_DB TRUE)");
-                    break;
             case "WITH_CSV_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_CSV_DB TRUE)");
-                    break;
             case "WITH_EXAMPLE_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_EXAMPLE_DB TRUE)");
-                    break;
             case "WITH_FEDERATED_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_FEDERATED_DB TRUE)");
-                    break;
             case "WITH_INNOBASE_STORAGE_ENGINE":
-                    configfile.WriteLine("SET (HAVE_INNOBASE_DB TRUE)");
-                    break;
+            case "WITH_PARTITION_STORAGE_ENGINE":
             case "__NT__":
             case "CYBOZU":
                     configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");

--- 1.1/scripts/make_win_bin_dist	2006-08-27 16:22:17 +02:00
+++ 1.2/scripts/make_win_bin_dist	2006-08-27 16:22:17 +02:00
@@ -1,41 +1,195 @@
-#! /bin/sh
+#!/bin/sh
 
-NOINST_NAME=$1
-
-mkdir $NOINST_NAME
-mkdir $NOINST_NAME/bin
-cp client/release/*.exe $NOINST_NAME/bin/
-cp extra/release/*.exe $NOINST_NAME/bin/
-mv $NOINST_NAME/bin/comp_err.exe $NOINST_NAME/bin/comp-err.exe
-cp myisam/release/*.exe $NOINST_NAME/bin/
-cp server-tools/instance-manager/release/*.exe $NOINST_NAME/bin/
-cp tests/release/*.exe $NOINST_NAME/bin/
-cp libmysql/release/*.exe $NOINST_NAME/bin/
-cp libmysql/release/libmysql.dll $NOINST_NAME/bin/
-
-cp sql/release/mysqld.exe $NOINST_NAME/bin/mysqld.exe
-cp sql/debug/mysqld.exe $NOINST_NAME/bin/mysqld-debug.exe
-# For Pro/Classic builds, do this instead:
-#   cp sql/release/mysqld.exe $NOINST_NAME/bin/mysqld-nt.exe
-#   cp sql/debug/mysqld.exe $NOINST_NAME/bin/mysqld-debug.exe
-
-cp COPYING EXCEPTIONS-CLIENT $NOINST_NAME/
-cp -dpR win/data $NOINST_NAME/data
-mkdir $NOINST_NAME/Docs
-cp Docs/INSTALL-BINARY Docs/manual.chm ChangeLog COPYING $NOINST_NAME/Docs/
-
-# These will be filled in when we enable embedded.
-mkdir -p $NOINST_NAME/Embedded/DLL/debug $NOINST_NAME/Embedded/DLL/release $NOINST_NAME/Embedded/static/release
-
-mkdir -p $NOINST_NAME/examples/libmysqltest/debug $NOINST_NAME/examples/libmysqltest/release
-cp libmysql/mytest.c libmysql/myTest.vcproj libmysql/release/myTest.exe $NOINST_NAME/examples/libmysqltest/
-cp libmysql/debug/myTest.exe $NOINST_NAME/examples/libmysqltest/debug/
-cp libmysql/release/myTest.exe $NOINST_NAME/examples/libmysqltest/release/
+# Exit if failing to copy, we want exact specifications, not
+# just "what happen to be built".
+set -e
+
+# ----------------------------------------------------------------------
+# Read first argument that is the base name of the resulting TAR file.
+# See usage() function below for a description on the arguments.
+#
+# NOTE: We will read the rest of the command line later on.
+# NOTE: Pattern matching with "{..,..}" can't be used, not portable.
+# ----------------------------------------------------------------------
+
+# FIXME FIXME "debug", own build or handled here?
+# FIXME FIXME add way to copy from other builds executables
+
+usage()
+{
+  echo <<EOF
+Usage: make_win_bin_dist [ options ] package-base-name [ copy-defs... ]
+
+Options are
+
+  --embedded     Pack the embedded server and give error if not built.
+                 The default is to pack it if it is built.
+
+  --no-embedded  Don't pack the embedded server even if built
+
+  --debug        Pack the debug binaries and give error if not built.
+
+  --no-debug     Don't pack the debug binaries even if built
+
+  --only-debug   The target for this build was "Debug", and we just
+                 want to replace the normal binaries with debug
+                 versions, i.e. no separate "debug" directories.
+
+The "package-base-name" should be something like
+
+  mysql-noinstall-5.0.25-win32  (or winx64)
+
+and will be the name of the directory of the unpacked ZIP (stripping
+away the "noinstall" part) and the base for the resulting package
+name.
+
+EOF
+  exit 1
+}
+
+# ----------------------------------------------------------------------
+# Actual argument processing, first part
+# ----------------------------------------------------------------------
+
+NOINST_NAME=""
+TARGET="release"
+PACK_EMBEDDED=""		# Could be "no", "yes" or empty
+PACK_DEBUG=""			# Could be "no", "yes" or empty
+
+for arg do
+  case "$arg" in
+    --embedded)       PACK_EMBEDDED="yes" ;;
+    --no-embedded)    PACK_EMBEDDED="no" ;;
+    --debug)          PACK_DEBUG="yes" ;;
+    --no-debug)       PACK_DEBUG="no" ;;
+    --only-debug)     TARGET="debug" ; PACK_DEBUG="no" ;;
+    -*)
+      echo "Unknown argument '$arg'"
+      usage
+      ;;
+    *)
+      NOINST_NAME="$arg"
+      break
+  esac
+done
 
-mkdir -p $NOINST_NAME/examples/tests
-cp tests/*.res tests/*.tst tests/*.pl tests/*.c $NOINST_NAME/examples/tests/
+if [ x"$NOINST_NAME" = x"" ] ; then
+  echo "No base package name given"
+  usage
+fi
+DESTDIR=`echo $NOINST_NAME | sed 's/-noinstall-/-/'`
+
+if [ -e $DESTDIR ] ; then
+  echo "Please remove the old $DESTDIR before running this script"
+  usage
+fi
+
+# ----------------------------------------------------------------------
+# Copy executables, and client DLL (FIXME why?)
+# ----------------------------------------------------------------------
+
+trap 'echo "Clearning up and exiting..." ; rm -fr $DESTDIR; exit 1' ERR
+
+mkdir $DESTDIR
+mkdir $DESTDIR/bin
+cp client/$TARGET/*.exe                        $DESTDIR/bin/
+cp client/$TARGET/*.pdb                        $DESTDIR/bin/
+cp client/$TARGET/*.map                        $DESTDIR/bin/
+cp extra/$TARGET/*.exe                         $DESTDIR/bin/
+cp myisam/$TARGET/*.exe                        $DESTDIR/bin/
+cp server-tools/instance-manager/$TARGET/*.exe $DESTDIR/bin/
+cp tests/$TARGET/*.exe                         $DESTDIR/bin/
+cp libmysql/$TARGET/*.exe                      $DESTDIR/bin/
+cp libmysql/$TARGET/libmysql.dll               $DESTDIR/bin/
+
+# FIXME really needed?!
+mv $DESTDIR/bin/comp_err.exe                   $DESTDIR/bin/comp-err.exe
+
+cp sql/$TARGET/mysqld.exe                      $DESTDIR/bin/mysqld.exe
+
+if [ x"$PACK_DEBUG" = "" -a -f "sql/debug/mysqld.exe" -o \
+     x"$PACK_DEBUG" = "yes" ] ; then
+  cp sql/debug/mysqld.exe                $DESTDIR/bin/mysqld-debug.exe
+  cp sql/debug/mysqld.pdb                $DESTDIR/bin/mysqld-debug.pdb
+  cp sql/debug/mysqld.map                $DESTDIR/bin/mysqld-debug.map
+fi
+
+# ----------------------------------------------------------------------
+# Copy data directory, readme files etc
+# ----------------------------------------------------------------------
+
+cp COPYING EXCEPTIONS-CLIENT $DESTDIR/
+
+# FIXME is there ever a data directory to copy?
+if [ -d win/data ] ; then
+  cp -pR win/data $DESTDIR/data
+fi
+
+# FIXME maybe a flag to define "release build", or do the
+# check from the calling script that all these are there,
+# and with the correct content.
+
+mkdir $DESTDIR/Docs
+cp Docs/INSTALL-BINARY    $DESTDIR/Docs/
+cp Docs/manual.chm        $DESTDIR/Docs/ || /bin/true
+cp ChangeLog              $DESTDIR/Docs/ || /bin/true
+cp COPYING                $DESTDIR/Docs/
+cp support-files/my-*.ini $DESTDIR/
+
+# ----------------------------------------------------------------------
+# These will be filled in when we enable embedded. Note that if no
+# argument is given, it is copied if exists, else a check is done.
+# ----------------------------------------------------------------------
+
+copy_embedded()
+{
+  mkdir -p $DESTDIR/Embedded/DLL/release \
+           $DESTDIR/Embedded/static/release
+  cp libmysqld/libmysqld.def           $DESTDIR/include/
+  cp libmysqld/$TARGET/mysqlserver.lib $DESTDIR/Embedded/static/release/
+  cp libmysqld/$TARGET/libmysqld.dll   $DESTDIR/Embedded/DLL/release/
+  cp libmysqld/$TARGET/libmysqld.exp   $DESTDIR/Embedded/DLL/release/
+  cp libmysqld/$TARGET/libmysqld.lib   $DESTDIR/Embedded/DLL/release/
+
+  if [ x"$PACK_DEBUG" = "" -a -f "libmysqld/debug/libmysqld.lib" -o \
+       x"$PACK_DEBUG" = "yes" ] ; then
+    mkdir -p $DESTDIR/Embedded/DLL/debug
+    cp libmysqld/debug/libmysqld.dll     $DESTDIR/Embedded/DLL/debug/
+    cp libmysqld/debug/libmysqld.exp     $DESTDIR/Embedded/DLL/debug/
+    cp libmysqld/debug/libmysqld.lib     $DESTDIR/Embedded/DLL/debug/
+  fi
+}
+
+if [ x"$PACK_EMBEDDED" = "" -a \
+     -f "libmysqld/$TARGET/mysqlserver.lib" -a \
+     -f "libmysqld/$TARGET/libmysqld.lib" -o \
+     x"$PACK_EMBEDDED" = "yes" ] ; then
+  copy_embedded
+fi
+
+# ----------------------------------------------------------------------
+# FIXME test stuff that is useless garbage?
+# ----------------------------------------------------------------------
+
+mkdir -p $DESTDIR/examples/libmysqltest/release
+cp libmysql/mytest.c libmysql/myTest.vcproj libmysql/$TARGET/myTest.exe \
+   $DESTDIR/examples/libmysqltest/
+cp libmysql/$TARGET/myTest.exe $DESTDIR/examples/libmysqltest/release/
+
+if [ x"$PACK_DEBUG" = "" -a -f "libmysql/debug/myTest.exe" -o \
+     x"$PACK_DEBUG" = "yes" ] ; then
+  mkdir -p $DESTDIR/examples/libmysqltest/debug
+  cp libmysql/debug/myTest.exe $DESTDIR/examples/libmysqltest/debug/
+fi
+
+mkdir -p $DESTDIR/examples/tests
+cp tests/*.res tests/*.tst tests/*.pl tests/*.c $DESTDIR/examples/tests/
+
+# ----------------------------------------------------------------------
+# FIXME why not copy it all in "include"?!
+# ----------------------------------------------------------------------
 
-mkdir -p $NOINST_NAME/include
+mkdir -p $DESTDIR/include
 cp include/conf*.h \
    include/mysql*.h \
    include/errmsg.h \
@@ -48,69 +202,96 @@
    include/m_string.h \
    include/m_ctype.h \
    include/my_global.h \
-   include/typelib.h $NOINST_NAME/include/
-cp libmysql/libmysql.def $NOINST_NAME/include/
-cp libmysqld/libmysqld.def $NOINST_NAME/include/
-
-mkdir -p $NOINST_NAME/lib/debug $NOINST_NAME/lib/opt
-cp libmysql/debug/libmysql.dll \
-   libmysql/debug/libmysql.lib \
-   client/debug/mysqlclient.lib \
-   mysys/debug/mysys.lib \
-   regex/debug/regex.lib \
-   strings/debug/strings.lib \
-   zlib/debug/zlib.lib $NOINST_NAME/lib/debug/
-cp libmysql/release/libmysql.dll \
-   libmysql/release/libmysql.lib \
-   client/release/mysqlclient.lib \
-   regex/release/regex.lib \
-   strings/release/strings.lib \
-   zlib/release/zlib.lib $NOINST_NAME/lib/opt/
-cp mysys/release/mysys.lib $NOINST_NAME/lib/opt/mysys_tls.lib
-
-cp support-files/my-*.ini $NOINST_NAME/
-
-mkdir -p $NOINST_NAME/mysql-test/include $NOINST_NAME/mysql-test/lib \
-         $NOINST_NAME/mysql-test/r $NOINST_NAME/mysql-test/std_data \
-         $NOINST_NAME/mysql-test/t $NOINST_NAME/mysql-test/extra
-cp mysql-test/mysql-test-run.pl $NOINST_NAME/mysql-test/
-cp mysql-test/README $NOINST_NAME/mysql-test/
-cp mysql-test/install_test_db.sh $NOINST_NAME/mysql-test/install_test_db
-cp mysql-test/include/*.inc $NOINST_NAME/mysql-test/include/
-cp mysql-test/lib/*.pl $NOINST_NAME/mysql-test/lib/
-cp mysql-test/lib/*.sql $NOINST_NAME/mysql-test/lib/
-cp mysql-test/r/*.require $NOINST_NAME/mysql-test/r/
+   include/typelib.h $DESTDIR/include/
+cp libmysql/libmysql.def $DESTDIR/include/
+
+# ----------------------------------------------------------------------
+# Client libraries, and other libraries
+# FIXME why "libmysql.dll" installed both in "bin" and "lib/opt"?
+# ----------------------------------------------------------------------
+
+mkdir -p $DESTDIR/lib/opt
+cp libmysql/$TARGET/libmysql.dll \
+   libmysql/$TARGET/libmysql.lib \
+   client/$TARGET/mysqlclient.lib \
+   regex/$TARGET/regex.lib \
+   strings/$TARGET/strings.lib \
+   zlib/$TARGET/zlib.lib $DESTDIR/lib/opt/
+
+if [ x"$PACK_DEBUG" = "" -a -f "libmysql/debug/libmysql.lib" -o \
+     x"$PACK_DEBUG" = "yes" ] ; then
+  mkdir -p $DESTDIR/lib/debug
+  cp libmysql/debug/libmysql.dll \
+     libmysql/debug/libmysql.lib \
+     client/debug/mysqlclient.lib \
+     mysys/debug/mysys.lib \
+     regex/debug/regex.lib \
+     strings/debug/strings.lib \
+     zlib/debug/zlib.lib $DESTDIR/lib/debug/
+fi
+
+# FIXME sort this out...
+cp mysys/$TARGET/mysys.lib $DESTDIR/lib/opt/mysys_tls.lib
+
+# ----------------------------------------------------------------------
+# Copy the test directory
+# ----------------------------------------------------------------------
+
+mkdir -p $DESTDIR/mysql-test/include $DESTDIR/mysql-test/lib \
+         $DESTDIR/mysql-test/r $DESTDIR/mysql-test/std_data \
+         $DESTDIR/mysql-test/t
+cp mysql-test/mysql-test-run.pl $DESTDIR/mysql-test/
+cp mysql-test/README $DESTDIR/mysql-test/
+cp mysql-test/install_test_db.sh $DESTDIR/mysql-test/install_test_db
+cp mysql-test/include/*.inc $DESTDIR/mysql-test/include/
+cp mysql-test/lib/*.pl $DESTDIR/mysql-test/lib/
+cp mysql-test/lib/*.sql $DESTDIR/mysql-test/lib/
+cp mysql-test/r/*.require $DESTDIR/mysql-test/r/
 # Need this trick, or we get "argument list too long".
-ABS_DST=`pwd`/$NOINST_NAME
+ABS_DST=`pwd`/$DESTDIR
 (cd mysql-test/r/ && cp *.result $ABS_DST/mysql-test/r/)
-cp mysql-test/std_data/* $NOINST_NAME/mysql-test/std_data/
-cp mysql-test/t/*.disabled $NOINST_NAME/mysql-test/t/
-cp mysql-test/t/*.opt $NOINST_NAME/mysql-test/t/
-cp mysql-test/t/*.sh $NOINST_NAME/mysql-test/t/
-cp mysql-test/t/*.slave-mi $NOINST_NAME/mysql-test/t/
-cp mysql-test/t/*.sql $NOINST_NAME/mysql-test/t/
-cp mysql-test/t/*.def $NOINST_NAME/mysql-test/t/
+cp mysql-test/std_data/* $DESTDIR/mysql-test/std_data/
+cp mysql-test/t/*.opt $DESTDIR/mysql-test/t/
+cp mysql-test/t/*.sh $DESTDIR/mysql-test/t/
+cp mysql-test/t/*.slave-mi $DESTDIR/mysql-test/t/
+cp mysql-test/t/*.sql $DESTDIR/mysql-test/t/
+cp mysql-test/t/*.def $DESTDIR/mysql-test/t/
 (cd mysql-test/t/ && cp *.test $ABS_DST/mysql-test/t/)
-cp -dpR mysql-test/extra/* $NOINST_NAME/mysql-test/extra/
 
-# This copies in the unsubstituted scripts (containing @VAR@), but that seems
-# rather better than substituting random Unix paths and architecture names
-# from the Unix bootstrap host. Not sure what the point is of including these
-# shell scripts in the Windows packaging in any case.
-mkdir -p $NOINST_NAME/scripts
+# Note that this will not copy "extra" if a soft link
+if [ -d mysql-test/extra ] ; then
+  mkdir -p $DESTDIR/mysql-test/extra
+  cp -pR mysql-test/extra/* $DESTDIR/mysql-test/extra/
+fi
+
+# ----------------------------------------------------------------------
+# Copy what could be usable in the "scripts" directory. Currently
+# only SQL files, others are bourne shell scripts or Perl scripts
+# not really usable on Windows.
+#
+# But to be nice to the few Cygwin users we might have in 5.0 we
+# continue to copy the stuff, but don't include it include it in
+# the WiX install.
+# ----------------------------------------------------------------------
+
+mkdir -p $DESTDIR/scripts
+
+# Uncomment and remove the for loop in 5.1
+#cp scripts/*.sql $DESTDIR/scripts/
+
 for i in `cd scripts && ls`; do \
   if echo $i | grep -q '\.sh'; then \
-    cp scripts/$i $NOINST_NAME/scripts/`echo $i | sed -e 's/\.sh$//'`; \
-  else if [ $i = Makefile.am -o $i = Makefile.in -o -e scripts/$i.sh ] ; then \
+    cp scripts/$i $DESTDIR/scripts/`echo $i | sed -e 's/\.sh$//'`; \
+  elif [ $i = Makefile.am -o $i = Makefile.in -o -e scripts/$i.sh ] ; then \
     : ; \
   else \
-    cp scripts/$i $NOINST_NAME/scripts/$i; \
-  fi; fi; \
+    cp scripts/$i $DESTDIR/scripts/$i; \
+  fi; \
 done
 
-cp -dpR sql/share $NOINST_NAME/
-cp -dpR sql-bench $NOINST_NAME/
-rm -f $NOINST_NAME/sql-bench/*.sh $NOINST_NAME/sql-bench/Makefile*
+cp -pR sql/share $DESTDIR/
+cp -pR sql-bench $DESTDIR/
+rm -f $DESTDIR/sql-bench/*.sh $DESTDIR/sql-bench/Makefile*
 
-zip -r $NOINST_NAME.zip $NOINST_NAME
-rm -Rf $NOINST_NAME
+zip -r $NOINST_NAME.zip $DESTDIR
+rm -Rf $DESTDIR
Thread
bk commit into 5.0 tree (kent:1.2244)kent27 Aug