Hello community, here is the log from the commit of package mysql-community-server for openSUSE:Factory checked in at 2013-04-23 15:11:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mysql-community-server (Old) and /work/SRC/openSUSE:Factory/.mysql-community-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-community-server", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/mysql-community-server/mysql-community-server.changes 2013-03-20 11:54:50.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mysql-community-server.new/mysql-community-server.changes 2013-04-23 15:11:13.000000000 +0200 @@ -1,0 +2,12 @@ +Mon Apr 22 11:36:33 UTC 2013 - mhruse...@suse.com + +- few fixes to init script backported form SLE + (mainly one race condition during update) + +------------------------------------------------------------------- +Mon Apr 22 10:49:16 UTC 2013 - mhruse...@suse.com + +- updated to 5.5.31, see + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-31.html + +------------------------------------------------------------------- Old: ---- mysql-5.5.30.tar.bz2 New: ---- mysql-5.5.31.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mysql-community-server.spec ++++++ --- /var/tmp/diff_new_pack.9R7xux/_old 2013-04-23 15:11:20.000000000 +0200 +++ /var/tmp/diff_new_pack.9R7xux/_new 2013-04-23 15:11:20.000000000 +0200 @@ -35,9 +35,9 @@ Summary: Server part of MySQL Community Server License: SUSE-GPL-2.0-with-FLOSS-exception Group: Productivity/Databases/Servers -Version: 5.5.30 +Version: 5.5.31 Release: 0 -%define srv_vers 5.5.30 +%define srv_vers 5.5.31 Url: http://www.mysql.com Source: mysql-%{version}.tar.bz2 Source2: baselibs.conf @@ -77,9 +77,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 +88,7 @@ Requires: perl-base # systemd requirements for openSUSE >= 12.1 %if 0%{?suse_version} >= 1210 +BuildRequires: systemd %{?systemd_requires} %endif Provides: mysql = %{srv_vers} @@ -413,10 +411,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 @@ -427,7 +421,6 @@ os.execute("/bin/mkdir -p /var/run/mysql/restart") end end - dbfile="var/mysql/mysql/db.ISM" olddir="var/mysql" newdir="var/lib/mysql" @@ -480,11 +473,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 # ++++++ build.inc ++++++ --- /var/tmp/diff_new_pack.9R7xux/_old 2013-04-23 15:11:20.000000000 +0200 +++ /var/tmp/diff_new_pack.9R7xux/_new 2013-04-23 15:11:20.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 ++++++ ++++++ mysql-5.5.30.tar.bz2 -> mysql-5.5.31.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/mysql-community-server/mysql-5.5.30.tar.bz2 /work/SRC/openSUSE:Factory/.mysql-community-server.new/mysql-5.5.31.tar.bz2 differ: char 11, line 1 ++++++ mysql-patches.tar.bz2 ++++++ ++++++ rc.mysql-multi ++++++ --- /var/tmp/diff_new_pack.9R7xux/_old 2013-04-23 15:11:21.000000000 +0200 +++ /var/tmp/diff_new_pack.9R7xux/_new 2013-04-23 15:11:21.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 } @@ -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|' \ + -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" -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org