From ea120c56f573c1448c54479c7904ada891320ca5 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 30 May 2008 13:21:45 +0300 Subject: [PATCH 1/4] Bug#37069: Make federated disabled by default The federated storage engine is now disabled by default. mysql-test-run.pl is updated to enable it whenever it's required and available. mysql-test/lib/mtr_cases.pl: Bug#37069: mysql-test-run.pl automatically enables federated for federated related tests sql/sql_plugin.cc: Bug#37069: federated is disabled by default --- mysql-test/lib/mtr_cases.pl | 9 +++++++++ sql/sql_plugin.cc | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl index 2ca2669eb7f..4b0fad0f818 100644 --- a/mysql-test/lib/mtr_cases.pl +++ b/mysql-test/lib/mtr_cases.pl @@ -773,6 +773,13 @@ sub collect_one_test_case($$$$$$$$$) { if ( $::used_default_engine =~ /^innodb/i ); } + #enable federated for this test + if ($tinfo->{'federated_test'}) + { + push(@{$tinfo->{'master_opt'}}, "--loose-federated"); + push(@{$tinfo->{'slave_opt'}}, "--loose-federated"); + } + if ( $tinfo->{'big_test'} and ! $::opt_big_test ) { $tinfo->{'skip'}= 1; @@ -891,6 +898,8 @@ our @tags= ["include/have_ndb_extra.inc", "ndb_extra", 1], ["include/ndb_master-slave.inc", "ndb_test", 1], ["require_manager", "require_manager", 1], + ["include/federated.inc", "federated_test", 1], + ["include/have_federated_db.inc", "federated_test", 1], ); sub mtr_options_from_test_file($$) { diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 811b82ebe05..0fe79a8945d 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1137,9 +1137,10 @@ int plugin_init(int *argc, char **argv, int flags) { for (plugin= *builtins; plugin->info; plugin++) { - /* by default, only ndbcluster is disabled */ + /* by default, ndbcluster and federated are disabled */ def_enabled= - my_strcasecmp(&my_charset_latin1, plugin->name, "NDBCLUSTER") != 0; + my_strcasecmp(&my_charset_latin1, plugin->name, "NDBCLUSTER") != 0 && + my_strcasecmp(&my_charset_latin1, plugin->name, "FEDERATED") != 0; bzero(&tmp, sizeof(tmp)); tmp.plugin= plugin; tmp.name.str= (char *)plugin->name; From da4cfa6d1ec4e02247a41fe3af068ffd042e23be Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 3 Jun 2008 13:12:37 +0300 Subject: [PATCH 2/4] Bug#37069 (5.0): implement --skip-federated mysql-test/r/federated_disabled.result: Bug#37069 (5.0): test case mysql-test/t/federated_disabled-master.opt: Bug#37069 (5.0): test case mysql-test/t/federated_disabled.test: Bug#37069 (5.0): test case --- mysql-test/r/federated_disabled.result | 0 mysql-test/t/federated_disabled-master.opt | 1 + mysql-test/t/federated_disabled.test | 3 +++ sql/mysqld.cc | 16 ++++++++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 mysql-test/r/federated_disabled.result create mode 100644 mysql-test/t/federated_disabled-master.opt create mode 100644 mysql-test/t/federated_disabled.test diff --git a/mysql-test/r/federated_disabled.result b/mysql-test/r/federated_disabled.result new file mode 100644 index 00000000000..e69de29bb2d diff --git a/mysql-test/t/federated_disabled-master.opt b/mysql-test/t/federated_disabled-master.opt new file mode 100644 index 00000000000..4f2df1dd301 --- /dev/null +++ b/mysql-test/t/federated_disabled-master.opt @@ -0,0 +1 @@ +--skip-federated diff --git a/mysql-test/t/federated_disabled.test b/mysql-test/t/federated_disabled.test new file mode 100644 index 00000000000..99fcad76828 --- /dev/null +++ b/mysql-test/t/federated_disabled.test @@ -0,0 +1,3 @@ +source include/federated.inc; + +SHOW VARIABLES LIKE 'have_federated_engine'; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c239530f2fc..cdae94f0a61 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -328,7 +328,7 @@ static bool lower_case_table_names_used= 0; static bool volatile select_thread_in_use, signal_thread_in_use; static bool volatile ready_to_exit; static my_bool opt_debugging= 0, opt_external_locking= 0, opt_console= 0; -static my_bool opt_bdb, opt_isam, opt_ndbcluster, opt_merge; +static my_bool opt_bdb, opt_isam, opt_ndbcluster, opt_merge, opt_federated; static my_bool opt_short_log_format= 0; static uint kill_cached_threads, wake_thread; static ulong killed_threads, thread_created; @@ -4989,7 +4989,8 @@ enum options_mysqld OPT_INNODB_ROLLBACK_ON_TIMEOUT, OPT_SECURE_FILE_PRIV, OPT_KEEP_FILES_ON_CREATE, - OPT_INNODB_ADAPTIVE_HASH_INDEX + OPT_INNODB_ADAPTIVE_HASH_INDEX, + OPT_FEDERATED }; @@ -5175,6 +5176,9 @@ Disable with --skip-external-locking.", 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"flush", OPT_FLUSH, "Flush tables to disk between SQL commands.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, + {"federated", OPT_FEDERATED, "Enable Federated storage engine. Disable with \ +--skip-federated.", + (gptr*) &opt_federated, (gptr*) &opt_federated, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, /* We must always support the next option to make scripts like mysqltest easier to do */ {"gdb", OPT_DEBUGGING, @@ -7322,6 +7326,14 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), else have_merge_db= SHOW_OPTION_DISABLED; break; +#ifdef HAVE_FEDERATED_DB + case OPT_FEDERATED: + if (opt_federated) + have_federated_db= SHOW_OPTION_YES; + else + have_federated_db= SHOW_OPTION_DISABLED; + break; +#endif #ifdef HAVE_BERKELEY_DB case OPT_BDB_NOSYNC: /* Deprecated option */ From 3facc8222e7cb33bf05c47b1b9aec41c42bc6568 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Tue, 17 Jun 2008 19:04:10 -0600 Subject: [PATCH 3/4] Bug #37024: Wrong location of messagefiles make_binary_distribution.sh got clobbered by the 5.0 version during a merge. This caused a few packaging problems, including message files put in the wrong place and some missing files. Fix is just to revert back to the 5.1 version from before the merge. Problem introduced in ChangeSet 1.2606.2.1 2008/05/13 15:56:07 kent@kent-amd64.(none) This change was made in the 5.1.25 release clone in BK, but never made it to the main mysql-5.1 BK tree. I am adding it to mysql-5.1 bzr. --- scripts/make_binary_distribution.sh | 449 +++++++++++++++------------- 1 file changed, 237 insertions(+), 212 deletions(-) diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 50cff8578c9..0a58f8b8ef1 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -14,36 +14,61 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# 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-....{tar.gz,zip}" +############################################################################## # -# The temporary directory path given to "--tmp=" has to be -# absolute and with no spaces. +# 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-....{tar.gz,zip}" +# +# Note that the structure created by this script is slightly different from +# what a normal "make install" would produce. No extra "mysql" sub directory +# will be created, i.e. no "$prefix/include/mysql", "$prefix/lib/mysql" or +# "$prefix/share/mysql". This is because the build system explicitly calls +# make with pkgdatadir=, etc. +# +# In GNU make/automake terms +# +# "pkglibdir" is set to the same as "libdir" +# "pkgincludedir" is set to the same as "includedir" +# "pkgdatadir" is set to the same as "datadir" +# "pkgplugindir" is set to "$pkglibdir/plugin" +# "pkgsuppdir" is set to "@prefix@/support-files", +# normally the same as "datadir" +# +# The temporary directory path given to "--tmp=" has to be +# absolute and with no spaces. +# +# Note that for best result, the original "make" should be done with +# the same arguments as used for "make install" below, especially the +# 'pkglibdir', as the RPATH should to be set correctly. +# +############################################################################## + +############################################################################## +# +# Read the command line arguments that control this script +# +############################################################################## machine=@MACHINE_TYPE@ system=@SYSTEM_TYPE@ -version=@VERSION@ SOURCE=`pwd` CP="cp -p" MV="mv" -STRIP=1 -DEBUG=0 +STRIP=1 # Option ignored SILENT=0 -MACHINE="" PLATFORM="" TMP=/tmp SUFFIX="" -NDBCLUSTER="" +NDBCLUSTER="" # Option ignored 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=;;"` ;; + --machine=*) machine=`echo "$arg" | sed -e "s;--machine=;;"` ;; --platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;; --silent) SILENT=1 ;; --with-ndbcluster) NDBCLUSTER=1 ;; @@ -54,53 +79,52 @@ for arg do esac done -# Remove vendor from $system -system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'` +# ---------------------------------------------------------------------- +# Adjust "system" output from "uname" to be more human readable +# ---------------------------------------------------------------------- -# 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"$PLATFORM" = x"" ] ; then + # FIXME move this to the build tools + # Remove vendor from $system + system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'` -if [ x"$MACHINE" != x"" ] ; then - machine=$MACHINE + # 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'` + + PLATFORM="$system-$machine" fi -if [ x"$PLATFORM" != x"" ] ; then - platform="$PLATFORM" -else - platform="$system-$machine" -fi +# Print the platform name for build logs +echo "PLATFORM NAME: $PLATFORM" -# FIXME This should really be integrated with automake and not duplicate the -# installation list. +case $PLATFORM in + *netware*) BASE_SYSTEM="netware" ;; +esac +# Change the distribution to a long descriptive name +NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-@VERSION@-$PLATFORM$SUFFIX + +# ---------------------------------------------------------------------- +# Define BASE, and remove the old BASE directory if any +# ---------------------------------------------------------------------- BASE=$TMP/my_dist$SUFFIX - if [ -d $BASE ] ; then rm -rf $BASE fi -BS="" -BIN_FILES="" -BASE_SYSTEM="any" -MYSQL_SHARE=$BASE/share/mysql - -case $system in - *netware*) - BASE_SYSTEM="netware" - BS=".nlm" - MYSQL_SHARE=$BASE/share - ;; -esac +# ---------------------------------------------------------------------- +# Find the TAR to use +# ---------------------------------------------------------------------- # This is needed to prefer GNU tar over platform tar because that can't # always handle long filenames @@ -127,24 +151,149 @@ which_1 () } tar=`which_1 gnutar gtar` -if [ "$?" = "1" -o x"$tar" = x"" ] ; then +if [ $? -ne 0 -o x"$tar" = x"" ] ; then tar=tar fi +############################################################################## +# +# Handle the Unix/Linux packaging using "make install" +# +############################################################################## + +if [ x"$BASE_SYSTEM" != x"netware" ] ; then + + # ---------------------------------------------------------------------- + # Terminate on any base level error + # ---------------------------------------------------------------------- + set -e + + # ---------------------------------------------------------------------- + # Really ugly, one script, "mysql_install_db", needs prefix set to ".", + # i.e. makes access relative the current directory. This matches + # the documentation, so better not change this. And for another script, + # "mysql.server", we make some relative, others not. + # ---------------------------------------------------------------------- + + cd scripts + rm -f mysql_install_db + @MAKE@ mysql_install_db \ + prefix=. \ + bindir=./bin \ + sbindir=./bin \ + scriptdir=./bin \ + libexecdir=./bin \ + pkgdatadir=./share \ + localstatedir=./data + cd .. + + cd support-files + rm -f mysql.server + @MAKE@ mysql.server \ + bindir=./bin \ + sbindir=./bin \ + scriptdir=./bin \ + libexecdir=./bin \ + pkgdatadir=@pkgdatadir@ + cd .. + + # ---------------------------------------------------------------------- + # Do a install that we later are to pack. Use the same paths as in + # the build for the relevant directories. + # ---------------------------------------------------------------------- + @MAKE@ DESTDIR=$BASE install \ + pkglibdir=@pkglibdir@ \ + pkgincludedir=@pkgincludedir@ \ + pkgdatadir=@pkgdatadir@ \ + pkgplugindir=@pkgplugindir@ \ + pkgsuppdir=@pkgsuppdir@ \ + mandir=@mandir@ \ + infodir=@infodir@ + + # ---------------------------------------------------------------------- + # Rename top directory, and set DEST to the new directory + # ---------------------------------------------------------------------- + mv $BASE@prefix@ $BASE/$NEW_NAME + DEST=$BASE/$NEW_NAME + + # ---------------------------------------------------------------------- + # If we compiled with gcc, copy libgcc.a to the dist as libmygcc.a + # ---------------------------------------------------------------------- + if [ x"@GXX@" = x"yes" ] ; then + gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true + if [ -z "$gcclib" ] ; then + echo "Warning: Compiler doesn't tell libgcc.a!" + elif [ -f "$gcclib" ] ; then + $CP $gcclib $DEST/lib/libmygcc.a + else + echo "Warning: Compiler result '$gcclib' not found / no file!" + fi + fi + + # FIXME let this script be in "bin/", where it is in the RPMs? + # http://dev.mysql.com/doc/refman/5.1/en/mysql-install-db-problems.html + mkdir $DEST/scripts + mv $DEST/bin/mysql_install_db $DEST/scripts/ + + # Note, no legacy "safe_mysqld" link to "mysqld_safe" in 5.1 + + # Copy readme and license files + cp README Docs/INSTALL-BINARY $DEST/ + if [ -f COPYING -a -f EXCEPTIONS-CLIENT ] ; then + cp COPYING EXCEPTIONS-CLIENT $DEST/ + elif [ -f LICENSE.mysql ] ; then + cp LICENSE.mysql $DEST/ + else + echo "ERROR: no license files found" + exit 1 + fi + + # FIXME should be handled by make file, and to other dir + mkdir -p $DEST/bin $DEST/support-files + cp scripts/mysqlaccess.conf $DEST/bin/ + cp support-files/magic $DEST/support-files/ + + # Create empty data directories, set permission (FIXME why?) + mkdir $DEST/data $DEST/data/mysql $DEST/data/test + chmod o-rwx $DEST/data $DEST/data/mysql $DEST/data/test + + # ---------------------------------------------------------------------- + # Create the result tar file + # ---------------------------------------------------------------------- + + echo "Using $tar to create archive" + OPT=cvf + if [ x$SILENT = x1 ] ; then + OPT=cf + fi + + echo "Creating and compressing archive" + rm -f $NEW_NAME.tar.gz + (cd $BASE ; $tar $OPT - $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz + echo "$NEW_NAME.tar.gz created" + + echo "Removing temporary directory" + rm -rf $BASE + exit 0 +fi + + +############################################################################## +# +# Handle the Netware case, until integrated above +# +############################################################################## + +BS=".nlm" +MYSQL_SHARE=$BASE/share + mkdir $BASE $BASE/bin $BASE/docs \ $BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \ $BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \ $BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib \ $BASE/mysql-test/suite -if [ $BASE_SYSTEM != "netware" ] ; then - mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \ - $BASE/man/man1 $BASE/man/man8 $BASE/data $BASE/data/mysql $BASE/data/test - - chmod o-rwx $BASE/data $BASE/data/* -fi - # Copy files if they exists, warn for those that don't. # Note that when listing files to copy, we might list the file name # twice, once in the directory location where it is built, and a @@ -176,12 +325,13 @@ copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \ 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 \ - myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \ - myisam/myisam_ftdump$BS \ + storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \ + storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \ sql/mysqld$BS sql/mysqld-debug$BS \ sql/mysql_tzinfo_to_sql$BS \ server-tools/instance-manager/mysqlmanager$BS \ client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \ + client/mysqlslap$BS \ client/mysqldump$BS client/mysqlimport$BS \ client/mysqltest$BS client/mysqlcheck$BS \ client/mysqlbinlog$BS client/mysql_upgrade$BS \ @@ -191,42 +341,16 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ "; # Platform-specific bin dir files: -if [ $BASE_SYSTEM = "netware" ] ; then - BIN_FILES="$BIN_FILES \ +BIN_FILES="$BIN_FILES \ netware/mysqld_safe$BS netware/mysql_install_db$BS \ - netware/init_db.sql netware/test_db.sql netware/mysql_explain_log$BS \ + netware/init_db.sql netware/test_db.sql \ netware/mysqlhotcopy$BS netware/libmysql$BS netware/init_secure_db.sql \ "; -# For all other platforms: -else - BIN_FILES="$BIN_FILES \ - server-tools/instance-manager/.libs/mysqlmanager \ - client/mysqltestmanagerc \ - client/mysqltestmanager-pwgen tools/mysqltestmanager \ - client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin \ - client/.libs/mysqldump client/.libs/mysqlimport \ - client/.libs/mysqltest client/.libs/mysqlcheck \ - client/.libs/mysqlbinlog client/.libs/mysqltestmanagerc \ - client/.libs/mysqltestmanager-pwgen tools/.libs/mysqltestmanager \ - tests/.libs/mysql_client_test \ - libmysqld/examples/.libs/mysql_client_test_embedded \ - libmysqld/examples/.libs/mysqltest_embedded \ - "; -fi copyfileto $BASE/bin $BIN_FILES -if [ x$STRIP = x1 ] ; then - strip $BASE/bin/* -fi - -# Copy not binary files -copyfileto $BASE/bin sql/mysqld.sym.gz - -if [ $BASE_SYSTEM = "netware" ] ; then - $CP netware/*.pl $BASE/scripts - $CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl -fi +$CP netware/*.pl $BASE/scripts +$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl copyfileto $BASE/lib \ libmysql/.libs/libmysqlclient.a \ @@ -248,31 +372,17 @@ copyfileto $BASE/lib \ zlib/.libs/libz.a # convert the .a to .lib for NetWare -if [ $BASE_SYSTEM = "netware" ] ; then - for i in $BASE/lib/*.a - do - libname=`basename $i .a` - $MV $i $BASE/lib/$libname.lib - done - rm -f $BASE/lib/*.la -fi +for i in $BASE/lib/*.a +do + libname=`basename $i .a` + $MV $i $BASE/lib/$libname.lib +done +rm -f $BASE/lib/*.la -copyfileto $BASE/include 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 -fi - -if [ $BASE_SYSTEM != "netware" ] ; then - if [ -d tests ] ; then - $CP tests/*.res tests/*.tst tests/*.pl $BASE/tests - fi - if [ -d man ] ; then - $CP man/*.1 $BASE/man/man1 - $CP man/*.8 $BASE/man/man8 - fi -fi copyfileto $BASE/support-files support-files/* @@ -291,43 +401,29 @@ copyfileto $BASE/mysql-test \ $CP mysql-test/lib/*.pl $BASE/mysql-test/lib $CP mysql-test/t/*.def $BASE/mysql-test/t $CP mysql-test/include/*.inc $BASE/mysql-test/include +$CP mysql-test/include/*.sql $BASE/mysql-test/include $CP mysql-test/include/*.test $BASE/mysql-test/include $CP mysql-test/t/*.def $BASE/mysql-test/t +$CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \ + mysql-test/std_data/*.MYD mysql-test/std_data/*.MYI \ + mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \ + mysql-test/std_data/Index.xml \ + mysql-test/std_data/des_key_file mysql-test/std_data/*.*001 \ + mysql-test/std_data/*.cnf mysql-test/std_data/*.MY* \ + $BASE/mysql-test/std_data $CP mysql-test/t/*.test mysql-test/t/*.imtest \ mysql-test/t/*.disabled mysql-test/t/*.opt \ mysql-test/t/*.slave-mi mysql-test/t/*.sh mysql-test/t/*.sql $BASE/mysql-test/t $CP mysql-test/r/*.result mysql-test/r/*.require \ $BASE/mysql-test/r -# Copy the additional suites and data "as is", they are in flux -$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - ) -$tar cf - mysql-test/std_data | ( cd $BASE ; $tar xf - ) +# Copy the additional suites "as is", they are in flux +$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - ) # Clean up if we did this from a bk tree if [ -d mysql-test/SCCS ] ; then find $BASE/mysql-test -name SCCS -print | xargs rm -rf fi -if [ $BASE_SYSTEM != "netware" ] ; then - chmod a+x $BASE/bin/* - copyfileto $BASE/bin scripts/* - $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ \ - ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ \ - @HOSTNAME@ \@pkgdatadir\@ ./share \ - < 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-log-rotate \ - $BASE/support-files/*.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* \ @@ -336,29 +432,19 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \ # # Copy system dependent files # -if [ $BASE_SYSTEM = "netware" ] ; then - ./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql -fi +./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql # # Remove system dependent files # -if [ $BASE_SYSTEM = "netware" ] ; then - rm -f $BASE/support-files/magic \ +rm -f $BASE/support-files/magic \ $BASE/support-files/mysql.server \ $BASE/support-files/mysql*.spec \ $BASE/support-files/mysql-log-rotate \ $BASE/support-files/binary-configure \ $BASE/support-files/build-tags \ $BASE/support-files/MySQL-shared-compat.spec \ - $BASE/support-files/ndb-config-2-node.ini \ $BASE/INSTALL-BINARY -fi - -# Make safe_mysqld a symlink to mysqld_safe for backwards portability -if [ $BASE_SYSTEM != "netware" ] ; then - (cd $BASE/bin ; ln -s mysqld_safe safe_mysqld ) -fi # Clean up if we did this from a bk tree if [ -d $BASE/sql-bench/SCCS ] ; then @@ -366,78 +452,17 @@ if [ -d $BASE/sql-bench/SCCS ] ; then find $BASE/sql-bench -name SCCS -print | xargs rm -rf fi -# NDB Cluster -if [ x$NDBCLUSTER = x1 ]; then - ( cd ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) - ( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) - $CP $BASE/ndb-stage@bindir@/* $BASE/bin/. - $CP $BASE/ndb-stage@libexecdir@/* $BASE/bin/. - $CP $BASE/ndb-stage@pkglibdir@/* $BASE/lib/. - $CP $BASE/ndb-stage@pkgdatadir@/* $BASE/share/mysql/. - $CP -r $BASE/ndb-stage@pkgincludedir@/ndb $BASE/include - $CP -r $BASE/ndb-stage@prefix@/mysql-test/ndb $BASE/mysql-test/. || exit 1 - rm -rf $BASE/ndb-stage -fi - -# Change the distribution to a long descriptive name -NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$platform$SUFFIX - -# Print the platform name for build logs -echo "PLATFORM NAME: $platform" - BASE2=$TMP/$NEW_NAME rm -rf $BASE2 mv $BASE $BASE2 BASE=$BASE2 + # -# If we are compiling with gcc, copy libgcc.a to the distribution as libmygcc.a +# Create a zip file for NetWare users # - -if [ x"@GXX@" = x"yes" ] ; then - gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true - if [ -z "$gcclib" ] ; then - echo "Warning: Compiler doesn't tell libgcc.a!" - elif [ -f "$gcclib" ] ; then - $CP $gcclib $BASE/lib/libmygcc.a - else - echo "Warning: Compiler result '$gcclib' not found / no file!" - fi -fi - -#if we are debugging, do not do tar/gz -if [ x$DEBUG = x1 ] ; then - exit -fi - -if [ $BASE_SYSTEM != "netware" ] ; then - - # - # Create the result tar file - # - - echo "Using $tar to create archive" - - OPT=cvf - if [ x$SILENT = x1 ] ; then - OPT=cf - fi - - echo "Creating and compressing archive" - rm -f $NEW_NAME.tar.gz - (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 - # - - rm -f $NEW_NAME.zip - (cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME) - echo "$NEW_NAME.zip created" - -fi +rm -f $NEW_NAME.zip +(cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME) +echo "$NEW_NAME.zip created" echo "Removing temporary directory" rm -rf $BASE From 211e9c08ae3eace791cb2f1dd3cf11761426ba63 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Tue, 17 Jun 2008 19:05:56 -0600 Subject: [PATCH 4/4] fix typo This change was committed to the 5.1.25 release clone, but never made it to the mysql-5.1 BK tree. I'm committing it to mysql-5.1 bzr now. --- mysql-test/r/repair.result | 2 +- sql/sql_table.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/repair.result b/mysql-test/r/repair.result index dce37230d42..609733b2b02 100644 --- a/mysql-test/r/repair.result +++ b/mysql-test/r/repair.result @@ -130,7 +130,7 @@ test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix # REPAIR old table USE_FRM should fail REPAIR TABLE t1 USE_FRM; Table Op Msg_type Msg_text -t1 repair error Failed reparing incompatible .FRM file +t1 repair error Failed repairing incompatible .frm file # Run REPAIR TABLE to upgrade .frm file REPAIR TABLE t1; Table Op Msg_type Msg_text diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 7c847e0817c..9993ef0d854 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4024,7 +4024,7 @@ static int prepare_for_repair(THD *thd, TABLE_LIST *table_list, if (table->s->frm_version != FRM_VER_TRUE_VARCHAR) { error= send_check_errmsg(thd, table_list, "repair", - "Failed reparing incompatible .FRM file"); + "Failed repairing incompatible .frm file"); goto end; }