diff options
author | unknown <kent@kent-amd64.(none)> | 2008-05-13 15:56:07 +0200 |
---|---|---|
committer | unknown <kent@kent-amd64.(none)> | 2008-05-13 15:56:07 +0200 |
commit | 6009980ff352d639d419037372bda702b10fdad3 (patch) | |
tree | 361604166e6407eac4b2a88f38137b550bf0b170 /scripts | |
parent | ef32ec61de48401a8ef4cff3881250a95e12d56c (diff) | |
parent | 54998d6125e273a910bb55dcee3253c7d48487fa (diff) | |
download | mariadb-git-6009980ff352d639d419037372bda702b10fdad3.tar.gz |
Merge mysql.com:/home/kent/bk/mysql-5.0-release-merge
into mysql.com:/home/kent/bk/mysql-5.1
BUILD/Makefile.am:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb1.txt:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb2.txt:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb3.txt:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb4.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb1.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb2.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb3.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb4.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb1.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb2.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb3.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb4.txt:
Auto merged
mysql-test/std_data/funcs_1/t3.txt:
Auto merged
mysql-test/std_data/funcs_1/t4.txt:
Auto merged
mysql-test/std_data/funcs_1/t7.txt:
Auto merged
mysql-test/std_data/funcs_1/t9.txt:
Auto merged
mysql-test/suite/funcs_1/README.txt:
Auto merged
mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
Auto merged
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb1.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb2.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb3.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb4.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb1.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb2.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb3.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb4.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb1.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb2.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb3.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb4.inc:
Auto merged
mysql-test/suite/funcs_1/include/sp_tb.inc:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_views.result:
Auto merged
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
Auto merged
mysql-test/suite/funcs_1/r/is_columns_memory.result:
Auto merged
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
Auto merged
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_03.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_views.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
Auto merged
mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
Auto merged
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
Auto merged
mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_03.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_08.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_09.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
Auto merged
mysql-test/suite/funcs_1/views/func_view.inc:
Auto merged
mysql-test/suite/funcs_1/views/views_master.inc:
Auto merged
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/make_binary_distribution.sh | 453 |
1 files changed, 214 insertions, 239 deletions
diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 0a58f8b8ef1..50cff8578c9 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -14,61 +14,36 @@ # 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-<vsn>....{tar.gz,zip}" # -# 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}" -# -# 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=<datadir>, 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=<path>" 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 -# -############################################################################## +# The temporary directory path given to "--tmp=<path>" has to be +# absolute and with no spaces. machine=@MACHINE_TYPE@ system=@SYSTEM_TYPE@ +version=@VERSION@ SOURCE=`pwd` CP="cp -p" MV="mv" -STRIP=1 # Option ignored +STRIP=1 +DEBUG=0 SILENT=0 +MACHINE="" PLATFORM="" TMP=/tmp SUFFIX="" -NDBCLUSTER="" # Option ignored +NDBCLUSTER="" 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 ;; @@ -79,52 +54,53 @@ for arg do esac done -# ---------------------------------------------------------------------- -# Adjust "system" output from "uname" to be more human readable -# ---------------------------------------------------------------------- - -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'` - - # 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" +# 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 -# Print the platform name for build logs -echo "PLATFORM NAME: $PLATFORM" - -case $PLATFORM in - *netware*) BASE_SYSTEM="netware" ;; -esac +if [ x"$PLATFORM" != x"" ] ; then + platform="$PLATFORM" +else + platform="$system-$machine" +fi -# Change the distribution to a long descriptive name -NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-@VERSION@-$PLATFORM$SUFFIX +# FIXME This should really be integrated with automake and not duplicate the +# installation list. -# ---------------------------------------------------------------------- -# Define BASE, and remove the old BASE directory if any -# ---------------------------------------------------------------------- BASE=$TMP/my_dist$SUFFIX + if [ -d $BASE ] ; then rm -rf $BASE fi -# ---------------------------------------------------------------------- -# Find the TAR to use -# ---------------------------------------------------------------------- +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 # This is needed to prefer GNU tar over platform tar because that can't # always handle long filenames @@ -151,149 +127,24 @@ which_1 () } tar=`which_1 gnutar gtar` -if [ $? -ne 0 -o x"$tar" = x"" ] ; then +if [ "$?" = "1" -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 @@ -325,13 +176,12 @@ 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 \ - storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \ - storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \ + myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \ + 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 \ @@ -341,16 +191,42 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ "; # Platform-specific bin dir files: -BIN_FILES="$BIN_FILES \ +if [ $BASE_SYSTEM = "netware" ] ; then + BIN_FILES="$BIN_FILES \ netware/mysqld_safe$BS netware/mysql_install_db$BS \ - netware/init_db.sql netware/test_db.sql \ + netware/init_db.sql netware/test_db.sql netware/mysql_explain_log$BS \ 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 -$CP netware/*.pl $BASE/scripts -$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl +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 copyfileto $BASE/lib \ libmysql/.libs/libmysqlclient.a \ @@ -372,17 +248,31 @@ copyfileto $BASE/lib \ zlib/.libs/libz.a # convert the .a to .lib for NetWare -for i in $BASE/lib/*.a -do - libname=`basename $i .a` - $MV $i $BASE/lib/$libname.lib -done -rm -f $BASE/lib/*.la - +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 -copyfileto $BASE/include config.h include/* +copyfileto $BASE/include 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/* @@ -401,29 +291,43 @@ 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 "as is", they are in flux -$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - ) +# 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 - ) # 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* \ @@ -432,19 +336,29 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \ # # Copy system dependent files # -./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql +if [ $BASE_SYSTEM = "netware" ] ; then + ./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql +fi # # Remove system dependent files # -rm -f $BASE/support-files/magic \ +if [ $BASE_SYSTEM = "netware" ] ; then + 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 @@ -452,17 +366,78 @@ 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 - # -# Create a zip file for NetWare users +# If we are compiling with gcc, copy libgcc.a to the distribution as libmygcc.a # -rm -f $NEW_NAME.zip -(cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME) -echo "$NEW_NAME.zip created" + +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 echo "Removing temporary directory" rm -rf $BASE |