diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-03-27 23:41:02 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-03-27 23:41:02 +0100 |
commit | 993ea79f2df42292eceeee394e8ece9f4a3f6cf2 (patch) | |
tree | d105c8288a89a25d412e9006b740c756db6326d6 /support-files | |
parent | 1827d9591e24ee469527021771088d842ab18374 (diff) | |
parent | 6599fd3e9c23a8957a63146cbe6a0ffc4c292a3d (diff) | |
download | mariadb-git-993ea79f2df42292eceeee394e8ece9f4a3f6cf2.tar.gz |
5.5 merge
Diffstat (limited to 'support-files')
-rw-r--r-- | support-files/mysql.spec.sh | 1 | ||||
-rw-r--r-- | support-files/rpm/server-postin.sh | 31 |
2 files changed, 18 insertions, 14 deletions
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 2d629c766e8..bac22fc96a9 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -370,7 +370,6 @@ For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ Summary: MySQL - Shared libraries Group: Applications/Databases Provides: MySQL-shared -Conflicts: mysql-libs mysql-libs-advanced Obsoletes: MySQL-shared-standard MySQL-shared-pro Obsoletes: MySQL-shared-pro-cert MySQL-shared-pro-gpl Obsoletes: MySQL-shared-pro-gpl-cert MySQL-shared diff --git a/support-files/rpm/server-postin.sh b/support-files/rpm/server-postin.sh index 156865b61ad..b5ba10bd265 100644 --- a/support-files/rpm/server-postin.sh +++ b/support-files/rpm/server-postin.sh @@ -5,41 +5,46 @@ if [ $1 = 1 ] ; then /sbin/chkconfig --add mysql fi - mysql_dirs=(`%{_sbindir}/mysqld --verbose --help 2>/dev/null|sed -ne 's/^\(basedir\|datadir\)[[:space:]]*\(.*\)$/\2/p'`) - basedir="${mysql_dirs[0]}" - datadir="${mysql_dirs[1]}" - # datadir may be relative to a basedir! - if expr $datadir : / > /dev/null; then - mysql_datadir=$datadir + basedir=`%{_bindir}/my_print_defaults --mysqld|sed -ne 's/^--basedir=//p'|tail -1` + if [ -z "$basedir" ] ; then + basedir=%{mysqlbasedir} + fi + + datadir=`%{_bindir}/my_print_defaults --mysqld|sed -ne 's/^--datadir=//p'|tail -1` + if [ -z "$datadir" ] ; then + datadir=%{mysqldatadir} else - mysql_datadir=$basedir/$datadir + # datadir may be relative to a basedir! + if ! expr $datadir : / > /dev/null; then + datadir=$basedir/$datadir + fi fi # Create a MySQL user and group. Do not report any problems if it already # exists. groupadd -r %{mysqld_group} 2> /dev/null || true - useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true + useradd -M -r -d $datadir -s /bin/bash -c "MySQL server" -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true # The user may already exist, make sure it has the proper group nevertheless (BUG#12823) usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true # Change permissions so that the user that will run the MySQL daemon # owns all database files. - chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir + chown -R %{mysqld_user}:%{mysqld_group} $datadir - if [ ! -e $mysql_datadir ]; then + if [ ! -e $datadir ]; then # Create data directory - mkdir -p $mysql_datadir/{mysql,test} + mkdir -p $datadir/{mysql,test} # Initiate databases %{_bindir}/mysql_install_db --rpm --user=%{mysqld_user} fi # Change permissions again to fix any new files. - chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir + chown -R %{mysqld_user}:%{mysqld_group} $datadir # Fix permissions for the permission database so that only the user # can read them. - chmod -R og-rw $mysql_datadir/mysql + chmod -R og-rw $datadir/mysql fi # install SELinux files - but don't override existing ones |