Skip to content

Commit f9d98a5

Browse files
trostenprashanttekriwal
authored andcommitted
Merge branch 'mysql-5.5' into mysql-5.6
(cherry picked from commit 00189280432ac459d657417f7ec42aed651d5ec0)
1 parent 711d458 commit f9d98a5

File tree

9 files changed

+48
-25
lines changed

9 files changed

+48
-25
lines changed

packaging/rpm-fedora/mysql-systemd-start

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ install_db () {
2222
datadir=$(get_option mysqld datadir "/var/lib/mysql")
2323

2424
# Restore log, dir, perms and SELinux contexts
25-
[ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
25+
if [ ! -d "$datadir" -a ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
26+
install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
27+
fi
2628
log=/var/log/mysqld.log
2729
[ -e $log ] || touch $log
2830
chmod 0640 $log

packaging/rpm-fedora/mysqld.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ PermissionsStartOnly=true
3434
ExecStartPre=/usr/bin/mysql-systemd-start pre
3535

3636
# Start main service
37-
ExecStart=/usr/bin/mysqld_safe
37+
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
3838

3939
# Don't signal startup success before a ping works
4040
ExecStartPost=/usr/bin/mysql-systemd-start post

packaging/rpm-oel/mysql-systemd-start

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ install_db () {
2222
datadir=$(get_option mysqld datadir "/var/lib/mysql")
2323

2424
# Restore log, dir, perms and SELinux contexts
25-
[ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
25+
if [ ! -d "$datadir" -a ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
26+
install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
27+
fi
2628
log=/var/log/mysqld.log
2729
[ -e $log ] || touch $log
2830
chmod 0640 $log

packaging/rpm-oel/mysql.init

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,19 @@ start(){
7070
ret=0
7171
else
7272
# prepare for start
73-
touch "$errlogfile"
74-
chown mysql:mysql "$errlogfile"
75-
chmod 0640 "$errlogfile"
73+
if [ ! -e "$errlogfile" -a ! -h "$errlogfile" -a "x$(dirname "$errlogfile")" = "x/var/log" ]; then
74+
install /dev/null -m0640 -omysql -gmysql "$errlogfile"
75+
fi
7676
[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
7777
if [ ! -d "$datadir/mysql" ] ; then
7878
# First, make sure $datadir is there with correct permissions
79-
if [ ! -e "$datadir" -a ! -h "$datadir" ]
80-
then
81-
mkdir -p "$datadir" || exit 1
79+
if [ ! -d "$datadir" -a ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
80+
install -d -m0755 -omysql -gmysql "$datadir" || exit 1
81+
fi
82+
if [ ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
83+
chown mysql:mysql "$datadir"
84+
chmod 0755 "$datadir"
8285
fi
83-
chown mysql:mysql "$datadir"
84-
chmod 0755 "$datadir"
8586
if [ -x /sbin/restorecon ]; then
8687
/sbin/restorecon "$datadir"
8788
for dir in /var/lib/mysql-files ; do
@@ -94,13 +95,14 @@ start(){
9495
# Now create the database
9596
action $"Initializing MySQL database: " /usr/bin/mysql_install_db --rpm --datadir="$datadir" --user=mysql
9697
ret=$?
97-
chown -R mysql:mysql "$datadir"
9898
if [ $ret -ne 0 ] ; then
9999
return $ret
100100
fi
101101
fi
102-
chown mysql:mysql "$datadir"
103-
chmod 0755 "$datadir"
102+
if [ ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
103+
chown mysql:mysql "$datadir"
104+
chmod 0755 "$datadir"
105+
fi
104106
# Pass all the options determined above, to ensure consistent behavior.
105107
# In many cases mysqld_safe would arrive at the same conclusions anyway
106108
# but we need to be sure. (An exception is that we don't force the

packaging/rpm-oel/mysqld.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ PermissionsStartOnly=true
3434
ExecStartPre=/usr/bin/mysql-systemd-start pre
3535

3636
# Start main service
37-
ExecStart=/usr/bin/mysqld_safe
37+
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
3838

3939
# Don't signal startup success before a ping works
4040
ExecStartPost=/usr/bin/mysql-systemd-start post

packaging/rpm-sles/mysql-systemd-start

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ install_db () {
1313
datadir=$(/usr/bin/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p' | tail -n 1)
1414

1515
# Restore log, dir, perms and SELinux contexts
16-
[ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
16+
if [ ! -d "$datadir" -a ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
17+
install -d -m 0755 -omysql -gmysql "$datadir" || exit 1
18+
fi
1719
log=/var/log/mysql/mysqld.log
1820
[ -e $log ] || touch $log
1921
chmod 0640 $log

packaging/rpm-sles/mysql.init

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ get_option () {
6565
datadir=$(get_option mysqld datadir "/var/lib/mysql")
6666
socket=$(get_option mysqld socket "$datadir/mysql.sock")
6767
pidfile=$(get_option mysqld_safe pid-file "/var/run/mysql/mysqld.pid")
68-
logfile=$(get_option mysqld_safe log-error "/var/log/mysql/mysqld.log")
6968

7069
install_db () {
7170
# Note: something different than datadir=/var/lib/mysql requires
@@ -74,14 +73,16 @@ install_db () {
7473
logfile=$(get_option mysqld_safe log-error "/var/log/mysql/mysqld.log")
7574

7675
# Restore log, dir, perms and SELinux contexts
77-
[ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || return 1
76+
if [ ! -d "$datadir" -a ! -h "$datadir" -a "x$(basedir "$datadir")" = "x/var/lib" ]; then
77+
install -d -m 0755 -omysql -gmysql "$datadir" || return 1
78+
fi
7879

79-
[ -e $logfile ] || touch $logfile || return 1
80-
chmod 0640 $logfile
81-
chown mysql:mysql $logfile || return 1
80+
if [ ! -e "$logfile" -a ! -h "$logfile" -a "x$(dirname "$logfile")" = "x/var/log/mysql" ]; then
81+
install /dev/null -omysql -gmysql "$logfile" || return 1
82+
fi
8283
if [ -x /usr/sbin/restorecon ]; then
8384
/usr/sbin/restorecon "$datadir"
84-
/usr/sbin/restorecon $logfile
85+
/usr/sbin/restorecon "$logfile"
8586
fi
8687

8788
# If special mysql dir is in place, skip db install

packaging/rpm-sles/mysqld.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ PermissionsStartOnly=true
3434
ExecStartPre=/usr/bin/mysql-systemd-start pre
3535

3636
# Start main service
37-
ExecStart=/usr/bin/mysqld_safe
37+
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
3838

3939
# Don't signal startup success before a ping works
4040
ExecStartPost=/usr/bin/mysql-systemd-start post

scripts/mysqld_safe.sh

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,13 @@ parse_arguments() {
219219

220220
# mysqld_safe-specific options - must be set in my.cnf ([mysqld_safe])!
221221
--core-file-size=*) core_file_size="$val" ;;
222-
--ledir=*) ledir="$val" ;;
222+
--ledir=*)
223+
if [ -z "$pick_args" ]; then
224+
log_error "--ledir option can only be used as command line option, found in config file"
225+
exit 1
226+
fi
227+
ledir="$val"
228+
;;
223229
--malloc-lib=*) set_malloc_lib "$val" ;;
224230
--mysqld=*)
225231
if [ -z "$pick_args" ]; then
@@ -395,7 +401,15 @@ else
395401
relpkgdata='@pkgdatadir@'
396402
fi
397403

398-
MY_PWD=`pwd`
404+
case "$0" in
405+
/*)
406+
MY_PWD='@prefix@'
407+
;;
408+
*)
409+
MY_PWD=`dirname $0`
410+
MY_PWD=`dirname $MY_PWD`
411+
;;
412+
esac
399413
# Check for the directories we would expect from a binary release install
400414
if test -n "$MY_BASEDIR_VERSION" -a -d "$MY_BASEDIR_VERSION"
401415
then

0 commit comments

Comments
 (0)