Commit 78d0e560 authored by gkodinov/kgeorge@magare.gmz's avatar gkodinov/kgeorge@magare.gmz

Merge bk-internal:/home/bk/mysql-5.1

into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-bugteam
parents cd84cb37 fc30f6d5
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -14,61 +14,36 @@ ...@@ -14,61 +14,36 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # 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 # The temporary directory path given to "--tmp=<path>" has to be
# built source tree. The output file will be put at the top level of # absolute and with no spaces.
# 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
#
##############################################################################
machine=@MACHINE_TYPE@ machine=@MACHINE_TYPE@
system=@SYSTEM_TYPE@ system=@SYSTEM_TYPE@
version=@VERSION@
SOURCE=`pwd` SOURCE=`pwd`
CP="cp -p" CP="cp -p"
MV="mv" MV="mv"
STRIP=1 # Option ignored STRIP=1
DEBUG=0
SILENT=0 SILENT=0
MACHINE=""
PLATFORM="" PLATFORM=""
TMP=/tmp TMP=/tmp
SUFFIX="" SUFFIX=""
NDBCLUSTER="" # Option ignored NDBCLUSTER=""
for arg do for arg do
case "$arg" in case "$arg" in
--debug) DEBUG=1;;
--tmp=*) TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;; --tmp=*) TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;;
--suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;; --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;;
--no-strip) STRIP=0 ;; --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=;;"` ;; --platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;;
--silent) SILENT=1 ;; --silent) SILENT=1 ;;
--with-ndbcluster) NDBCLUSTER=1 ;; --with-ndbcluster) NDBCLUSTER=1 ;;
...@@ -79,52 +54,53 @@ for arg do ...@@ -79,52 +54,53 @@ for arg do
esac esac
done done
# ---------------------------------------------------------------------- # Remove vendor from $system
# Adjust "system" output from "uname" to be more human readable system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'`
# ----------------------------------------------------------------------
# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2)
if [ x"$PLATFORM" = x"" ] ; then system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'`
# FIXME move this to the build tools system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'`
# Remove vendor from $system system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'`
system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'` system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'`
# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2) system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'` system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'`
system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'` system=`echo $system | sed -e 's/osf5.1b/tru64/g'`
system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'` system=`echo $system | sed -e 's/linux-gnu/linux/g'`
system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'` system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'`
system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'` system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'`
system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'`
system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'` if [ x"$MACHINE" != x"" ] ; then
system=`echo $system | sed -e 's/osf5.1b/tru64/g'` machine=$MACHINE
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 fi
# Print the platform name for build logs if [ x"$PLATFORM" != x"" ] ; then
echo "PLATFORM NAME: $PLATFORM" platform="$PLATFORM"
else
case $PLATFORM in platform="$system-$machine"
*netware*) BASE_SYSTEM="netware" ;; fi
esac
# Change the distribution to a long descriptive name # FIXME This should really be integrated with automake and not duplicate the
NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-@VERSION@-$PLATFORM$SUFFIX # installation list.
# ----------------------------------------------------------------------
# Define BASE, and remove the old BASE directory if any
# ----------------------------------------------------------------------
BASE=$TMP/my_dist$SUFFIX BASE=$TMP/my_dist$SUFFIX
if [ -d $BASE ] ; then if [ -d $BASE ] ; then
rm -rf $BASE rm -rf $BASE
fi fi
# ---------------------------------------------------------------------- BS=""
# Find the TAR to use 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 # This is needed to prefer GNU tar over platform tar because that can't
# always handle long filenames # always handle long filenames
...@@ -151,149 +127,24 @@ which_1 () ...@@ -151,149 +127,24 @@ which_1 ()
} }
tar=`which_1 gnutar gtar` tar=`which_1 gnutar gtar`
if [ $? -ne 0 -o x"$tar" = x"" ] ; then if [ "$?" = "1" -o x"$tar" = x"" ] ; then
tar=tar tar=tar
fi 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 \ mkdir $BASE $BASE/bin $BASE/docs \
$BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \ $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 $BASE/mysql-test/t $BASE/mysql-test/r \
$BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib \ $BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib \
$BASE/mysql-test/suite $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. # Copy files if they exists, warn for those that don't.
# Note that when listing files to copy, we might list the file name # 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 # 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 \ ...@@ -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 \ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
extra/resolveip$BS extra/my_print_defaults$BS \ extra/resolveip$BS extra/my_print_defaults$BS \
extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \ extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \ myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \
storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \ myisam/myisam_ftdump$BS \
sql/mysqld$BS sql/mysqld-debug$BS \ sql/mysqld$BS sql/mysqld-debug$BS \
sql/mysql_tzinfo_to_sql$BS \ sql/mysql_tzinfo_to_sql$BS \
server-tools/instance-manager/mysqlmanager$BS \ server-tools/instance-manager/mysqlmanager$BS \
client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \ client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \
client/mysqlslap$BS \
client/mysqldump$BS client/mysqlimport$BS \ client/mysqldump$BS client/mysqlimport$BS \
client/mysqltest$BS client/mysqlcheck$BS \ client/mysqltest$BS client/mysqlcheck$BS \
client/mysqlbinlog$BS client/mysql_upgrade$BS \ client/mysqlbinlog$BS client/mysql_upgrade$BS \
...@@ -341,16 +191,42 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ ...@@ -341,16 +191,42 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
"; ";
# Platform-specific bin dir files: # 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/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 \ 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 copyfileto $BASE/bin $BIN_FILES
$CP netware/*.pl $BASE/scripts if [ x$STRIP = x1 ] ; then
$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl 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 \ copyfileto $BASE/lib \
libmysql/.libs/libmysqlclient.a \ libmysql/.libs/libmysqlclient.a \
...@@ -372,17 +248,31 @@ copyfileto $BASE/lib \ ...@@ -372,17 +248,31 @@ copyfileto $BASE/lib \
zlib/.libs/libz.a zlib/.libs/libz.a
# convert the .a to .lib for NetWare # convert the .a to .lib for NetWare
for i in $BASE/lib/*.a if [ $BASE_SYSTEM = "netware" ] ; then
do for i in $BASE/lib/*.a
libname=`basename $i .a` do
$MV $i $BASE/lib/$libname.lib libname=`basename $i .a`
done $MV $i $BASE/lib/$libname.lib
rm -f $BASE/lib/*.la 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 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/* copyfileto $BASE/support-files support-files/*
...@@ -401,29 +291,43 @@ copyfileto $BASE/mysql-test \ ...@@ -401,29 +291,43 @@ copyfileto $BASE/mysql-test \
$CP mysql-test/lib/*.pl $BASE/mysql-test/lib $CP mysql-test/lib/*.pl $BASE/mysql-test/lib
$CP mysql-test/t/*.def $BASE/mysql-test/t $CP mysql-test/t/*.def $BASE/mysql-test/t
$CP mysql-test/include/*.inc $BASE/mysql-test/include $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/include/*.test $BASE/mysql-test/include
$CP mysql-test/t/*.def $BASE/mysql-test/t $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 \ $CP mysql-test/t/*.test mysql-test/t/*.imtest \
mysql-test/t/*.disabled mysql-test/t/*.opt \ 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 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 \ $CP mysql-test/r/*.result mysql-test/r/*.require \
$BASE/mysql-test/r $BASE/mysql-test/r
# Copy the additional suites "as is", they are in flux # 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/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 # Clean up if we did this from a bk tree
if [ -d mysql-test/SCCS ] ; then if [ -d mysql-test/SCCS ] ; then
find $BASE/mysql-test -name SCCS -print | xargs rm -rf find $BASE/mysql-test -name SCCS -print | xargs rm -rf
fi 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 \ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
$BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \ $BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \
$BASE/bin/setsomevars $BASE/support-files/Makefile* \ $BASE/bin/setsomevars $BASE/support-files/Makefile* \
...@@ -432,19 +336,29 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \ ...@@ -432,19 +336,29 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
# #
# Copy system dependent files # 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 # 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.server \
$BASE/support-files/mysql*.spec \ $BASE/support-files/mysql*.spec \
$BASE/support-files/mysql-log-rotate \ $BASE/support-files/mysql-log-rotate \
$BASE/support-files/binary-configure \ $BASE/support-files/binary-configure \
$BASE/support-files/build-tags \ $BASE/support-files/build-tags \
$BASE/support-files/MySQL-shared-compat.spec \ $BASE/support-files/MySQL-shared-compat.spec \
$BASE/support-files/ndb-config-2-node.ini \
$BASE/INSTALL-BINARY $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 # Clean up if we did this from a bk tree
if [ -d $BASE/sql-bench/SCCS ] ; then if [ -d $BASE/sql-bench/SCCS ] ; then
...@@ -452,17 +366,78 @@ 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 find $BASE/sql-bench -name SCCS -print | xargs rm -rf
fi 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 BASE2=$TMP/$NEW_NAME
rm -rf $BASE2 rm -rf $BASE2
mv $BASE $BASE2 mv $BASE $BASE2
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) if [ x"@GXX@" = x"yes" ] ; then
echo "$NEW_NAME.zip created" 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" echo "Removing temporary directory"
rm -rf $BASE rm -rf $BASE
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment