Hello community, here is the log from the commit of package mariadb for openSUSE:Factory checked in at 2013-07-27 15:48:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mariadb (Old) and /work/SRC/openSUSE:Factory/.mariadb.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb" Changes: -------- --- /work/SRC/openSUSE:Factory/mariadb/mariadb.changes 2013-03-22 12:01:43.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mariadb.new/mariadb.changes 2013-07-27 15:48:15.000000000 +0200 @@ -1,0 +2,55 @@ +Thu Jul 25 13:08:06 CEST 2013 - [email protected] + +- avoiding file conflicts with mytop + +------------------------------------------------------------------- +Tue Jul 23 10:28:10 CEST 2013 - [email protected] + +- updated to MariaDB 5.5.32 + * Release notes: + http://kb.askmonty.org/v/mariadb-5532-release-notes + * Changelog: + http://kb.askmonty.org/v/mariadb-5532-changelog + +------------------------------------------------------------------- +Thu Jun 6 13:22:37 UTC 2013 - [email protected] + +- enable support for libaio (bnc#796164) +- better rights for logdir (bnc#789263) + +------------------------------------------------------------------- +Wed Jun 5 08:48:42 UTC 2013 - [email protected] + +- Moving directory with configuration to upstream default + (/etc/mysql -> /etc/my.cnf.d) + +------------------------------------------------------------------- +Wed Jun 5 05:51:45 UTC 2013 - [email protected] + +- New default config file + +------------------------------------------------------------------- +Fri May 24 08:27:48 CEST 2013 - [email protected] + +- updated to MariaDB 5.5.31 + * Release notes: + http://kb.askmonty.org/v/mariadb-5531-release-notes + * Changelog: + http://kb.askmonty.org/v/mariadb-5531-changelog +- cleanups in upgrade procedure + +------------------------------------------------------------------- +Tue Mar 26 13:56:50 CET 2013 - [email protected] + +- little cleanup of systemd + +------------------------------------------------------------------- +Tue Mar 26 11:11:37 CET 2013 - [email protected] + +- updated to MariaDB 5.5.30 + * Release notes: + http://kb.askmonty.org/v/mariadb-5530-release-notes + * Changelog: + http://kb.askmonty.org/v/mariadb-5530-changelog + +------------------------------------------------------------------- Old: ---- mariadb-5.5.29.tar.bz2 New: ---- mariadb-5.5.32.tar.bz2 my.ini ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mariadb.spec ++++++ --- /var/tmp/diff_new_pack.Y1AN4R/_old 2013-07-27 15:48:16.000000000 +0200 +++ /var/tmp/diff_new_pack.Y1AN4R/_new 2013-07-27 15:48:16.000000000 +0200 @@ -35,9 +35,9 @@ Summary: Server part of MariaDB License: SUSE-GPL-2.0-with-FLOSS-exception Group: Productivity/Databases/Servers -Version: 5.5.29 +Version: 5.5.32 Release: 0 -%define srv_vers 5.5.29 +%define srv_vers 5.5.32 Url: http://www.mariab.org Source: mariadb-%{version}.tar.bz2 Source2: baselibs.conf @@ -51,6 +51,7 @@ Source11: install.inc Source12: series Source13: configuration-tweaks.tar.bz2 +Source14: my.ini BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} PreReq: pwdutils @@ -60,6 +61,8 @@ BuildRequires: automake BuildRequires: cmake BuildRequires: gcc-c++ +BuildRequires: libaio-devel +BuildRequires: libedit-devel BuildRequires: libtool BuildRequires: ncurses-devel BuildRequires: openssl-devel @@ -77,9 +80,6 @@ %if 0%{?fedora_version} > 11 BuildRequires: sqlite %endif -%if 0%{?suse_version} >= 1210 -BuildRequires: systemd -%endif %if 0%{?suse_version} > 1030 Recommends: logrotate %else @@ -91,6 +91,7 @@ Requires: perl-base # systemd requirements for openSUSE >= 12.1 %if 0%{?suse_version} >= 1210 +BuildRequires: systemd %{?systemd_requires} %endif Provides: mysql = %{srv_vers} @@ -171,6 +172,9 @@ Summary: Client for MariaDB Group: Productivity/Databases/Clients Provides: mysql-client = %{srv_vers} +%if 0%{?suse_version} +PreReq: pwdutils +%endif %if 0%{?use_extra_provides} > 0 Provides: %{extra_provides}-client = %{version} Obsoletes: %{extra_provides}-client < %{version} @@ -385,6 +389,12 @@ %service_add_pre mysql.service %endif +%pre client +/usr/sbin/groupadd -r mysql >/dev/null 2>/dev/null || : +/usr/sbin/useradd -r -o -g mysql -u 60 -c "MySQL database admin" \ + -s /bin/false -d /var/lib/mysql mysql 2> /dev/null || : +/usr/sbin/usermod -g mysql -s /bin/false mysql || : + %post # systemd requirment %if 0%{?suse_version} >= 1210 @@ -396,10 +406,6 @@ ####################################################################### %preun [ $1 = 1 ] || /usr/sbin/rcmysql stop -# systemd requirment -%if 0%{?suse_version} >= 1210 -%service_del_preun mysql.service -%endif %pretrans -p <lua> if posix.access("/usr/sbin/rcmysql", "x") then @@ -411,16 +417,8 @@ end end -dbfile="var/mysql/mysql/db.ISM" -olddir="var/mysql" -newdir="var/lib/mysql" --- Do the database files still belong to root (very old installation)? --- Change ownerships -if posix.stat(dbfile, "uid") == 0 then - os.execute("/bin/chown -Rv mysql:mysql var/mysql/") -end - %posttrans +[ -z "`ls %{_infodir}/mysql.info.* 2> /dev/null`" ] || \ %install_info --info-dir=%{_infodir} %{_infodir}/mysql.info.* if [ -d /var/lib/mysql ]; then touch /var/lib/mysql/.run-mysql_upgrade @@ -463,11 +461,11 @@ if [ $1 = 0 ]; then %install_info_delete --info-dir=%{_infodir} %{_infodir}/mysql.info.* %{insserv_cleanup} + rm -f "/var/lib/systemd/migrated/mysql.service" + if [ -x /usr/bin/systemctl ]; then + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : + fi fi -# systemd requirment -%if 0%{?suse_version} >= 1210 -%service_del_postun mysql.service -%endif ####################################################################### # Files section # @@ -476,8 +474,8 @@ %files -f mysql.files %defattr(-, root, root) %config(noreplace) %attr(0640, root, mysql) /etc/my.cnf -%dir %attr(0750, root, mysql) /etc/mysql -%config(noreplace) %attr(0640, root, mysql) /etc/mysql/* +%dir %attr(0750, root, mysql) /etc/my.cnf.d +%config(noreplace) %attr(0640, root, mysql) /etc/my.cnf.d/* %config /etc/logrotate.d/mysql %doc %{_defaultdocdir}/%{name} %doc %{_infodir}/mysql.info.* @@ -486,8 +484,6 @@ %dir /usr/share/%{name} %dir /usr/share/mysql /usr/share/%{name}/charsets/ -/usr/share/mysql/*.cnf -/usr/share/mysql/*.ini /usr/share/%{name}/*.sql %ghost %dir %attr(755,mysql,mysql)/var/run/mysql %dir %{_libdir}/mysql ++++++ build.inc ++++++ --- /var/tmp/diff_new_pack.Y1AN4R/_old 2013-07-27 15:48:16.000000000 +0200 +++ /var/tmp/diff_new_pack.Y1AN4R/_new 2013-07-27 15:48:16.000000000 +0200 @@ -109,6 +109,7 @@ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_EMBEDDED_SERVER=true \ + -DCOMPILATION_COMMENT="openSUSE package" \ -DDENABLE_DOWNLOADS=false \ "$@" .. make %{?jobs:-j%jobs} ++++++ configuration-tweaks.tar.bz2 ++++++ ++++++ install.inc ++++++ --- /var/tmp/diff_new_pack.Y1AN4R/_old 2013-07-27 15:48:17.000000000 +0200 +++ /var/tmp/diff_new_pack.Y1AN4R/_new 2013-07-27 15:48:17.000000000 +0200 @@ -10,6 +10,9 @@ # remove handler socket client rm -f %buildroot%_libdir/libhsclient* rm -f %buildroot%_bindir/hsclient* +if [ -f "%{buildroot}%{_bindir}/mytop" ]; then + mv %{buildroot}%{_bindir}/mytop %{buildroot}%{_bindir}/%{name}_mytop +fi rm -f %buildroot%_libdir/mysql/plugin/handlersocket.so # remove most static libs (FIXME: don't build them at all...) rm -f %buildroot%_libdir/libmysqlclient*a @@ -56,11 +59,14 @@ filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files # all binaries that don't need to be in a "default" install (mysql.rpm + # mysql-client.rpm) -filelist msql2mysql mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded mytop hsclient >mysql-tools.files +filelist msql2mysql mysql_config_editor mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded %{name}_mytop hsclient >mysql-tools.files filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files filelist ndb_mgmd >mysql-ndb-management.files filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files filelist ndb_{cpcd,delete_all,drop_index,index_stat,print_file,redo_log_reader,drop_table} ndbinfo_select_all memcached >mysql-ndb-extra.files +[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.ini`" ] || echo '/usr/share/mysql/*.ini' >> mysql.files +[ -z "`ls -1 "%buildroot/usr/share/mysql/"*.cnf`" ] || echo '/usr/share/mysql/*.cnf' >> mysql.files +[ \! -f "%buildroot/usr/share/%name"/dictionary.txt ] || echo "/usr/share/%name/dictionary.txt" >> mysql.files errmsg_list() { echo '%%defattr(-, root, root)' @@ -87,7 +93,7 @@ ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0 ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so %endif -install -m 660 _build/support-files/my-medium.cnf %buildroot/etc/my.cnf +install -m 660 %{S:14} %buildroot/etc/my.cnf install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf for i in "${DOCS[@]}"; do install -m 644 "${i}" "${DOCDIR}" || true @@ -129,15 +135,15 @@ done %endif %if ! 0%{prefered} > 0 -cat libmysqlclient-devel.files | while read tmp; do +cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do cd '%buildroot' - rm -f .$tmp + rm -f ."$tmp" done rm -rf '%buildroot'/%_libdir/libmysqld.* rm -rf '%buildroot'/%_libdir/*.la rm -rf '%buildroot'/%_libdir/*.so +rm -rf '%buildroot'/%_datadir/man/*/mysql_config.1* rm -rf '%buildroot'/%_includedir -rm -rf '%buildroot'/%_datadir/man/*/mysql_config* rm -rf '%buildroot'/%_datadir/aclocal rm -rf '%buildroot'/%_libdir/*.a %endif @@ -152,8 +158,9 @@ if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf fi -mkdir -p '%buildroot'/etc/mysql -bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/mysql -xvf - +mkdir -p '%buildroot'/etc/my.cnf.d +rm -rf '%buildroot'/etc/my.cnf.d/* +bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/my.cnf.d -xvf - if [ -z "`ls '%buildroot'/usr/share/info/mysql.info*`" ]; then install -D -m 0644 Docs/mysql.info "%buildroot/usr/share/info/mysql.info" gzip -9 "%buildroot/usr/share/info/mysql.info" @@ -163,6 +170,6 @@ echo '%%dir %%_libdir/mysql/plugin' >> mysql-client.files echo '%%_libdir/mysql/plugin/dialog*.so' >> mysql-client.files fi -rm -rf '%buildroot'/etc/my.cnf.d -rm -rf '%buildroot'/usr/share/doc/%{name}-%{version} +rm -rf '%buildroot'/usr/share/doc/{mysql,mariadb}* +rm -rf '%buildroot'/usr/share/mysql/solaris rm -rf '%buildroot'/usr/share/mysql/SELinux ++++++ mariadb-5.5.29.tar.bz2 -> mariadb-5.5.32.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/mariadb/mariadb-5.5.29.tar.bz2 /work/SRC/openSUSE:Factory/.mariadb.new/mariadb-5.5.32.tar.bz2 differ: char 11, line 1 ++++++ my.ini ++++++ # This is default example of MySQL/MariaDB configuration provided with openSUSE package # It is based on upstream defaults with some additional examples. # The following options will be passed to all MariaDB clients [client] # password = your_password # port = 3306 # socket = /var/run/mysql/mysql.sock [mysqld] # Remove leading # if you don't want to listen on network (only socket - safer) # skip-networking # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Using newer file format that supports dynamic and compressed row formats. # If you are using replication you have to make sure, that these options are # set everywhere the same way (probably comment them out is the easiest way) innodb_file_format=Barracuda innodb_file_per_table=ON # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin=mysql-bin # binlog_format=mixed # Remove leading # if you want to store your database elsewhere # datadir = /var/lib/mysql # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1 # These are commonly set, remove the # and set as required. # port = 3306 # socket = /var/run/mysql/mysql.sock # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # # skip-networking # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_multi] mysqld = /usr/bin/mysqld_safe mysqladmin = /usr/bin/mysqladmin log = /var/log/mysqld_multi.log # If you want to use mysqld_multi uncomment 1 or more mysqld sections # below or add your own ones. # WARNING # -------- # If you uncomment mysqld1 than make absolutely sure, that database mysql, # configured above, is not started. This may result in corrupted data! # # [mysqld1] # port = 3306 # datadir = /var/lib/mysql # pid-file = /var/lib/mysql/mysqld.pid # socket = /var/lib/mysql/mysql.sock # user = mysql # [mysqld2] # port = 3307 # datadir = /var/lib/mysql-databases/mysqld2 # pid-file = /var/lib/mysql-databases/mysqld2/mysql.pid # socket = /var/lib/mysql-databases/mysqld2/mysql.sock # user = mysql # [mysqld3] # port = 3308 # datadir = /var/lib/mysql-databases/mysqld3 # pid-file = /var/lib/mysql-databases/mysqld3/mysql.pid # socket = /var/lib/mysql-databases/mysqld3/mysql.sock # user = mysql # [mysqld6] # port = 3309 # datadir = /var/lib/mysql-databases/mysqld6 # pid-file = /var/lib/mysql-databases/mysqld6/mysql.pid # socket = /var/lib/mysql-databases/mysqld6/mysql.sock # user = mysql !include_dir /etc/mysql !include_dir /etc/my.cnf.d ++++++ mysql-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-5.1.50-upgrade-exit-status.patch new/mysql-patches/mysql-patches/mariadb-5.1.50-upgrade-exit-status.patch --- old/mysql-patches/mysql-patches/mariadb-5.1.50-upgrade-exit-status.patch 2012-06-02 20:28:21.000000000 +0200 +++ new/mysql-patches/mysql-patches/mariadb-5.1.50-upgrade-exit-status.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -PATCH-P0-FEATURE-SUSE: Returning 0 when already upgraded. - -Returning non-zero exit status in this case is not nice to scripts using -mysql_upgrade (eg. our init script) - -Maintainer: Michal Hrusecky <[email protected]> - -Index: client/mysql_upgrade.c -=================================================================== ---- client/mysql_upgrade.c.orig -+++ client/mysql_upgrade.c -@@ -878,7 +878,9 @@ int main(int argc, char **argv) - printf("This installation of MySQL is already upgraded to %s, " - "use --force if you still need to run mysql_upgrade\n", - MYSQL_SERVER_VERSION); -- die(NULL); -+ free_used_memory(); -+ my_end(MY_CHECK_ERROR); -+ exit(0); - } - - /* -Index: mysql-test/t/mysql_upgrade.test -=================================================================== ---- mysql-test/t/mysql_upgrade.test.orig -+++ mysql-test/t/mysql_upgrade.test -@@ -41,7 +41,7 @@ file_exists $MYSQLD_DATADIR/mysql_upgrad - - --echo Run it again - should say already completed - --replace_result $MYSQL_SERVER_VERSION VERSION ----error 1 -+--error 0 - --exec $MYSQL_UPGRADE 2>&1 - - # It should have created a file in the MySQL Servers datadir diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-5.5.32-upgrade-exit-status.patch new/mysql-patches/mysql-patches/mariadb-5.5.32-upgrade-exit-status.patch --- old/mysql-patches/mysql-patches/mariadb-5.5.32-upgrade-exit-status.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/mysql-patches/mysql-patches/mariadb-5.5.32-upgrade-exit-status.patch 2013-07-23 10:00:51.000000000 +0200 @@ -0,0 +1,35 @@ +PATCH-P0-FEATURE-SUSE: Returning 0 when already upgraded. + +Returning non-zero exit status in this case is not nice to scripts using +mysql_upgrade (eg. our init script) + +Maintainer: Michal Hrusecky <[email protected]> + +Index: client/mysql_upgrade.c +=================================================================== +--- client/mysql_upgrade.c.orig ++++ client/mysql_upgrade.c +@@ -976,7 +976,9 @@ int main(int argc, char **argv) + printf("This installation of MySQL is already upgraded to %s, " + "use --force if you still need to run mysql_upgrade\n", + MYSQL_SERVER_VERSION); +- die(NULL); ++ free_used_memory(); ++ my_end(MY_CHECK_ERROR); ++ exit(0); + } + + if (opt_version_check && check_version_match()) +Index: mysql-test/t/mysql_upgrade.test +=================================================================== +--- mysql-test/t/mysql_upgrade.test.orig ++++ mysql-test/t/mysql_upgrade.test +@@ -14,7 +14,7 @@ file_exists $MYSQLD_DATADIR/mysql_upgrad + + --echo Run it again - should say already completed + --replace_result $MYSQL_SERVER_VERSION VERSION +---error 1 ++--error 0 + --exec $MYSQL_UPGRADE 2>&1 + + # It should have created a file in the MySQL Servers datadir ++++++ rc.mysql-multi ++++++ --- /var/tmp/diff_new_pack.Y1AN4R/_old 2013-07-27 15:48:17.000000000 +0200 +++ /var/tmp/diff_new_pack.Y1AN4R/_new 2013-07-27 15:48:17.000000000 +0200 @@ -91,9 +91,14 @@ # See https://bugzilla.novell.com/show_bug.cgi?id=223209 kill_mysql () { - local pid exe - test -e "$pid_file" || return 7 # not running - pid=`cat "$pid_file"` || return 4 # insufficient privileges + local pid exe test_pid_file + if [ "$1" ]; then + test_pid_file="$1" + else + test_pid_file="$pid_file" + fi + test -e "$test_pid_file" || return 7 # not running + pid=`cat "$test_pid_file"` || return 4 # insufficient privileges if ! test -e /proc/version; then mount -n -t proc proc /proc test -e /proc/version || return 100 @@ -106,10 +111,10 @@ kill -CONT "$pid" for i in `seq 3000`; do # mysqld removes its pid file - test -e "$pid_file" || return 0 + test -e "$test_pid_file" || return 0 LC_ALL=C sleep 0.1 done - test -e "$pid_file" || return 0 + test -e "$test_pid_file" || return 0 return 1 } @@ -324,7 +329,7 @@ log_dir="`dirname "$i"`" if [ \! -d "$log_dir" ]; then mkdir -p "$log_dir" - chmod 660 "$log_dir" + chmod 770 "$log_dir" fi done @@ -339,12 +344,14 @@ check_obsolete # Run mysql_upgrade on every package install/upgrade. Not allways # necessary, but doesn't do any harm. - if test -f "$datadir/.run-mysql_upgrade" ; then - echo >> "$log_upgrade" + if [ -f "/var/lib/mysql/.run-mysql_upgrade" ]; then + echo > "$log_upgrade" echo "`LANG="" date` - upgrading MySQL..." >> "$log_upgrade" echo >> "$log_upgrade" echo "Will update MySQL now, if you encounter any problems, please read following file:" | tee -a "$log_upgrade" echo " /usr/share/doc/packages/mysql/README.SuSE" | tee -a "$log_upgrade" + sed -i -e 's|^\([^#]*skip-locking\)|#\1\nskip-external-locking|' \ + -e 's|^\([^#]*skip-federated\)|#\1|' /etc/my.cnf # Check logs for inconsistencies SRCLOGS="" ALL_SRCLOGS="" @@ -364,10 +371,13 @@ fi fi check_obsolete >> "$log_upgrade" + # instead of running mysqld --bootstrap, which wouldn't allow # us to run mysql_upgrade, we start a full-featured server with # --skip-grant-tables and restict access to it by unix # permissions of the named socket + + protected="`cat /var/run/mysql/protecteddir 2> /dev/null`" if [ -d "$protected" ]; then pid="`cat "$protected/mysqld.pid" 2> /dev/null`" @@ -375,6 +385,7 @@ [ "`readlink "/proc/$pid/exe" | grep "mysql"`" ]; then echo "Can't update as another updating process is currently running" | tee -a "$log_upgrade" echo "Please check process $pid and terminate it before restarting MySQL" | tee -a "$log_upgrade" + touch /var/lib/mysql/.run-mysql_upgrade rc_failed; rc_status -v; rc_exit; else rm -rf "$protected" @@ -382,9 +393,16 @@ fi protected="`mktemp -d -p /var/tmp mysql-protected.XXXXXX | tee /var/run/mysql/protecteddir`" export TMPDIR="$TEMPDIR" + + # Run upgrade, double check + # We need to restart mysql every time as programs + # reloads privileges tables, so we can get lock out + for cmd in "/usr/bin/mysql_upgrade" \ + "/usr/bin/mysql_upgrade"; do [ -z "$protected" ] || chown "$mysql_daemon_user:$mysql_daemon_group" "$protected" [ "`ls -ld "$protected" | grep "^drwx------[\\.\+]\?[[:blank:]]\+[0-9]\+[[:blank:]]\+$mysql_daemon_user[[:blank:]]\+$mysql_daemon_group[[:blank:]]\+.*"`" ] || { echo "Can't create secure $protected" | tee -a "$log_upgrade" + touch /var/lib/mysql/.run-mysql_upgrade rc_failed; rc_status -v; rc_exit; } @@ -403,21 +421,49 @@ wait_for_socket "$protected/mysql.sock" || { echo "error: $protected/mysql.sock file didn't appeared... " | tee -a "$log_upgrade" echo " Try checking \"$log_upgrade_run\"... " | tee -a "$log_upgrade" + touch /var/lib/mysql/.run-mysql_upgrade rc_failed; rc_status -v; rc_exit; } - echo "Upgrading MySQL... " | tee -a "$log_upgrade" - /usr/bin/mysql_upgrade \ - --socket="$protected/mysql.sock" | tee -a "$log_upgrade" + if [ "`grep "Upgrading MySQL..." "$log_upgrade"`" ]; then + echo "Rechecking whether everything is Ok... " | tee -a "$log_upgrade" + LANG=C $cmd --no-defaults --force \ + --socket="$protected/mysql.sock" | \ + sed -e 's|^|\ \ \ |' | \ + tee -a "$log_upgrade" + else + echo "Upgrading MySQL... " | tee -a "$log_upgrade" + LANG=C $cmd --no-defaults --force \ + --socket="$protected/mysql.sock" | \ + sed -e 's|^|\ \ \ |' \ + -e 's|error|info|' \ + -e 's|\(Table\ upgrade\ required.\).*|\1|' | \ + tee -a "$log_upgrade" + fi [ "$PIPESTATUS" -ne 0 ] && { rc_failed; rc_status -v; - kill -TERM "`cat $protected/mysqld.pid`" + kill_mysql "$protected/mysqld.pid" rc_exit; } - kill -TERM "`cat $protected/mysqld.pid`" + + kill_mysql "$protected/mysqld.pid" || { + echo "error: Can't stop protected MySQL... " | tee -a "$log_upgrade" + rc_failed; rc_status -v; + kill_mysql "$protected/mysqld.pid" + rc_exit; } + + # Everything went fine + if [ -z "`grep REPAIR "$log_upgrade"`" ] && \ + [ -z "`grep "Table\ upgrade\ required" "$log_upgrade"`" ]; then + break + fi + + done # end of upgrade + rm -rf "$protected" # Fix ownerships and permissions for $datadir chmod 750 "$datadir" chown -R "$mysql_daemon_user:$mysql_daemon_group" "$datadir" - rm -f "$datadir/.run-mysql_upgrade" \ + rm -f /var/lib/mysql/.run-mysql_upgrade \ + rm -f /var/lib/mysql/.force_upgrade \ "$datadir"/{update-stamp-*,mysql/stamp-4.1} # used in the past chown "$mysql_daemon_user:$mysql_daemon_group" "$log_upgrade" chmod 640 "$log_upgrade" ++++++ series ++++++ --- /var/tmp/diff_new_pack.Y1AN4R/_old 2013-07-27 15:48:17.000000000 +0200 +++ /var/tmp/diff_new_pack.Y1AN4R/_new 2013-07-27 15:48:17.000000000 +0200 @@ -5,7 +5,7 @@ mariadb-5.5.28-install_db-quiet.patch mysql-community-server-5.1.51-mysql_config.patch mariadb-5.5.25-mysqld_multi-features.patch -mariadb-5.1.50-upgrade-exit-status.patch +mariadb-5.5.32-upgrade-exit-status.patch mariadb-5.2.3-cnf.patch mysql-community-server-5.5.6-safe-process-in-bin.patch mariadb-5.5.28-group.patch -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
