forked from pool/mariadb
9301fefeac
Copy from server:database/mariadb based on submit request 39217 from user -miska- OBS-URL: https://build.opensuse.org/request/show/39217 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=1
149 lines
4.7 KiB
Diff
149 lines
4.7 KiB
Diff
Index: configure.in
|
|
===================================================================
|
|
--- configure.in.orig
|
|
+++ configure.in
|
|
@@ -772,6 +772,14 @@ AC_ARG_WITH(mysqld-user,
|
|
[ MYSQLD_USER=mysql ]
|
|
)
|
|
AC_SUBST(MYSQLD_USER)
|
|
+AC_ARG_WITH(mysqld-group,
|
|
+ [ --with-mysqld-group=groupname
|
|
+ What group the mysqld daemon shall be run as.],
|
|
+ [ MYSQLD_GROUP=$withval ],
|
|
+ [ MYSQLD_GROUP=mysql ]
|
|
+ )
|
|
+AC_SUBST(MYSQLD_GROUP)
|
|
+
|
|
|
|
# If we should allow LOAD DATA LOCAL
|
|
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
|
|
Index: scripts/Makefile.am
|
|
===================================================================
|
|
--- scripts/Makefile.am.orig
|
|
+++ scripts/Makefile.am
|
|
@@ -185,6 +185,7 @@ SUFFIXES = .sh
|
|
-e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \
|
|
-e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \
|
|
-e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \
|
|
+ -e 's!@''MYSQLD_GROUP''@!@MYSQLD_GROUP@!' \
|
|
-e 's!@''STATIC_NSS_FLAGS''@!@STATIC_NSS_FLAGS@!' \
|
|
-e 's!@''NON_THREADED_LIBS''@!@NON_THREADED_LIBS@!' \
|
|
-e 's!@''ZLIB_DEPS''@!@ZLIB_DEPS@!' \
|
|
Index: scripts/mysqld_safe.sh
|
|
===================================================================
|
|
--- scripts/mysqld_safe.sh.orig
|
|
+++ scripts/mysqld_safe.sh
|
|
@@ -19,6 +19,7 @@ logging=init
|
|
want_syslog=0
|
|
syslog_tag=
|
|
user='@MYSQLD_USER@'
|
|
+group='@MYSQLD_GROUP@'
|
|
pid_file=
|
|
err_log=
|
|
|
|
@@ -162,6 +163,7 @@ parse_arguments() {
|
|
--datadir=*) DATADIR="$val" ;;
|
|
--pid-file=*) pid_file="$val" ;;
|
|
--user=*) user="$val"; SET_USER=1 ;;
|
|
+ --group=*) group="$val"; SET_USER=1 ;;
|
|
|
|
# these might have been set in a [mysqld_safe] section of my.cnf
|
|
# they are added to mysqld command line to override settings from my.cnf
|
|
@@ -388,11 +390,17 @@ then
|
|
if test "$user" != "root" -o $SET_USER = 1
|
|
then
|
|
USER_OPTION="--user=$user"
|
|
+ GROUP_OPTION="--group=$group"
|
|
fi
|
|
# Change the err log to the right user, if it is in use
|
|
if [ $want_syslog -eq 0 ]; then
|
|
touch "$err_log"
|
|
- chown $user "$err_log"
|
|
+ if [ "$user" -a "$group" ]; then
|
|
+ chown $user:$group $err_log
|
|
+ else
|
|
+ [ "$user" ] && chown $user $err_log
|
|
+ [ "$group" ] && chgrp $group $err_log
|
|
+ fi
|
|
fi
|
|
if test -n "$open_files"
|
|
then
|
|
@@ -407,7 +415,12 @@ mysql_unix_port_dir=`dirname $safe_mysql
|
|
if [ ! -d $mysql_unix_port_dir ]
|
|
then
|
|
mkdir $mysql_unix_port_dir
|
|
- chown $user $mysql_unix_port_dir
|
|
+ if [ "$user" -a "$group" ]; then
|
|
+ chown $user:$group $mysql_unix_port_dir
|
|
+ else
|
|
+ [ "$user" ] && chown $user $mysql_unix_port_dir
|
|
+ [ "$group" ] && chgrp $group $mysql_unix_port_dir
|
|
+ fi
|
|
chmod 755 $mysql_unix_port_dir
|
|
fi
|
|
|
|
Index: scripts/mysql_install_db.sh
|
|
===================================================================
|
|
--- scripts/mysql_install_db.sh.orig
|
|
+++ scripts/mysql_install_db.sh
|
|
@@ -28,6 +28,7 @@ args=""
|
|
defaults=""
|
|
mysqld_opt=""
|
|
user=""
|
|
+group=""
|
|
|
|
force=0
|
|
in_rpm=0
|
|
@@ -63,6 +64,11 @@ Usage: $0 [OPTIONS]
|
|
user. You must be root to use this option. By default
|
|
mysqld runs using your current login name and files and
|
|
directories that it creates will be owned by you.
|
|
+ --group=group_name The login group to use for running mysqld. Files and
|
|
+ directories created by mysqld will be owned by this
|
|
+ group. You must be root to use this option. By default
|
|
+ mysqld runs using your current group and files and
|
|
+ directories that it creates will be owned by you.
|
|
|
|
All other options are passed to the mysqld program
|
|
|
|
@@ -103,11 +109,11 @@ parse_arguments()
|
|
--builddir=*) builddir=`parse_arg "$arg"` ;;
|
|
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
|
|
--ldata=*|--datadir=*) ldata=`parse_arg "$arg"` ;;
|
|
- --user=*)
|
|
# Note that the user will be passed to mysqld so that it runs
|
|
# as 'user' (crucial e.g. if log-bin=/some_other_path/
|
|
# where a chown of datadir won't help)
|
|
- user=`parse_arg "$arg"` ;;
|
|
+ --user=*) user=`parse_arg "$arg"` ;;
|
|
+ --group=*) group=`parse_arg "$arg"` ;;
|
|
--skip-name-resolve) ip_only=1 ;;
|
|
--verbose) verbose=1 ;; # Obsolete
|
|
--rpm) in_rpm=1 ;;
|
|
@@ -360,7 +366,12 @@ do
|
|
fi
|
|
if test -w / -a ! -z "$user"
|
|
then
|
|
- chown $user $dir
|
|
+ if test -z "$group"
|
|
+ then
|
|
+ chown $user $dir
|
|
+ else
|
|
+ chown $user:$group $dir
|
|
+ fi
|
|
fi
|
|
done
|
|
|
|
@@ -369,6 +380,11 @@ then
|
|
args="$args --user=$user"
|
|
fi
|
|
|
|
+if test -n "$group"
|
|
+then
|
|
+ args="$args --group=$group"
|
|
+fi
|
|
+
|
|
# When doing a "cross bootstrap" install, no reference to the current
|
|
# host should be added to the system tables. So we filter out any
|
|
# lines which contain the current host name.
|