initscript and packaging cleanups, per bugs 233771, 233731
This commit is contained in:
parent
7d34bb6ac6
commit
1e2d80ff8a
5
my.cnf
5
my.cnf
@ -1,13 +1,10 @@
|
|||||||
[mysqld]
|
[mysqld]
|
||||||
datadir=/var/lib/mysql
|
datadir=/var/lib/mysql
|
||||||
socket=/var/lib/mysql/mysql.sock
|
socket=/var/lib/mysql/mysql.sock
|
||||||
|
user=mysql
|
||||||
# Default to using old password format for compatibility with mysql 3.x
|
# Default to using old password format for compatibility with mysql 3.x
|
||||||
# clients (those using the mysqlclient10 compatibility package).
|
# clients (those using the mysqlclient10 compatibility package).
|
||||||
old_passwords=1
|
old_passwords=1
|
||||||
|
|
||||||
[mysql.server]
|
|
||||||
user=mysql
|
|
||||||
basedir=/var/lib
|
|
||||||
|
|
||||||
[mysqld_safe]
|
[mysqld_safe]
|
||||||
log-error=/var/log/mysqld.log
|
log-error=/var/log/mysqld.log
|
||||||
|
41
mysql.init
41
mysql.init
@ -18,38 +18,26 @@
|
|||||||
|
|
||||||
prog="MySQL"
|
prog="MySQL"
|
||||||
|
|
||||||
# extract value of a MySQL option from /etc/my.cnf
|
# extract value of a MySQL option from config files
|
||||||
# Usage: get_mysql_option FILE VARNAME DEFAULT
|
# Usage: get_mysql_option SECTION VARNAME DEFAULT
|
||||||
# result is returned in $result
|
# result is returned in $result
|
||||||
# Ugly as this is, it knows nothing of option file sections ...
|
# We use my_print_defaults which prints all options from multiple files,
|
||||||
|
# with the more specific ones later; hence take the last match.
|
||||||
get_mysql_option(){
|
get_mysql_option(){
|
||||||
result=`sed -n "s/^[ \t]*$2[ \t]*=[ \t]*//p" "$1" 2>/dev/null | tail -n 1`
|
result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
|
||||||
if [ -z "$result" ]; then
|
if [ -z "$result" ]; then
|
||||||
# not found, use default
|
# not found, use default
|
||||||
result="$3"
|
result="$3"
|
||||||
else
|
|
||||||
# found, still have to deal with quoting and end-of-line comments
|
|
||||||
dequoted=`echo "$result" | sed "s/^'\([^']*\)'.*$/\1/"`
|
|
||||||
if [ x"$dequoted" != x"$result" ]; then
|
|
||||||
result="$dequoted"
|
|
||||||
else
|
|
||||||
dequoted=`echo "$result" | sed 's/^"\([^"]*\)".*$/\1/'`
|
|
||||||
if [ x"$dequoted" != x"$result" ]; then
|
|
||||||
result="$dequoted"
|
|
||||||
else
|
|
||||||
result=`echo "$result" | sed 's/^\([^ \t#]*\).*$/\1/'`
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
get_mysql_option /etc/my.cnf datadir "/var/lib/mysql"
|
get_mysql_option mysqld datadir "/var/lib/mysql"
|
||||||
datadir="$result"
|
datadir="$result"
|
||||||
get_mysql_option /etc/my.cnf socket "$datadir/mysql.sock"
|
get_mysql_option mysqld socket "$datadir/mysql.sock"
|
||||||
socketfile="$result"
|
socketfile="$result"
|
||||||
get_mysql_option /etc/my.cnf log-error "/var/log/mysqld.log"
|
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
|
||||||
errlogfile="$result"
|
errlogfile="$result"
|
||||||
get_mysql_option /etc/my.cnf pid-file "/var/run/mysqld/mysqld.pid"
|
get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
|
||||||
mypidfile="$result"
|
mypidfile="$result"
|
||||||
|
|
||||||
start(){
|
start(){
|
||||||
@ -67,11 +55,12 @@ start(){
|
|||||||
fi
|
fi
|
||||||
chown mysql:mysql "$datadir"
|
chown mysql:mysql "$datadir"
|
||||||
chmod 0755 "$datadir"
|
chmod 0755 "$datadir"
|
||||||
# The reason for explicitly specifying --pid-file is that there may
|
# Pass all the options determined above, to ensure consistent behavior.
|
||||||
# be no such entry in my.cnf, and the default behavior will be to not
|
# In many cases mysqld_safe would arrive at the same conclusions anyway
|
||||||
# create it at all. Likewise, we specify --log-error in case there
|
# but we need to be sure.
|
||||||
# was not an entry in my.cnf.
|
/usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \
|
||||||
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" --log-error="$errlogfile" >/dev/null 2>&1 &
|
--log-error="$errlogfile" --pid-file="$mypidfile" \
|
||||||
|
>/dev/null 2>&1 &
|
||||||
ret=$?
|
ret=$?
|
||||||
# Spin for a maximum of N seconds waiting for the server to come up.
|
# Spin for a maximum of N seconds waiting for the server to come up.
|
||||||
# Rather than assuming we know a valid username, accept an "access
|
# Rather than assuming we know a valid username, accept an "access
|
||||||
|
42
mysql.spec
42
mysql.spec
@ -1,6 +1,6 @@
|
|||||||
Name: mysql
|
Name: mysql
|
||||||
Version: 5.0.37
|
Version: 5.0.37
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: MySQL client programs and shared libraries
|
Summary: MySQL client programs and shared libraries
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
@ -70,7 +70,6 @@ License: GPL
|
|||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
Prereq: /sbin/chkconfig, /usr/sbin/useradd
|
Prereq: /sbin/chkconfig, /usr/sbin/useradd
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires: %{name}-libs = %{version}-%{release}
|
|
||||||
Requires: sh-utils
|
Requires: sh-utils
|
||||||
# mysqlhotcopy needs DBI/DBD support
|
# mysqlhotcopy needs DBI/DBD support
|
||||||
Requires: perl-DBI, perl-DBD-MySQL
|
Requires: perl-DBI, perl-DBD-MySQL
|
||||||
@ -88,7 +87,6 @@ Summary: Files for development of MySQL applications
|
|||||||
License: GPL
|
License: GPL
|
||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires: %{name}-libs = %{version}-%{release}
|
|
||||||
Requires: openssl-devel
|
Requires: openssl-devel
|
||||||
Conflicts: MySQL-devel
|
Conflicts: MySQL-devel
|
||||||
|
|
||||||
@ -257,6 +255,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall
|
|||||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/postinstall
|
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/postinstall
|
||||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec
|
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec
|
||||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate
|
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate
|
||||||
|
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndbd.1*
|
||||||
|
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_*.1*
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
|
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
|
||||||
echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||||
@ -332,16 +332,16 @@ fi
|
|||||||
%{_mandir}/man1/mysqldump.1*
|
%{_mandir}/man1/mysqldump.1*
|
||||||
%{_mandir}/man1/mysqlshow.1*
|
%{_mandir}/man1/mysqlshow.1*
|
||||||
|
|
||||||
%dir %{_libdir}/mysql
|
|
||||||
%{_libdir}/mysql/mysqlbug
|
%{_libdir}/mysql/mysqlbug
|
||||||
%{_libdir}/mysql/mysql_config
|
%{_libdir}/mysql/mysql_config
|
||||||
|
|
||||||
# perhaps my.cnf should be in the server package?
|
|
||||||
%config(noreplace) /etc/my.cnf
|
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
|
||||||
|
# although the default my.cnf contains only server settings, we put it in the
|
||||||
|
# libs package because it can be used for client settings too.
|
||||||
|
%config(noreplace) /etc/my.cnf
|
||||||
|
|
||||||
%dir %{_libdir}/mysql
|
%dir %{_libdir}/mysql
|
||||||
%{_libdir}/mysql/libmysqlclient*.so.*
|
%{_libdir}/mysql/libmysqlclient*.so.*
|
||||||
/etc/ld.so.conf.d/*
|
/etc/ld.so.conf.d/*
|
||||||
@ -434,29 +434,9 @@ fi
|
|||||||
%{_mandir}/man1/my_print_defaults.1*
|
%{_mandir}/man1/my_print_defaults.1*
|
||||||
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
|
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
|
||||||
%{_mandir}/man1/mysql_install_db.1*
|
%{_mandir}/man1/mysql_install_db.1*
|
||||||
%{_mandir}/man1/ndb_config.1*
|
|
||||||
%{_mandir}/man1/ndb_cpcd.1*
|
|
||||||
%{_mandir}/man1/ndb_delete_all.1*
|
|
||||||
%{_mandir}/man1/ndb_desc.1*
|
|
||||||
%{_mandir}/man1/ndb_drop_index.1*
|
|
||||||
%{_mandir}/man1/ndb_drop_table.1*
|
|
||||||
%{_mandir}/man1/ndb_error_reporter.1*
|
|
||||||
%{_mandir}/man1/ndb_mgm.1*
|
|
||||||
%{_mandir}/man1/ndb_mgmd.1*
|
|
||||||
%{_mandir}/man1/ndb_print_backup_file.1*
|
|
||||||
%{_mandir}/man1/ndb_print_schema_file.1*
|
|
||||||
%{_mandir}/man1/ndb_print_sys_file.1*
|
|
||||||
%{_mandir}/man1/ndb_restore.1*
|
|
||||||
%{_mandir}/man1/ndb_select_all.1*
|
|
||||||
%{_mandir}/man1/ndb_select_count.1*
|
|
||||||
%{_mandir}/man1/ndb_show_tables.1*
|
|
||||||
%{_mandir}/man1/ndb_size.pl.1*
|
|
||||||
%{_mandir}/man1/ndb_waiter.1*
|
|
||||||
%{_mandir}/man1/ndbd.1*
|
|
||||||
%{_mandir}/man8/mysqld.8*
|
%{_mandir}/man8/mysqld.8*
|
||||||
%{_mandir}/man8/mysqlmanager.8*
|
%{_mandir}/man8/mysqlmanager.8*
|
||||||
|
|
||||||
%dir %{_datadir}/mysql
|
|
||||||
%{_datadir}/mysql/errmsg.txt
|
%{_datadir}/mysql/errmsg.txt
|
||||||
%{_datadir}/mysql/fill_help_tables.sql
|
%{_datadir}/mysql/fill_help_tables.sql
|
||||||
%{_datadir}/mysql/mysql_fix_privilege_tables.sql
|
%{_datadir}/mysql/mysql_fix_privilege_tables.sql
|
||||||
@ -468,7 +448,6 @@ fi
|
|||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
/usr/include/mysql
|
/usr/include/mysql
|
||||||
%dir %{_libdir}/mysql
|
|
||||||
%{_libdir}/mysql/*.a
|
%{_libdir}/mysql/*.a
|
||||||
%{_libdir}/mysql/libmysqlclient*.so
|
%{_libdir}/mysql/libmysqlclient*.so
|
||||||
|
|
||||||
@ -482,6 +461,13 @@ fi
|
|||||||
%attr(-,mysql,mysql) %{_datadir}/mysql-test
|
%attr(-,mysql,mysql) %{_datadir}/mysql-test
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 29 2007 Tom Lane <tgl@redhat.com> 5.0.37-2
|
||||||
|
- Use a less hacky method of getting default values in initscript
|
||||||
|
Related: #233771, #194596
|
||||||
|
- Improve packaging of mysql-libs per suggestions from Remi Collet
|
||||||
|
Resolves: #233731
|
||||||
|
- Update default /etc/my.cnf ([mysql.server] has been bogus for a long time)
|
||||||
|
|
||||||
* Mon Mar 12 2007 Tom Lane <tgl@redhat.com> 5.0.37-1
|
* Mon Mar 12 2007 Tom Lane <tgl@redhat.com> 5.0.37-1
|
||||||
- Update to MySQL 5.0.37
|
- Update to MySQL 5.0.37
|
||||||
Resolves: #231838
|
Resolves: #231838
|
||||||
|
Loading…
Reference in New Issue
Block a user