SHA256
1
0
forked from pool/mariadb
mariadb/mariadb-10.2.3-group.patch
Kristyna Streitova a74babaaed Accepting request 579672 from home:kstreitova:branches:server:database
- update to 10.2.13 GA
  * notable changes
    * InnoDB updated to 5.7.21
    * Galera wsrep library updated to 25.3.23
    * MDEV-13869 - MariaDB slow start
    * MDEV-14611 - ALTER TABLE EXCHANGE PARTITION does not work
      properly when used with DATA DIRECTORY
    * MDEV-15249 - Crash in MVCC read after IMPORT TABLESPACE
    * Foreign key bugs:
    * MDEV-15199 - Referential integrity broken in ON DELETE
      CASCADE/MDEV-14222 Unnecessary 'cascade' memory allocation
      for every updated row
    * MDEV-15219 - FOREIGN KEY CASCADE or SET NULL operations will
      not resume after lock wait
    * MDEV-15042 - INSERT ON DUPLICATE KEY UPDATE produces error
      1032 (Can't find record)
    * MDEV-13205 - InnoDB: Failing assertion:
      !dict_index_is_online_ddl(index) upon ALTER TABLE
    * MDEV-14958 - Merge new release of InnoDB MySQL 5.7.21 to 10.2
    * MDEV-15165 - InnoDB purge for index on virtual column is
      trying to access an incomplete record
    * MDEV-15143 - InnoDB: Rollback of trx with id 0 completed
    * MDEV-11415 - Remove excessive undo logging during ALTER
      TABLE…ALGORITHM=COPY
    * MDEV-15016 - multiple page cleaner threads use a lot of CPU
    * MDEV-14941 - Timeouts on persistent statistics tables caused
      by MDEV-14511
    * MDEV-14985 - innodb_undo_log_truncate may be blocked if
      transactions were recovered at startup
    * MDEV-14441 - InnoDB hangs when setting

OBS-URL: https://build.opensuse.org/request/show/579672
OBS-URL: https://build.opensuse.org/package/show/server:database/mariadb?expand=0&rev=207
2018-02-23 23:02:16 +00:00

138 lines
4.3 KiB
Diff

PATCH-P0-FEATURE-UPSTREAM: Adds group option
This patch let's you specify not only user to use but also group that MySQL
should use.
Maintainer: Michal Hrusecky <mhrusecky@suse.cz>
Index: scripts/mysqld_safe.sh
===================================================================
--- scripts/mysqld_safe.sh.orig
+++ scripts/mysqld_safe.sh
@@ -28,6 +28,7 @@ logging=init
want_syslog=0
syslog_tag=
user='@MYSQLD_USER@'
+group='@MYSQLD_GROUP@'
pid_file=
err_log=
err_log_base=
@@ -308,6 +309,7 @@ parse_arguments() {
--pid[-_]file=*) pid_file="$val" ;;
--plugin[-_]dir=*) PLUGIN_DIR="$val" ;;
--user=*) user="$val"; SET_USER=1 ;;
+ --group=*) group="$val"; SET_USER=1 ;;
--log[-_]basename=*|--hostname=*|--loose[-_]log[-_]basename=*)
pid_file="$val.pid";
err_log_base="$val";
@@ -725,6 +727,7 @@ then
if test "$user" != "root" -o $SET_USER = 1
then
USER_OPTION="--user=$user"
+ GROUP_OPTION="--group=$group"
fi
if test -n "$open_files"
then
@@ -747,7 +750,12 @@ then
log_error "Fatal error Can't create database directory '$mysql_unix_port'"
exit 1
fi
- 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
@@ -30,6 +30,7 @@ defaults=""
defaults_group_suffix=""
mysqld_opt=""
user=""
+group=""
silent_startup="--silent-startup"
force=0
@@ -93,6 +94,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
@@ -140,11 +146,11 @@ parse_arguments()
--builddir=*) builddir=`parse_arg "$arg"` ;;
--srcdir=*) srcdir=`parse_arg "$arg"` ;;
--ldata=*|--datadir=*|--data=*) 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 ; silent_startup="" ;;
--rpm) in_rpm=1 ;;
@@ -429,7 +435,12 @@ do
fi
if test -n "$user"
then
- chown $user "$dir"
+ if test -z "$group"
+ then
+ chown $user $dir
+ else
+ chown $user:$group $dir
+ fi
if test $? -ne 0
then
echo "Cannot change ownership of the database directories to the '$user'"
@@ -444,6 +455,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.
Index: scripts/CMakeLists.txt
===================================================================
--- scripts/CMakeLists.txt.orig
+++ scripts/CMakeLists.txt
@@ -161,6 +161,7 @@ ENDIF()
SET(HOSTNAME "hostname")
SET(MYSQLD_USER "mysql")
+SET(MYSQLD_GROUP "mysql")
ENDIF(UNIX)
# Really ugly, one script, "mysql_install_db", needs prefix set to ".",
Index: support-files/CMakeLists.txt
===================================================================
--- support-files/CMakeLists.txt.orig
+++ support-files/CMakeLists.txt
@@ -29,6 +29,7 @@ ELSE()
SET(CFLAGS ${CMAKE_C_FLAGS})
SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
SET(MYSQLD_USER "mysql")
+ SET(MYSQLD_GROUP "mysql")
SET(ini_file_extension "cnf")
SET(HOSTNAME "hostname")
ENDIF()