Hello community,
here is the log from the commit of package mysql-community-server for
openSUSE:Factory checked in at 2014-08-20 10:50:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mysql-community-server (Old)
and /work/SRC/openSUSE:Factory/.mysql-community-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-community-server"
Changes:
--------
---
/work/SRC/openSUSE:Factory/mysql-community-server/mysql-community-server.changes
2013-09-23 11:17:23.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.mysql-community-server.new/mysql-community-server.changes
2014-08-20 10:51:14.000000000 +0200
@@ -1,0 +2,19 @@
+Thu Aug 7 01:04:49 UTC 2014 - [email protected]
+
+- Removed mysql.info.* from %files section to clear build failure, as reported
in declined request 235821 to openSUSE:Factory
+
+-------------------------------------------------------------------
+Fri May 23 12:40:22 CEST 2014 - [email protected]
+
+- updated to 5.6.17
+ http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-13.html
+ http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html
+ http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html
+ http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-16.html
+ http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html
+- merge latest fixes from other variants
+ * systemd unit file
+ * not enabling plugins by default
+ * first time install warning
+
+-------------------------------------------------------------------
Old:
----
mysql-5.6.12.tar.bz2
rc.mysql-multi
New:
----
README.install
_constraints
mysql-5.6.17.tar.bz2
mysql.service
rc.mysql.systemd
rc.mysql.sysvinit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql-community-server.spec ++++++
--- /var/tmp/diff_new_pack.NdprKl/_old 2014-08-20 10:51:18.000000000 +0200
+++ /var/tmp/diff_new_pack.NdprKl/_new 2014-08-20 10:51:18.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package mysql-community-server
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,8 @@
# Few definitions which will alter build
-%define prefered 00
+%define preferred 00
+%define use_systemd 01
%define use_cmake 01
%define cluster 00
%define have_info 01
@@ -25,6 +26,10 @@
%define use_extra_provides 1
%define extra_provides mysql-community-server_56
+%if ! %{defined _rundir}
+%define _rundir %{_localstatedir}/run
+%endif
+
%if %{?rel:0}%{!?rel:1}
%define rel 1
%endif
@@ -36,16 +41,16 @@
Summary: Server part of MySQL Community Server
License: SUSE-GPL-2.0-with-FLOSS-exception
Group: Productivity/Databases/Servers
-Version: 5.6.12
+Version: 5.6.17
Release: 0
-%define srv_vers 5.6.12
+%define srv_vers 5.6.17
Url: http://www.mysql.com
Source: mysql-%{version}.tar.bz2
Source2: baselibs.conf
Source3: README.debug
Source4: suse-test-run
Source5: mysql.SuSEfirewall2
-Source7: rc.mysql-multi
+Source7: README.install
Source8: README.SuSE
Source9: mysql-patches.tar.bz2
Source10: build.inc
@@ -53,6 +58,9 @@
Source12: series
Source13: configuration-tweaks.tar.bz2
Source14: my.ini
+Source15: rc.mysql.sysvinit
+Source16: rc.mysql.systemd
+Source17: mysql.service
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version}
PreReq: pwdutils
@@ -67,6 +75,7 @@
BuildRequires: gcc-c++
BuildRequires: libaio-devel
BuildRequires: libedit-devel
+BuildRequires: libevent-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
@@ -106,7 +115,7 @@
Provides: %{extra_provides} = %{version}
Obsoletes: %{extra_provides} < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql < %{srv_vers}
%endif
@@ -138,7 +147,7 @@
This package only contains the server-side programs.
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%package -n libmysqlclient-devel
# mysql-devel was last used in openSUSE 10.2
Provides: mysql-devel = %srv_vers-%release
@@ -188,6 +197,7 @@
%package -n libmysql56client_r18
Summary: Shared Libraries for MySQL Community Server
Group: Development/Libraries/Other
+Requires: libmysql56client18
%description -n libmysql56client_r18
This package contains the shared libraries (.so) which certain
@@ -207,7 +217,7 @@
Obsoletes: %{extra_provides}-client < %{version}
%endif
Requires: %{name}-errormessages = %version
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-client < %{srv_vers}
%endif
@@ -237,7 +247,7 @@
Provides: %{extra_provides}-bench = %{version}
Obsoletes: %{extra_provides}-bench < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-bench < %{srv_vers}
%endif
@@ -261,7 +271,7 @@
Provides: %{extra_provides}-debug-verion = %{version}
Obsoletes: %{extra_provides}-debug-version < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
Obsoletes: mysql-debug < %{srv_vers}
%endif
Conflicts: otherproviders(mysql-debug)
@@ -288,7 +298,7 @@
Provides: %{extra_provides}-test = %{version}
Obsoletes: %{extra_provides}-test < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-test < %{srv_vers}
%endif
@@ -314,7 +324,7 @@
Provides: %{extra_provides}-tools = %{version}
Obsoletes: %{extra_provides}-tools < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-tools < %{srv_vers}
%endif
@@ -414,13 +424,18 @@
# breaks VPATH builds when in sourcedir, is generated in the builddirs
rm -f sql/sql_builtin.cc
sed -i 's|@localstatedir@|/var/log|' support-files/mysql-log-rotate.sh
-%if 0%{prefered} < 1
+%if 0%{preferred} < 1
for i in `grep -Rl mysqlclient .`; do
sed -i 's|mysqlclient|mysql56client|g' $i
+ sed -i
's|-libmysql56client-symbols.patch|-libmysqlclient-symbols.patch|g' $i
done
%endif
# Broken test that needs sources
rm -f mysql-test/t/file_contents.test mysql-test/r/file_contents.result
+# Specify perl path on shebangs
+for i in `grep -Rl '^#!@PERL@$' .`; do
+ sed -i 's|@PERL@|/usr/bin/perl|' $i
+done
%build
%{expand:%(cat %_sourcedir/build.inc)}
@@ -454,15 +469,14 @@
# preun and posttran takes care of restart #
#######################################################################
%preun
-[ $1 = 1 ] || /usr/sbin/rcmysql stop
+[ $1 = 1 ] || /usr/sbin/rcmysql stop || true
%pretrans -p <lua>
if posix.access("/usr/sbin/rcmysql", "x") then
restart = os.execute("/usr/sbin/rcmysql status > /dev/null")
- os.execute("/usr/sbin/rcmysql stop")
-
if restart == 0 then
- os.execute("/bin/mkdir -p /var/run/mysql/restart")
+ os.execute("/usr/sbin/rcmysql stop")
+ os.execute("/bin/mkdir -p %{_rundir}/mysql/restart")
end
end
@@ -479,9 +493,21 @@
( [ -d "$i" ] && rmdir "$i" ) || :
done
# start mysql again if it should run
-if [ "`ls /etc/rc.d/rc*.d/S*mysql 2> /dev/null`" ] || [ -d
/var/run/mysql/restart ]; then
+if [ "`ls /etc/rc.d/rc*.d/S*mysql 2> /dev/null`" ] || [ -d
%{_rundir}/mysql/restart ]; then
[ -x /usr/sbin/rcmysql ] && /usr/sbin/rcmysql start
- rmdir /var/run/mysql/restart || :
+ rmdir %{_rundir}/mysql/restart || :
+ rmdir %{_rundir}/mysql || :
+fi
+# warn on first run
+datadir="/var/lib/mysql"
+if [ -x /usr/bin/my_print_defaults ]; then
+ datadir="`/usr/bin/my_print_defaults mysqld mysql_server | sed -n
's|--datadir=||p'`"
+ [ "$datadir" ] || datadir="/var/lib/mysql"
+fi
+if [ \! -d "$datadir/mysql" ]; then
+cat > /var/adm/update-messages/%{name}-%{version}-%{release} << EOF
+%(cat %_sourcedir/README.install)
+EOF
fi
#######################################################################
@@ -502,7 +528,7 @@
%postun -n libndbclient6 -p /sbin/ldconfig
%endif
-%if 0%{prefered} > 0
+%if 0%{preferred} > 0
%post -n libmysqld18 -p /sbin/ldconfig
%postun -n libmysqld18 -p /sbin/ldconfig
@@ -531,16 +557,18 @@
%config(noreplace) %attr(0640, root, mysql) /etc/my.cnf.d/*
%config /etc/logrotate.d/mysql
%doc %{_defaultdocdir}/%{name}
-%if %have_info
-%doc %{_infodir}/mysql.info.*
-%endif
+%if 0%{?suse_version} >= 1210 && 0%{?use_systemd} > 0
+%dir /usr/lib/mysql
+/usr/lib/mysql/rcmysql
+/usr/lib/systemd/system/mysql.service
+%else
/etc/init.d/mysql
+%endif
/usr/sbin/rcmysql
%dir /usr/share/%{name}
%dir /usr/share/mysql
/usr/share/%{name}/charsets/
/usr/share/%{name}/*.sql
-%ghost %dir %attr(755,mysql,mysql)/var/run/mysql
%dir %{_libdir}/mysql
%{_libdir}/mysql/mysqld.sym
%config /etc/sysconfig/SuSEfirewall2.d/services/mysql
@@ -553,9 +581,8 @@
%files client -f mysql-client.files
%defattr(-, root, root)
-%config(noreplace) %attr(0640, root, mysql) /etc/mysqlaccess.conf
-%if 0%{prefered} > 0
+%if 0%{preferred} > 0
%files -n libmysqlclient-devel -f libmysqlclient-devel.files
%defattr(-, root, root)
/usr/include/mysql
++++++ README.install ++++++
You just installed MySQL server for the first time.
You can start it using:
rcmysql start
During first start empty database will be created for your automatically.
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h misibook password 'new-password'
Alternatively you can run:
'/usr/bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
++++++ _constraints ++++++
<constraints>
<hardware>
<disk>
<size unit="G">9</size>
</disk>
</hardware>
</constraints>
++++++ build.inc ++++++
--- /var/tmp/diff_new_pack.NdprKl/_old 2014-08-20 10:51:18.000000000 +0200
+++ /var/tmp/diff_new_pack.NdprKl/_new 2014-08-20 10:51:18.000000000 +0200
@@ -10,7 +10,7 @@
export EXTRA_FLAGS=" -mminimal-toc "
%endif
export CFLAGS="$RPM_OPT_FLAGS -DOPENSSL_LOAD_CONF -DPIC -fPIC
-DFORCE_INIT_OF_VARS $EXTRA_FLAGS "
-export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"
+export CXXFLAGS="$CFLAGS"
%if 0%{use_cmake} < 1
autoreconf -f -i
@@ -73,7 +73,7 @@
popd
}
# Build the client, extra tools, libraries
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
BuildMySQL "" --with-embedded-server
%else
BuildMySQL "" --without-embedded-server
@@ -81,7 +81,7 @@
# build mysqld-debug
BuildMySQL "-debug" --with-debug --without-embedded-server
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
mkdir -p _buildlibmysqld/tmp
cd _buildlibmysqld/tmp
ar -x ../../_build/libmysqld/libmysqld.a
@@ -101,6 +101,8 @@
shift
cmake -DWITH_SSL=system \
-DWITH_ZLIB=system
\
+ -DWITH_LIBEVENT=system
\
+ -DWITH_JEMALLOC=no
\
-DWITH_READLINE=0
\
-DWITH_LIBEDIT=0
\
-DINSTALL_LAYOUT=RPM
\
@@ -116,12 +118,13 @@
-DDENABLE_DOWNLOADS=false
\
-DINSTALL_PLUGINDIR_RPM="%{_lib}/mysql/plugin"
\
-DINSTALL_LIBDIR_RPM="%{_lib}"
\
- "$@" ..
+ -Wno-dev "$@" ..
make %{?jobs:-j%jobs}
nm --numeric-sort sql/mysqld > sql/mysqld.sym
popd
}
BuildMySQL "" -DCMAKE_BUILD_TYPE=Release -DINSTALL_SQLBENCHDIR=share
-BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
+# TokuDB can't be compiled without optimisations turned on
+BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug -DWITHOUT_TOKUDB=1
%endif
++++++ configuration-tweaks.tar.bz2 ++++++
--- old/default_plugins.cnf 2013-09-09 10:35:18.000000000 +0200
+++ new/default_plugins.cnf 2014-05-23 12:51:58.000000000 +0200
@@ -1,4 +1,4 @@
[server]
-plugin-load=blackhole=ha_blackhole.so
-plugin-load=federated=ha_federated.so
-plugin-load=archive=ha_archive.so
+#plugin-load=blackhole=ha_blackhole.so
+#plugin-load=federated=ha_federated.so
+#plugin-load=archive=ha_archive.so
++++++ install.inc ++++++
--- /var/tmp/diff_new_pack.NdprKl/_old 2014-08-20 10:51:18.000000000 +0200
+++ /var/tmp/diff_new_pack.NdprKl/_new 2014-08-20 10:51:18.000000000 +0200
@@ -41,14 +41,14 @@
done
popd >/dev/null
}
-filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog
myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db
mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi
mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip
{m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log
xtstat >mysql.files
-filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow
>mysql-client.files
+filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog
myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db
mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi
mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip
{m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log
xtstat tokuftdump >mysql.files
+filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow
mysql_config_editor >mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
filelist mysqlslap >mysql-bench.files
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_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 msql2mysql 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
@@ -75,23 +75,31 @@
DOCDIR=%buildroot%_defaultdocdir/%name
install -d -m 755 ${DOCDIR}
install -d -m 755 %buildroot/etc/logrotate.d
-install -d -m 755 %buildroot/etc/init.d
install -m 644 _build/support-files/mysql-log-rotate
%buildroot/etc/logrotate.d/mysql
-%if 0%{?prefered} > 0%{?use_cmake}
+%if 0%{?preferred} > 0%{?use_cmake}
install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
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 %{S:14} %buildroot/etc/my.cnf
-install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
+[ \! -f scripts/mysqlaccess.conf ] || install -m 640 scripts/mysqlaccess.conf
%buildroot/etc/mysqlaccess.conf
for i in "${DOCS[@]}"; do
install -m 644 "${i}" "${DOCDIR}" || true
done
-install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
-sed -i 's|@MYSQLVER@|%{version}|' %buildroot/etc/init.d/mysql
-ln -sf ../../etc/init.d/mysql %buildroot/usr/sbin/rcmysql
-# this is used by the init script
-install -m 755 -d %buildroot/var/run/mysql
+%if 0%{?suse_version} >= 1210 && 0%{?use_systemd} > 0
+install -D -m 755 %_sourcedir/rc.mysql.systemd
'%buildroot'/usr/lib/mysql/rcmysql
+sed -i 's|@MYSQLVER@|%{version}|' '%buildroot'/usr/lib/mysql/rcmysql
+ln -sf service '%buildroot'/usr/sbin/rcmysql
+install -D -m 644 %_sourcedir/mysql.service
'%buildroot'/usr/lib/systemd/system/mysql.service
+sed -i 's|doc/packages/mysql|doc/packages/%{name}|g'
'%buildroot'/usr/lib/mysql/rcmysql
+rm -rf '%buildroot'/etc/init.d
+%else
+install -d -m 755 '%buildroot'/etc/init.d
+install -m 755 '%_sourcedir'/rc.mysql.sysvinit '%buildroot'/etc/init.d/mysql
+sed -i 's|@MYSQLVER@|%{version}|' '%buildroot'/etc/init.d/mysql
+ln -sf ../../etc/init.d/mysql '%buildroot'/usr/sbin/rcmysql
+sed -i 's|doc/packages/mysql|doc/packages/%{name}|g'
'%buildroot'/etc/init.d/mysql
+%endif
# SuSEfirewall service description
install -D -m 644 %_sourcedir/mysql.SuSEfirewall2 \
%buildroot/etc/sysconfig/SuSEfirewall2.d/services/mysql
@@ -121,7 +129,7 @@
rm -f .$tmp
done
%endif
-%if ! 0%{prefered} > 0
+%if ! 0%{preferred} > 0
cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do
cd '%buildroot'
rm -f ."$tmp"
@@ -132,7 +140,6 @@
rm -rf '%buildroot'/%_includedir
rm -rf '%buildroot'/%_datadir/aclocal
%endif
-sed -i 's|doc/packages/mysql|doc/packages/%{name}|g'
'%buildroot'/etc/init.d/mysql
ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
@@ -143,16 +150,19 @@
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
mv '%buildroot'/usr/bin/mysqlaccess.conf
'%buildroot'/etc/mysqlaccess.conf
fi
+[ \! -f '%buildroot'/etc/mysqlaccess.conf ] || echo '%config(noreplace)
%attr(0640, root, mysql) /etc/mysqlaccess.conf' >> mysql-client.files
rm -rf '%buildroot'/etc/my.cnf.d
mkdir -p '%buildroot'/etc/my.cnf.d
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C
'%buildroot'/etc/my.cnf.d -xvf -
%if %have_info < 1
[ -z "`ls '%buildroot'/usr/share/info/mysql.info* 2> /dev/null`" ] || rm -f
'%buildroot'/usr/share/info/mysql.info*
%endif
+[ -z "`ls '%buildroot'/usr/share/mysql-test/suite/innodb/t/*.zip`" ] || chmod
a-x '%buildroot'/usr/share/mysql-test/suite/innodb/t/*.zip
if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so 2> /dev/null`" ]; then
echo '%%dir %%_libdir/mysql' >> mysql-client.files
echo '%%dir %%_libdir/mysql/plugin' >> mysql-client.files
echo '%%_libdir/mysql/plugin/dialog*.so' >> mysql-client.files
fi
rm -rf '%buildroot'/usr/share/doc/{mysql,mariadb}*
+rm -f '%buildroot'/usr/share/doc/* 2> /dev/null || true
rm -rf '%buildroot'/usr/share/mysql/{solaris,SELinux}
++++++ mysql-5.6.12.tar.bz2 -> mysql-5.6.17.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/mysql-community-server/mysql-5.6.12.tar.bz2
/work/SRC/openSUSE:Factory/.mysql-community-server.new/mysql-5.6.17.tar.bz2
differ: char 11, line 1
++++++ mysql-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-patches/mysql-patches/mysql-5.5-dump.patch
new/mysql-patches/mysql-patches/mysql-5.5-dump.patch
--- old/mysql-patches/mysql-patches/mysql-5.5-dump.patch 2013-08-14
09:05:39.000000000 +0200
+++ new/mysql-patches/mysql-patches/mysql-5.5-dump.patch 1970-01-01
01:00:00.000000000 +0100
@@ -1,85 +0,0 @@
-PATCH-P1-FIX-UPSTREAM: Fix mysql dump
-
-In mysql-5.0.x tables `general_log` and `slow_log` don't have to exist.
-When we try to get dump of mysql database of mysql-5.0.x server using
-client mysql-5.1.x or newer, which expect these tables to exist, mysqldump
-will crash with the following error:
-
- mysqldump: Couldn't execute 'show create table `general_log`': Table
- 'mysql.general_log' doesn't exist (1146)
-
-This is reported at http://bugs.mysql.com/bug.php?id=65670
-
-This patch adds checking if tables `general_log` and `slow_log` exist before
-reading their structure.
-
-diff -up mysql-5.1.66/client/mysqldump.c.logs mysql-5.1.66/client/mysqldump.c
---- mysql-5.1.66/client/mysqldump.c.logs 2012-09-07 16:14:06.000000000
+0200
-+++ mysql-5.1.66/client/mysqldump.c 2012-11-28 15:33:00.116328380 +0100
-@@ -4269,6 +4269,31 @@ my_bool include_table(const uchar *hash_
- }
-
-
-+/* Return 1 if table exists in db */
-+
-+static my_bool get_table_exists(char *table, char *db)
-+{
-+ char query_buff[QUERY_LENGTH];
-+ MYSQL_RES *result;
-+ MYSQL_ROW row;
-+ my_bool return_value = 0;
-+
-+ DBUG_ENTER("get_table_exists");
-+ my_snprintf(query_buff, sizeof(query_buff),
-+ "SELECT COUNT(0) AS `Exists` "
-+ "FROM `INFORMATION_SCHEMA`.`TABLES` WHERE "
-+ "TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'",
-+ db, table);
-+
-+ mysql_query_with_error_report(mysql, &result, query_buff);
-+ if (row= mysql_fetch_row(result))
-+ return_value = (strcmp(row[0], "0") != 0);
-+
-+ mysql_free_result(result);
-+ DBUG_RETURN(return_value);
-+}
-+
-+
- static int dump_all_tables_in_db(char *database)
- {
- char *table;
-@@ -4292,17 +4317,24 @@ static int dump_all_tables_in_db(char *d
- char table_type[NAME_LEN];
- char ignore_flag;
- uint num_fields;
-- num_fields= get_table_structure((char *) "general_log",
-- database, table_type, &ignore_flag);
-- if (num_fields == 0)
-- verbose_msg("-- Warning: get_table_structure() failed with some
internal "
-- "error for 'general_log' table\n");
-- num_fields= get_table_structure((char *) "slow_log",
-- database, table_type, &ignore_flag);
-- if (num_fields == 0)
-- verbose_msg("-- Warning: get_table_structure() failed with some
internal "
-- "error for 'slow_log' table\n");
-+ if (get_table_exists((char *) "general_log", database))
-+ {
-+ num_fields= get_table_structure((char *) "general_log",
-+ database, table_type, &ignore_flag);
-+ if (num_fields == 0)
-+ verbose_msg("-- Warning: get_table_structure() failed with some
internal "
-+ "error for 'general_log' table\n");
-+ }
-+ if (get_table_exists((char *) "slow_log", database))
-+ {
-+ num_fields= get_table_structure((char *) "slow_log",
-+ database, table_type, &ignore_flag);
-+ if (num_fields == 0)
-+ verbose_msg("-- Warning: get_table_structure() failed with some
internal "
-+ "error for 'slow_log' table\n");
-+ }
- }
-+
- if (lock_tables)
- {
- DYNAMIC_STRING query;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-patches/mysql-patches/mysql-5.5.31-upgrade-datadir.patch
new/mysql-patches/mysql-patches/mysql-5.5.31-upgrade-datadir.patch
--- old/mysql-patches/mysql-patches/mysql-5.5.31-upgrade-datadir.patch
2013-08-14 09:05:39.000000000 +0200
+++ new/mysql-patches/mysql-patches/mysql-5.5.31-upgrade-datadir.patch
1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-PATCH-P0-FEATURE-UPSTREAM: Keep datadir across multiple calls
-
-mysql_upgrade script asks for datadir multiple times during update but at some
-point privileges gets updated and if --skip-grant-tables was used (like in SUSE
-init scripts), datadir is no longer queryable. So we cache the value.
-
-Maintainer: Michal Hrusecky <[email protected]>
-
-Index: client/mysql_upgrade.c
-===================================================================
---- client/mysql_upgrade.c.orig
-+++ client/mysql_upgrade.c
-@@ -557,21 +557,37 @@ static int extract_variable_from_show(DY
-
- static int get_upgrade_info_file_name(char* name)
- {
-- DYNAMIC_STRING ds_datadir;
-- DBUG_ENTER("get_upgrade_info_file_name");
-+ static char *data_dir = NULL;
-+ static size_t len;
-
-- if (init_dynamic_string(&ds_datadir, NULL, 32, 32))
-- die("Out of memory");
-+ DBUG_ENTER("get_upgrade_info_file_name");
-
-- if (run_query("show variables like 'datadir'",
-- &ds_datadir, FALSE) ||
-- extract_variable_from_show(&ds_datadir, name))
-+ if(data_dir==NULL)
- {
-+ DYNAMIC_STRING ds_datadir;
-+
-+ if (init_dynamic_string(&ds_datadir, NULL, 32, 32))
-+ die("Out of memory");
-+
-+ if (run_query("show variables like 'datadir'",
-+ &ds_datadir, FALSE) ||
-+ extract_variable_from_show(&ds_datadir, name)
-+ )
-+ {
-+ dynstr_free(&ds_datadir);
-+ DBUG_RETURN(1); /* Query failed */
-+ }
- dynstr_free(&ds_datadir);
-- DBUG_RETURN(1); /* Query failed */
-- }
-+ len = strlen(name)+1;
-+ if ((data_dir=(char*)malloc(sizeof(char)*len))==NULL)
-+ {
-+ die("Out of memory");
-+ }
-+ strncpy(data_dir,name,len);
-
-- dynstr_free(&ds_datadir);
-+ } else {
-+ strncpy(name, data_dir, len);
-+ }
-
- fn_format(name, "mysql_upgrade_info", name, "", MYF(0));
- DBUG_PRINT("exit", ("name: %s", name));
-@@ -880,7 +896,7 @@ int main(int argc, char **argv)
- Read the mysql_upgrade_info file to check if mysql_upgrade
- already has been run for this installation of MySQL
- */
-- if (!opt_force && upgrade_already_done())
-+ if (upgrade_already_done() && !opt_force)
- {
- printf("This installation of MySQL is already upgraded to %s, "
- "use --force if you still need to run mysql_upgrade\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-patches/mysql-patches/mysql-community-server-5.6.12-upgrade-datadir.patch
new/mysql-patches/mysql-patches/mysql-community-server-5.6.12-upgrade-datadir.patch
---
old/mysql-patches/mysql-patches/mysql-community-server-5.6.12-upgrade-datadir.patch
1970-01-01 01:00:00.000000000 +0100
+++
new/mysql-patches/mysql-patches/mysql-community-server-5.6.12-upgrade-datadir.patch
2014-05-20 15:56:19.000000000 +0200
@@ -0,0 +1,81 @@
+PATCH-P0-FEATURE-UPSTREAM: Keep datadir across multiple calls
+
+mysql_upgrade script asks for datadir multiple times during update but at some
+point privileges gets updated and if --skip-grant-tables was used (like in SUSE
+init scripts), datadir is no longer queryable. So we cache the value.
+
+Maintainer: Michal Hrusecky <[email protected]>
+
+Index: client/mysql_upgrade.c
+===================================================================
+--- client/mysql_upgrade.c.orig
++++ client/mysql_upgrade.c
+@@ -582,21 +582,37 @@ static int extract_variable_from_show(DY
+
+ static int get_upgrade_info_file_name(char* name)
+ {
+- DYNAMIC_STRING ds_datadir;
+- DBUG_ENTER("get_upgrade_info_file_name");
++ static char *data_dir = NULL;
++ static size_t len;
+
+- if (init_dynamic_string(&ds_datadir, NULL, 32, 32))
+- die("Out of memory");
++ DBUG_ENTER("get_upgrade_info_file_name");
+
+- if (run_query("show variables like 'datadir'",
+- &ds_datadir, FALSE) ||
+- extract_variable_from_show(&ds_datadir, name))
++ if(data_dir==NULL)
+ {
++ DYNAMIC_STRING ds_datadir;
++
++ if (init_dynamic_string(&ds_datadir, NULL, 32, 32))
++ die("Out of memory");
++
++ if (run_query("show variables like 'datadir'",
++ &ds_datadir, FALSE) ||
++ extract_variable_from_show(&ds_datadir, name)
++ )
++ {
++ dynstr_free(&ds_datadir);
++ DBUG_RETURN(1); /* Query failed */
++ }
+ dynstr_free(&ds_datadir);
+- DBUG_RETURN(1); /* Query failed */
+- }
++ len = strlen(name)+1;
++ if ((data_dir=(char*)malloc(sizeof(char)*len))==NULL)
++ {
++ die("Out of memory");
++ }
++ strncpy(data_dir,name,len);
+
+- dynstr_free(&ds_datadir);
++ } else {
++ strncpy(name, data_dir, len);
++ }
+
+ fn_format(name, "mysql_upgrade_info", name, "", MYF(0));
+ DBUG_PRINT("exit", ("name: %s", name));
+@@ -1009,7 +1025,7 @@ int main(int argc, char **argv)
+ Read the mysql_upgrade_info file to check if mysql_upgrade
+ already has been run for this installation of MySQL
+ */
+- if (!opt_force && upgrade_already_done())
++ if (upgrade_already_done() && !opt_force)
+ {
+ printf("This installation of MySQL is already upgraded to %s, "
+ "use --force if you still need to run mysql_upgrade\n",
+@@ -1030,9 +1046,9 @@ int main(int argc, char **argv)
+ */
+ if ((!opt_systables_only &&
+ (run_mysqlcheck_mysql_db_fixnames() ||
run_mysqlcheck_mysql_db_upgrade())) ||
+- run_sql_fix_privilege_tables() ||
+ (!opt_systables_only &&
+- (run_mysqlcheck_fixnames() || run_mysqlcheck_upgrade())))
++ (run_mysqlcheck_fixnames() || run_mysqlcheck_upgrade()))
++ || run_sql_fix_privilege_tables())
+ {
+ /*
+ The upgrade failed to complete in some way or another,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-patches/mysql-patches/mysql-community-server-5.6.12-va_list.patch
new/mysql-patches/mysql-patches/mysql-community-server-5.6.12-va_list.patch
--- old/mysql-patches/mysql-patches/mysql-community-server-5.6.12-va_list.patch
2013-09-17 11:47:01.000000000 +0200
+++ new/mysql-patches/mysql-patches/mysql-community-server-5.6.12-va_list.patch
1970-01-01 01:00:00.000000000 +0100
@@ -1,79 +0,0 @@
-PATCH-P1-FIX-UPSTREAM: va_list is not compatible with int
-
-Backport from 5.6.13
-
-Index: mysql-5.6.12/sql-common/client_plugin.c
-===================================================================
---- mysql-5.6.12.orig/sql-common/client_plugin.c
-+++ mysql-5.6.12/sql-common/client_plugin.c
-@@ -117,8 +117,9 @@ find_plugin(const char *name, int type)
- @retval a pointer to an installed plugin or 0
- */
- static struct st_mysql_client_plugin *
--add_plugin(MYSQL *mysql, struct st_mysql_client_plugin *plugin, void
*dlhandle,
-- int argc, va_list args)
-+do_add_plugin(MYSQL *mysql, struct st_mysql_client_plugin *plugin,
-+ void *dlhandle,
-+ int argc, va_list args)
- {
- const char *errmsg;
- struct st_client_plugin_int plugin_int, *p;
-@@ -179,6 +180,31 @@ err1:
- return NULL;
- }
-
-+
-+static struct st_mysql_client_plugin *
-+add_plugin_noargs(MYSQL *mysql, struct st_mysql_client_plugin *plugin,
-+ void *dlhandle,
-+ int argc, ...)
-+{
-+ struct st_mysql_client_plugin *retval= NULL;
-+ va_list ap;
-+ va_start(ap, argc);
-+ retval= do_add_plugin(mysql, plugin, dlhandle, argc, ap);
-+ va_end(ap);
-+ return retval;
-+}
-+
-+
-+static struct st_mysql_client_plugin *
-+add_plugin_withargs(MYSQL *mysql, struct st_mysql_client_plugin *plugin,
-+ void *dlhandle,
-+ int argc, va_list args)
-+{
-+ return do_add_plugin(mysql, plugin, dlhandle, argc, args);
-+}
-+
-+
-+
- /**
- Loads plugins which are specified in the environment variable
- LIBMYSQL_PLUGINS.
-@@ -249,7 +275,7 @@ int mysql_client_plugin_init()
- mysql_mutex_lock(&LOCK_load_client_plugin);
-
- for (builtin= mysql_client_builtins; *builtin; builtin++)
-- add_plugin(&mysql, *builtin, 0, 0, 0);
-+ add_plugin_noargs(&mysql, *builtin, 0, 0);
-
- mysql_mutex_unlock(&LOCK_load_client_plugin);
-
-@@ -307,7 +333,7 @@ mysql_client_register_plugin(MYSQL *mysq
- plugin= NULL;
- }
- else
-- plugin= add_plugin(mysql, plugin, 0, 0, 0);
-+ plugin= add_plugin_noargs(mysql, plugin, 0, 0);
-
- mysql_mutex_unlock(&LOCK_load_client_plugin);
- return plugin;
-@@ -420,7 +446,7 @@ have_plugin:
- goto err;
- }
-
-- plugin= add_plugin(mysql, plugin, dlhandle, argc, args);
-+ plugin= add_plugin_withargs(mysql, plugin, dlhandle, argc, args);
-
- mysql_mutex_unlock(&LOCK_load_client_plugin);
-
++++++ mysql.service ++++++
[Unit]
Description=MySQL server
Wants=basic.target
After=basic.target network.target
[Service]
Type=forking
ExecStart=/usr/lib/mysql/rcmysql start
ExecStop=/usr/lib/mysql/rcmysql stop
[Install]
WantedBy=multi-user.target
++++++ rc.mysql.systemd ++++++
++++ 679 lines (skipped)
++++++ rc.mysql.sysvinit ++++++
++++ 628 lines (skipped)
++++++ series ++++++
--- /var/tmp/diff_new_pack.NdprKl/_old 2014-08-20 10:51:18.000000000 +0200
+++ /var/tmp/diff_new_pack.NdprKl/_new 2014-08-20 10:51:18.000000000 +0200
@@ -8,7 +8,5 @@
mysql-community-server-5.1.51-mysql_config.patch
mysql-community-server-5.6.12-upgrade-exit-status.patch
mysql-community-server-5.6.12-deharcode-libdir.patch
-mysql-5.5.31-upgrade-datadir.patch
-mysql-5.5-dump.patch
+mysql-community-server-5.6.12-upgrade-datadir.patch
mysql-community-server-5.6.12-srv_buf_size.patch
-mysql-community-server-5.6.12-va_list.patch
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]