diff options
author | unknown <kent@mysql.com> | 2006-06-25 10:25:00 +0200 |
---|---|---|
committer | unknown <kent@mysql.com> | 2006-06-25 10:25:00 +0200 |
commit | d98a7999e2e13dd9aac38995cf55a570752c7647 (patch) | |
tree | 7bba218a4fd2b208e05f153f04dadf039d48a4c9 /scripts | |
parent | 78df8b4c9744cfa831eed8e538a613121fdcdd9b (diff) | |
download | mariadb-git-d98a7999e2e13dd9aac38995cf55a570752c7647.tar.gz |
.del-make_win_src_distribution.sh~f80d8fca44e4e5f1:
Delete: scripts/make_win_src_distribution.sh
Makefile.am:
Unix and Windows now shares source package
scripts/Makefile.am:
Unix and Windows now shares source package
BitKeeper/deleted/.del-make_win_src_distribution.sh~f80d8fca44e4e5f1:
Delete: scripts/make_win_src_distribution.sh
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.am | 5 | ||||
-rw-r--r-- | scripts/make_win_src_distribution.sh | 538 |
2 files changed, 1 insertions, 542 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index af3cbc19cb5..7cd89eee952 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -34,12 +34,10 @@ bin_SCRIPTS = @server_scripts@ \ mysql_create_system_tables noinst_SCRIPTS = make_binary_distribution \ - make_sharedlib_distribution \ - make_win_src_distribution + make_sharedlib_distribution EXTRA_SCRIPTS = make_binary_distribution.sh \ make_sharedlib_distribution.sh \ - make_win_src_distribution.sh \ msql2mysql.sh \ mysql_config.sh \ mysql_fix_privilege_tables.sh \ @@ -83,7 +81,6 @@ CLEANFILES = @server_scripts@ \ mysqldumpslow \ mysql_tableinfo \ mysqld_multi \ - make_win_src_distribution \ mysql_create_system_tables DISTCLEANFILES = mysqlbug diff --git a/scripts/make_win_src_distribution.sh b/scripts/make_win_src_distribution.sh deleted file mode 100644 index 27c8b6b7e91..00000000000 --- a/scripts/make_win_src_distribution.sh +++ /dev/null @@ -1,538 +0,0 @@ -#!/bin/sh - -# Terminate loudly on error, we don't want partial package -set -e -trap "echo '*** script failed ***'" 0 - -# -# Script to create a Windows src package -# - -version=@VERSION@ -CP="cp -p" - -DEBUG=0 -SILENT=0 -SUFFIX="" -DIRNAME="" -OUTTAR="0" -OUTZIP="0" - -# -# An "abort" function taking a variable number of strings (one per line) -# - -abort() -{ - for line - do - echo "$line" - done - exit 1 -} - - -# -# This script must run from MySQL top directory -# - -if [ ! -f scripts/make_win_src_distribution ]; then - abort "ERROR : You must run this script from the MySQL top-level directory" -fi -SOURCE=`pwd` - -# -# Check for source compilation/configuration -# - -if [ ! -f sql/sql_yacc.cc ]; then - abort "ERROR : Sorry, you must run this script after the complete build," \ - " hope you know what you are trying to do !!" -fi - -# -# Debug print of the status -# - -print_debug() -{ - for statement - do - if [ "$DEBUG" = "1" ] ; then - echo $statement - fi - done -} - -# -# Usage of the script -# - -show_usage() -{ - echo "MySQL utility script to create a Windows src package, and it takes" - echo "the following arguments:" - echo "" - echo " --debug Debug, without creating the package" - echo " --tmp Specify the temporary location" - echo " --suffix Suffix name for the package" - echo " --dirname Directory name to copy files (intermediate)" - echo " --silent Show no progress information" - echo " --tar Create tar.gz package" - echo " --zip Create zip package" - echo " --help Show this help message" - - exit 0 -} - -# -# Parse the input arguments -# - -parse_arguments() { - for arg do - case "$arg" in - --add-tar) ADDTAR=1 ;; - --debug) DEBUG=1;; - --tmp=*) TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;; - --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;; - --dirname=*) DIRNAME=`echo "$arg" | sed -e "s;--dirname=;;"` ;; - --silent) SILENT=1 ;; - --tar) OUTTAR=1 ;; - --zip) OUTZIP=1 ;; - --help) show_usage ;; - *) abort "Unknown argument '$arg'" - ;; - esac - done -} - -parse_arguments "$@" - -# -# Assign the tmp directory if it was set from the environment variables -# - -for i in $TMP $TMPDIR $TEMPDIR $TEMP /tmp -do - if [ "$i" ]; then - print_debug "Setting TMP to '$i'" - TMP=$i - break - fi -done - - -# -# Convert argument file from unix to DOS text -# - -unix_to_dos() -{ - for arg do - print_debug "Replacing LF -> CRLF from '$arg'" - - awk '{sub(/$/,"\r");print}' < $arg > $arg.tmp - rm -f $arg - mv $arg.tmp $arg - done -} - - -# -# Create a tmp dest directory to copy files -# - -BASE=$TMP/my_win_dist$SUFFIX.$$ -trap "rm -r -f $BASE; echo '*** interrupted ***'; exit 1" 1 2 3 13 15 - -if [ -d $BASE ] ; then - echo "WARNING: Destination directory '$BASE' already exists, deleting it" - rm -r -f $BASE -fi - -$CP -r $SOURCE/VC++Files $BASE -# This includes an implicit 'mkdir $BASE' ! - -# -# Process version tags in InstallShield files -# - -vreplace() -{ - for arg do - unix_to_dos $arg - cat $arg | sed -e 's!@''VERSION''@!@VERSION@!' > $arg.tmp - rm -f $arg - mv $arg.tmp $arg - done -} - -if test -d $BASE/InstallShield -then - for d in 4.1.XX-gpl 4.1.XX-pro 4.1.XX-classic - do - cd $BASE/InstallShield/$d/String\ Tables/0009-English - vreplace value.shl - cd ../../Setup\ Files/Compressed\ Files/Language\ Independent/OS\ Independent - vreplace infolist.txt - done -fi - -# -# Move all error message files to root directory -# - -$CP -r $SOURCE/sql/share $BASE/ -rm -r -f "$BASE/share/Makefile" -rm -r -f "$BASE/share/Makefile.in" -rm -r -f "$BASE/share/Makefile.am" - -mkdir $BASE/Docs $BASE/extra $BASE/include - -# -# Copy directory files -# - -copy_dir_files() -{ - for arg do - print_debug "Copying files from directory '$arg'" - cd $SOURCE/$arg - if [ ! -d $BASE/$arg ]; then - print_debug "Creating directory '$arg'" - mkdir $BASE/$arg - fi - for i in *.c *.cpp *.h *.ih *.i *.ic *.asm *.def *.hpp *.yy \ - README INSTALL* LICENSE AUTHORS NEWS ChangeLog \ - *.inc *.test *.result *.pem Moscow_leap des_key_file \ - *.vcproj *.sln *.dat *.000001 *.require *.opt - do - if [ -f $i ] - then - $CP $SOURCE/$arg/$i $BASE/$arg/$i - fi - done - for i in *.cc - do - if [ -f $i ] - then - i=`echo $i | sed 's/.cc$//g'` - $CP $SOURCE/$arg/$i.cc $BASE/$arg/$i.cpp - fi - done - done -} - -# -# Copy directory contents recursively -# - -copy_dir_dirs() { - - for arg do - - cd $SOURCE - ( - find $arg -type d \ - -and -not -path \*SCCS\* \ - -and -not -path \*.deps\* \ - -and -not -path \*.libs\* \ - -and -not -path \*autom4te.cache -print - )|( - while read v - do - copy_dir_files $v - done - ) - - done -} - -# -# Input directories to be copied -# - -for i in client dbug extra storage/heap include storage/archive storage/csv \ - include/mysql libmysql libmysqld storage/myisam storage/example \ - storage/myisammrg mysys regex sql strings sql-common \ - vio zlib -do - copy_dir_files $i -done - -# -# Create project files for ndb -# -#make -C $SOURCE/storage/ndb windoze || true - -# -# Input directories to be copied recursively -# - -for i in storage/bdb storage/innobase storage/ndb extra/yassl server-tools plugin -do - copy_dir_dirs $i -done - -# -# Create dummy innobase configure header -# - -if [ -f $BASE/storage/innobase/ib_config.h ]; then - rm -f $BASE/storage/innobase/ib_config.h -fi -touch $BASE/storage/innobase/ib_config.h - - -# -# Copy miscellaneous files -# - -cd $SOURCE -for i in COPYING ChangeLog README EXCEPTIONS-CLIENT\ - INSTALL-SOURCE INSTALL-WIN \ - INSTALL-WIN-SOURCE \ - Docs/INSTALL-BINARY Docs/manual.chm -do - print_debug "Copying file '$i'" - if [ -f $i ] - then - $CP $i $BASE/$i - fi -done - -# -# support files -# -mkdir $BASE/support-files - -# Rename the cnf files to <file>.ini -for i in support-files/*.cnf -do - i=`echo $i | sed 's/.cnf$//g'` - cp $i.cnf $BASE/$i.ini -done - -# -# Raw dirs from source tree -# - -for i in scripts mysql-test SSL tests -do - print_debug "Copying directory '$i'" - if [ -d $i ] - then - if [ -d $BASE/$i ] - then - $CP -R $i $BASE - else - $CP -R $i $BASE/$i - fi - fi - # But remove object files from destination - find $BASE/$i -type f -name \*.o | xargs rm -f -done - -# -# Fix some windows files to avoid compiler warnings -# - -if [ -x extra/replace ] ; then - ./extra/replace std:: "" < $BASE/sql/sql_yacc.cpp | \ - sed '/^ *switch (yytype)$/ { N; /\n *{$/ { N; /\n *default:$/ { N; /\n *break;$/ { N; /\n *}$/ d; };};};} ' \ - > $BASE/sql/sql_yacc.cpp-new - mv $BASE/sql/sql_yacc.cpp-new $BASE/sql/sql_yacc.cpp -else - if [ "$SILENT" = "0" ] ; then - echo 'WARNING: "extra/replace" not built, can not filter "sql_yacc.ccp"' - echo 'WARNING: to reduce the number of warnings when building' - fi -fi - -# -# Search the tree for plain text files and adapt the line end marker -# -find $BASE \( -name "*.cnf" -o -name "*.ini" \ - -o -name COPYING -o -name ChangeLog -o -name EXCEPTIONS-CLIENT \ - -o -name "INSTALL*" -o -name LICENSE -o -name "README*" \ - -o -name "*.dsp" -o -name "*.dsw" \ - -o -name "*.vcproj" -o -name "*.sln" \) -type f -print \ -| while read v - do - unix_to_dos $v - done - -mv $BASE/README $BASE/README.txt - -# -# Clean up if we did this from a bk tree -# - -find $BASE -type d \( -name SCCS -o -name .deps -o -name .libs \) -print0 | \ -xargs -0 rm -r -f -rm -r -f "$BASE/mysql-test/var" - -# -# Initialize the initial data directory -# - -if [ ! -f scripts/mysql_install_db ] ; then - if [ "$SILENT" = "0" ] ; then - echo 'WARNING: "scripts/mysql_install_db" is not built, can not initiate databases' - fi -elif [ ! -f extra/my_print_defaults ]; then - if [ "$SILENT" = "0" ] ; then - echo 'WARNING: "extra/my_print_defaults" is not built, can not initiate databases' - fi -else - print_debug "Initializing the 'data' directory" - scripts/mysql_install_db --no-defaults --windows --datadir=$BASE/data - if test "$?" = 1 - then - exit 1; - fi -fi - -# -# Specify the distribution package name and copy it -# - -if test -z $DIRNAME -then - NEW_DIR_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version$SUFFIX -else - NEW_DIR_NAME=$DIRNAME -fi -NEW_NAME=$NEW_DIR_NAME-win-src - -BASE2=$TMP/$NEW_DIR_NAME -rm -r -f $BASE2 -mv $BASE $BASE2 -BASE=$BASE2 - -# -# If debugging, don't create a zip/tar/gz -# - -if [ "$DEBUG" = "1" ] ; then - echo "Please check the distribution files from $BASE" - echo "Exiting (without creating the package).." - exit -fi - -# -# This is needed to prefere gnu tar instead of tar because tar can't -# always handle long filenames -# - -PATH_DIRS=`echo $PATH | sed -e 's/^:/. /' -e 's/:$/ ./' -e 's/::/ . /g' -e 's/:/ /g' ` -which_1 () -{ - for cmd - do - for d in $PATH_DIRS - do - for file in $d/$cmd - do - if test -x $file -a ! -d $file - then - echo $file - exit 0 - fi - done - done - done - exit 1 -} - -# -# Create the result zip/tar file -# - -if [ "$OUTTAR" = "0" ]; then - if [ "$OUTZIP" = "0" ]; then - OUTZIP=1 - fi -fi - -set_tarzip_options() -{ - for arg - do - if [ "$arg" = "tar" ]; then - ZIPFILE1=gnutar - ZIPFILE2=gtar - OPT=cf - EXT=".tar" - NEED_COMPRESS=1 - else - ZIPFILE1=zip - ZIPFILE2="" - OPT="-r -q" - EXT=".zip" - NEED_COMPRESS=0 - fi - done -} - - -# -# Create the archive -# -create_archive() -{ - - print_debug "Using $tar to create archive" - - cd $TMP - - rm -f $SOURCE/$NEW_NAME$EXT - $tar $OPT $SOURCE/$NEW_NAME$EXT $NEW_DIR_NAME - cd $SOURCE - - if [ "$NEED_COMPRESS" = "1" ] - then - print_debug "Compressing archive" - gzip -9 $NEW_NAME$EXT - EXT="$EXT.gz" - fi - - if [ "$SILENT" = "0" ] ; then - echo "$NEW_NAME$EXT created successfully !!" - fi -} - -if [ "$OUTTAR" = "1" ]; then - set_tarzip_options 'tar' - - tar=`which_1 $ZIPFILE1 $ZIPFILE2` - if test "$?" = "1" -o "$tar" = "" - then - print_debug "Search failed for '$ZIPFILE1', '$ZIPFILE2', using default 'tar'" - tar=tar - set_tarzip_options 'tar' - fi - - create_archive -fi - -if [ "$OUTZIP" = "1" ]; then - set_tarzip_options 'zip' - - tar=`which_1 $ZIPFILE1 $ZIPFILE2` - if test "$?" = "1" -o "$tar" = "" - then - echo "Search failed for '$ZIPFILE1', '$ZIPFILE2', cannot create zip!" - fi - - create_archive -fi - -print_debug "Removing temporary directory" -rm -r -f $BASE - -# No need to report anything if we got here -trap "" 0 - -# End of script |