![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community,
here is the log from the commit of package mysql-community-server for openSUSE:Factory checked in at 2013-08-13 10:15:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-08-01 17:14:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mysql-community-server.new/mysql-community-server.changes 2013-08-13 10:15:58.000000000 +0200
@@ -1,0 +2,9 @@
+Mon Aug 12 15:34:19 CEST 2013 - mhrusecky@suse.cz
+
+- chown --no-dereference instead of chown to improve security
+ * similar issue as CVE-2013-1976
+- fix build for ppc64 using -mminimal-toc
+- merge latest packaging fixes
+ * more cautious upgrades
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql-community-server.spec ++++++
--- /var/tmp/diff_new_pack.PY9Qd1/_old 2013-08-13 10:15:59.000000000 +0200
+++ /var/tmp/diff_new_pack.PY9Qd1/_new 2013-08-13 10:15:59.000000000 +0200
@@ -68,6 +68,7 @@
BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: procps
+BuildRequires: readline-devel
BuildRequires: zlib-devel
%if 0%{?suse_version}
BuildRequires: pwdutils
@@ -93,14 +94,18 @@
BuildRequires: systemd
%{?systemd_requires}
%endif
+%if "%{name}" != mysql
Provides: mysql = %{srv_vers}
+%endif
Provides: mysql-Max = %{srv_vers}
%if 0%{?use_extra_provides} > 0
Provides: %{extra_provides} = %{version}
Obsoletes: %{extra_provides} < %{version}
%endif
%if 0%{?prefered} > 0
+%if "%{name}" != mysql
Obsoletes: mysql < %{srv_vers}
+%endif
Obsoletes: mysql-Max < %{srv_vers}
%endif
Conflicts: otherproviders(mysql)
@@ -187,18 +192,22 @@
%package client
Summary: Client for MySQL Community Server
Group: Productivity/Databases/Clients
+%if "%{name}" != mysql
Provides: mysql-client = %{srv_vers}
+%endif
%if 0%{?suse_version}
PreReq: pwdutils
%endif
%if 0%{?use_extra_provides} > 0
Provides: %{extra_provides}-client = %{version}
Obsoletes: %{extra_provides}-client < %{version}
-Requires: %{name}-errormessages = %version
%endif
+Requires: %{name}-errormessages = %version
%if 0%{?prefered} > 0
+%if "%{name}" != mysql
Obsoletes: mysql-client < %{srv_vers}
%endif
+%endif
Conflicts: otherproviders(mysql-client)
%description client
@@ -217,14 +226,18 @@
Requires: perl-DBD-mysql
Summary: Benchmarks for MySQL Community Server
Group: Productivity/Databases/Tools
+%if "%{name}" != mysql
Provides: mysql-bench = %{srv_vers}
+%endif
%if 0%{?use_extra_provides} > 0
Provides: %{extra_provides}-bench = %{version}
Obsoletes: %{extra_provides}-bench < %{version}
%endif
%if 0%{?prefered} > 0
+%if "%{name}" != mysql
Obsoletes: mysql-bench < %{srv_vers}
%endif
+%endif
Conflicts: otherproviders(mysql-bench)
%description bench
@@ -264,14 +277,18 @@
Requires: %{name}-client = %{version}
Requires: %{name}-tools = %{version}
Requires: perl-DBD-mysql
+%if "%{name}" != mysql
Provides: mysql-test = %{srv_vers}
+%endif
%if 0%{?use_extra_provides} > 0
Provides: %{extra_provides}-test = %{version}
Obsoletes: %{extra_provides}-test < %{version}
%endif
%if 0%{?prefered} > 0
+%if "%{name}" != mysql
Obsoletes: mysql-test < %{srv_vers}
%endif
+%endif
Conflicts: otherproviders(mysql-test)
%description test
@@ -285,15 +302,19 @@
Requires: perl-DBD-mysql
# make sure this package is installed when updating from 10.2 and older
Provides: mysql-client:/usr/bin/perror
+%if "%{name}" != mysql
Provides: mysql-tools = %{srv_vers}
+%endif
Provides: mysql:/usr/bin/mysqlhotcopy
%if 0%{?use_extra_provides} > 0
Provides: %{extra_provides}-tools = %{version}
Obsoletes: %{extra_provides}-tools < %{version}
%endif
%if 0%{?prefered} > 0
+%if "%{name}" != mysql
Obsoletes: mysql-tools < %{srv_vers}
%endif
+%endif
Conflicts: otherproviders(mysql-tools)
%description tools
@@ -317,8 +338,10 @@
%package ndb-storage
Summary: MySQL Community Server - ndbcluster storage engine
Group: Productivity/Databases/Servers
+%if "%{name}" != mysql
Provides: mysql-ndb-storage = %{srv_vers}
Obsoletes: mysql-ndb-storage < %{srv_vers}
+%endif
Conflicts: otherproviders(mysql-ndb-storage)
%description ndb-storage
@@ -330,8 +353,10 @@
%package ndb-management
Summary: MySQL Community Server - ndbcluster storage engine management
Group: Productivity/Databases/Servers
+%if "%{name}" != mysql
Provides: mysql-ndb-management = %{srv_vers}
Obsoletes: mysql-ndb-management < %{srv_vers}
+%endif
Conflicts: otherproviders(mysql-ndb-management)
%description ndb-management
@@ -342,8 +367,10 @@
%package ndb-tools
Summary: MySQL Community Server - ndbcluster storage engine basic tools
Group: Productivity/Databases/Servers
+%if "%{name}" != mysql
Provides: mysql-ndb-tools = %{srv_vers}
Obsoletes: mysql-ndb-tools < %{srv_vers}
+%endif
Conflicts: otherproviders(mysql-ndb-tools)
%description ndb-tools
@@ -352,8 +379,10 @@
%package ndb-extra
Summary: MySQL Community Server - ndbcluster storage engine extra tools
Group: Productivity/Databases/Servers
+%if "%{name}" != mysql
Provides: mysql-ndb-extra = %{srv_vers}
Obsoletes: mysql-ndb-extra < %{srv_vers}
+%endif
Conflicts: otherproviders(mysql-ndb-extra)
%description ndb-extra
++++++ build.inc ++++++
--- /var/tmp/diff_new_pack.PY9Qd1/_old 2013-08-13 10:15:59.000000000 +0200
+++ /var/tmp/diff_new_pack.PY9Qd1/_new 2013-08-13 10:15:59.000000000 +0200
@@ -4,9 +4,12 @@
%define socketpath /var/run/mysql
%endif
%if 0%{?suse_version} > 1140
-export WARN_DIS="$WARN_DIS -Wno-unused-but-set-variable -fno-strict-aliasing -Wno-unused-parameter "
+export EXTRA_FLAGS=" -Wno-unused-but-set-variable -fno-strict-aliasing -Wno-unused-parameter "
%endif
-export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DFORCE_INIT_OF_VARS $WARN_DIS "
+%ifarch ppc64
+export EXTRA_FLAGS=" -mminimal-toc "
+%endif
+export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DFORCE_INIT_OF_VARS $EXTRA_FLAGS "
export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"
%if 0%{use_cmake} < 1
++++++ configuration-tweaks.tar.bz2 ++++++
++++++ install.inc ++++++
--- /var/tmp/diff_new_pack.PY9Qd1/_old 2013-08-13 10:15:59.000000000 +0200
+++ /var/tmp/diff_new_pack.PY9Qd1/_new 2013-08-13 10:15:59.000000000 +0200
@@ -15,26 +15,20 @@
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
-rm -f %buildroot%_libdir/libmysqlservices*a
-rm -f %buildroot%_libdir/mysql/*.a %buildroot%_libdir/mysql/*.la
-rm -f %buildroot%_libdir/mysql/plugin/*a
+[ \! -f "%buildroot%_libdir/"libmysqld.a ] || mv "%buildroot%_libdir/"libmysqld.a "%buildroot%_libdir/"libmysqld.static
+rm -f %buildroot%_libdir/*.a
+[ \! -f "%buildroot%_libdir/"libmysqld.static ] || mv "%buildroot%_libdir/"libmysqld.static "%buildroot%_libdir/"libmysqld.a
+rm -f %buildroot%_libdir/mysql/{,plugin}/*.{a,la}
# XXX: package these? The ndb tools are linked statically atm
rm -f %buildroot%_libdir/mysql/libndbclient.*
-rm -f %{buildroot}/usr/share/mysql-test/mysql-test-run
-rm -f %{buildroot}/usr/share/mysql-test/mtr
-rm -f %{buildroot}/usr/share/mysql/binary-configure
-rm -f %{buildroot}/usr/share/mysql/errmsg-utf8.txt
-rm -f %{buildroot}/usr/share/mysql/magic
-rm -f %{buildroot}/usr/share/mysql/mysql-log-rotate
-rm -f %{buildroot}/usr/share/mysql/mysql*.server
+rm -f %{buildroot}/usr/share/mysql-test/{mysql-test-run,mtr}
+rm -f %{buildroot}/usr/share/mysql/{binary-configure,errmsg-utf8.txt,magic,mysql-log-rotate,mysql*.server}
rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mtr
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mysql-test-run
mv %{buildroot}/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
# generate filelist for binaries and their manpages (easier than enumerating
-# all the binaries and manapages manually, esp. when there are new manpages in
-# each release)
+# all the binaries and manapages manually
filelist()
{
echo '%%defattr(-, root, root)'
@@ -170,11 +164,11 @@
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf
fi
+rm -rf '%buildroot'/etc/my.cnf.d
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 -
[ -z "`ls '%buildroot'/usr/share/info/mysql.info* 2> /dev/null`" ] || rm -f '%buildroot'/usr/share/info/mysql.info*
-if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so`" ]; then
+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
++++++ 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 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mysql-5.5-dump.patch 2013-08-02 21:15:43.000000000 +0200
@@ -0,0 +1,85 @@
+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 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mysql-5.5.31-upgrade-datadir.patch 2013-08-01 10:24:24.000000000 +0200
@@ -0,0 +1,69 @@
+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