Below is the list of changes that have just been committed into a local
5.0 repository of cps. When cps 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
1.1894 05/04/16 23:57:15 petr@stripped +2 -0
mysql.server script fixed to use mysqld_safe by default + lots of minor additions
support-files/mysql.server.sh
1.42 05/04/16 23:57:12 petr@stripped +96 -20
mysql.server init.d script fixed back to use mysqld_safe by default, as mysqlmanager
does not handle all
installation scenarious yet. + libexecdir template was added for mysqlmanager to deal
nicely with the
source distribution
scripts/make_binary_distribution.sh
1.79 05/04/16 23:57:12 petr@stripped +1 -1
add libexec expansion handling to make_binary_distribution
# 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: petr
# Host: owlet.
# Root: /home/cps/mysql/trees/mysql-5.0-build
--- 1.78/scripts/make_binary_distribution.sh 2005-04-06 18:23:32 +04:00
+++ 1.79/scripts/make_binary_distribution.sh 2005-04-16 23:57:12 +04:00
@@ -233,7 +233,7 @@
chmod a+x $BASE/bin/*
$CP scripts/* $BASE/bin
$BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ ./bin
\@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ @HOSTNAME@
\@pkgdatadir\@ ./support-files < $SOURCE/scripts/mysql_install_db.sh >
$BASE/scripts/mysql_install_db
- $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@sbindir\@ ./bin
\@MYSQLD_USER\@ mysql \@localstatedir\@ /usr/local/mysql/data \@HOSTNAME\@ @HOSTNAME@
< $SOURCE/support-files/mysql.server.sh > $BASE/support-files/mysql.server
+ $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@sbindir\@ ./bin
\@libexecdir\@ ./bin \@MYSQLD_USER\@ @MYSQLD_USER@ \@localstatedir\@
/usr/local/mysql/data \@HOSTNAME\@ @HOSTNAME@ < $SOURCE/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-*
$BASE/support-files/mysql.server $BASE/configure
--- 1.41/support-files/mysql.server.sh 2005-04-01 12:13:28 +04:00
+++ 1.42/support-files/mysql.server.sh 2005-04-16 23:57:12 +04:00
@@ -48,15 +48,21 @@
# Set some defaults
pid_file=
+server_pid_file=
+use_mysqld_safe=1
+user=@MYSQLD_USER@
if test -z "$basedir"
then
basedir=@prefix@
bindir=@bindir@
datadir=@localstatedir@
sbindir=@sbindir@
+ libexecdir=@libexecdir@
else
bindir="$basedir/bin"
- sbindir="$basedir/sbin"
+ datadir="$basedir/data"
+ sbindir="$basedir/bin"
+ libexecdir="$basedir/bin"
fi
#
@@ -66,8 +72,14 @@
if test -f $lsb_functions ; then
source $lsb_functions
else
- alias log_success_msg="echo \ SUCCESS! "
- alias log_failure_msg="echo \ ERROR! "
+ log_success_msg()
+ {
+ echo " SUCCESS! $@"
+ }
+ log_failure_msg()
+ {
+ echo " ERROR! $@"
+ }
fi
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
@@ -84,8 +96,17 @@
parse_server_arguments() {
for arg do
case "$arg" in
- --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
+ bindir="$basedir/bin"
+ datadir="$basedir/data"
+ sbindir="$basedir/bin"
+ libexecdir="$basedir/bin"
+ ;;
--datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --user=*) user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --pid-file=*) server_pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --use-mysqld_safe) use_mysqld_safe=1;;
+ --use-manager) use_mysqld_safe=0;;
esac
done
}
@@ -94,6 +115,7 @@
for arg do
case "$arg" in
--pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --user=*) user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
esac
done
}
@@ -165,17 +187,22 @@
fi
#
-# Test if someone changed datadir; In this case we should also read the
-# default arguments from this directory
+# Read defaults file from 'basedir'. If there is no defaults file there
+# check if it's in the old (depricated) place (datadir) and read it from there
#
extra_args=""
-if test "$datadir" != "@localstatedir@"
+if test -r "$basedir/my.cnf"
then
- extra_args="-e $datadir/my.cnf"
+ extra_args="-e $basedir/my.cnf"
+else
+ if test -r "$datadir/my.cnf"
+ then
+ extra_args="-e $datadir/my.cnf"
+ fi
fi
-parse_server_arguments `$print_defaults $extra_args mysqld`
+parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server
mysql.server`
# Look for the pidfile
parse_manager_arguments `$print_defaults $extra_args manager`
@@ -192,9 +219,15 @@
* ) pid_file="$datadir/$pid_file" ;;
esac
fi
-
-user=@MYSQLD_USER@
-USER_OPTION="--user=$user"
+if test -z "$server_pid_file"
+then
+ server_pid_file=$datadir/`@HOSTNAME@`.pid
+else
+ case "$server_pid_file" in
+ /* ) ;;
+ * ) server_pid_file="$datadir/$server_pid_file" ;;
+ esac
+fi
# Safeguard (relative paths, core dumps..)
cd $basedir
@@ -203,12 +236,21 @@
'start')
# Start daemon
- if test -x $sbindir/mysqlmanager
+ manager=$bindir/mysqlmanager
+ if test -x $libexecdir/mysqlmanager
+ then
+ manager=$libexecdir/mysqlmanager
+ elif test -x $bindir/mysqlmanager
+ then
+ manager=$sbindir/mysqlmanager
+ fi
+
+ echo $echo_n "Starting MySQL"
+ if test -x $manager -a "$use_mysqld_safe" = "0"
then
# Give extra arguments to mysqld with the my.cnf file. This script may
# be overwritten at next upgrade.
- echo $echo_n "Starting MySQL"
- $sbindir/mysqlmanager $USER_OPTION --pid-file=$pid_file >/dev/null 2>&1
&
+ $manager --user=$user --pid-file=$pid_file >/dev/null 2>&1 &
wait_for_pid created
# Make lock for RedHat / SuSE
@@ -216,14 +258,38 @@
then
touch /var/lock/subsys/mysqlmanager
fi
+ elif test -x $bindir/mysqld_safe
+ then
+ # Give extra arguments to mysqld with the my.cnf file. This script
+ # may be overwritten at next upgrade.
+ pid_file=$server_pid_file
+ $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file >/dev/null
2>&1 &
+ wait_for_pid created
+
+ # Make lock for RedHat / SuSE
+ if test -w /var/lock/subsys
+ then
+ touch /var/lock/subsys/mysql
+ fi
else
- log_failure_msg "Can't execute $sbindir/mysqlmanager"
+ log_failure_msg "Couldn't find MySQL manager or server"
fi
;;
'stop')
# Stop daemon. We use a signal here to avoid having to know the
# root password.
+
+ # The RedHat / SuSE lock directory to remove
+ lock_dir=/var/lock/subsys/mysqlmanager
+
+ # If the manager pid_file doesn't exist, try the server's
+ if test ! -s "$pid_file"
+ then
+ pid_file=$server_pid_file
+ lock_dir=/var/lock/subsys/mysql
+ fi
+
if test -s "$pid_file"
then
mysqlmanager_pid=`cat $pid_file`
@@ -233,12 +299,12 @@
wait_for_pid removed
# delete lock for RedHat / SuSE
- if test -f /var/lock/subsys/mysqlmanager
+ if test -f $lock_dir
then
- rm -f /var/lock/subsys/mysqlmanager
+ rm -f $lock_dir
fi
else
- log_failure_msg "mysqlmanager PID file could not be found!"
+ log_failure_msg "MySQL manager or server PID file could not be found!"
fi
;;
@@ -249,9 +315,19 @@
$0 start
;;
+ 'reload')
+ if test -s "$server_pid_file" ; then
+ mysqld_pid=`cat $server_pid_file`
+ kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
+ touch $server_pid_file
+ else
+ log_failure_msg "MySQL PID file could not be found!"
+ fi
+ ;;
+
*)
# usage
- echo "Usage: $0 start|stop|restart"
+ echo "Usage: $0 start|stop|restart|reload"
exit 1
;;
esac
| Thread |
|---|
| • bk commit into 5.0 tree (petr:1.1894) | Petr Chardin | 16 Apr |