From 0671e6845ac12f5cb7c2a772cff2e899c9b85764 Mon Sep 17 00:00:00 2001 From: releng bot Date: Wed, 31 Jan 2024 16:02:38 +0000 Subject: [PATCH 001/616] Added the README --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1876dc7 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# mysql8.0 + +The mysql8.0 package From ec4fb747ee74e59d3c15ac6d27f2b9e301ba3f83 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 5 Feb 2024 16:58:49 +0100 Subject: [PATCH 002/616] Remove the unwanted README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 1876dc7..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# mysql8.0 - -The mysql8.0 package From 6a5bf296b36bbcacadf83cad071f78a66e619549 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:53:41 +0000 Subject: [PATCH 003/616] Setup of module mysql --- .cvsignore | 0 Makefile | 6 ++++++ sources | 0 3 files changed, 6 insertions(+) create mode 100644 .cvsignore create mode 100644 Makefile create mode 100644 sources diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..e69de29 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..328125a --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +# Makefile for source rpm: mysql +# $Id$ +NAME := mysql +SPECFILE = $(firstword $(wildcard *.spec)) + +include ../common/Makefile.common diff --git a/sources b/sources new file mode 100644 index 0000000..e69de29 From bd137d537852b794665b2431d75b86be1c2fed90 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:53:43 +0000 Subject: [PATCH 004/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.22-6.src.rpm=20Sun=20Aug=2027=202000=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=20-=20Add=20"||=20:"=20?= =?UTF-8?q?to=20condrestart=20to=20avoid=20non-zero=20exit=20code=20Thu=20?= =?UTF-8?q?Aug=2024=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20it's=20mysql.com,=20not=20mysql.org=20and=20use=20co?= =?UTF-8?q?rrect=20path=20to=20source=20(#16830)=20Wed=20Aug=2016=202000?= =?UTF-8?q?=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20sour?= =?UTF-8?q?ce=20file=20from=20/etc/rc.d,=20not=20/etc/rd.d.=20Doh.=20Sun?= =?UTF-8?q?=20Aug=2013=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20don't=20run=20ldconfig=20-n,=20it=20doesn't=20upd?= =?UTF-8?q?ate=20ld.so.cache=20(#16034)=20-=20include=20some=20missing=20b?= =?UTF-8?q?inaries=20-=20use=20safe=5Fmysqld=20to=20start=20the=20server?= =?UTF-8?q?=20(request=20from=20mysql=20developers)=20Sat=20Aug=2005=20200?= =?UTF-8?q?0=20Bill=20Nottingham=20=20-=20condrestart?= =?UTF-8?q?=20fixes=20Tue=20Aug=2001=202000=20Trond=20Eivind=20Glomsr?= =?UTF-8?q?=C3=B8d=20=20-=203.23.22.=20Disable=20the=20old?= =?UTF-8?q?=20patches,=20they're=20now=20in.=20Thu=20Jul=2027=202000=20Tro?= =?UTF-8?q?nd=20Eivind=20Glomsr=C3=B8d=20=20-=20bugfixes?= =?UTF-8?q?=20in=20the=20initscript=20-=20move=20the=20.so=20link=20to=20t?= =?UTF-8?q?he=20devel=20package=20Wed=20Jul=2019=202000=20Trond=20Eivind?= =?UTF-8?q?=20Glomsr=C3=B8d=20=20-=20rebuild=20due=20to=20?= =?UTF-8?q?glibc=20changes=20Tue=20Jul=2018=202000=20Trond=20Eivind=20Glom?= =?UTF-8?q?sr=C3=B8d=20=20-=20disable=20compiler=20patch?= =?UTF-8?q?=20-=20don't=20include=20info=20directory=20file=20Mon=20Jul=20?= =?UTF-8?q?17=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20?= =?UTF-8?q?=20-=20move=20back=20to=20/etc/rc.d/init.d=20Fri=20Jul=2014=202?= =?UTF-8?q?000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20m?= =?UTF-8?q?ore=20cleanups=20in=20initscript=20Thu=20Jul=2013=202000=20Tron?= =?UTF-8?q?d=20Eivind=20Glomsr=C3=B8d=20=20-=20add=20a=20p?= =?UTF-8?q?atch=20to=20work=20around=20compiler=20bug=20(from=20monty@mysq?= =?UTF-8?q?l.com)=20Wed=20Jul=2012=202000=20Trond=20Eivind=20Glomsr=C3=B8d?= =?UTF-8?q?=20=20-=20don't=20build=20the=20SQL=20daemon=20?= =?UTF-8?q?statically=20(glibc=20problems)=20-=20fix=20the=20logrotate=20s?= =?UTF-8?q?cript=20-=20only=20flush=20log=20if=20mysql=20is=20running=20-?= =?UTF-8?q?=20change=20the=20reloading=20procedure=20-=20remove=20icon=20-?= =?UTF-8?q?=20glint=20is=20obsolete=20a=20long=20time=20ago=20Wed=20Jul=20?= =?UTF-8?q?12=202000=20Prospector=20=20-=20automatic?= =?UTF-8?q?=20rebuild=20Mon=20Jul=2010=202000=20Trond=20Eivind=20Glomsr?= =?UTF-8?q?=C3=B8d=20=20-=20try=20the=20new=20compiler=20a?= =?UTF-8?q?gain=20-=20build=20the=20SQL=20daemon=20statically=20-=20add=20?= =?UTF-8?q?compile=20time=20support=20for=20complex=20charsets=20-=20enabl?= =?UTF-8?q?e=20assembler=20-=20more=20cleanups=20in=20initscript=20Sun=20J?= =?UTF-8?q?ul=2009=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20use=20old=20C++=20compiler=20-=20Exclusivearch=20x86?= =?UTF-8?q?=20Sat=20Jul=2008=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20move=20.so=20files=20to=20devel=20package?= =?UTF-8?q?=20-=20more=20cleanups=20-=20exclude=20sparc=20for=20now=20Wed?= =?UTF-8?q?=20Jul=2005=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.21=20-=20remove=20file=20from=20/etc/sysconf?= =?UTF-8?q?ig=20-=20Fix=20initscript=20a=20bit=20-=20initialization=20of?= =?UTF-8?q?=20databases=20doesn't=20work=20yet=20-=20specify=20the=20corre?= =?UTF-8?q?ct=20licenses=20-=20include=20a=20/etc/my.conf=20(empty,=20FTTB?= =?UTF-8?q?)=20-=20add=20conditional=20restart=20to=20spec=20file=20Sun=20?= =?UTF-8?q?Jul=2002=202000=20Jakub=20Jelinek=20=20-=20Re?= =?UTF-8?q?build=20with=20new=20C++=20Fri=20Jun=2030=202000=20Trond=20Eivi?= =?UTF-8?q?nd=20Glomsr=C3=B8d=20=20-=20update=20to=203.23.?= =?UTF-8?q?20=20-=20use=20%configure,=20%makeinstall,=20%{=5Ftmppath},=20%?= =?UTF-8?q?{=5Fmandir},=20%{=5Finfodir},=20=20=20=20=20/etc/init.d=20-=20r?= =?UTF-8?q?emove=20the=20bench=20package=20-=20change=20some=20of=20the=20?= =?UTF-8?q?descriptions=20a=20little=20bit=20-=20fix=20the=20init=20script?= =?UTF-8?q?=20-=20some=20compile=20fixes=20-=20specify=20mysql=20user=20-?= =?UTF-8?q?=20use=20mysql=20uid=2027=20(postgresql=20is=2026)=20-=20don't?= =?UTF-8?q?=20build=20on=20ia64=20Sat=20Feb=2026=202000=20Jos=20Vos=20=20-=20Version=203.22.32=20release=20XOS.1=20for=20Linu?= =?UTF-8?q?X/OS=201.8.0=20-=20Upgrade=20from=20version=203.22.27=20to=203.?= =?UTF-8?q?22.32.=20-=20Do=20"make=20install"=20instead=20of=20"make=20ins?= =?UTF-8?q?tall-strip",=20because=20"install=20-s"=20=20=20=20=20now=20app?= =?UTF-8?q?ears=20to=20fail=20on=20various=20scripts.=20Afterwards,=20stri?= =?UTF-8?q?p=20manually.=20-=20Reorganize=20subpackages,=20according=20to?= =?UTF-8?q?=20common=20Red=20Hat=20packages:=20the=20client=20=20=20=20=20?= =?UTF-8?q?program=20and=20shared=20library=20become=20the=20base=20packag?= =?UTF-8?q?e=20and=20the=20server=20and=20=20=20=20=20some=20accompanying?= =?UTF-8?q?=20files=20are=20now=20in=20a=20separate=20server=20package.=20?= =?UTF-8?q?The=20=20=20=20=20server=20package=20implicitly=20requires=20th?= =?UTF-8?q?e=20base=20package=20(shared=20library),=20=20=20=20=20but=20we?= =?UTF-8?q?=20have=20added=20a=20manual=20require=20tag=20anyway=20(becaus?= =?UTF-8?q?e=20of=20the=20shared=20=20=20=20=20config=20file,=20and=20more?= =?UTF-8?q?).=20-=20Rename=20the=20mysql-benchmark=20subpackage=20to=20mys?= =?UTF-8?q?ql-bench.=20Mon=20Jan=2031=202000=20Jos=20Vos=20=20?= =?UTF-8?q?-=20Version=203.22.27=20release=20XOS.2=20for=20LinuX/OS=201.7.?= =?UTF-8?q?1=20-=20Add=20post(un)install=20scripts=20for=20updating=20ld.s?= =?UTF-8?q?o.conf=20(client=20subpackage).=20Sun=20Nov=2021=201999=20Jos?= =?UTF-8?q?=20Vos=20=20-=20Version=203.22.27=20release=20XOS.1?= =?UTF-8?q?=20for=20LinuX/OS=201.7.0=20-=20Initial=20version.=20-=20Some?= =?UTF-8?q?=20ideas=20borrowed=20from=20Red=20Hat=20Powertools=206.1,=20al?= =?UTF-8?q?though=20this=20spec=20file=20=20=20=20=20is=20a=20full=20rewri?= =?UTF-8?q?te=20from=20scratch.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 1 + mysql.init | 92 +++++++++++++++++ mysql.spec | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 392 insertions(+) create mode 100644 mysql.init create mode 100644 mysql.spec diff --git a/.cvsignore b/.cvsignore index e69de29..67cda3b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +mysql-3.23.22-beta.tar.gz diff --git a/mysql.init b/mysql.init new file mode 100644 index 0000000..8847871 --- /dev/null +++ b/mysql.init @@ -0,0 +1,92 @@ +#!/bin/sh +# +# mysqld This shell script takes care of starting and stopping +# the MySQL subsystem (mysqld). +# +# chkconfig: - 85 15 +# description: MySQL database server. +# processname: mysqld +# config: /etc/my.conf +# pidfile: /var/run/mysqld.pid + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Source subsystem configuration. +[ -f /etc/sysconfig/subsys/mysqld ] && . /etc/sysconfig/subsys/mysqld + +start(){ + touch /var/log/mysqld.log /var/run/mysqld.pid + chown mysql.mysql /var/log/mysqld.log /var/run/mysqld.pid + if [ ! -d /var/lib/mysql/mysql ] ; then + action "Initializing MySQL database" /usr/bin/mysql_install_db + ret=$? + chown -R mysql.mysql /var/lib/mysql + if [ $ret -ne 0 ] ; then + return $ret + fi + fi + /usr/bin/safe_mysqld --user=mysql --log=/var/log/mysqld.log \ + --pid-file=/var/run/mysqld.pid >/dev/null 2>&1 & + ret=$? + if [ $ret -eq 0 ]; then + action "Starting MySQL: " /bin/true + else + action "Starting MySQL: " /bin/false + fi + [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld + return $ret +} + +stop(){ + echo -n "Shutting down MySQL server" + killproc mysqld + ret=$? + [ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld + [ $ret -eq 0 ] && rm -f /var/lib/mysql/mysql.sock + echo + return $ret +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e /var/lock/subsys/mysqld ] && restart || : +} + +reload(){ + [ -e /var/lock/subsys/mysqld ] && mysqladmin reload +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status mysqld + ;; + reload) + reload + ;; + restart) + restart + ;; + condrestart) + condrestart + ;; + *) + echo "Usage: $0 {start|stop|status|reload|condrestart|restart}" + exit 1 +esac + +exit $? diff --git a/mysql.spec b/mysql.spec new file mode 100644 index 0000000..cd7a78e --- /dev/null +++ b/mysql.spec @@ -0,0 +1,298 @@ +Name: mysql +Version: 3.23.22 +Release: 6 +Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}-beta.tar.gz +Source1: mysql.init +Source2: mysql.logrotate +URL: http://www.mysql.com +BuildRoot: %{_tmppath}/mysql-%{version}-root +Summary: MySQL client program and shared library +License: GPL/LGPL +Group: Applications/Databases +Prereq: /sbin/ldconfig, /sbin/install-info, grep +ExcludeArch: ia64 sparc + +%description +MySQL is a multi-user, multi-threaded SQL database server. SQL is +the most popular database language in the world. MySQL is a client/server +implementation that consists of a server daemon mysqld and many different +client programs and libraries. This package contains the MySQL client +programs, the client shared library, and generic MySQL files. + +%package server + +Summary: MySQL server +License: GPL +Group: Applications/Databases +Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel +Requires: mysql = %{version} + +%description server +MySQL is a true multi-user, multi-threaded SQL database server. SQL is +the most popular database language in the world. MySQL is a client/server +implementation that consists of a server daemon mysqld and many different +client programs and libraries. This package contains the MySQL server and +some accompanying files and directories. + +%package devel + +Summary: MySQL devel +License: LGPL +Group: Applications/Databases +Requires: %{name} = %{version} + +%description devel +MySQL is a true multi-user, multi-threaded SQL database server. SQL is +the most popular database language in the world. MySQL is a client/server +implementation that consists of a server daemon mysqld and many different +client programs and libraries. This package contains the libraries and +header files that are needed for developing your own MySQL applications. + + +%prep +%setup -q -n mysql-%{version}-beta + + +%build + +%configure --without-debug \ + --without-readline \ + --enable-shared \ + --with-extra-charsets=complex \ + --without-bench \ + --localstatedir=/var/lib/mysql \ + --with-unix-socket-path=/var/lib/mysql/mysql.sock \ + --enable-assembler \ + --with-mysqld-user="mysql" + +# --with-mysqld-ldflags=-all-static + +make + +%install +rm -rf $RPM_BUILD_ROOT + +%makeinstall +# List the installed tree for RPM package maintenance purposes. +find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES +gzip $RPM_BUILD_ROOT/%{_infodir}/* +rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-*.spec +rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-log-rotate + +mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d} +install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql +install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld +install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/mysqld +touch $RPM_BUILD_ROOT/etc/my.conf +rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre server +/usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ + -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : + +%post +/sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir +if ! grep '^/usr/lib/mysql$' /etc/ld.so.conf > /dev/null 2>&1 +then + echo "/usr/lib/mysql" >> /etc/ld.so.conf +fi +/sbin/ldconfig /usr/lib/mysql + +%post server +if [ $1 = 1 ]; then + /sbin/chkconfig --add mysqld +fi + + +%preun +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir +fi + +%preun server +if [ $1 = 0 ]; then + /sbin/chkconfig --del mysqld +fi + +%postun +if [ $1 = 0 ] ; then + if grep '^/usr/lib/mysql$' /etc/ld.so.conf > /dev/null 2>&1 + then + grep -v '^/usr/lib/mysql$' /etc/ld.so.conf \ + > /etc/ld.so.conf.$$ 2> /dev/null + mv /etc/ld.so.conf.$$ /etc/ld.so.conf + fi + /sbin/ldconfig /usr/lib/mysql +fi + +%postun server +if [ $1 = 0 ] ; then + /usr/sbin/userdel mysql > /dev/null 2>&1 || : +fi +if [ $1 -ge 1 ]; then + /sbin/service mysqld condrestart >/dev/null 2>&1 || : +fi + + +%files +%defattr(-,root,root) +%doc INSTALL* PUBLIC README Docs/INSTALL* Docs/MySQL-for-dummies +%doc Docs/manual* Docs/mysqld_error.txt + +# /usr/bin/* except mysqladmin and safe_mysqld +/usr/bin/[a-ln-rt-z]* +/usr/bin/msql2mysql +/usr/bin/mysql +/usr/bin/mysql_* +/usr/bin/mysqlaccess +/usr/bin/mysql[b-z]* +/usr/bin/my_* +/usr/bin/myisam* + +%{_infodir}/* +%{_mandir}/man1/* +%dir /usr/lib/mysql +/usr/lib/mysql/libmysqlclient.so.* + +%dir /usr/share/mysql +/usr/share/mysql/* + +%config /etc/my.conf + +%files server +%defattr(-,root,root) +/usr/bin/mysqladmin +/usr/bin/safe_mysqld +/usr/libexec/* + +%config /etc/rc.d/init.d/mysqld +%config /etc/logrotate.d/mysqld +%attr(0700,mysql,mysql) %dir /var/lib/mysql + +%files devel +%defattr(-,root,root) +/usr/include/mysql +%dir /usr/lib/mysql +/usr/lib/mysql/*.a +/usr/lib/mysql/libmysqlclient.so + +%changelog +* Sun Aug 27 2000 Trond Eivind Glomsrød +- Add "|| :" to condrestart to avoid non-zero exit code + +* Thu Aug 24 2000 Trond Eivind Glomsrød +- it's mysql.com, not mysql.org and use correct path to + source (#16830) + +* Wed Aug 16 2000 Trond Eivind Glomsrød +- source file from /etc/rc.d, not /etc/rd.d. Doh. + +* Sun Aug 13 2000 Trond Eivind Glomsrød +- don't run ldconfig -n, it doesn't update ld.so.cache + (#16034) +- include some missing binaries +- use safe_mysqld to start the server (request from + mysql developers) + +* Sat Aug 05 2000 Bill Nottingham +- condrestart fixes + +* Mon Aug 01 2000 Trond Eivind Glomsrød +- 3.23.22. Disable the old patches, they're now in. + +* Thu Jul 27 2000 Trond Eivind Glomsrød +- bugfixes in the initscript +- move the .so link to the devel package + +* Wed Jul 19 2000 Trond Eivind Glomsrød +- rebuild due to glibc changes + +* Tue Jul 18 2000 Trond Eivind Glomsrød +- disable compiler patch +- don't include info directory file + +* Mon Jul 17 2000 Trond Eivind Glomsrød +- move back to /etc/rc.d/init.d + +* Fri Jul 14 2000 Trond Eivind Glomsrød +- more cleanups in initscript + +* Thu Jul 13 2000 Trond Eivind Glomsrød +- add a patch to work around compiler bug + (from monty@mysql.com) + +* Wed Jul 12 2000 Trond Eivind Glomsrød +- don't build the SQL daemon statically (glibc problems) +- fix the logrotate script - only flush log if mysql + is running +- change the reloading procedure +- remove icon - glint is obsolete a long time ago + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jul 10 2000 Trond Eivind Glomsrød +- try the new compiler again +- build the SQL daemon statically +- add compile time support for complex charsets +- enable assembler +- more cleanups in initscript + +* Sun Jul 09 2000 Trond Eivind Glomsrød +- use old C++ compiler +- Exclusivearch x86 + +* Sat Jul 08 2000 Trond Eivind Glomsrød +- move .so files to devel package +- more cleanups +- exclude sparc for now + +* Wed Jul 05 2000 Trond Eivind Glomsrød +- 3.23.21 +- remove file from /etc/sysconfig +- Fix initscript a bit - initialization of databases doesn't + work yet +- specify the correct licenses +- include a /etc/my.conf (empty, FTTB) +- add conditional restart to spec file + +* Tue Jul 2 2000 Jakub Jelinek +- Rebuild with new C++ + +* Fri Jun 30 2000 Trond Eivind Glomsrød +- update to 3.23.20 +- use %%configure, %%makeinstall, %%{_tmppath}, %%{_mandir}, + %%{_infodir}, /etc/init.d +- remove the bench package +- change some of the descriptions a little bit +- fix the init script +- some compile fixes +- specify mysql user +- use mysql uid 27 (postgresql is 26) +- don't build on ia64 + +* Sat Feb 26 2000 Jos Vos +- Version 3.22.32 release XOS.1 for LinuX/OS 1.8.0 +- Upgrade from version 3.22.27 to 3.22.32. +- Do "make install" instead of "make install-strip", because "install -s" + now appears to fail on various scripts. Afterwards, strip manually. +- Reorganize subpackages, according to common Red Hat packages: the client + program and shared library become the base package and the server and + some accompanying files are now in a separate server package. The + server package implicitly requires the base package (shared library), + but we have added a manual require tag anyway (because of the shared + config file, and more). +- Rename the mysql-benchmark subpackage to mysql-bench. + +* Mon Jan 31 2000 Jos Vos +- Version 3.22.27 release XOS.2 for LinuX/OS 1.7.1 +- Add post(un)install scripts for updating ld.so.conf (client subpackage). + +* Sun Nov 21 1999 Jos Vos +- Version 3.22.27 release XOS.1 for LinuX/OS 1.7.0 +- Initial version. +- Some ideas borrowed from Red Hat Powertools 6.1, although this spec + file is a full rewrite from scratch. diff --git a/sources b/sources index e69de29..4801cf2 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +dfb40c467219de80ed767ad372e34acf mysql-3.23.22-beta.tar.gz From 555510a7791fb8196f01fad3f78e7f42d42a0c6c Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:53:49 +0000 Subject: [PATCH 005/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.24-1.src.rpm=20Tue=20Sep=2012=202000=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=20-=20rename=20config?= =?UTF-8?q?=20file=20to=20/etc/my.cnf,=20which=20is=20what=20mysqld=20want?= =?UTF-8?q?s...=20doh.=20=20=20=20=20(#17432)=20-=20include=20a=20changed?= =?UTF-8?q?=20safe=5Fmysqld,=20so=20the=20pid=20file=20option=20works.=20-?= =?UTF-8?q?=20make=20mysql=20dir=20world=20readable=20to=20they=20can=20ac?= =?UTF-8?q?cess=20the=20mysql=20socket.=20=20=20=20=20(#17432)=20-=203.23.?= =?UTF-8?q?24=20Wed=20Sep=2006=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.23?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.init | 6 +++--- mysql.spec | 32 ++++++++++++++++++++++++-------- sources | 2 +- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/.cvsignore b/.cvsignore index 67cda3b..1520130 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.22-beta.tar.gz +mysql-3.23.24-beta.tar.gz diff --git a/mysql.init b/mysql.init index 8847871..32b4415 100644 --- a/mysql.init +++ b/mysql.init @@ -6,7 +6,7 @@ # chkconfig: - 85 15 # description: MySQL database server. # processname: mysqld -# config: /etc/my.conf +# config: /etc/my.cnf # pidfile: /var/run/mysqld.pid # Source function library. @@ -19,8 +19,8 @@ [ -f /etc/sysconfig/subsys/mysqld ] && . /etc/sysconfig/subsys/mysqld start(){ - touch /var/log/mysqld.log /var/run/mysqld.pid - chown mysql.mysql /var/log/mysqld.log /var/run/mysqld.pid + touch /var/log/mysqld.log + chown mysql.mysql /var/log/mysqld.log if [ ! -d /var/lib/mysql/mysql ] ; then action "Initializing MySQL database" /usr/bin/mysql_install_db ret=$? diff --git a/mysql.spec b/mysql.spec index cd7a78e..009281f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,9 +1,10 @@ Name: mysql -Version: 3.23.22 -Release: 6 +Version: 3.23.24 +Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}-beta.tar.gz Source1: mysql.init Source2: mysql.logrotate +Source3: safe_mysqld URL: http://www.mysql.com BuildRoot: %{_tmppath}/mysql-%{version}-root Summary: MySQL client program and shared library @@ -73,17 +74,20 @@ make rm -rf $RPM_BUILD_ROOT %makeinstall +install -m755 %{SOURCE3} $RPM_BUILD_ROOT/usr/bin/safe_mysqld + # List the installed tree for RPM package maintenance purposes. find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES gzip $RPM_BUILD_ROOT/%{_infodir}/* rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-*.spec rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-log-rotate + mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d} install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/mysqld -touch $RPM_BUILD_ROOT/etc/my.conf +touch $RPM_BUILD_ROOT/etc/my.cnf rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* %clean @@ -139,7 +143,7 @@ fi %files %defattr(-,root,root) -%doc INSTALL* PUBLIC README Docs/INSTALL* Docs/MySQL-for-dummies +%doc INSTALL* PUBLIC README COPYING* %doc Docs/manual* Docs/mysqld_error.txt # /usr/bin/* except mysqladmin and safe_mysqld @@ -155,12 +159,12 @@ fi %{_infodir}/* %{_mandir}/man1/* %dir /usr/lib/mysql -/usr/lib/mysql/libmysqlclient.so.* +/usr/lib/mysql/libmysqlclient*.so.* %dir /usr/share/mysql /usr/share/mysql/* -%config /etc/my.conf +%config /etc/my.cnf %files server %defattr(-,root,root) @@ -170,16 +174,28 @@ fi %config /etc/rc.d/init.d/mysqld %config /etc/logrotate.d/mysqld -%attr(0700,mysql,mysql) %dir /var/lib/mysql +%attr(0755,mysql,mysql) %dir /var/lib/mysql %files devel %defattr(-,root,root) /usr/include/mysql %dir /usr/lib/mysql /usr/lib/mysql/*.a -/usr/lib/mysql/libmysqlclient.so +/usr/lib/mysql/libmysqlclient*.so %changelog +* Thu Sep 12 2000 Trond Eivind Glomsrød +- rename config file to /etc/my.cnf, which is what + mysqld wants... doh. (#17432) +- include a changed safe_mysqld, so the pid file option + works. +- make mysql dir world readable to they can access the + mysql socket. (#17432) +- 3.23.24 + +* Wed Sep 06 2000 Trond Eivind Glomsrød +- 3.23.23 + * Sun Aug 27 2000 Trond Eivind Glomsrød - Add "|| :" to condrestart to avoid non-zero exit code diff --git a/sources b/sources index 4801cf2..f943648 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dfb40c467219de80ed767ad372e34acf mysql-3.23.22-beta.tar.gz +a4d1e1075db34675d91280bfe81aa891 mysql-3.23.24-beta.tar.gz From f16ef3f5172f1f0f2a8e087a83d475dd0f841a9e Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:53:56 +0000 Subject: [PATCH 006/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.26-1.src.rpm=20Wed=20Oct=2018=202000=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=20-=203.23.26,=20which?= =?UTF-8?q?=20among=20other=20fixes=20now=20uses=20mkstemp()=20instead=20o?= =?UTF-8?q?f=20tempnam().=20-=20revert=20changes=20made=20yesterday,=20Jak?= =?UTF-8?q?ub=20fixed=20the=20compiler=20Tue=20Oct=2017=202000=20Trond=20E?= =?UTF-8?q?ivind=20Glomsr=C3=B8d=20=20-=20use=20the=20comp?= =?UTF-8?q?at=20C++=20compiler=20FTTB.=20Argh.=20-=20add=20requirement=20o?= =?UTF-8?q?f=20ncurses4=20(see=20above)=20Sun=20Oct=2001=202000=20Trond=20?= =?UTF-8?q?Eivind=20Glomsr=C3=B8d=20=20-=203.23.25=20-=20f?= =?UTF-8?q?ix=20shutdown=20problem=20(#17956)=20Tue=20Sep=2026=202000=20Tr?= =?UTF-8?q?ond=20Eivind=20Glomsr=C3=B8d=20=20-=20Don't=20t?= =?UTF-8?q?ry=20to=20include=20no-longer-existing=20PUBLIC=20file=20as=20d?= =?UTF-8?q?oc=20(#17532)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.init | 2 ++ mysql.spec | 22 +++++++++++++++++++--- sources | 2 +- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index 1520130..43ccb21 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.24-beta.tar.gz +mysql-3.23.26-beta.tar.gz diff --git a/mysql.init b/mysql.init index 32b4415..5ed5384 100644 --- a/mysql.init +++ b/mysql.init @@ -43,10 +43,12 @@ start(){ stop(){ echo -n "Shutting down MySQL server" + killproc safe_mysqld killproc mysqld ret=$? [ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld [ $ret -eq 0 ] && rm -f /var/lib/mysql/mysql.sock + mysqladmin shutdown > /dev/null 2>& 1 echo return $ret } diff --git a/mysql.spec b/mysql.spec index 009281f..86db44a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 3.23.24 +Version: 3.23.26 Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}-beta.tar.gz Source1: mysql.init @@ -55,7 +55,6 @@ header files that are needed for developing your own MySQL applications. %build - %configure --without-debug \ --without-readline \ --enable-shared \ @@ -143,7 +142,7 @@ fi %files %defattr(-,root,root) -%doc INSTALL* PUBLIC README COPYING* +%doc INSTALL* README COPYING* %doc Docs/manual* Docs/mysqld_error.txt # /usr/bin/* except mysqladmin and safe_mysqld @@ -184,6 +183,23 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Wed Oct 18 2000 Trond Eivind Glomsrød +- 3.23.26, which among other fixes now uses mkstemp() + instead of tempnam(). +- revert changes made yesterday, Jakub fixed the compiler + +* Tue Oct 17 2000 Trond Eivind Glomsrød +- use the compat C++ compiler FTTB. Argh. +- add requirement of ncurses4 (see above) + +* Sun Oct 01 2000 Trond Eivind Glomsrød +- 3.23.25 +- fix shutdown problem (#17956) + +* Tue Sep 26 2000 Trond Eivind Glomsrød +- Don't try to include no-longer-existing PUBLIC file + as doc (#17532) + * Thu Sep 12 2000 Trond Eivind Glomsrød - rename config file to /etc/my.cnf, which is what mysqld wants... doh. (#17432) diff --git a/sources b/sources index f943648..3967ce9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a4d1e1075db34675d91280bfe81aa891 mysql-3.23.24-beta.tar.gz +b24fa6bb945d53f739b2dfa815abc992 mysql-3.23.26-beta.tar.gz From 3122f9d8d77a3e5f4ea71728840f0c2c1da4736c Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:54:34 +0000 Subject: [PATCH 007/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.32-1.7.src.rpm=20Sun=20Jan=2021=202001=20Trond=20?= =?UTF-8?q?Eivind=20Glomsr=C3=B8d=20=20-=203.23.32=20-=20f?= =?UTF-8?q?ix=20logrotate=20script,=20so=20it=20doesn't=20return=20"false"?= =?UTF-8?q?=20if=20mysqld=20isn't=20=20=20=20=20running=20(#24589)=20Thu?= =?UTF-8?q?=20Jan=2018=202001=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.31=20Wed=20Jan=2017=202001=20Trond=20Eivind?= =?UTF-8?q?=20Glomsr=C3=B8d=20=20-=20move=20the=20items=20?= =?UTF-8?q?in=20Requires(post):=20to=20Requires:=20in=20preparation=20for?= =?UTF-8?q?=20an=20=20=20=20=20errata=20for=207.0=20when=203.23.31=20is=20?= =?UTF-8?q?released=20Tue=20Jan=2016=202001=20Trond=20Eivind=20Glomsr?= =?UTF-8?q?=C3=B8d=20=20-=20add=20the=20log=20file=20to=20?= =?UTF-8?q?the=20rpm=20database,=20and=20make=20it=200640=20(#24116)=20-?= =?UTF-8?q?=20as=20above=20in=20logrotate=20script=20-=20changes=20to=20th?= =?UTF-8?q?e=20init=20sequence=20-=20put=20most=20of=20the=20data=20in=20/?= =?UTF-8?q?etc/my.cnf=20=20=20=20=20instead=20of=20hardcoding=20in=20the?= =?UTF-8?q?=20init=20script=20-=20use=20/var/run/mysqld/mysqld.pid=20inste?= =?UTF-8?q?ad=20of=20/var/run/mysqld/pid=20-=20use=20standard=20safe=5Fmys?= =?UTF-8?q?qld=20-=20shut=20down=20cleaner=20Mon=20Jan=2008=202001=20Trond?= =?UTF-8?q?=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.30=20-?= =?UTF-8?q?=20do=20an=20explicit=20chmod=20on=20/var/lib/mysql=20in=20post?= =?UTF-8?q?,=20to=20avoid=20any=20problems=20=20=20=20=20with=20broken=20p?= =?UTF-8?q?ermissons.=20There=20is=20a=20report=20of=20rm=20not=20changing?= =?UTF-8?q?=20this=20on=20=20=20=20=20its=20own=20(#22989)=20Mon=20Jan=200?= =?UTF-8?q?1=202001=20Trond=20Eivind=20Glomsr=C3=B8d=20=20?= =?UTF-8?q?-=20bzipped=20source=20-=20changed=20from=2085=20to=2078=20in?= =?UTF-8?q?=20startup,=20so=20it=20starts=20before=20apache=20(which=20can?= =?UTF-8?q?=20=20=20=20=20use=20modules=20requiring=20mysql)=20Wed=20Dec?= =?UTF-8?q?=2027=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.29a=20Tue=20Dec=2019=202000=20Trond=20Eivind=20Glo?= =?UTF-8?q?msr=C3=B8d=20=20-=20add=20requirement=20for=20n?= =?UTF-8?q?ew=20libstdc++,=20build=20for=20errata=20Mon=20Dec=2018=202000?= =?UTF-8?q?=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23?= =?UTF-8?q?.29=20Mon=20Nov=2027=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20?= =?UTF-8?q?=20-=203.23.28=20(gamma)=20-=20remove=20old=20p?= =?UTF-8?q?atches,=20as=20they=20are=20now=20upstreamed=20Tue=20Nov=2014?= =?UTF-8?q?=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-?= =?UTF-8?q?=20Add=20a=20requirement=20for=20a=20new=20glibc=20(#20735)=20-?= =?UTF-8?q?=20build=20on=20IA64=20Wed=20Nov=2001=202000=20Trond=20Eivind?= =?UTF-8?q?=20Glomsr=C3=B8d=20=20-=20disable=20more=20asse?= =?UTF-8?q?mbly=20Wed=20Nov=2001=202000=20Jakub=20Jelinek=20=20-=20fix=20mysql=20on=20SPARC=20(#20124)=20Tue=20Oct=2031?= =?UTF-8?q?=202000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-?= =?UTF-8?q?=203.23.27=20Wed=20Oct=2025=202000=20Trond=20Eivind=20Glomsr?= =?UTF-8?q?=C3=B8d=20=20-=20add=20patch=20for=20fixing=20b?= =?UTF-8?q?ogus=20aliasing=20in=20mysql=20from=20Jakub,=20which=20should?= =?UTF-8?q?=20fix=20=20=20=20=20#18905=20and=20#18620=20Mon=20Oct=2023=202?= =?UTF-8?q?000=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20c?= =?UTF-8?q?heck=20for=20negative=20niceness=20values,=20and=20negate=20it?= =?UTF-8?q?=20if=20present=20(#17899)=20-=20redefine=20optflags=20on=20IA3?= =?UTF-8?q?2=20FTTB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- my.cnf | 11 ++++++ mysql.init | 20 +++++----- mysql.spec | 109 +++++++++++++++++++++++++++++++++++++++++++++-------- sources | 2 +- 5 files changed, 117 insertions(+), 27 deletions(-) create mode 100644 my.cnf diff --git a/.cvsignore b/.cvsignore index 43ccb21..bf0abc3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.26-beta.tar.gz +mysql-3.23.32.tar.bz2 diff --git a/my.cnf b/my.cnf new file mode 100644 index 0000000..2a915fc --- /dev/null +++ b/my.cnf @@ -0,0 +1,11 @@ +[mysqld] +datadir=/var/lib/mysql +socket=/var/lib/mysql/mysql.sock + +[mysql.server] +user=mysql +basedir=/var/lib + +[safe_mysqld] +err-log=/var/log/mysqld.log +pid-file=/var/run/mysqld/mysqld.pid diff --git a/mysql.init b/mysql.init index 5ed5384..81d0983 100644 --- a/mysql.init +++ b/mysql.init @@ -3,11 +3,11 @@ # mysqld This shell script takes care of starting and stopping # the MySQL subsystem (mysqld). # -# chkconfig: - 85 15 +# chkconfig: - 78 12 # description: MySQL database server. # processname: mysqld # config: /etc/my.cnf -# pidfile: /var/run/mysqld.pid +# pidfile: /var/run/mysqld/mysqld.pid # Source function library. . /etc/rc.d/init.d/functions @@ -21,6 +21,7 @@ start(){ touch /var/log/mysqld.log chown mysql.mysql /var/log/mysqld.log + chmod 0640 /var/log/mysqld.log if [ ! -d /var/lib/mysql/mysql ] ; then action "Initializing MySQL database" /usr/bin/mysql_install_db ret=$? @@ -29,8 +30,7 @@ start(){ return $ret fi fi - /usr/bin/safe_mysqld --user=mysql --log=/var/log/mysqld.log \ - --pid-file=/var/run/mysqld.pid >/dev/null 2>&1 & + /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? if [ $ret -eq 0 ]; then action "Starting MySQL: " /bin/true @@ -42,14 +42,16 @@ start(){ } stop(){ - echo -n "Shutting down MySQL server" - killproc safe_mysqld - killproc mysqld + /usr/bin/mysqladmin shutdown > /dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + action "Stopping MySQL: " /bin/true + else + action "Stopping MySQL: " /bin/false + fi ret=$? [ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld [ $ret -eq 0 ] && rm -f /var/lib/mysql/mysql.sock - mysqladmin shutdown > /dev/null 2>& 1 - echo return $ret } diff --git a/mysql.spec b/mysql.spec index 86db44a..51c27f7 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,17 +1,18 @@ Name: mysql -Version: 3.23.26 -Release: 1 -Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}-beta.tar.gz +Version: 3.23.32 +Release: 1.7 +Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate -Source3: safe_mysqld +Source3: my.cnf URL: http://www.mysql.com BuildRoot: %{_tmppath}/mysql-%{version}-root Summary: MySQL client program and shared library License: GPL/LGPL Group: Applications/Databases -Prereq: /sbin/ldconfig, /sbin/install-info, grep -ExcludeArch: ia64 sparc +Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig +BuildRequires: gperf, perl, db3-devel +Requires: glibc >= 2.2, libstdc++ >= 2.96-69 %description MySQL is a multi-user, multi-threaded SQL database server. SQL is @@ -26,7 +27,7 @@ Summary: MySQL server License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel -Requires: mysql = %{version} +Requires: mysql = %{version}, sh-utils %description server MySQL is a true multi-user, multi-threaded SQL database server. SQL is @@ -51,10 +52,10 @@ header files that are needed for developing your own MySQL applications. %prep -%setup -q -n mysql-%{version}-beta - +%setup -q %build + %configure --without-debug \ --without-readline \ --enable-shared \ @@ -62,10 +63,11 @@ header files that are needed for developing your own MySQL applications. --without-bench \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ - --enable-assembler \ - --with-mysqld-user="mysql" + --with-mysqld-user="mysql" \ + --with-extra-charsets=all # --with-mysqld-ldflags=-all-static +# --enable-assembler \ make @@ -73,7 +75,9 @@ make rm -rf $RPM_BUILD_ROOT %makeinstall -install -m755 %{SOURCE3} $RPM_BUILD_ROOT/usr/bin/safe_mysqld +install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/ +mkdir -p $RPM_BUILD_ROOT/var/log +touch $RPM_BUILD_ROOT/var/log/mysqld.log # List the installed tree for RPM package maintenance purposes. find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES @@ -83,10 +87,11 @@ rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-log-rotate mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d} +mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/mysqld -touch $RPM_BUILD_ROOT/etc/my.cnf +install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* %clean @@ -108,6 +113,7 @@ fi if [ $1 = 1 ]; then /sbin/chkconfig --add mysqld fi +/bin/chmod 0755 /var/lib/mysql %preun @@ -170,10 +176,11 @@ fi /usr/bin/mysqladmin /usr/bin/safe_mysqld /usr/libexec/* - -%config /etc/rc.d/init.d/mysqld +/etc/rc.d/init.d/mysqld +%attr(0755,mysql,mysql) %dir /var/run/mysqld %config /etc/logrotate.d/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql +%ghost %attr(0640,mysql,mysql) /var/log/mysqld.log %files devel %defattr(-,root,root) @@ -183,10 +190,80 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Mon Jan 21 2001 Trond Eivind Glomsrød +- 3.23.32 +- fix logrotate script, so it doesn't return "false" if + mysqld isn't running (#24589) + +* Thu Jan 18 2001 Trond Eivind Glomsrød +- 3.23.31 + +* Wed Jan 17 2001 Trond Eivind Glomsrød +- move the items in Requires(post): to Requires: in preparation + for an errata for 7.0 when 3.23.31 is released + +* Tue Jan 16 2001 Trond Eivind Glomsrød +- add the log file to the rpm database, and make it 0640 + (#24116) +- as above in logrotate script +- changes to the init sequence - put most of the data + in /etc/my.cnf instead of hardcoding in the init script +- use /var/run/mysqld/mysqld.pid instead of + /var/run/mysqld/pid +- use standard safe_mysqld +- shut down cleaner + +* Mon Jan 08 2001 Trond Eivind Glomsrød +- 3.23.30 +- do an explicit chmod on /var/lib/mysql in post, to avoid + any problems with broken permissons. There is a report + of rm not changing this on its own (#22989) + +* Mon Jan 01 2001 Trond Eivind Glomsrød +- bzipped source +- changed from 85 to 78 in startup, so it starts before + apache (which can use modules requiring mysql) + +* Wed Dec 27 2000 Trond Eivind Glomsrød +- 3.23.29a + +* Tue Dec 19 2000 Trond Eivind Glomsrød +- add requirement for new libstdc++, build for errata + +* Mon Dec 18 2000 Trond Eivind Glomsrød +- 3.23.29 + +* Mon Nov 27 2000 Trond Eivind Glomsrød +- 3.23.28 (gamma) +- remove old patches, as they are now upstreamed + +* Thu Nov 14 2000 Trond Eivind Glomsrød +- Add a requirement for a new glibc (#20735) +- build on IA64 + +* Wed Nov 1 2000 Trond Eivind Glomsrød +- disable more assembly + +* Wed Nov 1 2000 Jakub Jelinek +- fix mysql on SPARC (#20124) + +* Tue Oct 31 2000 Trond Eivind Glomsrød +- 3.23.27 + +* Wed Oct 25 2000 Trond Eivind Glomsrød +- add patch for fixing bogus aliasing in mysql from Jakub, + which should fix #18905 and #18620 + +* Mon Oct 23 2000 Trond Eivind Glomsrød +- check for negative niceness values, and negate it + if present (#17899) +- redefine optflags on IA32 FTTB + * Wed Oct 18 2000 Trond Eivind Glomsrød - 3.23.26, which among other fixes now uses mkstemp() instead of tempnam(). -- revert changes made yesterday, Jakub fixed the compiler +- revert changes made yesterday, the problem is now + isolated * Tue Oct 17 2000 Trond Eivind Glomsrød - use the compat C++ compiler FTTB. Argh. diff --git a/sources b/sources index 3967ce9..7967f6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b24fa6bb945d53f739b2dfa815abc992 mysql-3.23.26-beta.tar.gz +284f902e8248fdd0248da1ffcfc33183 mysql-3.23.32.tar.bz2 From 5736950da1d293405fddf3858771ed6a29107b1a Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:54:46 +0000 Subject: [PATCH 008/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.36-1.src.rpm=20Wed=20Mar=2028=202001=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=20-=20Make=20it=20obsol?= =?UTF-8?q?ete=20our=206.2=20PowerTools=20packages=20-=203.23.36=20bugfix?= =?UTF-8?q?=20release=20-=20fixes=20some=20security=20issues=20which=20did?= =?UTF-8?q?n't=20apply=20to=20=20=20=20=20our=20standard=20configuration?= =?UTF-8?q?=20-=20Make=20"make=20test"=20part=20of=20the=20build=20process?= =?UTF-8?q?,=20except=20on=20IA64=20(it=20fails=20=20=20=20=20there)=20Tue?= =?UTF-8?q?=20Mar=2020=202001=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.35=20bugfix=20release=20-=20Don't=20delete?= =?UTF-8?q?=20the=20mysql=20user=20on=20uninstall=20Tue=20Mar=2013=202001?= =?UTF-8?q?=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23?= =?UTF-8?q?.34a=20bugfix=20release=20Wed=20Feb=2007=202001=20Trond=20Eivin?= =?UTF-8?q?d=20Glomsr=C3=B8d=20=20-=20added=20readline-dev?= =?UTF-8?q?el=20to=20BuildRequires:=20Tue=20Feb=2006=202001=20Trond=20Eivi?= =?UTF-8?q?nd=20Glomsr=C3=B8d=20=20-=20small=20i18n-fixes?= =?UTF-8?q?=20to=20initscript=20(action=20needs=20$)=20Tue=20Jan=2030=2020?= =?UTF-8?q?01=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20ma?= =?UTF-8?q?ke=20it=20shut=20down=20and=20rotate=20logs=20without=20using?= =?UTF-8?q?=20mysqladmin=20(from=20#24909)=20Mon=20Jan=2029=202001=20Trond?= =?UTF-8?q?=20Eivind=20Glomsr=C3=B8d=20=20-=20conflict=20w?= =?UTF-8?q?ith=20"MySQL"=20Tue=20Jan=2023=202001=20Trond=20Eivind=20Glomsr?= =?UTF-8?q?=C3=B8d=20=20-=20improve=20gettextizing=20Mon?= =?UTF-8?q?=20Jan=2022=202001=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.32=20-=20fix=20logrotate=20script=20(#24589)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.init | 30 ++++++++++++++---------- mysql.spec | 69 +++++++++++++++++++++++++++++++++++++++--------------- sources | 2 +- 4 files changed, 69 insertions(+), 34 deletions(-) diff --git a/.cvsignore b/.cvsignore index bf0abc3..83eb674 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.32.tar.bz2 +mysql-3.23.36.tar.bz2 diff --git a/mysql.init b/mysql.init index 81d0983..f8a2d9c 100644 --- a/mysql.init +++ b/mysql.init @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # mysqld This shell script takes care of starting and stopping # the MySQL subsystem (mysqld). @@ -18,43 +18,47 @@ # Source subsystem configuration. [ -f /etc/sysconfig/subsys/mysqld ] && . /etc/sysconfig/subsys/mysqld + +prog="MySQL" + start(){ touch /var/log/mysqld.log chown mysql.mysql /var/log/mysqld.log chmod 0640 /var/log/mysqld.log if [ ! -d /var/lib/mysql/mysql ] ; then - action "Initializing MySQL database" /usr/bin/mysql_install_db + action $"Initializing MySQL database: " /usr/bin/mysql_install_db ret=$? chown -R mysql.mysql /var/lib/mysql if [ $ret -ne 0 ] ; then return $ret fi fi + chown mysql.mysql /var/lib/mysql + chmod 0755 /var/lib/mysql /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? if [ $ret -eq 0 ]; then - action "Starting MySQL: " /bin/true + action $"Starting $prog: " /bin/true else - action "Starting MySQL: " /bin/false + action $"Starting $prog: " /bin/false fi [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld return $ret } stop(){ - /usr/bin/mysqladmin shutdown > /dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - action "Stopping MySQL: " /bin/true - else - action "Stopping MySQL: " /bin/false - fi + /bin/kill `cat /var/run/mysqld/mysqld.pid 2> /dev/null ` > /dev/null 2>&1 ret=$? + if [ $ret -eq 0 ]; then + action $"Stopping $prog: " /bin/true + else + action $"Stopping $prog: " /bin/false + fi [ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld [ $ret -eq 0 ] && rm -f /var/lib/mysql/mysql.sock return $ret } - + restart(){ stop start @@ -89,7 +93,7 @@ case "$1" in condrestart ;; *) - echo "Usage: $0 {start|stop|status|reload|condrestart|restart}" + echo $"Usage: $0 {start|stop|status|reload|condrestart|restart}" exit 1 esac diff --git a/mysql.spec b/mysql.spec index 51c27f7..e174c6e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 3.23.32 -Release: 1.7 +Version: 3.23.36 +Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -11,8 +11,10 @@ Summary: MySQL client program and shared library License: GPL/LGPL Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig -BuildRequires: gperf, perl, db3-devel -Requires: glibc >= 2.2, libstdc++ >= 2.96-69 +BuildRequires: gperf, perl, db3-devel, readline-devel +Requires: bash >= 2 +Conflicts: MySQL +Obsoletes: mysql-client mysql-bench mysql-perl %description MySQL is a multi-user, multi-threaded SQL database server. SQL is @@ -28,6 +30,7 @@ License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel Requires: mysql = %{version}, sh-utils +Conflicts: MySQL-server %description server MySQL is a true multi-user, multi-threaded SQL database server. SQL is @@ -42,6 +45,7 @@ Summary: MySQL devel License: LGPL Group: Applications/Databases Requires: %{name} = %{version} +Conflicts: MySQL-devel %description devel MySQL is a true multi-user, multi-threaded SQL database server. SQL is @@ -52,7 +56,7 @@ header files that are needed for developing your own MySQL applications. %prep -%setup -q +%setup -q %build @@ -60,16 +64,18 @@ header files that are needed for developing your own MySQL applications. --without-readline \ --enable-shared \ --with-extra-charsets=complex \ - --without-bench \ + --with-bench \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ - --with-extra-charsets=all - -# --with-mysqld-ldflags=-all-static -# --enable-assembler \ + --with-extra-charsets=all \ + --with-berkeley-db make +make check +%ifnarch ia64 +make test +%endif %install rm -rf $RPM_BUILD_ROOT @@ -138,9 +144,6 @@ if [ $1 = 0 ] ; then fi %postun server -if [ $1 = 0 ] ; then - /usr/sbin/userdel mysql > /dev/null 2>&1 || : -fi if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : fi @@ -190,17 +193,45 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog -* Mon Jan 21 2001 Trond Eivind Glomsrød -- 3.23.32 -- fix logrotate script, so it doesn't return "false" if - mysqld isn't running (#24589) +* Wed Mar 28 2001 Trond Eivind Glomsrød +- Make it obsolete our 6.2 PowerTools packages +- 3.23.36 bugfix release - fixes some security issues + which didn't apply to our standard configuration +- Make "make test" part of the build process, except on IA64 + (it fails there) -* Thu Jan 18 2001 Trond Eivind Glomsrød -- 3.23.31 +* Tue Mar 20 2001 Trond Eivind Glomsrød +- 3.23.35 bugfix release +- Don't delete the mysql user on uninstall + +* Tue Mar 13 2001 Trond Eivind Glomsrød +- 3.23.34a bugfix release + +* Wed Feb 7 2001 Trond Eivind Glomsrød +- added readline-devel to BuildRequires: + +* Tue Feb 6 2001 Trond Eivind Glomsrød +- small i18n-fixes to initscript (action needs $) + +* Tue Jan 30 2001 Trond Eivind Glomsrød +- make it shut down and rotate logs without using mysqladmin + (from #24909) + +* Mon Jan 29 2001 Trond Eivind Glomsrød +- conflict with "MySQL" + +* Tue Jan 23 2001 Trond Eivind Glomsrød +- improve gettextizing + +* Mon Jan 22 2001 Trond Eivind Glomsrød +- 3.23.32 +- fix logrotate script (#24589) * Wed Jan 17 2001 Trond Eivind Glomsrød +- gettextize - move the items in Requires(post): to Requires: in preparation for an errata for 7.0 when 3.23.31 is released +- 3.23.31 * Tue Jan 16 2001 Trond Eivind Glomsrød - add the log file to the rpm database, and make it 0640 diff --git a/sources b/sources index 7967f6f..5bd485a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -284f902e8248fdd0248da1ffcfc33183 mysql-3.23.32.tar.bz2 +41bab3965d6aa60b437a4f236fab1907 mysql-3.23.36.tar.bz2 From ac78e946377429027b683b79a0dc0f15578eb0d0 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:54:57 +0000 Subject: [PATCH 009/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.38-1.src.rpm=20Tue=20May=2015=202001=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=20-=203.23.38=20-=20Don?= =?UTF-8?q?'t=20use=20BDB=20on=20Alpha=20-=20no=20fast=20mutexes=20Tue=20A?= =?UTF-8?q?pr=2024=202001=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=203.23.37=20-=20Add=20=5FGNU=5FSOURCE=20to=20the=20comp?= =?UTF-8?q?ile=20flags?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.spec | 19 +++++++++++++++---- sources | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index 83eb674..628b305 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.36.tar.bz2 +mysql-3.23.38.tar.bz2 diff --git a/mysql.spec b/mysql.spec index e174c6e..2d40ad2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 3.23.36 +Version: 3.23.38 Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init @@ -59,6 +59,8 @@ header files that are needed for developing your own MySQL applications. %setup -q %build +CFLAGS="%{optflags} -D_GNU_SOURCE" +CXXFLAGS="%{optflags} -D_GNU_SOURCE" %configure --without-debug \ --without-readline \ @@ -69,13 +71,14 @@ header files that are needed for developing your own MySQL applications. --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ - --with-berkeley-db +%ifnarch alpha + --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ +%endif + --with-thread-safe-client make make check -%ifnarch ia64 make test -%endif %install rm -rf $RPM_BUILD_ROOT @@ -193,6 +196,14 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Tue May 15 2001 Trond Eivind Glomsrød +- 3.23.38 +- Don't use BDB on Alpha - no fast mutexes + +* Tue Apr 24 2001 Trond Eivind Glomsrød +- 3.23.37 +- Add _GNU_SOURCE to the compile flags + * Wed Mar 28 2001 Trond Eivind Glomsrød - Make it obsolete our 6.2 PowerTools packages - 3.23.36 bugfix release - fixes some security issues diff --git a/sources b/sources index 5bd485a..3787fde 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -41bab3965d6aa60b437a4f236fab1907 mysql-3.23.36.tar.bz2 +e95b9a2d7decfd7f51395acf6a558c11 mysql-3.23.38.tar.bz2 From ec49b0608b3cca9a2d22aea5873751c4f1789550 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:55:00 +0000 Subject: [PATCH 010/616] auto-import mysql-3.23.38-2a from mysql-3.23.38-2a.src.rpm --- mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 2d40ad2..1bf5ea1 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.38 -Release: 1 +Release: 2a Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -78,7 +78,9 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE" make make check +%ifnarch s390 s390x make test +%endif %install rm -rf $RPM_BUILD_ROOT From a6c3d38434a285c4c3d988838a45af8d92e2d971 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:55:20 +0000 Subject: [PATCH 011/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.40-1.src.rpm=20Sat=20Jul=2021=202001=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=20-=203.23.40,=20bugfix?= =?UTF-8?q?=20release=20-=20Add=20zlib-devel=20to=20buildrequires:=20Fri?= =?UTF-8?q?=20Jul=2020=202001=20Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20BuildRequires-tweaking=20Thu=20Jun=2028=202001=20?= =?UTF-8?q?Trond=20Eivind=20Glomsr=C3=B8d=20=20-=20Reenabl?= =?UTF-8?q?e=20test,=20but=20don't=20run=20them=20for=20s390,=20s390x=20or?= =?UTF-8?q?=20ia64=20-=20Make=20/etc/my.cnf=20config(noplace).=20Same=20fo?= =?UTF-8?q?r=20/etc/logrotate.d/mysqld=20Thu=20Jun=2014=202001=20Trond=20E?= =?UTF-8?q?ivind=20Glomsr=C3=B8d=20=20-=203.23.29=20-=20en?= =?UTF-8?q?able=20innodb=20-=20enable=20assembly=20again=20-=20disable=20t?= =?UTF-8?q?ests=20for=20now..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.init | 2 +- mysql.spec | 39 ++++++++++++++++++++++++++++++--------- sources | 2 +- 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/.cvsignore b/.cvsignore index 628b305..3a2f942 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.38.tar.bz2 +mysql-3.23.40.tar.bz2 diff --git a/mysql.init b/mysql.init index f8a2d9c..92b7627 100644 --- a/mysql.init +++ b/mysql.init @@ -33,7 +33,7 @@ start(){ return $ret fi fi - chown mysql.mysql /var/lib/mysql + chown -R mysql.mysql /var/lib/mysql chmod 0755 /var/lib/mysql /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? diff --git a/mysql.spec b/mysql.spec index 1bf5ea1..bcb67a6 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,17 +1,18 @@ Name: mysql -Version: 3.23.38 -Release: 2a +Version: 3.23.40 +Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf URL: http://www.mysql.com -BuildRoot: %{_tmppath}/mysql-%{version}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client program and shared library License: GPL/LGPL Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig BuildRequires: gperf, perl, db3-devel, readline-devel +BuildRequires: gcc-c++, ncurses-devel, zlib-devel Requires: bash >= 2 Conflicts: MySQL Obsoletes: mysql-client mysql-bench mysql-perl @@ -59,8 +60,8 @@ header files that are needed for developing your own MySQL applications. %setup -q %build -CFLAGS="%{optflags} -D_GNU_SOURCE" -CXXFLAGS="%{optflags} -D_GNU_SOURCE" +CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" %configure --without-debug \ --without-readline \ @@ -71,6 +72,8 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE" --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ + --with-innodb \ + --enable-assembler \ %ifnarch alpha --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ %endif @@ -78,7 +81,7 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE" make make check -%ifnarch s390 s390x +%ifnarch s390 s390x ia64 make test %endif @@ -125,7 +128,7 @@ if [ $1 = 1 ]; then /sbin/chkconfig --add mysqld fi /bin/chmod 0755 /var/lib/mysql - +/bin/touch /var/log/mysqld.log %preun if [ $1 = 0 ]; then @@ -148,6 +151,7 @@ if [ $1 = 0 ] ; then /sbin/ldconfig /usr/lib/mysql fi + %postun server if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : @@ -177,7 +181,7 @@ fi %dir /usr/share/mysql /usr/share/mysql/* -%config /etc/my.cnf +%config(noreplace) /etc/my.cnf %files server %defattr(-,root,root) @@ -186,7 +190,7 @@ fi /usr/libexec/* /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld -%config /etc/logrotate.d/mysqld +%config(noreplace) /etc/logrotate.d/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %ghost %attr(0640,mysql,mysql) /var/log/mysqld.log @@ -198,6 +202,23 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Sat Jul 21 2001 Trond Eivind Glomsrød +- 3.23.40, bugfix release +- Add zlib-devel to buildrequires: + +* Fri Jul 20 2001 Trond Eivind Glomsrød +- BuildRequires-tweaking + +* Thu Jun 28 2001 Trond Eivind Glomsrød +- Reenable test, but don't run them for s390, s390x or ia64 +- Make /etc/my.cnf config(noplace). Same for /etc/logrotate.d/mysqld + +* Thu Jun 14 2001 Trond Eivind Glomsrød +- 3.23.29 +- enable innodb +- enable assembly again +- disable tests for now.. + * Tue May 15 2001 Trond Eivind Glomsrød - 3.23.38 - Don't use BDB on Alpha - no fast mutexes diff --git a/sources b/sources index 3787fde..2e1e9d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e95b9a2d7decfd7f51395acf6a558c11 mysql-3.23.38.tar.bz2 +0a91bf40b9dee8b642c006e2e6b968b1 mysql-3.23.40.tar.bz2 From 01baec9a858a98631d148ccad5d6673cc019e6ca Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:55:23 +0000 Subject: [PATCH 012/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.41-1.src.rpm=20Tue=20Aug=2014=202001=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=203.23.41-1=20-=203.23.?= =?UTF-8?q?41=20bugfix=20release=20-=20disable=20innodb,=20to=20avoid=20th?= =?UTF-8?q?e=20broken=20updates=20-=20Use=20"mysqladmin=20flush=5Flogs"=20?= =?UTF-8?q?instead=20of=20kill=20-HUP=20in=20logrotate=20script=20=20=20?= =?UTF-8?q?=20=20(#51711)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.spec | 49 ++++++++++++++++++++++++++----------------------- sources | 2 +- 3 files changed, 28 insertions(+), 25 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3a2f942..679cc8f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.40.tar.bz2 +mysql-3.23.41.tar.bz2 diff --git a/mysql.spec b/mysql.spec index bcb67a6..935e2c7 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 3.23.40 +Version: 3.23.41 Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init @@ -7,7 +7,7 @@ Source2: mysql.logrotate Source3: my.cnf URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root -Summary: MySQL client program and shared library +Summary: MySQL client programs and shared library. License: GPL/LGPL Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig @@ -18,15 +18,15 @@ Conflicts: MySQL Obsoletes: mysql-client mysql-bench mysql-perl %description -MySQL is a multi-user, multi-threaded SQL database server. SQL is -the most popular database language in the world. MySQL is a client/server -implementation that consists of a server daemon mysqld and many different -client programs and libraries. This package contains the MySQL client -programs, the client shared library, and generic MySQL files. +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. This package +contains the MySQL client programs, the client shared library, and +generic MySQL files. %package server -Summary: MySQL server +Summary: The MySQL server and related files. License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel @@ -34,27 +34,24 @@ Requires: mysql = %{version}, sh-utils Conflicts: MySQL-server %description server -MySQL is a true multi-user, multi-threaded SQL database server. SQL is -the most popular database language in the world. MySQL is a client/server -implementation that consists of a server daemon mysqld and many different -client programs and libraries. This package contains the MySQL server and -some accompanying files and directories. +MySQL is a true multi-user, multi-threaded SQL database server. MySQL +is a client/server implementation that consists of a server daemon +(mysqld) and many different client programs and libraries. This +package contains the MySQL server and some accompanying files and +directories. %package devel -Summary: MySQL devel +Summary: Files for development of MySQL applications. License: LGPL Group: Applications/Databases Requires: %{name} = %{version} Conflicts: MySQL-devel %description devel -MySQL is a true multi-user, multi-threaded SQL database server. SQL is -the most popular database language in the world. MySQL is a client/server -implementation that consists of a server daemon mysqld and many different -client programs and libraries. This package contains the libraries and -header files that are needed for developing your own MySQL applications. - +MySQL is a true multi-user, multi-threaded SQL database server. This +package contains the libraries and header files that are needed for +developing MySQL applications. %prep %setup -q @@ -72,12 +69,12 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ - --with-innodb \ - --enable-assembler \ + --disable-assember \ %ifnarch alpha --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ %endif - --with-thread-safe-client + --with-thread-safe-client \ + --enable-assembler make make check @@ -202,6 +199,12 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Tue Aug 14 2001 Trond Eivind Glomsrød 3.23.41-1 +- 3.23.41 bugfix release +- disable innodb, to avoid the broken updates +- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate + script (#51711) + * Sat Jul 21 2001 Trond Eivind Glomsrød - 3.23.40, bugfix release - Add zlib-devel to buildrequires: diff --git a/sources b/sources index 2e1e9d5..c065322 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0a91bf40b9dee8b642c006e2e6b968b1 mysql-3.23.40.tar.bz2 +0775889ab8e757ae0dac5c96437509ca mysql-3.23.41.tar.bz2 From a488535d73798a487078e1113379436b6f66c994 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:55:47 +0000 Subject: [PATCH 013/616] auto-import changelog data from mysql-3.23.41-1a.src.rpm Wed Oct 24 2001 Phil Knirsch - S390 fix. --- mysql.spec | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mysql.spec b/mysql.spec index 935e2c7..e8fedcc 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,10 +1,11 @@ Name: mysql Version: 3.23.41 -Release: 1 +Release: 1a Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf +Patch1: mysql-3.23.33-s390.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. @@ -54,7 +55,8 @@ package contains the libraries and header files that are needed for developing MySQL applications. %prep -%setup -q +%setup -q +%patch1 -p1 -b .s390 %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" @@ -70,15 +72,15 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --disable-assember \ -%ifnarch alpha +%ifnarch alpha s390 s390x --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ %endif --with-thread-safe-client \ - --enable-assembler + --enable-assembler make make check -%ifnarch s390 s390x ia64 +%ifnarch ia64 make test %endif @@ -199,6 +201,9 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Wed Oct 24 2001 Phil Knirsch +- S390 fix. + * Tue Aug 14 2001 Trond Eivind Glomsrød 3.23.41-1 - 3.23.41 bugfix release - disable innodb, to avoid the broken updates From 53d6308a91fd78e1a1a188491f96ebad74dca717 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:55:56 +0000 Subject: [PATCH 014/616] auto-import mysql-3.23.41-2 from mysql-3.23.41-2.src.rpm --- mysql.spec | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/mysql.spec b/mysql.spec index e8fedcc..2f70541 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,11 +1,10 @@ Name: mysql Version: 3.23.41 -Release: 1a +Release: 2 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf -Patch1: mysql-3.23.33-s390.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. @@ -55,8 +54,7 @@ package contains the libraries and header files that are needed for developing MySQL applications. %prep -%setup -q -%patch1 -p1 -b .s390 +%setup -q %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" @@ -72,15 +70,15 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --disable-assember \ -%ifnarch alpha s390 s390x +%ifnarch alpha --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ %endif --with-thread-safe-client \ - --enable-assembler + --enable-assembler make make check -%ifnarch ia64 +%ifnarch s390 s390x ia64 make test %endif @@ -201,8 +199,8 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog -* Wed Oct 24 2001 Phil Knirsch -- S390 fix. +* Wed Sep 12 2001 Tim Powers +- rebuild with new gcc and binutils * Tue Aug 14 2001 Trond Eivind Glomsrød 3.23.41-1 - 3.23.41 bugfix release From 4db82b31aab6af5ce4c6dd5c1e130198e7b0e745 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:56:10 +0000 Subject: [PATCH 015/616] auto-import changelog data from mysql-3.23.41-3.src.rpm Thu May 02 2002 Philip Copeland 3.23.41-3 - Although this *IS* 3.23.41-2 we need to slot it in between 7.2-ent/7.3 for RHN hence the version number bump for alpha. --- mysql.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 2f70541..6b90ab7 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.41 -Release: 2 +Release: 3 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -199,6 +199,11 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Thu May 02 2002 Philip Copeland 3.23.41-3 +- Although this *IS* 3.23.41-2 we need to + slot it in between 7.2-ent/7.3 for RHN hence the + version number bump for alpha. + * Wed Sep 12 2001 Tim Powers - rebuild with new gcc and binutils From 2c21a3d55cadc598f8ccfc4b52a9983dee895faf Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:56:18 +0000 Subject: [PATCH 016/616] auto-import mysql-3.23.49-0.7 from mysql-3.23.49-0.7.src.rpm --- .cvsignore | 2 +- filter-requires-mysql.sh | 3 ++ mysql.init | 24 +++++--------- mysql.spec | 70 ++++++++++++++++++++++++++++++++-------- sources | 2 +- 5 files changed, 69 insertions(+), 32 deletions(-) create mode 100755 filter-requires-mysql.sh diff --git a/.cvsignore b/.cvsignore index 679cc8f..dce1388 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.41.tar.bz2 +mysql-3.23.49.tar.bz2 diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh new file mode 100755 index 0000000..f430ee8 --- /dev/null +++ b/filter-requires-mysql.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +/usr/lib/rpm/find-requires $* | grep -v "perl(the" diff --git a/mysql.init b/mysql.init index 92b7627..58e0e9f 100644 --- a/mysql.init +++ b/mysql.init @@ -15,26 +15,25 @@ # Source networking configuration. . /etc/sysconfig/network -# Source subsystem configuration. -[ -f /etc/sysconfig/subsys/mysqld ] && . /etc/sysconfig/subsys/mysqld - prog="MySQL" +datadir="/var/lib/mysql" + start(){ touch /var/log/mysqld.log chown mysql.mysql /var/log/mysqld.log chmod 0640 /var/log/mysqld.log - if [ ! -d /var/lib/mysql/mysql ] ; then + if [ ! -d $datadir/mysql ] ; then action $"Initializing MySQL database: " /usr/bin/mysql_install_db ret=$? - chown -R mysql.mysql /var/lib/mysql + chown -R mysql.mysql $datadir if [ $ret -ne 0 ] ; then return $ret fi fi - chown -R mysql.mysql /var/lib/mysql - chmod 0755 /var/lib/mysql + chown -R mysql.mysql $datadir + chmod 0755 $datadir /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? if [ $ret -eq 0 ]; then @@ -55,7 +54,7 @@ stop(){ action $"Stopping $prog: " /bin/false fi [ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld - [ $ret -eq 0 ] && rm -f /var/lib/mysql/mysql.sock + [ $ret -eq 0 ] && rm -f $datadir/mysql.sock return $ret } @@ -68,10 +67,6 @@ condrestart(){ [ -e /var/lock/subsys/mysqld ] && restart || : } -reload(){ - [ -e /var/lock/subsys/mysqld ] && mysqladmin reload -} - # See how we were called. case "$1" in start) @@ -83,9 +78,6 @@ case "$1" in status) status mysqld ;; - reload) - reload - ;; restart) restart ;; @@ -93,7 +85,7 @@ case "$1" in condrestart ;; *) - echo $"Usage: $0 {start|stop|status|reload|condrestart|restart}" + echo $"Usage: $0 {start|stop|status|condrestart|restart}" exit 1 esac diff --git a/mysql.spec b/mysql.spec index 6b90ab7..ca6f79b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,22 +1,28 @@ Name: mysql -Version: 3.23.41 -Release: 3 +Version: 3.23.49 +Release: 0.7 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf +# Working around perl dependency checking bug in rpm FTTB. Remove later. +Source999: filter-requires-mysql.sh URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. License: GPL/LGPL Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig -BuildRequires: gperf, perl, db3-devel, readline-devel +BuildRequires: gperf, perl, readline-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel -Requires: bash >= 2 +Requires: bash Conflicts: MySQL Obsoletes: mysql-client mysql-bench mysql-perl +# Working around perl dependency checking bug in rpm FTTB. Remove later. +%define __find_requires %{SOURCE999} + + %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) @@ -58,7 +64,8 @@ developing MySQL applications. %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-rtti -fno-exceptions" +CXX=gcc %configure --without-debug \ --without-readline \ @@ -69,7 +76,7 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ - --disable-assember \ + --with-innodb \ %ifnarch alpha --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ %endif @@ -78,7 +85,7 @@ CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" make make check -%ifnarch s390 s390x ia64 +%ifnarch s390 s390x make test %endif @@ -199,13 +206,48 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog -* Thu May 02 2002 Philip Copeland 3.23.41-3 -- Although this *IS* 3.23.41-2 we need to - slot it in between 7.2-ent/7.3 for RHN hence the - version number bump for alpha. +* Sun Feb 17 2002 Trond Eivind Glomsrød 3.23.49-1 +- 3.23.49 -* Wed Sep 12 2001 Tim Powers -- rebuild with new gcc and binutils +* Thu Feb 14 2002 Trond Eivind Glomsrød 3.23.48-2 +- work around perl dependency bug. + +* Mon Feb 11 2002 Trond Eivind Glomsrød 3.23.48-1 +- 3.23.48 + +* Thu Jan 17 2002 Trond Eivind Glomsrød 3.23.47-4 +- Use kill, not mysqladmin, to flush logs and shut down. Thus, + an admin password can be set with no problems. +- Remove reload from init script + +* Wed Jan 16 2002 Trond Eivind Glomsrød 3.23.47-3 +- remove db3-devel from buildrequires, + MySQL has had its own bundled copy since the mid thirties + +* Sun Jan 6 2002 Trond Eivind Glomsrød 3.23.47-1 +- 3.23.47 +- Don't build for alpha, toolchain immature. + +* Mon Dec 3 2001 Trond Eivind Glomsrød 3.23.46-1 +- 3.23.46 +- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. + Recommended by mysql developers. + +* Sun Nov 25 2001 Trond Eivind Glomsrød 3.23.45-1 +- 3.23.45 + +* Wed Nov 14 2001 Trond Eivind Glomsrød 3.23.44-2 +- centralize definition of datadir in the initscript (#55873) + +* Fri Nov 2 2001 Trond Eivind Glomsrød 3.23.44-1 +- 3.23.44 + +* Thu Oct 4 2001 Trond Eivind Glomsrød 3.23.43-1 +- 3.23.43 + +* Mon Sep 10 2001 Trond Eivind Glomsrød 3.23.42-1 +- 3.23.42 +- reenable innodb * Tue Aug 14 2001 Trond Eivind Glomsrød 3.23.41-1 - 3.23.41 bugfix release @@ -228,7 +270,7 @@ fi - 3.23.29 - enable innodb - enable assembly again -- disable tests for now.. +- disable tests for now... * Tue May 15 2001 Trond Eivind Glomsrød - 3.23.38 diff --git a/sources b/sources index c065322..ab9b763 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0775889ab8e757ae0dac5c96437509ca mysql-3.23.41.tar.bz2 +f2cc97874a593d1bf84db21b56ee3a68 mysql-3.23.49.tar.bz2 From 3d85cfffb043e5a99ae9debeff53f59a38a48d06 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:56:38 +0000 Subject: [PATCH 017/616] auto-import mysql-3.23.49-2 from mysql-3.23.49-2.src.rpm --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index ca6f79b..5565660 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.49 -Release: 0.7 +Release: 2 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -206,6 +206,9 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Thu Feb 21 2002 Trond Eivind Glomsrød 3.23.50-1 +- Rebuild + * Sun Feb 17 2002 Trond Eivind Glomsrød 3.23.49-1 - 3.23.49 From 2fa19b72567bdfb9122c942060549195bc4d5983 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:56:47 +0000 Subject: [PATCH 018/616] auto-import mysql-3.23.49-3 from mysql-3.23.49-3.src.rpm --- mysql.spec | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/mysql.spec b/mysql.spec index 5565660..9d79cee 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.49 -Release: 2 +Release: 3 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -66,6 +66,10 @@ developing MySQL applications. CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-rtti -fno-exceptions" CXX=gcc +export CFLAGS CXXFLAGS CXX + +#CPPFLAGS="$CFLAGS" +#export CPPFLAGS %configure --without-debug \ --without-readline \ @@ -112,6 +116,10 @@ install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* +# Doesn't contain anything +rm -f Docs/manual.ps + + %clean rm -rf $RPM_BUILD_ROOT @@ -183,12 +191,33 @@ fi /usr/lib/mysql/libmysqlclient*.so.* %dir /usr/share/mysql -/usr/share/mysql/* - +/usr/share/mysql/english +%lang(cs) /usr/share/mysql/czech +%lang(da) /usr/share/mysql/danish +%lang(nl) /usr/share/mysql/dutch +%lang(et) /usr/share/mysql/estonian +%lang(fr) /usr/share/mysql/french +%lang(de) /usr/share/mysql/german +%lang(hu) /usr/share/mysql/hungarian +%lang(it) /usr/share/mysql/italian +%lang(ja) /usr/share/mysql/japanese +%lang(ko) /usr/share/mysql/korean +%lang(no) /usr/share/mysql/norwegian +%lang(no) /usr/share/mysql/norwegian-ny +%lang(pl) /usr/share/mysql/polish +%lang(pt) /usr/share/mysql/portuguese +%lang(ro) /usr/share/mysql/romanian +%lang(ru) /usr/share/mysql/russian +%lang(sk) /usr/share/mysql/slovak +%lang(es) /usr/share/mysql/spanish +%lang(sv) /usr/share/mysql/swedish +%lang(uk) /usr/share/mysql/ukrainian +/usr/share/mysql/charsets %config(noreplace) /etc/my.cnf %files server %defattr(-,root,root) +%doc support-files/*.cnf /usr/bin/mysqladmin /usr/bin/safe_mysqld /usr/libexec/* @@ -206,7 +235,13 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog -* Thu Feb 21 2002 Trond Eivind Glomsrød 3.23.50-1 +* Mon Apr 8 2002 Trond Eivind Glomsrød 3.23.49-2 +- Add the various .cnf examples as doc files to mysql-server (#60349) +- Don't include manual.ps, it's just 200 bytes with a URL inside (#60349) +- Don't include random files in /usr/share/mysql (#60349) +- langify (#60349) + +* Thu Feb 21 2002 Trond Eivind Glomsrød 3.23.49-2 - Rebuild * Sun Feb 17 2002 Trond Eivind Glomsrød 3.23.49-1 From f031fece044969d4a3ccb4569fc374e08b8c1adc Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:57:08 +0000 Subject: [PATCH 019/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.51-4.src.rpm=20Mon=20Jul=2022=202002=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=203.23.51-4=20-=20rebui?= =?UTF-8?q?ld=20Thu=20Jul=2018=202002=20Trond=20Eivind=20Glomsr=C3=B8d=20=203.23.51-3=20-=20Fix=20#63543=20and=20#63542?= =?UTF-8?q?=20Thu=20Jul=2011=202002=20Trond=20Eivind=20Glomsr=C3=B8d=20=203.23.51-2=20-=20Turn=20off=20bdb=20on=20PPC(#68?= =?UTF-8?q?591)=20-=20Turn=20off=20the=20assembly=20optimizations,=20for?= =?UTF-8?q?=20safety.=20Wed=20Jun=2026=202002=20Trond=20Eivind=20Glomsr?= =?UTF-8?q?=C3=B8d=20=203.23.51-1=20-=20Work=20around=20an?= =?UTF-8?q?noying=20auto*=20thinking=20this=20is=20a=20crosscompile=20-=20?= =?UTF-8?q?3.23.51=20Fri=20Jun=2021=202002=20Tim=20Powers=20=20-=20automated=20rebuild=20Mon=20Jun=2010=202002=20Trond?= =?UTF-8?q?=20Eivind=20Glomsr=C3=B8d=20=203.23.50-2=20-=20?= =?UTF-8?q?Add=20dependency=20on=20perl-DBI=20and=20perl-DBD-MySQL=20(#663?= =?UTF-8?q?49)=20Thu=20May=2030=202002=20Trond=20Eivind=20Glomsr=C3=B8d=20?= =?UTF-8?q?=203.23.50-1=20-=203.23.50=20Thu=20May=2023=202?= =?UTF-8?q?002=20Tim=20Powers=20=20-=20automated=20rebuil?= =?UTF-8?q?d=20Mon=20May=2013=202002=20Trond=20Eivind=20Glomsr=C3=B8d=20=203.23.49-4=20-=20Rebuild=20-=20Don't=20set=20CX?= =?UTF-8?q?X=20to=20gcc,=20it=20doesn't=20work=20anymore=20-=20Exclude=20A?= =?UTF-8?q?lpha?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.spec | 55 ++++++++++++++++++++++++++++++++++++++++++++---------- sources | 2 +- 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/.cvsignore b/.cvsignore index dce1388..efa5121 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.49.tar.bz2 +mysql-3.23.51.tar.bz2 diff --git a/mysql.spec b/mysql.spec index 9d79cee..66c5bf9 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,12 +1,13 @@ Name: mysql -Version: 3.23.49 -Release: 3 +Version: 3.23.51 +Release: 4 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh +Patch0: mysql-3.23.51-manfixes.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. @@ -17,7 +18,9 @@ BuildRequires: gperf, perl, readline-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel Requires: bash Conflicts: MySQL +Requires: perl-DBI, perl-DBD-MySQL Obsoletes: mysql-client mysql-bench mysql-perl +ExcludeArch: alpha # Working around perl dependency checking bug in rpm FTTB. Remove later. %define __find_requires %{SOURCE999} @@ -62,16 +65,17 @@ developing MySQL applications. %prep %setup -q +%patch0 -p1 %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-rtti -fno-exceptions" -CXX=gcc -export CFLAGS CXXFLAGS CXX +export CFLAGS CXXFLAGS #CPPFLAGS="$CFLAGS" #export CPPFLAGS -%configure --without-debug \ +#configure --without-debug \ +./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --datadir=%{_datadir} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ --without-readline \ --enable-shared \ --with-extra-charsets=complex \ @@ -81,11 +85,11 @@ export CFLAGS CXXFLAGS CXX --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-innodb \ -%ifnarch alpha - --with-berkeley-db --enable-large-files=yes --enable-largefile=yes \ + --enable-large-files=yes --enable-largefile=yes \ +%ifnarch alpha ppc + --with-berkeley-db \ %endif - --with-thread-safe-client \ - --enable-assembler + --with-thread-safe-client make make check @@ -235,7 +239,38 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog -* Mon Apr 8 2002 Trond Eivind Glomsrød 3.23.49-2 +* Mon Jul 22 2002 Trond Eivind Glomsrød 3.23.51-4 +- rebuild + +* Thu Jul 18 2002 Trond Eivind Glomsrød 3.23.51-3 +- Fix #63543 and #63542 + +* Thu Jul 11 2002 Trond Eivind Glomsrød 3.23.51-2 +- Turn off bdb on PPC(#68591) +- Turn off the assembly optimizations, for safety. + +* Wed Jun 26 2002 Trond Eivind Glomsrød 3.23.51-1 +- Work around annoying auto* thinking this is a crosscompile +- 3.23.51 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Mon Jun 10 2002 Trond Eivind Glomsrød 3.23.50-2 +- Add dependency on perl-DBI and perl-DBD-MySQL (#66349) + +* Thu May 30 2002 Trond Eivind Glomsrød 3.23.50-1 +- 3.23.50 + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon May 13 2002 Trond Eivind Glomsrød 3.23.49-4 +- Rebuild +- Don't set CXX to gcc, it doesn't work anymore +- Exclude Alpha + +* Mon Apr 8 2002 Trond Eivind Glomsrød 3.23.49-3 - Add the various .cnf examples as doc files to mysql-server (#60349) - Don't include manual.ps, it's just 200 bytes with a URL inside (#60349) - Don't include random files in /usr/share/mysql (#60349) diff --git a/sources b/sources index ab9b763..01fb61b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f2cc97874a593d1bf84db21b56ee3a68 mysql-3.23.49.tar.bz2 +c972e10ecbbbbb53801b6e936929330e mysql-3.23.51.tar.bz2 From 5f16d8055daa038cdb12db45481a6665c63d49a3 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:57:21 +0000 Subject: [PATCH 020/616] auto-import changelog data from mysql-3.23.51-5.src.rpm Sat Aug 10 2002 Elliot Lee - rebuilt with gcc-3.2 (we hope) --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 66c5bf9..b52d6f4 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.51 -Release: 4 +Release: 5 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -239,6 +239,9 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Sat Aug 10 2002 Elliot Lee +- rebuilt with gcc-3.2 (we hope) + * Mon Jul 22 2002 Trond Eivind Glomsrød 3.23.51-4 - rebuild From 73588eaead6b0cad4dcd8425a6fe3f8056f54180 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:57:38 +0000 Subject: [PATCH 021/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.52-1.src.rpm=20Fri=20Aug=2023=202002=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=203.23.52-1=20-=203.23.?= =?UTF-8?q?52.=20Fixes=20a=20minor=20security=20problem,=20various=20bugfi?= =?UTF-8?q?xes.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index efa5121..44652d5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.51.tar.bz2 +mysql-3.23.52.tar.bz2 diff --git a/mysql.spec b/mysql.spec index b52d6f4..92c4202 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 3.23.51 -Release: 5 +Version: 3.23.52 +Release: 1 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -239,7 +239,10 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog -* Sat Aug 10 2002 Elliot Lee +* Fri Aug 23 2002 Trond Eivind Glomsrød 3.23.52-1 +- 3.23.52. Fixes a minor security problem, various bugfixes. + +* Sat Aug 10 2002 Elliot Lee 3.23.51-5 - rebuilt with gcc-3.2 (we hope) * Mon Jul 22 2002 Trond Eivind Glomsrød 3.23.51-4 diff --git a/sources b/sources index 01fb61b..54079fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c972e10ecbbbbb53801b6e936929330e mysql-3.23.51.tar.bz2 +72c797333c1258822fe972273b078320 mysql-3.23.52.tar.bz2 From 7346508221af118331f34b3656d2d356c95402ff Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:57:45 +0000 Subject: [PATCH 022/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.52-2.src.rpm=20Thu=20Aug=2029=202002=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=203.23.52-2=20-=20Add?= =?UTF-8?q?=20--enable-local-infile=20to=20configure=20-=20a=20new=20optio?= =?UTF-8?q?n=20which=20doesn't=20=20=20=20=20default=20to=20the=20old=20be?= =?UTF-8?q?haviour=20(#72885)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 92c4202..b435d2a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.52 -Release: 1 +Release: 2 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -77,6 +77,7 @@ export CFLAGS CXXFLAGS #configure --without-debug \ ./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --datadir=%{_datadir} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ --without-readline \ + --without-debug \ --enable-shared \ --with-extra-charsets=complex \ --with-bench \ @@ -85,12 +86,15 @@ export CFLAGS CXXFLAGS --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-innodb \ + --enable-local-infile \ --enable-large-files=yes --enable-largefile=yes \ %ifnarch alpha ppc --with-berkeley-db \ %endif --with-thread-safe-client +# Not enabling assembler + make make check %ifnarch s390 s390x @@ -239,6 +243,10 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Thu Aug 29 2002 Trond Eivind Glomsrød 3.23.52-2 +- Add --enable-local-infile to configure - a new option + which doesn't default to the old behaviour (#72885) + * Fri Aug 23 2002 Trond Eivind Glomsrød 3.23.52-1 - 3.23.52. Fixes a minor security problem, various bugfixes. From 83f6843bf2b016ce1473f8ae460fe99b68217e33 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 08:58:09 +0000 Subject: [PATCH 023/616] auto-import changelog data from mysql-3.23.52-3.src.rpm Wed Sep 04 2002 Jakub Jelinek 3.23.52-3 - rebuilt with gcc-3.2-7 --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index b435d2a..b1c4714 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.52 -Release: 2 +Release: 3 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -243,6 +243,9 @@ fi /usr/lib/mysql/libmysqlclient*.so %changelog +* Wed Sep 4 2002 Jakub Jelinek 3.23.52-3 +- rebuilt with gcc-3.2-7 + * Thu Aug 29 2002 Trond Eivind Glomsrød 3.23.52-2 - Add --enable-local-infile to configure - a new option which doesn't default to the old behaviour (#72885) From a1ede3ac06f38877e84fe0652745d836892eaefe Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:00:05 +0000 Subject: [PATCH 024/616] =?UTF-8?q?auto-import=20changelog=20data=20from?= =?UTF-8?q?=20mysql-3.23.54a-4.src.rpm=20Mon=20Dec=2016=202002=20Joe=20Ort?= =?UTF-8?q?on=20=203.23.54a-4=20-=20upgrade=20to=203.23?= =?UTF-8?q?.54a=20for=20safe=5Fmysqld=20fix=20Thu=20Dec=2012=202002=20Joe?= =?UTF-8?q?=20Orton=20=203.23.54-3=20-=20upgrade=20to?= =?UTF-8?q?=203.23.54=20for=20latest=20security=20fixes=20Tue=20Nov=2019?= =?UTF-8?q?=202002=20Jakub=20Jelinek=20=203.23.52-5=20-?= =?UTF-8?q?=20Always=20include=20=20for=20errno=20-=20Remove=20un?= =?UTF-8?q?packaged=20files=20Tue=20Nov=2012=202002=20Florian=20La=20Roche?= =?UTF-8?q?=20=20-=20do=20not=20prereq=20userde?= =?UTF-8?q?l,=20not=20used=20at=20all=20Mon=20Sep=2009=202002=20Trond=20Ei?= =?UTF-8?q?vind=20Glomsr=C3=B8d=20=203.23.52-4=20-=20Use?= =?UTF-8?q?=20%{=5Flibdir}=20-=20Add=20patch=20for=20x86-64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 2 +- mysql-errno.patch | 13 ++++++++++ mysql.spec | 62 +++++++++++++++++++++++++++++++++-------------- sources | 2 +- 4 files changed, 59 insertions(+), 20 deletions(-) create mode 100644 mysql-errno.patch diff --git a/.cvsignore b/.cvsignore index 44652d5..b2d772c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.52.tar.bz2 +mysql-3.23.54a.tar.bz2 diff --git a/mysql-errno.patch b/mysql-errno.patch new file mode 100644 index 0000000..e452926 --- /dev/null +++ b/mysql-errno.patch @@ -0,0 +1,13 @@ +--- mysql-3.23.52/include/global.h.jj 2002-08-13 18:08:16.000000000 -0400 ++++ mysql-3.23.52/include/global.h 2002-11-18 18:35:10.000000000 -0500 +@@ -58,6 +58,10 @@ + #define _GNU_SOURCE 1 + #endif + ++#ifdef __linux__ ++#define HAVE_ERRNO_AS_DEFINE ++#endif ++ + /* The client defines this to avoid all thread code */ + #if defined(UNDEF_THREADS_HACK) + #undef THREAD diff --git a/mysql.spec b/mysql.spec index b1c4714..e299e29 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 3.23.52 -Release: 3 +Version: 3.23.54a +Release: 4 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -8,6 +8,7 @@ Source3: my.cnf # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh Patch0: mysql-3.23.51-manfixes.patch +Patch2: mysql-errno.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. @@ -38,7 +39,7 @@ generic MySQL files. Summary: The MySQL server and related files. License: GPL Group: Applications/Databases -Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel +Prereq: /sbin/chkconfig, /usr/sbin/useradd Requires: mysql = %{version}, sh-utils Conflicts: MySQL-server @@ -66,6 +67,7 @@ developing MySQL applications. %setup -q %patch0 -p1 +%patch2 -p1 %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-rtti -fno-exceptions" @@ -97,7 +99,7 @@ export CFLAGS CXXFLAGS make make check -%ifnarch s390 s390x +%ifnarch s390 s390x x86_64 make test %endif @@ -115,7 +117,6 @@ gzip $RPM_BUILD_ROOT/%{_infodir}/* rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-*.spec rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-log-rotate - mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d} mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql @@ -126,7 +127,14 @@ rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* # Doesn't contain anything rm -f Docs/manual.ps - +rm -fr $RPM_BUILD_ROOT/usr/sql-bench +rm -fr $RPM_BUILD_ROOT/usr/mysql-test +rm -f $RPM_BUILD_ROOT/%{_libdir}/mysql/libmysqlclient.la +rm -f $RPM_BUILD_ROOT/usr/share/mysql/binary-configure +rm -f $RPM_BUILD_ROOT/usr/share/mysql/make_binary_distribution +rm -f $RPM_BUILD_ROOT/usr/share/mysql/mi_test_all* +rm -f $RPM_BUILD_ROOT/usr/share/mysql/*.cnf +rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql.server %clean rm -rf $RPM_BUILD_ROOT @@ -135,13 +143,13 @@ rm -rf $RPM_BUILD_ROOT /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : -%post +%post /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir -if ! grep '^/usr/lib/mysql$' /etc/ld.so.conf > /dev/null 2>&1 +if ! grep '^%{_libdir}/mysql$' /etc/ld.so.conf > /dev/null 2>&1 then - echo "/usr/lib/mysql" >> /etc/ld.so.conf + echo "%{_libdir}/mysql" >> /etc/ld.so.conf fi -/sbin/ldconfig /usr/lib/mysql +/sbin/ldconfig %{_libdir}/mysql %post server if [ $1 = 1 ]; then @@ -162,13 +170,13 @@ fi %postun if [ $1 = 0 ] ; then - if grep '^/usr/lib/mysql$' /etc/ld.so.conf > /dev/null 2>&1 + if grep '^%{_libdir}/mysql$' /etc/ld.so.conf > /dev/null 2>&1 then - grep -v '^/usr/lib/mysql$' /etc/ld.so.conf \ + grep -v '^%{_libdir}/mysql$' /etc/ld.so.conf \ > /etc/ld.so.conf.$$ 2> /dev/null mv /etc/ld.so.conf.$$ /etc/ld.so.conf fi - /sbin/ldconfig /usr/lib/mysql + /sbin/ldconfig %{_libdir}/mysql fi @@ -195,8 +203,8 @@ fi %{_infodir}/* %{_mandir}/man1/* -%dir /usr/lib/mysql -/usr/lib/mysql/libmysqlclient*.so.* +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient*.so.* %dir /usr/share/mysql /usr/share/mysql/english @@ -206,6 +214,7 @@ fi %lang(et) /usr/share/mysql/estonian %lang(fr) /usr/share/mysql/french %lang(de) /usr/share/mysql/german +%lang(el) /usr/share/mysql/greek %lang(hu) /usr/share/mysql/hungarian %lang(it) /usr/share/mysql/italian %lang(ja) /usr/share/mysql/japanese @@ -238,11 +247,28 @@ fi %files devel %defattr(-,root,root) /usr/include/mysql -%dir /usr/lib/mysql -/usr/lib/mysql/*.a -/usr/lib/mysql/libmysqlclient*.so +%dir %{_libdir}/mysql +%{_libdir}/mysql/*.a +%{_libdir}/mysql/libmysqlclient*.so %changelog +* Mon Dec 16 2002 Joe Orton 3.23.54a-4 +- upgrade to 3.23.54a for safe_mysqld fix + +* Thu Dec 12 2002 Joe Orton 3.23.54-3 +- upgrade to 3.23.54 for latest security fixes + +* Tue Nov 19 2002 Jakub Jelinek 3.23.52-5 +- Always include for errno +- Remove unpackaged files + +* Tue Nov 12 2002 Florian La Roche +- do not prereq userdel, not used at all + +* Mon Sep 9 2002 Trond Eivind Glomsrød 3.23.52-4 +- Use %%{_libdir} +- Add patch for x86-64 + * Wed Sep 4 2002 Jakub Jelinek 3.23.52-3 - rebuilt with gcc-3.2-7 diff --git a/sources b/sources index 54079fb..4f1ed00 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -72c797333c1258822fe972273b078320 mysql-3.23.52.tar.bz2 +65eb882b21101c8bc3f0c212bd8049d1 mysql-3.23.54a.tar.bz2 From 5af4972e6fa6cc8b3451a36bbe9ac287c44283a1 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:00:15 +0000 Subject: [PATCH 025/616] auto-import changelog data from mysql-3.23.54a-11.src.rpm Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 - enable thread safe client - add patch for double free fix Wed Jan 22 2003 Tim Powers - rebuilt Mon Jan 13 2003 Karsten Hopp 3.23.54a-9 - disable checks on s390x Sat Jan 04 2003 Jeff Johnson 3.23.54a-8 - use internal dep generator. Wed Jan 01 2003 Bill Nottingham 3.23.54a-7 - fix mysql_config on hammer Sun Dec 22 2002 Tim Powers 3.23.54a-6 - don't use rpms internal dep generator Tue Dec 17 2002 Elliot Lee 3.23.54a-5 - Push it into the build system --- filter-requires-mysql.sh | 2 +- mysql.spec | 146 ++++++++++++++++++++++++--------------- 2 files changed, 92 insertions(+), 56 deletions(-) diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh index f430ee8..ff04055 100755 --- a/filter-requires-mysql.sh +++ b/filter-requires-mysql.sh @@ -1,3 +1,3 @@ #!/bin/sh -/usr/lib/rpm/find-requires $* | grep -v "perl(the" +/usr/lib/rpm/perl.req $* | grep -v "perl(the" diff --git a/mysql.spec b/mysql.spec index e299e29..1836634 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.54a -Release: 4 +Release: 11 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 Source1: mysql.init Source2: mysql.logrotate @@ -8,7 +8,9 @@ Source3: my.cnf # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh Patch0: mysql-3.23.51-manfixes.patch +Patch1: mysql-3.23.54-libdir.patch Patch2: mysql-errno.patch +Patch3: mysql-3.23.54a-doublefree.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. @@ -17,15 +19,14 @@ Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig BuildRequires: gperf, perl, readline-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel +BuildRequires: libtool automake autoconf Requires: bash Conflicts: MySQL Requires: perl-DBI, perl-DBD-MySQL Obsoletes: mysql-client mysql-bench mysql-perl -ExcludeArch: alpha # Working around perl dependency checking bug in rpm FTTB. Remove later. -%define __find_requires %{SOURCE999} - +%define __perl_requires %{SOURCE999} %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -67,17 +68,31 @@ developing MySQL applications. %setup -q %patch0 -p1 +%patch1 -p1 %patch2 -p1 +%patch3 -p1 + +libtoolize --force +aclocal +automake +autoconf +autoheader + %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-rtti -fno-exceptions" +%ifarch alpha +# Can't link C++ objects into an executable without this. Odd! +# -ECL 2002-12-19 +CFLAGS="$CFLAGS -fPIC" +%endif +CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS #CPPFLAGS="$CFLAGS" #export CPPFLAGS #configure --without-debug \ -./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --datadir=%{_datadir} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ +%configure \ --without-readline \ --without-debug \ --enable-shared \ @@ -90,16 +105,15 @@ export CFLAGS CXXFLAGS --with-innodb \ --enable-local-infile \ --enable-large-files=yes --enable-largefile=yes \ -%ifnarch alpha ppc - --with-berkeley-db \ -%endif - --with-thread-safe-client + --with-berkeley-db-includes=%{_includedir} \ + --with-berkeley-db-libs=%{_libdir} \ + --enable-thread-safe-client # Not enabling assembler -make +make %{?_smp_mflags} make check -%ifnarch s390 s390x x86_64 +%ifnarch ppc alpha s390x make test %endif @@ -113,9 +127,9 @@ touch $RPM_BUILD_ROOT/var/log/mysqld.log # List the installed tree for RPM package maintenance purposes. find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES -gzip $RPM_BUILD_ROOT/%{_infodir}/* -rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-*.spec -rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql-log-rotate +gzip ${RPM_BUILD_ROOT}%{_infodir}/* +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d} mkdir -p $RPM_BUILD_ROOT/var/run/mysqld @@ -129,12 +143,12 @@ rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* rm -f Docs/manual.ps rm -fr $RPM_BUILD_ROOT/usr/sql-bench rm -fr $RPM_BUILD_ROOT/usr/mysql-test -rm -f $RPM_BUILD_ROOT/%{_libdir}/mysql/libmysqlclient.la -rm -f $RPM_BUILD_ROOT/usr/share/mysql/binary-configure -rm -f $RPM_BUILD_ROOT/usr/share/mysql/make_binary_distribution -rm -f $RPM_BUILD_ROOT/usr/share/mysql/mi_test_all* -rm -f $RPM_BUILD_ROOT/usr/share/mysql/*.cnf -rm -f $RPM_BUILD_ROOT/usr/share/mysql/mysql.server +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.cnf +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server %clean rm -rf $RPM_BUILD_ROOT @@ -192,51 +206,51 @@ fi %doc Docs/manual* Docs/mysqld_error.txt # /usr/bin/* except mysqladmin and safe_mysqld -/usr/bin/[a-ln-rt-z]* -/usr/bin/msql2mysql -/usr/bin/mysql -/usr/bin/mysql_* -/usr/bin/mysqlaccess -/usr/bin/mysql[b-z]* -/usr/bin/my_* -/usr/bin/myisam* +%{_bindir}/[a-ln-rt-z]* +%{_bindir}/msql2mysql +%{_bindir}/mysql +%{_bindir}/mysql_* +%{_bindir}/mysqlaccess +%{_bindir}/mysql[b-z]* +%{_bindir}/my_* +%{_bindir}/myisam* %{_infodir}/* %{_mandir}/man1/* %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* -%dir /usr/share/mysql -/usr/share/mysql/english -%lang(cs) /usr/share/mysql/czech -%lang(da) /usr/share/mysql/danish -%lang(nl) /usr/share/mysql/dutch -%lang(et) /usr/share/mysql/estonian -%lang(fr) /usr/share/mysql/french -%lang(de) /usr/share/mysql/german -%lang(el) /usr/share/mysql/greek -%lang(hu) /usr/share/mysql/hungarian -%lang(it) /usr/share/mysql/italian -%lang(ja) /usr/share/mysql/japanese -%lang(ko) /usr/share/mysql/korean -%lang(no) /usr/share/mysql/norwegian -%lang(no) /usr/share/mysql/norwegian-ny -%lang(pl) /usr/share/mysql/polish -%lang(pt) /usr/share/mysql/portuguese -%lang(ro) /usr/share/mysql/romanian -%lang(ru) /usr/share/mysql/russian -%lang(sk) /usr/share/mysql/slovak -%lang(es) /usr/share/mysql/spanish -%lang(sv) /usr/share/mysql/swedish -%lang(uk) /usr/share/mysql/ukrainian -/usr/share/mysql/charsets +%dir %{_datadir}/mysql +%{_datadir}/mysql/english +%lang(cs) %{_datadir}/mysql/czech +%lang(da) %{_datadir}/mysql/danish +%lang(nl) %{_datadir}/mysql/dutch +%lang(et) %{_datadir}/mysql/estonian +%lang(fr) %{_datadir}/mysql/french +%lang(de) %{_datadir}/mysql/german +%lang(el) %{_datadir}/mysql/greek +%lang(hu) %{_datadir}/mysql/hungarian +%lang(it) %{_datadir}/mysql/italian +%lang(ja) %{_datadir}/mysql/japanese +%lang(ko) %{_datadir}/mysql/korean +%lang(no) %{_datadir}/mysql/norwegian +%lang(no) %{_datadir}/mysql/norwegian-ny +%lang(pl) %{_datadir}/mysql/polish +%lang(pt) %{_datadir}/mysql/portuguese +%lang(ro) %{_datadir}/mysql/romanian +%lang(ru) %{_datadir}/mysql/russian +%lang(sk) %{_datadir}/mysql/slovak +%lang(es) %{_datadir}/mysql/spanish +%lang(sv) %{_datadir}/mysql/swedish +%lang(uk) %{_datadir}/mysql/ukrainian +%{_datadir}/mysql/charsets %config(noreplace) /etc/my.cnf %files server %defattr(-,root,root) %doc support-files/*.cnf -/usr/bin/mysqladmin -/usr/bin/safe_mysqld +%{_bindir}/mysqladmin +%{_bindir}/safe_mysqld /usr/libexec/* /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld @@ -252,6 +266,28 @@ fi %{_libdir}/mysql/libmysqlclient*.so %changelog +* Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 +- enable thread safe client +- add patch for double free fix + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Mon Jan 13 2003 Karsten Hopp 3.23.54a-9 +- disable checks on s390x + +* Sat Jan 4 2003 Jeff Johnson 3.23.54a-8 +- use internal dep generator. + +* Wed Jan 1 2003 Bill Nottingham 3.23.54a-7 +- fix mysql_config on hammer + +* Sun Dec 22 2002 Tim Powers 3.23.54a-6 +- don't use rpms internal dep generator + +* Tue Dec 17 2002 Elliot Lee 3.23.54a-5 +- Push it into the build system + * Mon Dec 16 2002 Joe Orton 3.23.54a-4 - upgrade to 3.23.54a for safe_mysqld fix From 0c3d182e990a20e995cb6673e04d7e21ffc77531 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:01:16 +0000 Subject: [PATCH 026/616] auto-import changelog data from mysql-3.23.56-1.9.src.rpm Wed Apr 30 2003 Patrick Macdonald 3.23.56-1 - upgrade to 3.23.56 for security fixes - remove patch for double-free (included in 3.23.56) --- .cvsignore | 2 +- mysql.spec | 12 +++++++----- sources | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.cvsignore b/.cvsignore index b2d772c..55855dc 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.54a.tar.bz2 +mysql-3.23.56.tar.gz diff --git a/mysql.spec b/mysql.spec index 1836634..7381a32 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,7 +1,7 @@ Name: mysql -Version: 3.23.54a -Release: 11 -Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.bz2 +Version: 3.23.56 +Release: 1.9 +Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf @@ -10,7 +10,6 @@ Source999: filter-requires-mysql.sh Patch0: mysql-3.23.51-manfixes.patch Patch1: mysql-3.23.54-libdir.patch Patch2: mysql-errno.patch -Patch3: mysql-3.23.54a-doublefree.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared library. @@ -70,7 +69,6 @@ developing MySQL applications. %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 libtoolize --force aclocal @@ -266,6 +264,10 @@ fi %{_libdir}/mysql/libmysqlclient*.so %changelog +* Wed Apr 30 2003 Patrick Macdonald 3.23.56-1 +- upgrade to 3.23.56 for security fixes +- remove patch for double-free (included in 3.23.56) + * Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 - enable thread safe client - add patch for double free fix diff --git a/sources b/sources index 4f1ed00..2d786c3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -65eb882b21101c8bc3f0c212bd8049d1 mysql-3.23.54a.tar.bz2 +9d506468dc19bef79cbb106b20196a2f mysql-3.23.56.tar.gz From 1ce219d3531edec24a76efc4c05258f41679a62b Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:03:26 +0000 Subject: [PATCH 027/616] auto-import changelog data from mysql-3.23.58-1.9.src.rpm Wed Sep 17 2003 Patrick Macdonald 3.23.58-1.9 - upgrade to 3.23.58 for security fixes (#104501) --- .cvsignore | 2 +- mysql.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 55855dc..cc7862f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.56.tar.gz +mysql-3.23.58.tar.gz diff --git a/mysql.spec b/mysql.spec index 7381a32..3a79249 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 3.23.56 +Version: 3.23.58 Release: 1.9 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init @@ -264,7 +264,10 @@ fi %{_libdir}/mysql/libmysqlclient*.so %changelog -* Wed Apr 30 2003 Patrick Macdonald 3.23.56-1 +* Wed Sep 17 2003 Patrick Macdonald 3.23.58-1.9 +- upgrade to 3.23.58 for security fixes (#104501) + +* Wed Apr 30 2003 Patrick Macdonald 3.23.56-1.9 - upgrade to 3.23.56 for security fixes - remove patch for double-free (included in 3.23.56) diff --git a/sources b/sources index 2d786c3..50705f8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9d506468dc19bef79cbb106b20196a2f mysql-3.23.56.tar.gz +835a96c86132fbde0db36db60c5b34cd mysql-3.23.58.tar.gz From 729c1d4ac1a07447018b015b20ac514f87fa1584 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:05:58 +0000 Subject: [PATCH 028/616] auto-import changelog data from mysql-3.23.58-4.src.rpm Mon Oct 27 2003 Kim Ho 3.23.58-4 - update mysql.init to wait (max 10 seconds) for mysql server to start (#58372) Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 - re-enable Berkeley DB support (#106832) - re-enable ia64 testing Fri Sep 19 2003 Patrick Macdonald 3.23.58-2 - rebuilt --- filter-requires-mysql.sh | 2 +- mysql.init | 15 +++++++- mysql.spec | 83 +++++++++++++++++++++++++++++++--------- 3 files changed, 80 insertions(+), 20 deletions(-) diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh index ff04055..d5a4691 100755 --- a/filter-requires-mysql.sh +++ b/filter-requires-mysql.sh @@ -1,3 +1,3 @@ #!/bin/sh -/usr/lib/rpm/perl.req $* | grep -v "perl(the" +/usr/lib/rpm/perl.req $* | grep -v "perl(th" diff --git a/mysql.init b/mysql.init index 58e0e9f..418ec23 100644 --- a/mysql.init +++ b/mysql.init @@ -36,8 +36,21 @@ start(){ chmod 0755 $datadir /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? + # Spin for a maximum of ten seconds waiting for the server to come up if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true + for x in 1 2 3 4 5 6 7 8 9 10; do + if [ -n "`/usr/bin/mysqladmin ping 2> /dev/null`" ]; then + break; + else + sleep 1; + fi + done + if !([ -n "`/usr/bin/mysqladmin ping 2> /dev/null`" ]); then + echo "Timeout error occurred trying to start MySQL Daemon." + action $"Starting $prog: " /bin/false + else + action $"Starting $prog: " /bin/true + fi else action $"Starting $prog: " /bin/false fi diff --git a/mysql.spec b/mysql.spec index 3a79249..26e8e4f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.58 -Release: 1.9 +Release: 4 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -12,7 +12,7 @@ Patch1: mysql-3.23.54-libdir.patch Patch2: mysql-errno.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root -Summary: MySQL client programs and shared library. +Summary: MySQL client programs and shared libraries. License: GPL/LGPL Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig @@ -22,7 +22,7 @@ BuildRequires: libtool automake autoconf Requires: bash Conflicts: MySQL Requires: perl-DBI, perl-DBD-MySQL -Obsoletes: mysql-client mysql-bench mysql-perl +Obsoletes: mysql-client mysql-perl # Working around perl dependency checking bug in rpm FTTB. Remove later. %define __perl_requires %{SOURCE999} @@ -31,7 +31,7 @@ Obsoletes: mysql-client mysql-bench mysql-perl MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package -contains the MySQL client programs, the client shared library, and +contains the MySQL client programs, the client shared libraries, and generic MySQL files. %package server @@ -63,6 +63,19 @@ MySQL is a true multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL applications. +%package bench + +Summary: MySQL benchmark scripts and data. +License: GPL/LGPL +Group: Applications/Databases +Requires: %{name} = %{version} +Conflicts: MySQL-bench + +%description bench +MySQL is a true multi-user, multi-threaded SQL database server. This +package contains benchmark scripts and data for use when benchmarking +MySQL. + %prep %setup -q @@ -86,10 +99,6 @@ CFLAGS="$CFLAGS -fPIC" CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS -#CPPFLAGS="$CFLAGS" -#export CPPFLAGS - -#configure --without-debug \ %configure \ --without-readline \ --without-debug \ @@ -99,19 +108,18 @@ export CFLAGS CXXFLAGS --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ - --with-extra-charsets=all \ + --with-extra-charsets=all \ --with-innodb \ --enable-local-infile \ --enable-large-files=yes --enable-largefile=yes \ - --with-berkeley-db-includes=%{_includedir} \ - --with-berkeley-db-libs=%{_libdir} \ + --with-berkeley-db \ --enable-thread-safe-client # Not enabling assembler make %{?_smp_mflags} make check -%ifnarch ppc alpha s390x +%ifnarch ppc64 s390x x86_64 make test %endif @@ -136,10 +144,10 @@ install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* +mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench # Doesn't contain anything rm -f Docs/manual.ps -rm -fr $RPM_BUILD_ROOT/usr/sql-bench rm -fr $RPM_BUILD_ROOT/usr/mysql-test rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure @@ -263,13 +271,52 @@ fi %{_libdir}/mysql/*.a %{_libdir}/mysql/libmysqlclient*.so -%changelog -* Wed Sep 17 2003 Patrick Macdonald 3.23.58-1.9 -- upgrade to 3.23.58 for security fixes (#104501) +%files bench +%defattr(-,root,root) +%{_datadir}/sql-bench -* Wed Apr 30 2003 Patrick Macdonald 3.23.56-1.9 +%changelog +* Mon Oct 27 2003 Kim Ho 3.23.58-4 +- update mysql.init to wait (max 10 seconds) for mysql server to + start (#58372) + +* Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 +- re-enable Berkeley DB support (#106832) +- re-enable ia64 testing + +* Fri Sep 19 2003 Patrick Macdonald 3.23.58-2 +- rebuilt + +* Mon Sep 15 2003 Patrick Macdonald 3.23.58-1 +- upgrade to 3.23.58 for security fix + +* Tue Aug 26 2003 Patrick Macdonald 3.23.57-2 +- rebuilt + +* Wed Jul 02 2003 Patrick Macdonald 3.23.57-1 +- revert to prior version of MySQL due to license incompatibilities + with packages that link against the client. The MySQL folks are + looking into the issue. + +* Wed Jun 18 2003 Patrick Macdonald 4.0.13-4 +- restrict test on ia64 (temporary) + +* Wed Jun 04 2003 Elliot Lee 4.0.13-3 +- rebuilt + +* Thu May 29 2003 Patrick Macdonald 4.0.13-2 +- fix filter-requires-mysql.sh with less restrictive for mysql-bench + +* Wed May 28 2003 Patrick Macdonald 4.0.13-1 +- update for MySQL 4.0 +- back-level shared libraries available in mysqlclient10 package + +* Fri May 09 2003 Patrick Macdonald 3.23.56-2 +- add sql-bench package (#90110) + +* Wed Mar 19 2003 Patrick Macdonald 3.23.56-1 - upgrade to 3.23.56 for security fixes -- remove patch for double-free (included in 3.23.56) +- remove patch for double-free (included in 3.23.56) * Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 - enable thread safe client From de504ddf8469acc3c3a6b3c2e3a2acc7b7df70f2 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:06:04 +0000 Subject: [PATCH 029/616] auto-import changelog data from mysql-3.23.58-5.src.rpm Tue Nov 18 2003 Kim Ho 3.23.58-5 - update mysql.init to use anonymous user (UNKNOWN_MYSQL_USER) for pinging mysql server (#108779) --- mysql.init | 9 ++++++--- mysql.spec | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/mysql.init b/mysql.init index 418ec23..7d306a5 100644 --- a/mysql.init +++ b/mysql.init @@ -29,23 +29,26 @@ start(){ ret=$? chown -R mysql.mysql $datadir if [ $ret -ne 0 ] ; then - return $ret + return $ret; fi fi chown -R mysql.mysql $datadir chmod 0755 $datadir /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? + # If you've removed anonymous users, this line must be changed to + # use a user that is allowed to ping mysqld. + ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping" # Spin for a maximum of ten seconds waiting for the server to come up if [ $ret -eq 0 ]; then for x in 1 2 3 4 5 6 7 8 9 10; do - if [ -n "`/usr/bin/mysqladmin ping 2> /dev/null`" ]; then + if [ -n "`$ping 2> /dev/null`" ]; then break; else sleep 1; fi done - if !([ -n "`/usr/bin/mysqladmin ping 2> /dev/null`" ]); then + if !([ -n "`$ping 2> /dev/null`" ]); then echo "Timeout error occurred trying to start MySQL Daemon." action $"Starting $prog: " /bin/false else diff --git a/mysql.spec b/mysql.spec index 26e8e4f..850b605 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.58 -Release: 4 +Release: 5 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -276,6 +276,10 @@ fi %{_datadir}/sql-bench %changelog +* Tue Nov 18 2003 Kim Ho 3.23.58-5 +- update mysql.init to use anonymous user (UNKNOWN_MYSQL_USER) for + pinging mysql server (#108779) + * Mon Oct 27 2003 Kim Ho 3.23.58-4 - update mysql.init to wait (max 10 seconds) for mysql server to start (#58372) From b0d04847615198777f3245cc6df3e3abd8b34df4 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:08:05 +0000 Subject: [PATCH 030/616] auto-import changelog data from mysql-3.23.58-9.src.rpm Sat Apr 17 2004 Warren Togami 3.23.58-9 - remove redundant INSTALL-SOURCE, manual.* - compress manual.txt.bz2 - BR time Tue Mar 16 2004 Tom Lane 3.23.58-8 - repair logfile attributes in %files, per bug #102190 - repair quoting problem in mysqlhotcopy, per bug #112693 - repair missing flush in mysql_setpermission, per bug #113960 - repair broken error message printf, per bug #115165 - delete mysql user during uninstall, per bug #117017 - rebuilt Tue Mar 02 2004 Elliot Lee - rebuilt Tue Feb 24 2004 Tom Lane - fix chown syntax in mysql.init - rebuild Fri Feb 13 2004 Elliot Lee - rebuilt --- mysql.init | 6 +++--- mysql.spec | 44 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/mysql.init b/mysql.init index 7d306a5..26ed7c6 100644 --- a/mysql.init +++ b/mysql.init @@ -22,17 +22,17 @@ datadir="/var/lib/mysql" start(){ touch /var/log/mysqld.log - chown mysql.mysql /var/log/mysqld.log + chown mysql:mysql /var/log/mysqld.log chmod 0640 /var/log/mysqld.log if [ ! -d $datadir/mysql ] ; then action $"Initializing MySQL database: " /usr/bin/mysql_install_db ret=$? - chown -R mysql.mysql $datadir + chown -R mysql:mysql $datadir if [ $ret -ne 0 ] ; then return $ret; fi fi - chown -R mysql.mysql $datadir + chown -R mysql:mysql $datadir chmod 0755 $datadir /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? diff --git a/mysql.spec b/mysql.spec index 850b605..170ce86 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.58 -Release: 5 +Release: 9 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -10,6 +10,9 @@ Source999: filter-requires-mysql.sh Patch0: mysql-3.23.51-manfixes.patch Patch1: mysql-3.23.54-libdir.patch Patch2: mysql-errno.patch +Patch3: mysql-3.23.58-hotcopy.patch +Patch4: mysql-3.23.58-setpermission.patch +Patch5: mysql-3.23.58-typo.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -23,6 +26,8 @@ Requires: bash Conflicts: MySQL Requires: perl-DBI, perl-DBD-MySQL Obsoletes: mysql-client mysql-perl +# make test requires time +BuildRequires: time # Working around perl dependency checking bug in rpm FTTB. Remove later. %define __perl_requires %{SOURCE999} @@ -82,6 +87,9 @@ MySQL. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 libtoolize --force aclocal @@ -156,6 +164,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.cnf rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server +# compress manual +bzip2 Docs/manual.txt + %clean rm -rf $RPM_BUILD_ROOT @@ -204,12 +215,15 @@ fi if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : fi +if [ $1 = 0 ] ; then + userdel mysql >/dev/null 2>&1 || : +fi %files %defattr(-,root,root) -%doc INSTALL* README COPYING* -%doc Docs/manual* Docs/mysqld_error.txt +%doc README COPYING* +%doc Docs/manual.txt.bz2 Docs/mysqld_error.txt # /usr/bin/* except mysqladmin and safe_mysqld %{_bindir}/[a-ln-rt-z]* @@ -263,6 +277,7 @@ fi %config(noreplace) /etc/logrotate.d/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %ghost %attr(0640,mysql,mysql) /var/log/mysqld.log +%config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log %files devel %defattr(-,root,root) @@ -276,6 +291,29 @@ fi %{_datadir}/sql-bench %changelog +* Sat Apr 17 2004 Warren Togami 3.23.58-9 +- remove redundant INSTALL-SOURCE, manual.* +- compress manual.txt.bz2 +- BR time + +* Tue Mar 16 2004 Tom Lane 3.23.58-8 +- repair logfile attributes in %files, per bug #102190 +- repair quoting problem in mysqlhotcopy, per bug #112693 +- repair missing flush in mysql_setpermission, per bug #113960 +- repair broken error message printf, per bug #115165 +- delete mysql user during uninstall, per bug #117017 +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Tue Feb 24 2004 Tom Lane +- fix chown syntax in mysql.init +- rebuild + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + * Tue Nov 18 2003 Kim Ho 3.23.58-5 - update mysql.init to use anonymous user (UNKNOWN_MYSQL_USER) for pinging mysql server (#108779) From 2473c8f0196dafef7185dce3c86d5d9e4677be21 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:08:28 +0000 Subject: [PATCH 031/616] auto-import changelog data from mysql-3.23.58-10.src.rpm Tue Jun 15 2004 Elliot Lee - rebuilt --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 170ce86..b83d469 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.58 -Release: 9 +Release: 10 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -291,6 +291,9 @@ fi %{_datadir}/sql-bench %changelog +* Tue Jun 15 2004 Elliot Lee +- rebuilt + * Sat Apr 17 2004 Warren Togami 3.23.58-9 - remove redundant INSTALL-SOURCE, manual.* - compress manual.txt.bz2 From 2713f0a32cd28392021eac9a6131d9140ce8c6d9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 5 Oct 2004 19:07:17 +0000 Subject: [PATCH 032/616] Fixes for bugs 119442, 125991, 130347, 130348, 124352. --- mysql.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index b83d469..2fa9579 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.58 -Release: 10 +Release: 11 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -13,6 +13,8 @@ Patch2: mysql-errno.patch Patch3: mysql-3.23.58-hotcopy.patch Patch4: mysql-3.23.58-setpermission.patch Patch5: mysql-3.23.58-typo.patch +Patch6: mysql-3.23.58-symlink.patch +Patch7: mysql-3.23.58-dropdb.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -90,6 +92,8 @@ MySQL. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 libtoolize --force aclocal @@ -291,7 +295,12 @@ fi %{_datadir}/sql-bench %changelog -* Tue Jun 15 2004 Elliot Lee +* Tue Oct 05 2004 Tom Lane 3.23.58-11 +- fix low-priority security issues CAN-2004-0388, CAN-2004-0381, CAN-2004-0457 + (bugs #119442, 125991, 130347, 130348) +- fix bug with dropping databases under recent kernels (bug #124352) + +* Tue Jun 15 2004 Elliot Lee 3.23.58-10 - rebuilt * Sat Apr 17 2004 Warren Togami 3.23.58-9 From 516ba6c1980b6ee0fbf4c1d7cef33fbbf581031f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 6 Oct 2004 18:05:45 +0000 Subject: [PATCH 033/616] Fix multilib problems, also minor bugs 128852, 129409. --- mysql.init | 3 ++- mysql.spec | 20 +++++++++++++++++++- scriptstub.c | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 scriptstub.c diff --git a/mysql.init b/mysql.init index 26ed7c6..f385336 100644 --- a/mysql.init +++ b/mysql.init @@ -3,7 +3,7 @@ # mysqld This shell script takes care of starting and stopping # the MySQL subsystem (mysqld). # -# chkconfig: - 78 12 +# chkconfig: - 64 36 # description: MySQL database server. # processname: mysqld # config: /etc/my.cnf @@ -76,6 +76,7 @@ stop(){ restart(){ stop + sleep 2 start } diff --git a/mysql.spec b/mysql.spec index 2fa9579..96c1728 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,10 +1,11 @@ Name: mysql Version: 3.23.58 -Release: 11 +Release: 12 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf +Source4: scriptstub.c # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh Patch0: mysql-3.23.51-manfixes.patch @@ -15,6 +16,7 @@ Patch4: mysql-3.23.58-setpermission.patch Patch5: mysql-3.23.58-typo.patch Patch6: mysql-3.23.58-symlink.patch Patch7: mysql-3.23.58-dropdb.patch +Patch8: mysql-3.23.58-config.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -94,6 +96,7 @@ MySQL. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 libtoolize --force aclocal @@ -127,6 +130,8 @@ export CFLAGS CXXFLAGS --with-berkeley-db \ --enable-thread-safe-client +gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} + # Not enabling assembler make %{?_smp_mflags} @@ -158,6 +163,11 @@ install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench +mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug +install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug +mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config +install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config + # Doesn't contain anything rm -f Docs/manual.ps rm -fr $RPM_BUILD_ROOT/usr/mysql-test @@ -243,6 +253,8 @@ fi %{_mandir}/man1/* %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* +%{_libdir}/mysql/mysqlbug +%{_libdir}/mysql/mysql_config %dir %{_datadir}/mysql %{_datadir}/mysql/english @@ -295,6 +307,12 @@ fi %{_datadir}/sql-bench %changelog +* Wed Oct 06 2004 Tom Lane 3.23.58-12 +- fix multilib problem with mysqlbug and mysql_config +- adjust chkconfig priority per bug #128852 +- remove bogus quoting per bug #129409 (MySQL 4.0 has done likewise) +- add sleep to mysql.init restart(); may or may not fix bug #133993 + * Tue Oct 05 2004 Tom Lane 3.23.58-11 - fix low-priority security issues CAN-2004-0388, CAN-2004-0381, CAN-2004-0457 (bugs #119442, 125991, 130347, 130348) diff --git a/scriptstub.c b/scriptstub.c new file mode 100644 index 0000000..de942c1 --- /dev/null +++ b/scriptstub.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include + +/* Translate call of myself into call of same-named script in LIBDIR */ +/* The macro LIBDIR must be defined as a double-quoted string */ + +int main (int argc, char **argv) +{ + char *basename; + char *fullname; + char **newargs; + int i; + + basename = strrchr(argv[0], '/'); + if (basename) + basename++; + else + basename = argv[0]; + fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2); + sprintf(fullname, "%s/%s", LIBDIR, basename); + newargs = malloc((argc+1) * sizeof(char *)); + newargs[0] = fullname; + for (i = 1; i < argc; i++) + newargs[i] = argv[i]; + newargs[argc] = NULL; + + execvp(fullname, newargs); + + return 1; +} From e8b8fafc703faae01ac605b1ecf2f094cac533f8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 12 Oct 2004 18:15:32 +0000 Subject: [PATCH 034/616] Fix security issues CAN-2004-0835, CAN-2004-0836, CAN-2004-0837 --- mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 96c1728..7742944 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 3.23.58 -Release: 12 +Release: 13 Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -17,6 +17,7 @@ Patch5: mysql-3.23.58-typo.patch Patch6: mysql-3.23.58-symlink.patch Patch7: mysql-3.23.58-dropdb.patch Patch8: mysql-3.23.58-config.patch +Patch9: mysql-3.23.58-security.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -97,6 +98,7 @@ MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 libtoolize --force aclocal @@ -307,6 +309,11 @@ fi %{_datadir}/sql-bench %changelog +* Tue Oct 12 2004 Tom Lane 3.23.58-13 +- fix security issues CAN-2004-0835, CAN-2004-0836, CAN-2004-0837 + (bugs #135372, 135375, 135387) +- fix privilege escalation on GRANT ALL ON `Foo\_Bar` (no CVE yet) + * Wed Oct 06 2004 Tom Lane 3.23.58-12 - fix multilib problem with mysqlbug and mysql_config - adjust chkconfig priority per bug #128852 From 6773a8c88373ed559a4ea234fdd70bf18a2d89e5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Oct 2004 19:45:06 +0000 Subject: [PATCH 035/616] Fix comments in changelog, for posterity's sake. --- mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index 7742944..39463c5 100644 --- a/mysql.spec +++ b/mysql.spec @@ -312,7 +312,7 @@ fi * Tue Oct 12 2004 Tom Lane 3.23.58-13 - fix security issues CAN-2004-0835, CAN-2004-0836, CAN-2004-0837 (bugs #135372, 135375, 135387) -- fix privilege escalation on GRANT ALL ON `Foo\_Bar` (no CVE yet) +- fix privilege escalation on GRANT ALL ON `Foo\_Bar` (CAN-2004-0957) * Wed Oct 06 2004 Tom Lane 3.23.58-12 - fix multilib problem with mysqlbug and mysql_config @@ -357,7 +357,7 @@ fi * Mon Oct 27 2003 Kim Ho 3.23.58-4 - update mysql.init to wait (max 10 seconds) for mysql server to - start (#58372) + start (#58732) * Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 - re-enable Berkeley DB support (#106832) From f2a9cba9de4c8b3536fa856ffba43801640298bf Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Oct 2004 20:05:14 +0000 Subject: [PATCH 036/616] Update devel branch to MySQL 4.1.7. --- .cvsignore | 2 +- mysql-errno.patch | 7 +-- mysql-libdir.patch | 11 ++++ mysql.init | 2 +- mysql.spec | 128 ++++++++++++++++++++++++++++++++------------- sources | 2 +- 6 files changed, 109 insertions(+), 43 deletions(-) create mode 100644 mysql-libdir.patch diff --git a/.cvsignore b/.cvsignore index cc7862f..65b2ddb 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-3.23.58.tar.gz +mysql-4.1.7.tar.gz diff --git a/mysql-errno.patch b/mysql-errno.patch index e452926..adcd39f 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,6 +1,7 @@ ---- mysql-3.23.52/include/global.h.jj 2002-08-13 18:08:16.000000000 -0400 -+++ mysql-3.23.52/include/global.h 2002-11-18 18:35:10.000000000 -0500 -@@ -58,6 +58,10 @@ +diff -Naur mysql-4.1.7-orig/include/my_global.h mysql-4.1.7/include/my_global.h +--- mysql-4.1.7-orig/include/my_global.h 2004-10-23 03:28:43.000000000 -0400 ++++ mysql-4.1.7/include/my_global.h 2004-10-27 21:13:26.335448200 -0400 +@@ -102,6 +102,10 @@ #define _GNU_SOURCE 1 #endif diff --git a/mysql-libdir.patch b/mysql-libdir.patch new file mode 100644 index 0000000..b6983d2 --- /dev/null +++ b/mysql-libdir.patch @@ -0,0 +1,11 @@ +diff -Naur mysql-4.1.7-orig/scripts/mysql_config.sh mysql-4.1.7/scripts/mysql_config.sh +--- mysql-4.1.7-orig/scripts/mysql_config.sh 2004-10-23 03:28:44.000000000 -0400 ++++ mysql-4.1.7/scripts/mysql_config.sh 2004-10-27 21:15:48.762963874 -0400 +@@ -75,7 +75,6 @@ + execdir='@libexecdir@' + bindir='@bindir@' + pkglibdir='@pkglibdir@' +-fix_path pkglibdir lib/mysql lib + pkgincludedir='@pkgincludedir@' + fix_path pkgincludedir include/mysql include + version='@VERSION@' diff --git a/mysql.init b/mysql.init index f385336..c4b1187 100644 --- a/mysql.init +++ b/mysql.init @@ -34,7 +34,7 @@ start(){ fi chown -R mysql:mysql $datadir chmod 0755 $datadir - /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & + /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? # If you've removed anonymous users, this line must be changed to # use a user that is allowed to ping mysqld. diff --git a/mysql.spec b/mysql.spec index 39463c5..2c82c46 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,29 +1,21 @@ Name: mysql -Version: 3.23.58 -Release: 13 -Source0: http://www.mysql.com/Downloads/MySQL-3.23/mysql-%{version}.tar.gz +Version: 4.1.7 +Release: 2 +Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf Source4: scriptstub.c # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh -Patch0: mysql-3.23.51-manfixes.patch -Patch1: mysql-3.23.54-libdir.patch +Patch1: mysql-libdir.patch Patch2: mysql-errno.patch -Patch3: mysql-3.23.58-hotcopy.patch -Patch4: mysql-3.23.58-setpermission.patch -Patch5: mysql-3.23.58-typo.patch -Patch6: mysql-3.23.58-symlink.patch -Patch7: mysql-3.23.58-dropdb.patch -Patch8: mysql-3.23.58-config.patch -Patch9: mysql-3.23.58-security.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. -License: GPL/LGPL +License: GPL Group: Applications/Databases -Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig +Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig BuildRequires: gperf, perl, readline-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf @@ -63,7 +55,7 @@ directories. %package devel Summary: Files for development of MySQL applications. -License: LGPL +License: GPL Group: Applications/Databases Requires: %{name} = %{version} Conflicts: MySQL-devel @@ -76,7 +68,7 @@ developing MySQL applications. %package bench Summary: MySQL benchmark scripts and data. -License: GPL/LGPL +License: GPL Group: Applications/Databases Requires: %{name} = %{version} Conflicts: MySQL-bench @@ -89,16 +81,8 @@ MySQL. %prep %setup -q -%patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 libtoolize --force aclocal @@ -117,7 +101,7 @@ CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS %configure \ - --without-readline \ + --with-readline \ --without-debug \ --enable-shared \ --with-extra-charsets=complex \ @@ -173,12 +157,21 @@ install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # Doesn't contain anything rm -f Docs/manual.ps rm -fr $RPM_BUILD_ROOT/usr/mysql-test +rm -f ${RPM_BUILD_ROOT}%{_bindir}/client_test +rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err +rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution +rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.cnf rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/postinstall # compress manual bzip2 Docs/manual.txt @@ -238,21 +231,32 @@ fi %files %defattr(-,root,root) -%doc README COPYING* +%doc README COPYING %doc Docs/manual.txt.bz2 Docs/mysqld_error.txt -# /usr/bin/* except mysqladmin and safe_mysqld -%{_bindir}/[a-ln-rt-z]* %{_bindir}/msql2mysql %{_bindir}/mysql -%{_bindir}/mysql_* +%{_bindir}/mysql_config +%{_bindir}/mysql_find_rows +%{_bindir}/mysql_tableinfo +%{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess -%{_bindir}/mysql[b-z]* -%{_bindir}/my_* -%{_bindir}/myisam* +%{_bindir}/mysqladmin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlcheck +%{_bindir}/mysqldump +%{_bindir}/mysqldumpslow +%{_bindir}/mysqlimport +%{_bindir}/mysqlshow %{_infodir}/* -%{_mandir}/man1/* + +%{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysqlaccess.1* +%{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlshow.1* + %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %{_libdir}/mysql/mysqlbug @@ -277,6 +281,7 @@ fi %lang(pt) %{_datadir}/mysql/portuguese %lang(ro) %{_datadir}/mysql/romanian %lang(ru) %{_datadir}/mysql/russian +%lang(sr) %{_datadir}/mysql/serbian %lang(sk) %{_datadir}/mysql/slovak %lang(es) %{_datadir}/mysql/spanish %lang(sv) %{_datadir}/mysql/swedish @@ -287,15 +292,58 @@ fi %files server %defattr(-,root,root) %doc support-files/*.cnf -%{_bindir}/mysqladmin -%{_bindir}/safe_mysqld + +%{_bindir}/isamchk +%{_bindir}/isamlog +%{_bindir}/my_print_defaults +%{_bindir}/myisamchk +%{_bindir}/myisam_ftdump +%{_bindir}/myisamlog +%{_bindir}/myisampack +%{_bindir}/mysql_convert_table_format +%{_bindir}/mysql_create_system_tables +%{_bindir}/mysql_explain_log +%{_bindir}/mysql_fix_extensions +%{_bindir}/mysql_fix_privilege_tables +%{_bindir}/mysql_install_db +%{_bindir}/mysql_secure_installation +%{_bindir}/mysql_setpermission +%{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/mysql_zap +%{_bindir}/mysqlbug +%{_bindir}/mysqld_multi +%{_bindir}/mysqld_safe +%{_bindir}/mysqlhotcopy +%{_bindir}/mysqlmanager +%{_bindir}/mysqlmanager-pwgen +%{_bindir}/mysqlmanagerc +%{_bindir}/mysqltest +%{_bindir}/pack_isam +%{_bindir}/perror +%{_bindir}/replace +%{_bindir}/resolve_stack_dump +%{_bindir}/resolveip + /usr/libexec/* + +%{_mandir}/man1/isamchk.1* +%{_mandir}/man1/isamlog.1* +%{_mandir}/man1/mysql_zap.1* +%{_mandir}/man1/mysqld.1* +%{_mandir}/man1/mysql_fix_privilege_tables.1* +%{_mandir}/man1/mysqld_multi.1* +%{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/perror.1* +%{_mandir}/man1/replace.1* + +%dir %{_datadir}/mysql +%{_datadir}/mysql/fill_help_tables.sql +%{_datadir}/mysql/mysql_fix_privilege_tables.sql /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld %config(noreplace) /etc/logrotate.d/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql -%ghost %attr(0640,mysql,mysql) /var/log/mysqld.log -%config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log +%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log %files devel %defattr(-,root,root) @@ -309,6 +357,12 @@ fi %{_datadir}/sql-bench %changelog +* Thu Oct 28 2004 Tom Lane 4.1.7-2 +- rebuild in devel branch + +* Wed Oct 27 2004 Tom Lane 4.1.7-1 +- Update to MySQL 4.1.x. + * Tue Oct 12 2004 Tom Lane 3.23.58-13 - fix security issues CAN-2004-0835, CAN-2004-0836, CAN-2004-0837 (bugs #135372, 135375, 135387) diff --git a/sources b/sources index 50705f8..c030085 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -835a96c86132fbde0db36db60c5b34cd mysql-3.23.58.tar.gz +04c08d2a5cc39050d9fa4727f8f197e8 mysql-4.1.7.tar.gz From a30372b280acf14f2c9621e77c754b125af30994 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Oct 2004 18:20:29 +0000 Subject: [PATCH 037/616] Handle ldconfig more cleanly, per Joe Orton. --- mysql.spec | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/mysql.spec b/mysql.spec index 2c82c46..cd371bc 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 2 +Release: 3 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -176,6 +176,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/postinstall # compress manual bzip2 Docs/manual.txt +mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d +echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf + %clean rm -rf $RPM_BUILD_ROOT @@ -185,11 +188,7 @@ rm -rf $RPM_BUILD_ROOT %post /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir -if ! grep '^%{_libdir}/mysql$' /etc/ld.so.conf > /dev/null 2>&1 -then - echo "%{_libdir}/mysql" >> /etc/ld.so.conf -fi -/sbin/ldconfig %{_libdir}/mysql +/sbin/ldconfig %post server if [ $1 = 1 ]; then @@ -210,13 +209,7 @@ fi %postun if [ $1 = 0 ] ; then - if grep '^%{_libdir}/mysql$' /etc/ld.so.conf > /dev/null 2>&1 - then - grep -v '^%{_libdir}/mysql$' /etc/ld.so.conf \ - > /etc/ld.so.conf.$$ 2> /dev/null - mv /etc/ld.so.conf.$$ /etc/ld.so.conf - fi - /sbin/ldconfig %{_libdir}/mysql + /sbin/ldconfig fi @@ -261,6 +254,7 @@ fi %{_libdir}/mysql/libmysqlclient*.so.* %{_libdir}/mysql/mysqlbug %{_libdir}/mysql/mysql_config +/etc/ld.so.conf.d/* %dir %{_datadir}/mysql %{_datadir}/mysql/english @@ -357,6 +351,9 @@ fi %{_datadir}/sql-bench %changelog +* Fri Oct 29 2004 Tom Lane 4.1.7-3 +- Handle ldconfig more cleanly (put a file in /etc/ld.so.conf.d/). + * Thu Oct 28 2004 Tom Lane 4.1.7-2 - rebuild in devel branch From d317acda8a50d837802bdfbef6697f349922bf32 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 23 Nov 2004 19:03:37 +0000 Subject: [PATCH 038/616] Turn off old_passwords in default my.cnf file. --- my.cnf | 5 ++++- mysql.spec | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/my.cnf b/my.cnf index 2a915fc..1423e03 100644 --- a/my.cnf +++ b/my.cnf @@ -1,11 +1,14 @@ [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock +# Default to using old password format for compatibility with mysql 3.x +# clients (those using the mysqlclient10 compatibility package). +old_passwords=1 [mysql.server] user=mysql basedir=/var/lib -[safe_mysqld] +[mysqld_safe] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid diff --git a/mysql.spec b/mysql.spec index cd371bc..b1897e0 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 3 +Release: 4 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -351,6 +351,10 @@ fi %{_datadir}/sql-bench %changelog +* Tue Nov 23 2004 Tom Lane 4.1.7-4 +- Turn off old_passwords in default /etc/my.cnf file, for better compatibility + with mysql 3.x clients (per suggestion from Joe Orton). + * Fri Oct 29 2004 Tom Lane 4.1.7-3 - Handle ldconfig more cleanly (put a file in /etc/ld.so.conf.d/). @@ -385,7 +389,7 @@ fi - BR time * Tue Mar 16 2004 Tom Lane 3.23.58-8 -- repair logfile attributes in %files, per bug #102190 +- repair logfile attributes in %%files, per bug #102190 - repair quoting problem in mysqlhotcopy, per bug #112693 - repair missing flush in mysql_setpermission, per bug #113960 - repair broken error message printf, per bug #115165 From e5953bdf85065822a8c43a2f93185dd349dcba9a Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Thu, 2 Dec 2004 20:48:54 +0000 Subject: [PATCH 039/616] Add restorecon incase the log file gets deleted and recreated. --- mysql.init | 1 + mysql.spec | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mysql.init b/mysql.init index c4b1187..e7ce034 100644 --- a/mysql.init +++ b/mysql.init @@ -24,6 +24,7 @@ start(){ touch /var/log/mysqld.log chown mysql:mysql /var/log/mysqld.log chmod 0640 /var/log/mysqld.log + [ -x /sbin/restorecon ] && /sbin/restorecon /var/log/mysqld.log if [ ! -d $datadir/mysql ] ; then action $"Initializing MySQL database: " /usr/bin/mysql_install_db ret=$? diff --git a/mysql.spec b/mysql.spec index b1897e0..96180f1 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 4 +Release: 5 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -351,6 +351,9 @@ fi %{_datadir}/sql-bench %changelog +* Thu Dec 2 2004 Tom Lane 4.1.7-5 +- Add a restorecon to keep the mysql.log file in the right context + * Tue Nov 23 2004 Tom Lane 4.1.7-4 - Turn off old_passwords in default /etc/my.cnf file, for better compatibility with mysql 3.x clients (per suggestion from Joe Orton). From f681a34ca5ddae61af7f898709307c05bdd45ed0 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 10 Dec 2004 19:09:25 +0000 Subject: [PATCH 040/616] Fix mysql initscript failure when anonymous users are disabled (bz#142328) --- mysql.init | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/mysql.init b/mysql.init index e7ce034..86645a1 100644 --- a/mysql.init +++ b/mysql.init @@ -37,19 +37,18 @@ start(){ chmod 0755 $datadir /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? - # If you've removed anonymous users, this line must be changed to - # use a user that is allowed to ping mysqld. - ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping" - # Spin for a maximum of ten 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 + # denied" response as meaning the server is functioning. if [ $ret -eq 0 ]; then - for x in 1 2 3 4 5 6 7 8 9 10; do - if [ -n "`$ping 2> /dev/null`" ]; then - break; - else - sleep 1; - fi - done - if !([ -n "`$ping 2> /dev/null`" ]); then + STARTTIMEOUT=10 + while [ $STARTTIMEOUT -gt 0 ]; do + RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break + echo "$RESPONSE" | grep -q "Access denied for user" && break + sleep 1 + let STARTTIMEOUT=${STARTTIMEOUT}-1 + done + if [ $STARTTIMEOUT -eq 0 ]; then echo "Timeout error occurred trying to start MySQL Daemon." action $"Starting $prog: " /bin/false else From f44a0e3fa707df059c95f5b64416a9add59785b6 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 10 Dec 2004 21:03:42 +0000 Subject: [PATCH 041/616] Cause mysql init script to honor settings in my.cnf (bz#76051) --- mysql.init | 70 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/mysql.init b/mysql.init index 86645a1..91d93d8 100644 --- a/mysql.init +++ b/mysql.init @@ -18,23 +18,55 @@ prog="MySQL" -datadir="/var/lib/mysql" - -start(){ - touch /var/log/mysqld.log - chown mysql:mysql /var/log/mysqld.log - chmod 0640 /var/log/mysqld.log - [ -x /sbin/restorecon ] && /sbin/restorecon /var/log/mysqld.log - if [ ! -d $datadir/mysql ] ; then - action $"Initializing MySQL database: " /usr/bin/mysql_install_db - ret=$? - chown -R mysql:mysql $datadir - if [ $ret -ne 0 ] ; then - return $ret; +# extract value of a MySQL option from /etc/my.cnf +# Usage: get_mysql_option FILE VARNAME DEFAULT +# result is returned in $result +# Ugly as this is, it knows nothing of option file sections ... +get_mysql_option(){ + result=`sed -n "s/^[ \t]*$2[ \t]*=[ \t]*//p" "$1" 2>/dev/null | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + 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 - chown -R mysql:mysql $datadir - chmod 0755 $datadir +} + +get_mysql_option /etc/my.cnf datadir "/var/lib/mysql" +datadir="$result" +get_mysql_option /etc/my.cnf socket "$datadir/mysql.sock" +socketfile="$result" +get_mysql_option /etc/my.cnf err-log "/var/log/mysqld.log" +errlogfile="$result" +get_mysql_option /etc/my.cnf pid-file "/var/run/mysqld/mysqld.pid" +mypidfile="$result" + +start(){ + touch "$errlogfile" + chown mysql:mysql "$errlogfile" + chmod 0640 "$errlogfile" + [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" + if [ ! -d "$datadir/mysql" ] ; then + action $"Initializing MySQL database: " /usr/bin/mysql_install_db + ret=$? + chown -R mysql:mysql "$datadir" + if [ $ret -ne 0 ] ; then + return $ret + fi + fi + chown -R mysql:mysql "$datadir" + chmod 0755 "$datadir" /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$? # Spin for a maximum of N seconds waiting for the server to come up. @@ -62,21 +94,21 @@ start(){ } stop(){ - /bin/kill `cat /var/run/mysqld/mysqld.pid 2> /dev/null ` > /dev/null 2>&1 + /bin/kill `cat "$mypidfile" 2>/dev/null ` >/dev/null 2>&1 ret=$? if [ $ret -eq 0 ]; then + sleep 2 + rm -f /var/lock/subsys/mysqld + rm -f "$socketfile" action $"Stopping $prog: " /bin/true else action $"Stopping $prog: " /bin/false fi - [ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld - [ $ret -eq 0 ] && rm -f $datadir/mysql.sock return $ret } restart(){ stop - sleep 2 start } From e3c78ce63d86e8e84935e1594d47e6186dada569 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 12 Dec 2004 19:49:37 +0000 Subject: [PATCH 042/616] Enable SSL (bz#142032) --- mysql.spec | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index 96180f1..6c7638c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 5 +Release: 6 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -16,7 +16,7 @@ Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig -BuildRequires: gperf, perl, readline-devel +BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf Requires: bash @@ -102,6 +102,8 @@ export CFLAGS CXXFLAGS %configure \ --with-readline \ + --with-vio \ + --with-openssl \ --without-debug \ --enable-shared \ --with-extra-charsets=complex \ @@ -351,7 +353,12 @@ fi %{_datadir}/sql-bench %changelog -* Thu Dec 2 2004 Tom Lane 4.1.7-5 +* Sun Dec 12 2004 Tom Lane 4.1.7-6 +- Fix init script to not need a valid username for startup check (bz#142328) +- Fix init script to honor settings appearing in /etc/my.cnf (bz#76051) +- Enable SSL (bz#142032) + +* Thu Dec 2 2004 Tom Lane 4.1.7-5 - Add a restorecon to keep the mysql.log file in the right context * Tue Nov 23 2004 Tom Lane 4.1.7-4 From a7768d6f9e8695469100e30a5b04d4ce612b1e99 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 14 Dec 2004 03:04:57 +0000 Subject: [PATCH 043/616] Suppress someone's silly idea that libtool overhead can be skipped. Run make test on all archs. --- mysql.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index 6c7638c..a9b3cac 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 6 +Release: 7 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -10,6 +10,7 @@ Source4: scriptstub.c Source999: filter-requires-mysql.sh Patch1: mysql-libdir.patch Patch2: mysql-errno.patch +Patch3: mysql-libtool.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -83,6 +84,7 @@ MySQL. %patch1 -p1 %patch2 -p1 +%patch3 -p1 libtoolize --force aclocal @@ -124,9 +126,7 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} make %{?_smp_mflags} make check -%ifnarch ppc64 s390x x86_64 make test -%endif %install rm -rf $RPM_BUILD_ROOT @@ -353,6 +353,10 @@ fi %{_datadir}/sql-bench %changelog +* Mon Dec 13 2004 Tom Lane 4.1.7-7 +- Suppress someone's silly idea that libtool overhead can be skipped +- Run make test on all archs + * Sun Dec 12 2004 Tom Lane 4.1.7-6 - Fix init script to not need a valid username for startup check (bz#142328) - Fix init script to honor settings appearing in /etc/my.cnf (bz#76051) From 801031f3ed3d90a3eb346751ff935fc7778ab360 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 21 Dec 2004 21:02:47 +0000 Subject: [PATCH 044/616] Fix things so that MySQL tests can be run concurrently in 32- and 64-bit chroots. --- mysql-testing.patch | 53 +++++++++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++-- 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 mysql-testing.patch diff --git a/mysql-testing.patch b/mysql-testing.patch new file mode 100644 index 0000000..fefbe49 --- /dev/null +++ b/mysql-testing.patch @@ -0,0 +1,53 @@ +This patch is needed to improve the probability that the MySQL tests pass +in Red Hat's build environment. The 32-bit and 64-bit variants of a single +architecture may be built on the same machine at the same time, so we have +to ensure that the tests use different port numbers on a 64-bit arch than +on a 32-bit, else they will interfere with each other. Also increase a +timeout that has been observed to get violated under heavy load. + + +diff -Naur mysql-4.1.7.orig/mysql-test/mysql-test-run.sh mysql-4.1.7/mysql-test/mysql-test-run.sh +--- mysql-4.1.7.orig/mysql-test/mysql-test-run.sh 2004-10-23 03:28:47.000000000 -0400 ++++ mysql-4.1.7/mysql-test/mysql-test-run.sh 2004-12-21 15:51:11.000000000 -0500 +@@ -199,12 +199,24 @@ + + MASTER_RUNNING=0 + MASTER1_RUNNING=0 +-MASTER_MYPORT=9306 +-MASTER_MYPORT1=9307 + SLAVE_RUNNING=0 +-SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests +-MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves +-NDBCLUSTER_PORT=9350 ++# hack to allow 32- and 64-bit tests to run concurrently on same build machine ++case `uname -m` in ++ ppc64 | s390x | x86_64) ++ MASTER_MYPORT=9406 ++ MASTER_MYPORT1=9407 ++ SLAVE_MYPORT=9408 # leave room for 2 masters for cluster tests ++ MYSQL_MANAGER_PORT=9405 # needs to be out of the way of slaves ++ NDBCLUSTER_PORT=9450 ++ ;; ++ *) ++ MASTER_MYPORT=9306 ++ MASTER_MYPORT1=9307 ++ SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests ++ MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves ++ NDBCLUSTER_PORT=9350 ++ ;; ++esac + MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd + MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log + MYSQL_MANAGER_USER=root +@@ -227,9 +239,9 @@ + SLEEP_TIME_AFTER_RESTART=1 + SLEEP_TIME_FOR_DELETE=10 + SLEEP_TIME_FOR_FIRST_MASTER=400 # Enough time to create innodb tables +-SLEEP_TIME_FOR_SECOND_MASTER=30 ++SLEEP_TIME_FOR_SECOND_MASTER=60 + SLEEP_TIME_FOR_FIRST_SLAVE=400 +-SLEEP_TIME_FOR_SECOND_SLAVE=30 ++SLEEP_TIME_FOR_SECOND_SLAVE=60 + CHARACTER_SET=latin1 + DBUSER="" + START_WAIT_TIMEOUT=10 diff --git a/mysql.spec b/mysql.spec index a9b3cac..3a2a5f4 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 7 +Release: 8 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -11,6 +11,7 @@ Source999: filter-requires-mysql.sh Patch1: mysql-libdir.patch Patch2: mysql-errno.patch Patch3: mysql-libtool.patch +Patch4: mysql-testing.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -85,6 +86,7 @@ MySQL. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 libtoolize --force aclocal @@ -353,9 +355,11 @@ fi %{_datadir}/sql-bench %changelog +* Tue Dec 21 2004 Tom Lane 4.1.7-8 +- Run make test on all archs + * Mon Dec 13 2004 Tom Lane 4.1.7-7 - Suppress someone's silly idea that libtool overhead can be skipped -- Run make test on all archs * Sun Dec 12 2004 Tom Lane 4.1.7-6 - Fix init script to not need a valid username for startup check (bz#142328) From 2526eceec6c3ee4a2acd04a7c3caf3be5f71414b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 21 Dec 2004 23:28:21 +0000 Subject: [PATCH 045/616] Suppress test on s390x again (don't have time to debug it today). --- mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 3a2a5f4..fc99cea 100644 --- a/mysql.spec +++ b/mysql.spec @@ -128,7 +128,9 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} make %{?_smp_mflags} make check +%ifnarch s390x make test +%endif %install rm -rf $RPM_BUILD_ROOT @@ -356,7 +358,7 @@ fi %changelog * Tue Dec 21 2004 Tom Lane 4.1.7-8 -- Run make test on all archs +- Run make test on all archs except s390x (which seems to have a bdb issue) * Mon Dec 13 2004 Tom Lane 4.1.7-7 - Suppress someone's silly idea that libtool overhead can be skipped From 0cf72a514c323db16e5d91aacbf021dce974d267 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 12 Jan 2005 15:23:30 +0000 Subject: [PATCH 046/616] - Rebuilt for new readline. --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index fc99cea..384227a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 8 +Release: 9 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -357,6 +357,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Jan 12 2005 Tim Waugh 4.1.7-9 +- Rebuilt for new readline. + * Tue Dec 21 2004 Tom Lane 4.1.7-8 - Run make test on all archs except s390x (which seems to have a bdb issue) From 942607bce9ed897c18199648f34f82b7bdba0bb5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 12 Jan 2005 17:53:54 +0000 Subject: [PATCH 047/616] Fix for bz#143724. --- mysql.init | 5 ++++- mysql.spec | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mysql.init b/mysql.init index 91d93d8..b0ee125 100644 --- a/mysql.init +++ b/mysql.init @@ -67,7 +67,10 @@ start(){ fi chown -R mysql:mysql "$datadir" chmod 0755 "$datadir" - /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf >/dev/null 2>&1 & + # The reason for explicitly specifying --pid-file is that there may + # be no such entry in my.cnf, and the default behavior will be to not + # create it at all... + /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" >/dev/null 2>&1 & ret=$? # 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 diff --git a/mysql.spec b/mysql.spec index 384227a..60c56b3 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.7 -Release: 9 +Release: 10 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -357,6 +357,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Jan 12 2005 Tom Lane 4.1.7-10 +- Don't assume /etc/my.cnf will specify pid-file (bz#143724) + * Wed Jan 12 2005 Tim Waugh 4.1.7-9 - Rebuilt for new readline. @@ -372,7 +375,7 @@ fi - Enable SSL (bz#142032) * Thu Dec 2 2004 Tom Lane 4.1.7-5 -- Add a restorecon to keep the mysql.log file in the right context +- Add a restorecon to keep the mysql.log file in the right context (bz#143887) * Tue Nov 23 2004 Tom Lane 4.1.7-4 - Turn off old_passwords in default /etc/my.cnf file, for better compatibility From 7b606d43140c75aec5152243a025877951724914 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 16 Jan 2005 02:06:18 +0000 Subject: [PATCH 048/616] Update to MySQL 4.1.9. --- .cvsignore | 2 +- mysql-testing.patch | 15 ++++++--------- mysql.spec | 7 +++++-- sources | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.cvsignore b/.cvsignore index 65b2ddb..34f64e5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.7.tar.gz +mysql-4.1.9.tar.gz diff --git a/mysql-testing.patch b/mysql-testing.patch index fefbe49..cc6b6f4 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -6,10 +6,10 @@ on a 32-bit, else they will interfere with each other. Also increase a timeout that has been observed to get violated under heavy load. -diff -Naur mysql-4.1.7.orig/mysql-test/mysql-test-run.sh mysql-4.1.7/mysql-test/mysql-test-run.sh ---- mysql-4.1.7.orig/mysql-test/mysql-test-run.sh 2004-10-23 03:28:47.000000000 -0400 -+++ mysql-4.1.7/mysql-test/mysql-test-run.sh 2004-12-21 15:51:11.000000000 -0500 -@@ -199,12 +199,24 @@ +diff -Naur mysql-4.1.9.orig/mysql-test/mysql-test-run.sh mysql-4.1.9/mysql-test/mysql-test-run.sh +--- mysql-4.1.9.orig/mysql-test/mysql-test-run.sh 2005-01-11 17:06:03.000000000 -0500 ++++ mysql-4.1.9/mysql-test/mysql-test-run.sh 2005-01-15 19:44:10.780699826 -0500 +@@ -200,12 +200,24 @@ MASTER_RUNNING=0 MASTER1_RUNNING=0 @@ -39,12 +39,9 @@ diff -Naur mysql-4.1.7.orig/mysql-test/mysql-test-run.sh mysql-4.1.7/mysql-test/ MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log MYSQL_MANAGER_USER=root -@@ -227,9 +239,9 @@ - SLEEP_TIME_AFTER_RESTART=1 - SLEEP_TIME_FOR_DELETE=10 +@@ -230,7 +242,7 @@ SLEEP_TIME_FOR_FIRST_MASTER=400 # Enough time to create innodb tables --SLEEP_TIME_FOR_SECOND_MASTER=30 -+SLEEP_TIME_FOR_SECOND_MASTER=60 + SLEEP_TIME_FOR_SECOND_MASTER=400 SLEEP_TIME_FOR_FIRST_SLAVE=400 -SLEEP_TIME_FOR_SECOND_SLAVE=30 +SLEEP_TIME_FOR_SECOND_SLAVE=60 diff --git a/mysql.spec b/mysql.spec index 60c56b3..0e6a417 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 4.1.7 -Release: 10 +Version: 4.1.9 +Release: 1 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -357,6 +357,9 @@ fi %{_datadir}/sql-bench %changelog +* Sat Jan 15 2005 Tom Lane 4.1.9-1 +- Update to MySQL 4.1.9. + * Wed Jan 12 2005 Tom Lane 4.1.7-10 - Don't assume /etc/my.cnf will specify pid-file (bz#143724) diff --git a/sources b/sources index c030085..522c39d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -04c08d2a5cc39050d9fa4727f8f197e8 mysql-4.1.7.tar.gz +7bc44befe155d619c4e4705f68874278 mysql-4.1.9.tar.gz From 1d6e6eb7c9d73ee17c2d330afd9902c522660497 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 18 Feb 2005 15:14:13 +0000 Subject: [PATCH 049/616] Update to MySQL 4.1.10. --- .cvsignore | 2 +- mysql.spec | 9 +++++++-- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 34f64e5..c44f693 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.9.tar.gz +mysql-4.1.10.tar.gz diff --git a/mysql.spec b/mysql.spec index 0e6a417..6b16b98 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 4.1.9 +Version: 4.1.10 Release: 1 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init @@ -163,7 +163,7 @@ install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # Doesn't contain anything rm -f Docs/manual.ps rm -fr $RPM_BUILD_ROOT/usr/mysql-test -rm -f ${RPM_BUILD_ROOT}%{_bindir}/client_test +rm -f ${RPM_BUILD_ROOT}%{_bindir}/*client_test rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution @@ -173,6 +173,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.cnf +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist @@ -274,6 +275,7 @@ fi %lang(hu) %{_datadir}/mysql/hungarian %lang(it) %{_datadir}/mysql/italian %lang(ja) %{_datadir}/mysql/japanese +%lang(ja) %{_datadir}/mysql/japanese-sjis %lang(ko) %{_datadir}/mysql/korean %lang(no) %{_datadir}/mysql/norwegian %lang(no) %{_datadir}/mysql/norwegian-ny @@ -357,6 +359,9 @@ fi %{_datadir}/sql-bench %changelog +* Fri Feb 18 2005 Tom Lane 4.1.10-1 +- Update to MySQL 4.1.10. + * Sat Jan 15 2005 Tom Lane 4.1.9-1 - Update to MySQL 4.1.9. diff --git a/sources b/sources index 522c39d..827915e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7bc44befe155d619c4e4705f68874278 mysql-4.1.9.tar.gz +27b27b74f430aaeb77fb8d4e6f32ac4d mysql-4.1.10.tar.gz From 709d44eca89f824c2df7ae77e6448232f4d52465 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 5 Mar 2005 18:21:23 +0000 Subject: [PATCH 050/616] Work around probable gcc 4.0 bug. --- mysql.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 6b16b98..a491a9f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.10 -Release: 1 +Release: 2 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -12,6 +12,7 @@ Patch1: mysql-libdir.patch Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch +Patch5: mysql-4.1.10-gcc.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -87,6 +88,7 @@ MySQL. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 libtoolize --force aclocal @@ -359,6 +361,10 @@ fi %{_datadir}/sql-bench %changelog +* Sat Mar 5 2005 Tom Lane 4.1.10-2 +- Work around what seems to be a gcc 4.0 bug, but might just be excessively + tense coding in mysql. + * Fri Feb 18 2005 Tom Lane 4.1.10-1 - Update to MySQL 4.1.10. From 75e3f576f36c6af4a7cc49e0e236b5467165041f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 5 Mar 2005 21:58:09 +0000 Subject: [PATCH 051/616] Get mysql to actually build and work with devel tip gcc. --- mysql.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index a491a9f..341d736 100644 --- a/mysql.spec +++ b/mysql.spec @@ -12,7 +12,7 @@ Patch1: mysql-libdir.patch Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch -Patch5: mysql-4.1.10-gcc.patch +Patch5: mysql-4.1.10-macro-safety.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -98,6 +98,8 @@ autoheader %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# MySQL 4.1.10 definitely doesn't work under strict aliasing +CFLAGS="$CFLAGS -fno-strict-aliasing" %ifarch alpha # Can't link C++ objects into an executable without this. Odd! # -ECL 2002-12-19 @@ -362,8 +364,8 @@ fi %changelog * Sat Mar 5 2005 Tom Lane 4.1.10-2 -- Work around what seems to be a gcc 4.0 bug, but might just be excessively - tense coding in mysql. +- Need -fno-strict-aliasing in at least one place, probably more. +- Work around some C spec violations in mysql. * Fri Feb 18 2005 Tom Lane 4.1.10-1 - Update to MySQL 4.1.10. From edde2431657d1a1debc0acc498a0331566cd31e1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 6 Mar 2005 22:36:24 +0000 Subject: [PATCH 052/616] Fix package Requires: interdependencies. --- mysql.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mysql.spec b/mysql.spec index 341d736..2a84dc1 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.10 -Release: 2 +Release: 3 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -45,7 +45,7 @@ Summary: The MySQL server and related files. License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd -Requires: mysql = %{version}, sh-utils +Requires: %{name} = %{version}-%{release}, sh-utils Conflicts: MySQL-server %description server @@ -60,7 +60,7 @@ directories. Summary: Files for development of MySQL applications. License: GPL Group: Applications/Databases -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Conflicts: MySQL-devel %description devel @@ -73,7 +73,7 @@ developing MySQL applications. Summary: MySQL benchmark scripts and data. License: GPL Group: Applications/Databases -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} Conflicts: MySQL-bench %description bench @@ -363,6 +363,9 @@ fi %{_datadir}/sql-bench %changelog +* Sun Mar 6 2005 Tom Lane 4.1.10-3 +- Fix package Requires: interdependencies. + * Sat Mar 5 2005 Tom Lane 4.1.10-2 - Need -fno-strict-aliasing in at least one place, probably more. - Work around some C spec violations in mysql. From 8eee5c7eb93816dd3107f9c05aa4ee04ad341167 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 11 Mar 2005 16:09:01 +0000 Subject: [PATCH 053/616] Update to MySQL 4.1.10a to fix security vulnerabilities (bz#150868, bz#150871). --- .cvsignore | 2 +- mysql.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index c44f693..d6bc59c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.10.tar.gz +mysql-4.1.10a.tar.gz diff --git a/mysql.spec b/mysql.spec index 2a84dc1..8c0d265 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 4.1.10 -Release: 3 +Version: 4.1.10a +Release: 1 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -363,6 +363,10 @@ fi %{_datadir}/sql-bench %changelog +* Fri Mar 11 2005 Tom Lane 4.1.10a-1 +- Update to MySQL 4.1.10a to fix security vulnerabilities (bz#150868, + bz#150871). + * Sun Mar 6 2005 Tom Lane 4.1.10-3 - Fix package Requires: interdependencies. diff --git a/sources b/sources index 827915e..91e8450 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -27b27b74f430aaeb77fb8d4e6f32ac4d mysql-4.1.10.tar.gz +6a4a6a5b3d0a42a9a271b2b8867bde82 mysql-4.1.10a.tar.gz From 9f0113bbe202a783619ee66df3634e1681400f3b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 11 Mar 2005 17:25:55 +0000 Subject: [PATCH 054/616] Add CVE ids to changelog entry. --- mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 8c0d265..1a6890c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -365,7 +365,7 @@ fi %changelog * Fri Mar 11 2005 Tom Lane 4.1.10a-1 - Update to MySQL 4.1.10a to fix security vulnerabilities (bz#150868, - bz#150871). + for CAN-2005-0711, and bz#150871 for CAN-2005-0709, CAN-2005-0710). * Sun Mar 6 2005 Tom Lane 4.1.10-3 - Fix package Requires: interdependencies. From 652b269cca3dd58899faf637fbf76a49d12e93ff Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 8 Apr 2005 00:02:33 +0000 Subject: [PATCH 055/616] Update to MySQL 4.1.11 to fix bz#152911; also fix bz#154123, bz#143537. --- .cvsignore | 2 +- mysql-testing.patch | 21 +++++---------------- mysql.spec | 19 +++++++++++++------ sources | 2 +- 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/.cvsignore b/.cvsignore index d6bc59c..13ec4b4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.10a.tar.gz +mysql-4.1.11.tar.gz diff --git a/mysql-testing.patch b/mysql-testing.patch index cc6b6f4..5e4697d 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -2,19 +2,17 @@ This patch is needed to improve the probability that the MySQL tests pass in Red Hat's build environment. The 32-bit and 64-bit variants of a single architecture may be built on the same machine at the same time, so we have to ensure that the tests use different port numbers on a 64-bit arch than -on a 32-bit, else they will interfere with each other. Also increase a -timeout that has been observed to get violated under heavy load. +on a 32-bit, else they will interfere with each other. -diff -Naur mysql-4.1.9.orig/mysql-test/mysql-test-run.sh mysql-4.1.9/mysql-test/mysql-test-run.sh ---- mysql-4.1.9.orig/mysql-test/mysql-test-run.sh 2005-01-11 17:06:03.000000000 -0500 -+++ mysql-4.1.9/mysql-test/mysql-test-run.sh 2005-01-15 19:44:10.780699826 -0500 -@@ -200,12 +200,24 @@ +diff -Naur mysql-4.1.11.orig/mysql-test/mysql-test-run.sh mysql-4.1.11/mysql-test/mysql-test-run.sh +--- mysql-4.1.11.orig/mysql-test/mysql-test-run.sh 2005-04-07 16:09:59.971778102 -0400 ++++ mysql-4.1.11/mysql-test/mysql-test-run.sh 2005-04-07 16:11:29.993510299 -0400 +@@ -200,11 +200,24 @@ MASTER_RUNNING=0 MASTER1_RUNNING=0 -MASTER_MYPORT=9306 --MASTER_MYPORT1=9307 SLAVE_RUNNING=0 -SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests -MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves @@ -39,12 +37,3 @@ diff -Naur mysql-4.1.9.orig/mysql-test/mysql-test-run.sh mysql-4.1.9/mysql-test/ MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log MYSQL_MANAGER_USER=root -@@ -230,7 +242,7 @@ - SLEEP_TIME_FOR_FIRST_MASTER=400 # Enough time to create innodb tables - SLEEP_TIME_FOR_SECOND_MASTER=400 - SLEEP_TIME_FOR_FIRST_SLAVE=400 --SLEEP_TIME_FOR_SECOND_SLAVE=30 -+SLEEP_TIME_FOR_SECOND_SLAVE=60 - CHARACTER_SET=latin1 - DBUSER="" - START_WAIT_TIMEOUT=10 diff --git a/mysql.spec b/mysql.spec index 1a6890c..deb5d20 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 4.1.10a +Version: 4.1.11 Release: 1 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init @@ -12,7 +12,7 @@ Patch1: mysql-libdir.patch Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch -Patch5: mysql-4.1.10-macro-safety.patch +Patch5: mysql-threads.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -24,7 +24,6 @@ BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf Requires: bash Conflicts: MySQL -Requires: perl-DBI, perl-DBD-MySQL Obsoletes: mysql-client mysql-perl # make test requires time BuildRequires: time @@ -46,6 +45,8 @@ License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd Requires: %{name} = %{version}-%{release}, sh-utils +# mysqlhotcopy needs DBI/DBD support +Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server %description server @@ -124,7 +125,8 @@ export CFLAGS CXXFLAGS --enable-local-infile \ --enable-large-files=yes --enable-largefile=yes \ --with-berkeley-db \ - --enable-thread-safe-client + --enable-thread-safe-client \ + --with-named-thread-libs="-lpthread" gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} @@ -132,9 +134,7 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} make %{?_smp_mflags} make check -%ifnarch s390x make test -%endif %install rm -rf $RPM_BUILD_ROOT @@ -363,6 +363,13 @@ fi %{_datadir}/sql-bench %changelog +* Thu Apr 7 2005 Tom Lane 4.1.11-1 +- Update to MySQL 4.1.11 to fix bz#152911 as well as other issues +- Move perl-DBI, perl-DBD-MySQL dependencies to server package (bz#154123) +- Override configure thread library test to suppress HAVE_LINUXTHREADS check +- Fix BDB failure on s390x (bz#143537) +- At last we can enable "make test" on all arches + * Fri Mar 11 2005 Tom Lane 4.1.10a-1 - Update to MySQL 4.1.10a to fix security vulnerabilities (bz#150868, for CAN-2005-0711, and bz#150871 for CAN-2005-0709, CAN-2005-0710). diff --git a/sources b/sources index 91e8450..5f5d185 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6a4a6a5b3d0a42a9a271b2b8867bde82 mysql-4.1.10a.tar.gz +0b99001b07cad53f161ec629a6bb24ea mysql-4.1.11.tar.gz From 7d81af036178ba799b0a468a0844ad414b654f86 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 8 Apr 2005 21:58:27 +0000 Subject: [PATCH 056/616] Avoid dependency on , cause it won't build anymore on ia64. --- mysql-no-atomic.patch | 68 +++++++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++-- 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 mysql-no-atomic.patch diff --git a/mysql-no-atomic.patch b/mysql-no-atomic.patch new file mode 100644 index 0000000..4f009e2 --- /dev/null +++ b/mysql-no-atomic.patch @@ -0,0 +1,68 @@ +The idea of userland using has our kernel hackers all bent +out of shape, so don't do it. Suppressing this has another benefit too, +which is we avoid the 4-vs-8-byte problem in BDB that formerly required +mysql-threads.patch. + +If you're wondering about the hack on Docs/Makefile.am, it's to prevent +it from deciding we need to rebuild the docs after patching configure.in. + + +diff -Naur mysql-4.1.11.orig/configure.in mysql-4.1.11/configure.in +--- mysql-4.1.11.orig/configure.in 2005-04-01 06:36:51.000000000 -0500 ++++ mysql-4.1.11/configure.in 2005-04-08 16:16:18.000000000 -0400 +@@ -842,43 +842,6 @@ + AC_SUBST(WRAPLIBS) + + if test "$IS_LINUX" = "true"; then +- AC_MSG_CHECKING([for atomic operations]) +- +- atom_ops= +- AC_TRY_RUN([ +-#include +-int main() +-{ +- atomic_t v; +- +- atomic_set(&v, 23); +- atomic_add(5, &v); +- return atomic_read(&v) == 28 ? 0 : -1; +-} +- ], +- [AC_DEFINE([HAVE_ATOMIC_ADD], [1], +- [atomic_add() from (Linux only)]) +- atom_ops="${atom_ops}atomic_add "], +- ) +- AC_TRY_RUN([ +-#include +-int main() +-{ +- atomic_t v; +- +- atomic_set(&v, 23); +- atomic_sub(5, &v); +- return atomic_read(&v) == 18 ? 0 : -1; +-} +- ], +- [AC_DEFINE([HAVE_ATOMIC_SUB], [1], +- [atomic_sub() from (Linux only)]) +- atom_ops="${atom_ops}atomic_sub "], +- ) +- +- if test -z "$atom_ops"; then atom_ops="no"; fi +- AC_MSG_RESULT($atom_ops) +- + AC_ARG_WITH(pstack, + [ --with-pstack Use the pstack backtrace library], + [ USE_PSTACK=$withval ], +diff -Naur mysql-4.1.11.orig/Docs/Makefile.am mysql-4.1.11/Docs/Makefile.am +--- mysql-4.1.11.orig/Docs/Makefile.am 2005-04-01 06:36:45.000000000 -0500 ++++ mysql-4.1.11/Docs/Makefile.am 2005-04-08 16:47:02.865502712 -0400 +@@ -41,7 +41,7 @@ + ######################################################################### + + # The Makefile contains the previous version so we can not use that +-include.texi: ../configure.in ++include.texi: + echo "@c This file is autogenerated by the Makefile" > $@ + echo -n "@set mysqlversion " >> $@ + grep "AM_INIT_AUTOMAKE(mysql, " ../configure.in | \ diff --git a/mysql.spec b/mysql.spec index deb5d20..35e1a44 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.11 -Release: 1 +Release: 2 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -12,7 +12,7 @@ Patch1: mysql-libdir.patch Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch -Patch5: mysql-threads.patch +Patch5: mysql-no-atomic.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -363,6 +363,10 @@ fi %{_datadir}/sql-bench %changelog +* Fri Apr 8 2005 Tom Lane 4.1.11-2 +- Avoid dependency on , cause it won't build anymore on ia64. + This is probably a cleaner solution for bz#143537, too. + * Thu Apr 7 2005 Tom Lane 4.1.11-1 - Update to MySQL 4.1.11 to fix bz#152911 as well as other issues - Move perl-DBI, perl-DBD-MySQL dependencies to server package (bz#154123) From 70494806c98b8866e09180b86d8ef06c90bda730 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 26 Apr 2005 04:34:53 +0000 Subject: [PATCH 057/616] Enable openssl tests during build, per bz#155850 --- mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 35e1a44..e008c71 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.11 -Release: 2 +Release: 3 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -13,6 +13,7 @@ Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch +Patch6: mysql-test-ssl.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -90,6 +91,7 @@ MySQL. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 libtoolize --force aclocal @@ -126,6 +128,7 @@ export CFLAGS CXXFLAGS --enable-large-files=yes --enable-largefile=yes \ --with-berkeley-db \ --enable-thread-safe-client \ + --disable-dependency-tracking \ --with-named-thread-libs="-lpthread" gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} @@ -363,6 +366,10 @@ fi %{_datadir}/sql-bench %changelog +* Mon Apr 25 2005 Tom Lane 4.1.11-3 +- Enable openssl tests during build, per bz#155850 +- Might as well turn on --disable-dependency-tracking + * Fri Apr 8 2005 Tom Lane 4.1.11-2 - Avoid dependency on , cause it won't build anymore on ia64. This is probably a cleaner solution for bz#143537, too. From b6945290bc0c7e9bd2c0e9247f456b3837508707 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 9 May 2005 20:15:04 +0000 Subject: [PATCH 058/616] Trial patch for OpenSSL threading issues, per bz#155850. --- mysql.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index e008c71..6b62567 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.11 -Release: 3 +Release: 4 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -13,7 +13,8 @@ Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch -Patch6: mysql-test-ssl.patch +Patch6: mysql-lock-ssl.patch +Patch7: mysql-test-ssl.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -92,6 +93,7 @@ MySQL. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 libtoolize --force aclocal @@ -366,6 +368,9 @@ fi %{_datadir}/sql-bench %changelog +* Mon May 9 2005 Tom Lane 4.1.11-4 +- Include proper locking for OpenSSL in the server, per bz#155850 + * Mon Apr 25 2005 Tom Lane 4.1.11-3 - Enable openssl tests during build, per bz#155850 - Might as well turn on --disable-dependency-tracking From 229de3d260d05691f7ec86980c78b91b0b6aedc5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 12 Jul 2005 02:22:11 +0000 Subject: [PATCH 059/616] Update to MySQL 4.1.12. Get the openssl regression tests to pass. --- .cvsignore | 2 +- mysql-no-atomic.patch | 25 +++++-------------------- mysql.spec | 24 ++++++++++++++---------- sources | 2 +- 4 files changed, 21 insertions(+), 32 deletions(-) diff --git a/.cvsignore b/.cvsignore index 13ec4b4..c07bf39 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.11.tar.gz +mysql-4.1.12.tar.gz diff --git a/mysql-no-atomic.patch b/mysql-no-atomic.patch index 4f009e2..0a1cb4a 100644 --- a/mysql-no-atomic.patch +++ b/mysql-no-atomic.patch @@ -3,17 +3,14 @@ out of shape, so don't do it. Suppressing this has another benefit too, which is we avoid the 4-vs-8-byte problem in BDB that formerly required mysql-threads.patch. -If you're wondering about the hack on Docs/Makefile.am, it's to prevent -it from deciding we need to rebuild the docs after patching configure.in. - -diff -Naur mysql-4.1.11.orig/configure.in mysql-4.1.11/configure.in ---- mysql-4.1.11.orig/configure.in 2005-04-01 06:36:51.000000000 -0500 -+++ mysql-4.1.11/configure.in 2005-04-08 16:16:18.000000000 -0400 -@@ -842,43 +842,6 @@ +diff -Naur mysql-4.1.12.orig/configure.in mysql-4.1.12/configure.in +--- mysql-4.1.12.orig/configure.in 2005-05-13 07:32:33.000000000 -0400 ++++ mysql-4.1.12/configure.in 2005-07-11 12:16:28.000000000 -0400 +@@ -862,43 +862,6 @@ AC_SUBST(WRAPLIBS) - if test "$IS_LINUX" = "true"; then + if test "$TARGET_LINUX" = "true"; then - AC_MSG_CHECKING([for atomic operations]) - - atom_ops= @@ -54,15 +51,3 @@ diff -Naur mysql-4.1.11.orig/configure.in mysql-4.1.11/configure.in AC_ARG_WITH(pstack, [ --with-pstack Use the pstack backtrace library], [ USE_PSTACK=$withval ], -diff -Naur mysql-4.1.11.orig/Docs/Makefile.am mysql-4.1.11/Docs/Makefile.am ---- mysql-4.1.11.orig/Docs/Makefile.am 2005-04-01 06:36:45.000000000 -0500 -+++ mysql-4.1.11/Docs/Makefile.am 2005-04-08 16:47:02.865502712 -0400 -@@ -41,7 +41,7 @@ - ######################################################################### - - # The Makefile contains the previous version so we can not use that --include.texi: ../configure.in -+include.texi: - echo "@c This file is autogenerated by the Makefile" > $@ - echo -n "@set mysqlversion " >> $@ - grep "AM_INIT_AUTOMAKE(mysql, " ../configure.in | \ diff --git a/mysql.spec b/mysql.spec index 6b62567..b23ebe3 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 4.1.11 -Release: 4 +Version: 4.1.12 +Release: 1 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -64,6 +64,7 @@ Summary: Files for development of MySQL applications. License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} +Requires: openssl-devel Conflicts: MySQL-devel %description devel @@ -119,16 +120,16 @@ export CFLAGS CXXFLAGS --with-openssl \ --without-debug \ --enable-shared \ - --with-extra-charsets=complex \ --with-bench \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-innodb \ + --with-isam \ + --with-berkeley-db \ --enable-local-infile \ --enable-large-files=yes --enable-largefile=yes \ - --with-berkeley-db \ --enable-thread-safe-client \ --disable-dependency-tracking \ --with-named-thread-libs="-lpthread" @@ -169,8 +170,6 @@ install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config -# Doesn't contain anything -rm -f Docs/manual.ps rm -fr $RPM_BUILD_ROOT/usr/mysql-test rm -f ${RPM_BUILD_ROOT}%{_bindir}/*client_test rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err @@ -189,9 +188,6 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/postinstall -# compress manual -bzip2 Docs/manual.txt - mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -241,7 +237,6 @@ fi %files %defattr(-,root,root) %doc README COPYING -%doc Docs/manual.txt.bz2 Docs/mysqld_error.txt %{_bindir}/msql2mysql %{_bindir}/mysql @@ -368,6 +363,15 @@ fi %{_datadir}/sql-bench %changelog +* Mon Jul 11 2005 Tom Lane 4.1.12-1 +- Update to MySQL 4.1.12 (includes a fix for bz#158688, bz#158689) +- Extend mysql-test-ssl.patch to solve rpl_openssl test failure (bz#155850) +- Update mysql-lock-ssl.patch to match the upstream committed version +- Add --with-isam to re-enable the old ISAM table type, per bz#159262 +- Add dependency on openssl-devel per bz#159569 +- Remove manual.txt, as upstream decided not to ship it anymore; + it was redundant with the mysql.info file anyway. + * Mon May 9 2005 Tom Lane 4.1.11-4 - Include proper locking for OpenSSL in the server, per bz#155850 diff --git a/sources b/sources index 5f5d185..07d5fa7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0b99001b07cad53f161ec629a6bb24ea mysql-4.1.11.tar.gz +56a6f5cacd97ae290e07bbe19f279af1 mysql-4.1.12.tar.gz From ee8d597ef6f76b7b83e9add2a7ade201cc1d54e4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 12 Jul 2005 18:37:08 +0000 Subject: [PATCH 060/616] Fix another instance of not-very-exciting buffer overflow. --- mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index b23ebe3..75b2385 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.12 -Release: 1 +Release: 2 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -15,6 +15,7 @@ Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-lock-ssl.patch Patch7: mysql-test-ssl.patch +Patch8: mysql-buffer-nazi.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -95,6 +96,7 @@ MySQL. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 libtoolize --force aclocal @@ -363,6 +365,11 @@ fi %{_datadir}/sql-bench %changelog +* Tue Jul 12 2005 Tom Lane 4.1.12-2 +- Fix buffer overflow newly exposed in isam code; it's the same issue + previously found in myisam, and not very exciting, but I'm tired of + seeing build warnings. + * Mon Jul 11 2005 Tom Lane 4.1.12-1 - Update to MySQL 4.1.12 (includes a fix for bz#158688, bz#158689) - Extend mysql-test-ssl.patch to solve rpl_openssl test failure (bz#155850) From 1ead66d7dbbd551fa9e2e52acf1a3aa2da42fcc3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 23 Aug 2005 13:11:06 +0000 Subject: [PATCH 061/616] Use politically correct patch name. --- mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index 75b2385..33fd256 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 4.1.12 -Release: 2 +Release: 3 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -15,7 +15,7 @@ Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-lock-ssl.patch Patch7: mysql-test-ssl.patch -Patch8: mysql-buffer-nazi.patch +Patch8: mysql-buffer-warning.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -365,6 +365,9 @@ fi %{_datadir}/sql-bench %changelog +* Tue Aug 23 2005 Tom Lane 4.1.12-3 +- Use politically correct patch name. + * Tue Jul 12 2005 Tom Lane 4.1.12-2 - Fix buffer overflow newly exposed in isam code; it's the same issue previously found in myisam, and not very exciting, but I'm tired of From a5079af36cb60a3789baf54f620565f9c7d234ba Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 5 Oct 2005 20:10:54 +0000 Subject: [PATCH 062/616] Update to MySQL 4.1.14. --- .cvsignore | 2 +- mysql.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index c07bf39..f6799cc 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.12.tar.gz +mysql-4.1.14.tar.gz diff --git a/mysql.spec b/mysql.spec index 33fd256..290e6f4 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 4.1.12 -Release: 3 +Version: 4.1.14 +Release: 1 Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -365,6 +365,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Oct 5 2005 Tom Lane 4.1.14-1 +- Update to MySQL 4.1.14 + * Tue Aug 23 2005 Tom Lane 4.1.12-3 - Use politically correct patch name. diff --git a/sources b/sources index 07d5fa7..892429a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -56a6f5cacd97ae290e07bbe19f279af1 mysql-4.1.12.tar.gz +98ba9caea24b0a48ee06bb242ff2e37f mysql-4.1.14.tar.gz From 6cfe7c32f0be01157707477ebea08a8d56314a35 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 3 Nov 2005 03:30:48 +0000 Subject: [PATCH 063/616] Update to MySQL 5.0.15. --- .cvsignore | 2 +- mysql-errno.patch | 14 +++++++------- mysql.spec | 31 ++++++++++++------------------- sources | 2 +- 4 files changed, 21 insertions(+), 28 deletions(-) diff --git a/.cvsignore b/.cvsignore index f6799cc..822df92 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-4.1.14.tar.gz +mysql-5.0.15.tar.gz diff --git a/mysql-errno.patch b/mysql-errno.patch index adcd39f..ad8531e 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,7 +1,7 @@ -diff -Naur mysql-4.1.7-orig/include/my_global.h mysql-4.1.7/include/my_global.h ---- mysql-4.1.7-orig/include/my_global.h 2004-10-23 03:28:43.000000000 -0400 -+++ mysql-4.1.7/include/my_global.h 2004-10-27 21:13:26.335448200 -0400 -@@ -102,6 +102,10 @@ +diff -Naur mysql-5.0.15.orig/include/my_global.h mysql-5.0.15/include/my_global.h +--- mysql-5.0.15.orig/include/my_global.h 2005-10-16 21:27:27.000000000 -0400 ++++ mysql-5.0.15/include/my_global.h 2005-11-02 16:16:37.000000000 -0500 +@@ -107,6 +107,10 @@ #define _GNU_SOURCE 1 #endif @@ -9,6 +9,6 @@ diff -Naur mysql-4.1.7-orig/include/my_global.h mysql-4.1.7/include/my_global.h +#define HAVE_ERRNO_AS_DEFINE +#endif + - /* The client defines this to avoid all thread code */ - #if defined(UNDEF_THREADS_HACK) - #undef THREAD + /* + Temporary solution to solve bug#7156. Include "sys/types.h" before + the thread headers, else the function madvise() will not be defined diff --git a/mysql.spec b/mysql.spec index 290e6f4..47342c8 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,7 +1,7 @@ Name: mysql -Version: 4.1.14 +Version: 5.0.15 Release: 1 -Source0: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-%{version}.tar.gz +Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf @@ -13,9 +13,7 @@ Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch -Patch6: mysql-lock-ssl.patch -Patch7: mysql-test-ssl.patch -Patch8: mysql-buffer-warning.patch +Patch6: mysql-test-ssl.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -95,8 +93,6 @@ MySQL. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%patch8 -p1 libtoolize --force aclocal @@ -118,7 +114,6 @@ export CFLAGS CXXFLAGS %configure \ --with-readline \ - --with-vio \ --with-openssl \ --without-debug \ --enable-shared \ @@ -128,10 +123,9 @@ export CFLAGS CXXFLAGS --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-innodb \ - --with-isam \ --with-berkeley-db \ --enable-local-infile \ - --enable-large-files=yes --enable-largefile=yes \ + --enable-largefile \ --enable-thread-safe-client \ --disable-dependency-tracking \ --with-named-thread-libs="-lpthread" @@ -281,7 +275,6 @@ fi %lang(hu) %{_datadir}/mysql/hungarian %lang(it) %{_datadir}/mysql/italian %lang(ja) %{_datadir}/mysql/japanese -%lang(ja) %{_datadir}/mysql/japanese-sjis %lang(ko) %{_datadir}/mysql/korean %lang(no) %{_datadir}/mysql/norwegian %lang(no) %{_datadir}/mysql/norwegian-ny @@ -301,8 +294,6 @@ fi %defattr(-,root,root) %doc support-files/*.cnf -%{_bindir}/isamchk -%{_bindir}/isamlog %{_bindir}/my_print_defaults %{_bindir}/myisamchk %{_bindir}/myisam_ftdump @@ -322,11 +313,11 @@ fi %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe %{_bindir}/mysqlhotcopy -%{_bindir}/mysqlmanager -%{_bindir}/mysqlmanager-pwgen -%{_bindir}/mysqlmanagerc +%{_bindir}/mysqltestmanager +%{_bindir}/mysqltestmanager-pwgen +%{_bindir}/mysqltestmanagerc %{_bindir}/mysqltest -%{_bindir}/pack_isam +%{_bindir}/innochecksum %{_bindir}/perror %{_bindir}/replace %{_bindir}/resolve_stack_dump @@ -334,8 +325,6 @@ fi /usr/libexec/* -%{_mandir}/man1/isamchk.1* -%{_mandir}/man1/isamlog.1* %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqld.1* %{_mandir}/man1/mysql_fix_privilege_tables.1* @@ -345,6 +334,7 @@ fi %{_mandir}/man1/replace.1* %dir %{_datadir}/mysql +%{_datadir}/mysql/errmsg.txt %{_datadir}/mysql/fill_help_tables.sql %{_datadir}/mysql/mysql_fix_privilege_tables.sql /etc/rc.d/init.d/mysqld @@ -365,6 +355,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Nov 2 2005 Tom Lane 5.0.15-1 +- Update to MySQL 5.0.15 + * Wed Oct 5 2005 Tom Lane 4.1.14-1 - Update to MySQL 4.1.14 diff --git a/sources b/sources index 892429a..5a979c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -98ba9caea24b0a48ee06bb242ff2e37f mysql-4.1.14.tar.gz +b19e03de0ec348552b4bfac2e215f335 mysql-5.0.15.tar.gz From 850b2a0e7ec494c5539d1f5a3efe67eea17676b9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 3 Nov 2005 04:05:15 +0000 Subject: [PATCH 064/616] Merge mysql-test-ssl.patch into mysql-testing.patch since the latter turns out to have to touch the same files to work properly in 5.0. --- mysql-testing.patch | 39 +++++++++++++++++++++++++++++++++++---- mysql.spec | 2 -- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/mysql-testing.patch b/mysql-testing.patch index 5e4697d..d32d363 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -4,11 +4,42 @@ architecture may be built on the same machine at the same time, so we have to ensure that the tests use different port numbers on a 64-bit arch than on a 32-bit, else they will interfere with each other. +We also have to hack the top-level Makefile to enable the openssl regression +tests. (Why doesn't this happen automatically given the configure option??) -diff -Naur mysql-4.1.11.orig/mysql-test/mysql-test-run.sh mysql-4.1.11/mysql-test/mysql-test-run.sh ---- mysql-4.1.11.orig/mysql-test/mysql-test-run.sh 2005-04-07 16:09:59.971778102 -0400 -+++ mysql-4.1.11/mysql-test/mysql-test-run.sh 2005-04-07 16:11:29.993510299 -0400 -@@ -200,11 +200,24 @@ +Note: keep an eye on which version of "mysql-test-run" gets invoked by +the "make test" target. In the 4.1 branch this is now defaulting to the +perl script, but 5.0 is not (yet?) doing that; they also seem to be fooling +with a C-code version. Besides this patch, mysql-libtool.patch +would need to be changed to use either one. + + +diff -Naur mysql-5.0.15.orig/Makefile.am mysql-5.0.15/Makefile.am +--- mysql-5.0.15.orig/Makefile.am 2005-10-16 21:27:31.000000000 -0400 ++++ mysql-5.0.15/Makefile.am 2005-11-02 22:56:50.000000000 -0500 +@@ -97,16 +97,9 @@ + support-files/build-tags + .PHONY: init-db bin-dist + +-# Test installation. Ports are configurable from the environment. ++# Test installation. Ports are determined by code in mysql-test-run.sh + +-MYSQL_TEST_MANAGER_PORT = 9305 +-MYSQL_TEST_MASTER_PORT = 9306 +-MYSQL_TEST_SLAVE_PORT = 9308 +-MYSQL_TEST_NDB_PORT = 9350 +-MYSQL_TEST_RUN_ARGS = --manager-port=$(MYSQL_TEST_MANAGER_PORT) \ +- --master_port=$(MYSQL_TEST_MASTER_PORT) \ +- --slave_port=$(MYSQL_TEST_SLAVE_PORT) \ +- --ndbcluster_port=$(MYSQL_TEST_NDB_PORT) ++MYSQL_TEST_RUN_ARGS = --with-openssl + + test: + cd mysql-test ; \ +diff -Naur mysql-5.0.15.orig/mysql-test/mysql-test-run.sh mysql-5.0.15/mysql-test/mysql-test-run.sh +--- mysql-5.0.15.orig/mysql-test/mysql-test-run.sh 2005-10-16 21:27:55.000000000 -0400 ++++ mysql-5.0.15/mysql-test/mysql-test-run.sh 2005-11-02 22:55:14.000000000 -0500 +@@ -208,11 +208,24 @@ MASTER_RUNNING=0 MASTER1_RUNNING=0 diff --git a/mysql.spec b/mysql.spec index 47342c8..7d1e63c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -13,7 +13,6 @@ Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch -Patch6: mysql-test-ssl.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -92,7 +91,6 @@ MySQL. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 libtoolize --force aclocal From 97abdcf441b5c3dbb7334575a8cdb6e9bbd0a49f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 4 Nov 2005 00:13:28 +0000 Subject: [PATCH 065/616] Work around a regression test problem. --- mysql-rpl_ddl.patch | 25 +++++++++++++++++++++++++ mysql.spec | 6 ++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 mysql-rpl_ddl.patch diff --git a/mysql-rpl_ddl.patch b/mysql-rpl_ddl.patch new file mode 100644 index 0000000..b760c0e --- /dev/null +++ b/mysql-rpl_ddl.patch @@ -0,0 +1,25 @@ +diff -Naur mysql-5.0.15.orig/mysql-test/r/rpl_ddl.result mysql-5.0.15/mysql-test/r/rpl_ddl.result +--- mysql-5.0.15.orig/mysql-test/r/rpl_ddl.result 2005-10-16 21:37:08.000000000 -0400 ++++ mysql-5.0.15/mysql-test/r/rpl_ddl.result 2005-11-03 17:28:30.000000000 -0500 +@@ -1688,6 +1688,7 @@ + -------- switch to slave ------- + SELECT user FROM mysql.user WHERE user = 'rename1'; + user ++flush privileges; + DROP DATABASE IF EXISTS mysqltest1; + DROP DATABASE IF EXISTS mysqltest2; + DROP DATABASE IF EXISTS mysqltest3; +diff -Naur mysql-5.0.15.orig/mysql-test/t/rpl_ddl.test mysql-5.0.15/mysql-test/t/rpl_ddl.test +--- mysql-5.0.15.orig/mysql-test/t/rpl_ddl.test 2005-10-16 21:37:08.000000000 -0400 ++++ mysql-5.0.15/mysql-test/t/rpl_ddl.test 2005-11-03 17:28:28.000000000 -0500 +@@ -498,6 +498,10 @@ + SELECT user FROM mysql.user WHERE user = 'rename1'; + connection master; + ++# Needed to avoid failure in next test on some platforms ... ++# this probably indicates an underlying MySQL bug ... ++flush privileges; ++ + ############################################################### + # Cleanup + ############################################################### diff --git a/mysql.spec b/mysql.spec index 7d1e63c..ee61269 100644 --- a/mysql.spec +++ b/mysql.spec @@ -13,6 +13,7 @@ Patch2: mysql-errno.patch Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch +Patch6: mysql-rpl_ddl.patch URL: http://www.mysql.com BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: MySQL client programs and shared libraries. @@ -91,6 +92,7 @@ MySQL. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 libtoolize --force aclocal @@ -353,8 +355,8 @@ fi %{_datadir}/sql-bench %changelog -* Wed Nov 2 2005 Tom Lane 5.0.15-1 -- Update to MySQL 5.0.15 +* Thu Nov 3 2005 Tom Lane 5.0.15-1 +- Update to MySQL 5.0.15 (scratch build for now) * Wed Oct 5 2005 Tom Lane 4.1.14-1 - Update to MySQL 4.1.14 From e8b83fa1288c83abd5ea4ec5eea588ba7eeaef28 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 9 Nov 2005 21:02:25 +0000 Subject: [PATCH 066/616] Rebuild due to openssl library update. --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index ee61269..dd89a4e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.15 -Release: 1 +Release: 2 Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -355,6 +355,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Nov 9 2005 Tom Lane 5.0.15-2 +- Rebuild due to openssl library update. + * Thu Nov 3 2005 Tom Lane 5.0.15-1 - Update to MySQL 5.0.15 (scratch build for now) From 96aca199d7818428e280aa7a5900ca8d91d784f3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 14 Nov 2005 17:31:18 +0000 Subject: [PATCH 067/616] Make stop script wait for daemon process to disappear (bz#172426) --- mysql.init | 41 +++++++++++++++++++++++++++++------------ mysql.spec | 5 ++++- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/mysql.init b/mysql.init index b0ee125..7504156 100644 --- a/mysql.init +++ b/mysql.init @@ -76,7 +76,7 @@ start(){ # Rather than assuming we know a valid username, accept an "access # denied" response as meaning the server is functioning. if [ $ret -eq 0 ]; then - STARTTIMEOUT=10 + STARTTIMEOUT=30 while [ $STARTTIMEOUT -gt 0 ]; do RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break echo "$RESPONSE" | grep -q "Access denied for user" && break @@ -97,17 +97,34 @@ start(){ } stop(){ - /bin/kill `cat "$mypidfile" 2>/dev/null ` >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - sleep 2 - rm -f /var/lock/subsys/mysqld - rm -f "$socketfile" - action $"Stopping $prog: " /bin/true - else - action $"Stopping $prog: " /bin/false - fi - return $ret + MYSQLPID=`cat "$mypidfile" 2>/dev/null ` + if [ -n "$MYSQLPID" ]; then + /bin/kill "$MYSQLPID" >/dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + STOPTIMEOUT=60 + while [ $STOPTIMEOUT -gt 0 ]; do + /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break + sleep 1 + let STOPTIMEOUT=${STOPTIMEOUT}-1 + done + if [ $STOPTIMEOUT -eq 0 ]; then + echo "Timeout error occurred trying to stop MySQL Daemon." + ret=1 + action $"Stopping $prog: " /bin/false + else + rm -f /var/lock/subsys/mysqld + rm -f "$socketfile" + action $"Stopping $prog: " /bin/true + fi + else + action $"Stopping $prog: " /bin/false + fi + else + ret=1 + action $"Stopping $prog: " /bin/false + fi + return $ret } restart(){ diff --git a/mysql.spec b/mysql.spec index dd89a4e..0afdc7d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.15 -Release: 2 +Release: 3 Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -355,6 +355,9 @@ fi %{_datadir}/sql-bench %changelog +* Mon Nov 14 2005 Tom Lane 5.0.15-3 +- Make stop script wait for daemon process to disappear (bz#172426) + * Wed Nov 9 2005 Tom Lane 5.0.15-2 - Rebuild due to openssl library update. From abac1f73852ab245261c7add42cda641791a9ee4 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 9 Dec 2005 22:42:12 +0000 Subject: [PATCH 068/616] gcc update bump --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 0afdc7d..326c087 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.15 -Release: 3 +Release: 3.1 Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate @@ -355,6 +355,9 @@ fi %{_datadir}/sql-bench %changelog +* Fri Dec 09 2005 Jesse Keating +- rebuilt + * Mon Nov 14 2005 Tom Lane 5.0.15-3 - Make stop script wait for daemon process to disappear (bz#172426) From cae1c674f9da5b5670185595ee11dd0d6932a5ef Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 10 Dec 2005 05:13:43 +0000 Subject: [PATCH 069/616] Update to MySQL 5.0.16; kluge around header multilib problem. --- .cvsignore | 2 +- my_config.h | 30 ++++++++++++++++++++ mysql-testing.patch | 66 +++++++++++++++---------------------------- mysql.spec | 68 ++++++++++++++++++++++++++++++++------------- sources | 2 +- 5 files changed, 103 insertions(+), 65 deletions(-) create mode 100644 my_config.h diff --git a/.cvsignore b/.cvsignore index 822df92..94ef3b2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.15.tar.gz +mysql-5.0.16.tar.gz diff --git a/my_config.h b/my_config.h new file mode 100644 index 0000000..6dd04f9 --- /dev/null +++ b/my_config.h @@ -0,0 +1,30 @@ +/* + * Kluge to support multilib installation of both 32- and 64-bit RPMS: + * we need to arrange that header files that appear in both RPMs are + * identical. Hence, this file is architecture-independent and calls + * in an arch-dependent file that will appear in just one RPM. + * + * Note: this may well fail if user tries to use gcc's -I- option. + * But that option is deprecated anyway. + */ +#ifdef __i386__ +#include "my_config_i386.h" +#endif +#ifdef __x86_64__ +#include "my_config_x86_64.h" +#endif +#ifdef __ia64__ +#include "my_config_ia64.h" +#endif +#ifdef __ppc__ +#include "my_config_ppc.h" +#endif +#ifdef __ppc64__ +#include "my_config_ppc64.h" +#endif +#ifdef __s390__ +#include "my_config_s390.h" +#endif +#ifdef __s390x__ +#include "my_config_s390x.h" +#endif diff --git a/mysql-testing.patch b/mysql-testing.patch index d32d363..5453b64 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -14,57 +14,37 @@ with a C-code version. Besides this patch, mysql-libtool.patch would need to be changed to use either one. -diff -Naur mysql-5.0.15.orig/Makefile.am mysql-5.0.15/Makefile.am ---- mysql-5.0.15.orig/Makefile.am 2005-10-16 21:27:31.000000000 -0400 -+++ mysql-5.0.15/Makefile.am 2005-11-02 22:56:50.000000000 -0500 -@@ -97,16 +97,9 @@ - support-files/build-tags - .PHONY: init-db bin-dist - --# Test installation. Ports are configurable from the environment. -+# Test installation. Ports are determined by code in mysql-test-run.sh - --MYSQL_TEST_MANAGER_PORT = 9305 --MYSQL_TEST_MASTER_PORT = 9306 --MYSQL_TEST_SLAVE_PORT = 9308 --MYSQL_TEST_NDB_PORT = 9350 --MYSQL_TEST_RUN_ARGS = --manager-port=$(MYSQL_TEST_MANAGER_PORT) \ -- --master_port=$(MYSQL_TEST_MASTER_PORT) \ -- --slave_port=$(MYSQL_TEST_SLAVE_PORT) \ -- --ndbcluster_port=$(MYSQL_TEST_NDB_PORT) -+MYSQL_TEST_RUN_ARGS = --with-openssl +diff -Naur mysql-5.0.16.orig/Makefile.am mysql-5.0.16/Makefile.am +--- mysql-5.0.16.orig/Makefile.am 2005-11-14 19:12:31.000000000 -0500 ++++ mysql-5.0.16/Makefile.am 2005-12-09 18:29:31.000000000 -0500 +@@ -107,8 +107,8 @@ test: cd mysql-test ; \ -diff -Naur mysql-5.0.15.orig/mysql-test/mysql-test-run.sh mysql-5.0.15/mysql-test/mysql-test-run.sh ---- mysql-5.0.15.orig/mysql-test/mysql-test-run.sh 2005-10-16 21:27:55.000000000 -0400 -+++ mysql-5.0.15/mysql-test/mysql-test-run.sh 2005-11-02 22:55:14.000000000 -0500 -@@ -208,11 +208,24 @@ +- ./mysql-test-run && \ +- ./mysql-test-run --ps-protocol ++ ./mysql-test-run --with-openssl && \ ++ ./mysql-test-run --ps-protocol --with-openssl - MASTER_RUNNING=0 - MASTER1_RUNNING=0 --MASTER_MYPORT=9306 - SLAVE_RUNNING=0 --SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests --MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves --NDBCLUSTER_PORT=9350 + test-force: + cd mysql-test; \ +diff -Naur mysql-5.0.16.orig/mysql-test/mysql-test-run.sh mysql-5.0.16/mysql-test/mysql-test-run.sh +--- mysql-5.0.16.orig/mysql-test/mysql-test-run.sh 2005-11-14 19:12:46.000000000 -0500 ++++ mysql-5.0.16/mysql-test/mysql-test-run.sh 2005-12-09 18:34:09.000000000 -0500 +@@ -222,6 +222,16 @@ + # an environment variable can be used to control all ports. A small + # number is to be used, 0 - 16 or similar. + # +# hack to allow 32- and 64-bit tests to run concurrently on same build machine +case `uname -m` in + ppc64 | s390x | x86_64) -+ MASTER_MYPORT=9406 -+ MASTER_MYPORT1=9407 -+ SLAVE_MYPORT=9408 # leave room for 2 masters for cluster tests -+ MYSQL_MANAGER_PORT=9405 # needs to be out of the way of slaves -+ NDBCLUSTER_PORT=9450 ++ MTR_BUILD_THREAD=7 + ;; + *) -+ MASTER_MYPORT=9306 -+ MASTER_MYPORT1=9307 -+ SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests -+ MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves -+ NDBCLUSTER_PORT=9350 ++ MTR_BUILD_THREAD=11 + ;; +esac - MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd - MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log - MYSQL_MANAGER_USER=root ++ + if [ -n "$MTR_BUILD_THREAD" ] ; then + MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 5 + 10000` + MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2` diff --git a/mysql.spec b/mysql.spec index 326c087..144e9a3 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,11 +1,20 @@ Name: mysql -Version: 5.0.15 -Release: 3.1 +Version: 5.0.16 +Release: 1 +Summary: MySQL client programs and shared libraries. +License: GPL +Group: Applications/Databases +URL: http://www.mysql.com + +# Regression tests take a long time, you can skip 'em with this +%{!?runselftest:%define runselftest 1} + Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source1: mysql.init Source2: mysql.logrotate Source3: my.cnf Source4: scriptstub.c +Source5: my_config.h # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh Patch1: mysql-libdir.patch @@ -14,11 +23,8 @@ Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-rpl_ddl.patch -URL: http://www.mysql.com + BuildRoot: %{_tmppath}/%{name}-%{version}-root -Summary: MySQL client programs and shared libraries. -License: GPL -Group: Applications/Databases Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel @@ -35,7 +41,7 @@ BuildRequires: time %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) -and many different client programs and libraries. This package +and many different client programs and libraries. The base package contains the MySQL client programs, the client shared libraries, and generic MySQL files. @@ -51,11 +57,10 @@ Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server %description server -MySQL is a true multi-user, multi-threaded SQL database server. MySQL -is a client/server implementation that consists of a server daemon -(mysqld) and many different client programs and libraries. This -package contains the MySQL server and some accompanying files and -directories. +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. This package contains +the MySQL server and some accompanying files and directories. %package devel @@ -67,9 +72,9 @@ Requires: openssl-devel Conflicts: MySQL-devel %description devel -MySQL is a true multi-user, multi-threaded SQL database server. This +MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for -developing MySQL applications. +developing MySQL client applications. %package bench @@ -80,7 +85,7 @@ Requires: %{name} = %{version}-%{release} Conflicts: MySQL-bench %description bench -MySQL is a true multi-user, multi-threaded SQL database server. This +MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. @@ -136,13 +141,17 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} make %{?_smp_mflags} make check -make test + +%if %runselftest + make test +%endif %install rm -rf $RPM_BUILD_ROOT %makeinstall -install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/ +install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -m`.h +install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log @@ -232,7 +241,7 @@ fi %files %defattr(-,root,root) -%doc README COPYING +%doc README COPYING EXCEPTIONS-CLIENT %{_bindir}/msql2mysql %{_bindir}/mysql @@ -325,13 +334,26 @@ fi /usr/libexec/* -%{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqld.1* +%{_mandir}/man1/msql2mysql.1.gz +%{_mandir}/man1/myisamchk.1.gz +%{_mandir}/man1/myisamlog.1.gz +%{_mandir}/man1/myisampack.1.gz +%{_mandir}/man1/mysql.server.1.gz +%{_mandir}/man1/mysql_config.1.gz %{_mandir}/man1/mysql_fix_privilege_tables.1* +%{_mandir}/man1/mysql_zap.1* +%{_mandir}/man1/mysqlbinlog.1.gz +%{_mandir}/man1/mysqlcheck.1.gz +%{_mandir}/man1/mysqld.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/mysqlhotcopy.1.gz +%{_mandir}/man1/mysqlimport.1.gz +%{_mandir}/man1/mysqlman.1.gz +%{_mandir}/man1/mysqlmanager.1.gz %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* +%{_mandir}/man1/safe_mysqld.1* %dir %{_datadir}/mysql %{_datadir}/mysql/errmsg.txt @@ -355,6 +377,12 @@ fi %{_datadir}/sql-bench %changelog +* Fri Dec 9 2005 Tom Lane 5.0.16-1 +- Update to MySQL 5.0.16 +- Add EXCEPTIONS-CLIENT license info to the shipped documentation +- Make my_config.h architecture-independent for multilib installs; + put the original my_config.h into my_config_$ARCH.h + * Fri Dec 09 2005 Jesse Keating - rebuilt diff --git a/sources b/sources index 5a979c7..b2c1de1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b19e03de0ec348552b4bfac2e215f335 mysql-5.0.15.tar.gz +ecf2ae1d782a8d129af940c15a44f477 mysql-5.0.16.tar.gz From 4985366e256acf6ce68b1fea96eaf207e5835ee7 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 12 Dec 2005 20:52:03 +0000 Subject: [PATCH 070/616] Add -fwrapv to dodge gcc 4.1's latest creative reinterpretation of basic C semantics. --- mysql.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index 144e9a3..3383ee1 100644 --- a/mysql.spec +++ b/mysql.spec @@ -107,8 +107,9 @@ autoheader %build CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# MySQL 4.1.10 definitely doesn't work under strict aliasing -CFLAGS="$CFLAGS -fno-strict-aliasing" +# MySQL 4.1.10 definitely doesn't work under strict aliasing; also, +# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv +CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" %ifarch alpha # Can't link C++ objects into an executable without this. Odd! # -ECL 2002-12-19 @@ -377,11 +378,12 @@ fi %{_datadir}/sql-bench %changelog -* Fri Dec 9 2005 Tom Lane 5.0.16-1 +* Mon Dec 12 2005 Tom Lane 5.0.16-1 - Update to MySQL 5.0.16 - Add EXCEPTIONS-CLIENT license info to the shipped documentation - Make my_config.h architecture-independent for multilib installs; put the original my_config.h into my_config_$ARCH.h +- Add -fwrapv to CFLAGS so that gcc 4.1 doesn't break it * Fri Dec 09 2005 Jesse Keating - rebuilt From 994e8044f3579d2c46c98b10ce683949ffe752fe Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 15 Dec 2005 04:57:55 +0000 Subject: [PATCH 071/616] oops, looks like we want uname -i not uname -m --- mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index 3383ee1..4ea02e2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.16 -Release: 1 +Release: 2 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -151,7 +151,7 @@ make check rm -rf $RPM_BUILD_ROOT %makeinstall -install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -m`.h +install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log @@ -378,6 +378,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Dec 14 2005 Tom Lane 5.0.16-2 +- oops, looks like we want uname -i not uname -m + * Mon Dec 12 2005 Tom Lane 5.0.16-1 - Update to MySQL 5.0.16 - Add EXCEPTIONS-CLIENT license info to the shipped documentation From 59d8e93d3c76192a3ae3c7dfbd62091a9af52ec9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 15 Dec 2005 14:20:52 +0000 Subject: [PATCH 072/616] Fix 32bit-vs-64bit confusion in my_config.h --- my_config.h | 26 ++++++++++---------------- mysql.spec | 6 +++++- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/my_config.h b/my_config.h index 6dd04f9..5591754 100644 --- a/my_config.h +++ b/my_config.h @@ -7,24 +7,18 @@ * Note: this may well fail if user tries to use gcc's -I- option. * But that option is deprecated anyway. */ -#ifdef __i386__ -#include "my_config_i386.h" -#endif -#ifdef __x86_64__ +#if defined(__x86_64__) #include "my_config_x86_64.h" -#endif -#ifdef __ia64__ +#elif defined(__ia64__) #include "my_config_ia64.h" -#endif -#ifdef __ppc__ -#include "my_config_ppc.h" -#endif -#ifdef __ppc64__ +#elif defined(__i386__) +#include "my_config_i386.h" +#elif defined(__ppc64__) #include "my_config_ppc64.h" -#endif -#ifdef __s390__ +#elif defined(__ppc__) +#include "my_config_ppc.h" +#elif defined(__s390x__) +#include "my_config_s390x.h" +#elif defined(__s390__) #include "my_config_s390.h" #endif -#ifdef __s390x__ -#include "my_config_s390x.h" -#endif diff --git a/mysql.spec b/mysql.spec index 4ea02e2..7dc7c1d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.16 -Release: 2 +Release: 3 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -378,6 +378,10 @@ fi %{_datadir}/sql-bench %changelog +* Thu Dec 15 2005 Tom Lane 5.0.16-3 +- my_config.h needs to guard against 64-bit platforms that also define the + 32-bit symbol + * Wed Dec 14 2005 Tom Lane 5.0.16-2 - oops, looks like we want uname -i not uname -m From 2874560e46b34531b144056b1155d9e69971f8b4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 15 Dec 2005 17:04:25 +0000 Subject: [PATCH 073/616] fix my_config.h for ppc platforms (man this is painful) --- my_config.h | 4 ++-- mysql.spec | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/my_config.h b/my_config.h index 5591754..ad2e3da 100644 --- a/my_config.h +++ b/my_config.h @@ -13,9 +13,9 @@ #include "my_config_ia64.h" #elif defined(__i386__) #include "my_config_i386.h" -#elif defined(__ppc64__) +#elif defined(__ppc64__) || defined(__powerpc64__) #include "my_config_ppc64.h" -#elif defined(__ppc__) +#elif defined(__ppc__) || defined(__powerpc__) #include "my_config_ppc.h" #elif defined(__s390x__) #include "my_config_s390x.h" diff --git a/mysql.spec b/mysql.spec index 7dc7c1d..e439aff 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.16 -Release: 3 +Release: 4 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -378,6 +378,9 @@ fi %{_datadir}/sql-bench %changelog +* Thu Dec 15 2005 Tom Lane 5.0.16-4 +- fix my_config.h for ppc platforms + * Thu Dec 15 2005 Tom Lane 5.0.16-3 - my_config.h needs to guard against 64-bit platforms that also define the 32-bit symbol From 807c7e4985336d0cd47cd3a231969ee29eda6a97 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 5 Jan 2006 03:39:46 +0000 Subject: [PATCH 074/616] Update to MySQL 5.0.18 --- .cvsignore | 2 +- mysql.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 94ef3b2..c56ca66 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.16.tar.gz +mysql-5.0.18.tar.gz diff --git a/mysql.spec b/mysql.spec index e439aff..1a41c90 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.16 -Release: 4 +Version: 5.0.18 +Release: 1 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -378,6 +378,9 @@ fi %{_datadir}/sql-bench %changelog +* Wed Jan 4 2006 Tom Lane 5.0.18-1 +- Update to MySQL 5.0.18 + * Thu Dec 15 2005 Tom Lane 5.0.16-4 - fix my_config.h for ppc platforms diff --git a/sources b/sources index b2c1de1..59b71ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ecf2ae1d782a8d129af940c15a44f477 mysql-5.0.16.tar.gz +f18153b0239aaa03fc5a751f2d82cb71 mysql-5.0.18.tar.gz From 986cdaa7ed35318802f6f3136045a64d56a3680b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 5 Jan 2006 07:09:06 +0000 Subject: [PATCH 075/616] Hack to get mysql regression tests to pass more reliably. --- mysql-rpl-test.patch | 24 ++++++++++++++++++++++++ mysql.spec | 4 +++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 mysql-rpl-test.patch diff --git a/mysql-rpl-test.patch b/mysql-rpl-test.patch new file mode 100644 index 0000000..8415800 --- /dev/null +++ b/mysql-rpl-test.patch @@ -0,0 +1,24 @@ +This patch improves the stability of the mysql regression tests on Red Hat's +build servers. I really have no idea why ... it is probably masking a +bug in mysqld, but without a better handle on how to reproduce the problem, +it's tough to make a bug report. Worth noting is that rpl000001 passes +fine when run by itself, or with the immediately preceding tests; but fails +when the complete test series is run. + + +diff -Naur mysql-5.0.18.orig/mysql-test/r/rpl000001.result mysql-5.0.18/mysql-test/r/rpl000001.result +--- mysql-5.0.18.orig/mysql-test/r/rpl000001.result 2005-12-21 14:50:25.000000000 -0500 ++++ mysql-5.0.18/mysql-test/r/rpl000001.result 2006-01-05 01:57:17.000000000 -0500 +@@ -1,3 +1,4 @@ ++flush privileges; + stop slave; + drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; + reset master; +diff -Naur mysql-5.0.18.orig/mysql-test/t/rpl000001.test mysql-5.0.18/mysql-test/t/rpl000001.test +--- mysql-5.0.18.orig/mysql-test/t/rpl000001.test 2005-12-21 14:50:25.000000000 -0500 ++++ mysql-5.0.18/mysql-test/t/rpl000001.test 2006-01-05 01:57:15.000000000 -0500 +@@ -1,3 +1,4 @@ ++flush privileges; + source include/master-slave.inc; + + create table t1 (word char(20) not null); diff --git a/mysql.spec b/mysql.spec index 1a41c90..b5228ab 100644 --- a/mysql.spec +++ b/mysql.spec @@ -23,6 +23,7 @@ Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-rpl_ddl.patch +Patch7: mysql-rpl-test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig @@ -98,6 +99,7 @@ MySQL. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 libtoolize --force aclocal @@ -378,7 +380,7 @@ fi %{_datadir}/sql-bench %changelog -* Wed Jan 4 2006 Tom Lane 5.0.18-1 +* Thu Jan 5 2006 Tom Lane 5.0.18-1 - Update to MySQL 5.0.18 * Thu Dec 15 2005 Tom Lane 5.0.16-4 From 48cc9c754401734619abd40b80a452c5c6873ead Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 7 Feb 2006 13:07:52 +0000 Subject: [PATCH 076/616] bump for new gcc/glibc --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index b5228ab..0896d82 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.18 -Release: 1 +Release: 1.1 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -380,6 +380,9 @@ fi %{_datadir}/sql-bench %changelog +* Tue Feb 07 2006 Jesse Keating - 5.0.18-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + * Thu Jan 5 2006 Tom Lane 5.0.18-1 - Update to MySQL 5.0.18 From cafb0a92aec9aa91a30f79cb38ee8f6edbba371b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 9 Feb 2006 21:25:10 +0000 Subject: [PATCH 077/616] err-log option has been renamed to log-error, fix my.cnf and initscript --- my.cnf | 2 +- mysql.init | 7 ++++--- mysql.spec | 5 ++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/my.cnf b/my.cnf index 1423e03..2543388 100644 --- a/my.cnf +++ b/my.cnf @@ -10,5 +10,5 @@ user=mysql basedir=/var/lib [mysqld_safe] -err-log=/var/log/mysqld.log +log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid diff --git a/mysql.init b/mysql.init index 7504156..c6041d6 100644 --- a/mysql.init +++ b/mysql.init @@ -47,7 +47,7 @@ get_mysql_option /etc/my.cnf datadir "/var/lib/mysql" datadir="$result" get_mysql_option /etc/my.cnf socket "$datadir/mysql.sock" socketfile="$result" -get_mysql_option /etc/my.cnf err-log "/var/log/mysqld.log" +get_mysql_option /etc/my.cnf log-error "/var/log/mysqld.log" errlogfile="$result" get_mysql_option /etc/my.cnf pid-file "/var/run/mysqld/mysqld.pid" mypidfile="$result" @@ -69,8 +69,9 @@ start(){ chmod 0755 "$datadir" # The reason for explicitly specifying --pid-file is that there may # be no such entry in my.cnf, and the default behavior will be to not - # create it at all... - /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" >/dev/null 2>&1 & + # create it at all. Likewise, we specify --log-error in case there + # was not an entry in my.cnf. + /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" --log-error="$errlogfile" >/dev/null 2>&1 & ret=$? # 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 diff --git a/mysql.spec b/mysql.spec index 0896d82..2fe9670 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.18 -Release: 1.1 +Release: 2 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -380,6 +380,9 @@ fi %{_datadir}/sql-bench %changelog +* Thu Feb 9 2006 Tom Lane 5.0.18-2 +- err-log option has been renamed to log-error, fix my.cnf and initscript + * Tue Feb 07 2006 Jesse Keating - 5.0.18-1.1 - rebuilt for new gcc4.1 snapshot and glibc changes From b367ab972aeeaf742fab5fc0385a4b66738f03dc Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sat, 11 Feb 2006 04:40:02 +0000 Subject: [PATCH 078/616] bump for bug in double-long on ppc(64) --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 2fe9670..cae8292 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.18 -Release: 2 +Release: 2.1 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -380,6 +380,9 @@ fi %{_datadir}/sql-bench %changelog +* Fri Feb 10 2006 Jesse Keating - 5.0.18-2.1 +- bump again for double-long bug on ppc(64) + * Thu Feb 9 2006 Tom Lane 5.0.18-2 - err-log option has been renamed to log-error, fix my.cnf and initscript From 587f6c6241eb2d5b3987487b177f60d0383e0187 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 27 Mar 2006 19:54:58 +0000 Subject: [PATCH 079/616] Synchronize FC6 with recent work in 4E-stacks branch. --- mysql-install-test.patch | 81 ++++++++++++++++++++++++++++++++++++++++ mysql.spec | 57 ++++++++++++++++++++++------ 2 files changed, 126 insertions(+), 12 deletions(-) create mode 100644 mysql-install-test.patch diff --git a/mysql-install-test.patch b/mysql-install-test.patch new file mode 100644 index 0000000..075b469 --- /dev/null +++ b/mysql-install-test.patch @@ -0,0 +1,81 @@ +mysql's idea of a suitable place to install the regression tests is +/usr/mysql-test. To relocate this to a reasonably FHS-compliant place +like /usr/share/mysql-test, we have to hack up the paths in install_test_db +and mysql-test-run. This patch also improves the documentation a tad. + + +diff -Naur mysql-5.0.18.orig/mysql-test/README mysql-5.0.18/mysql-test/README +--- mysql-5.0.18.orig/mysql-test/README 2005-12-21 14:39:48.000000000 -0500 ++++ mysql-5.0.18/mysql-test/README 2006-03-09 20:29:24.000000000 -0500 +@@ -2,11 +2,20 @@ + the currently existing test cases, simply execute ./mysql-test-run in + this directory. It will fire up the newly built mysqld and test it. + ++For use in Red Hat distributions, you should run the script as user mysql, ++so the best bet is something like ++ cd /usr/share/mysql-test ++ sudo -u mysql ./mysql-test-run ++This will use the installed mysql executables, but will run a private copy ++of the server process (using data files within /usr/share/mysql-test), ++so you need not start the mysqld service beforehand. ++ + If you want to run a test with a running MySQL server use the --extern + option to mysql-test-run. Please note that in this mode the test suite + expects user to specify test names to run. Otherwise it falls back to the +-normal "non-extern" behaviour. The reason is that some tests +-could not run with external server. Here is the sample command ++normal "non-extern" behaviour. The reason is that many tests ++will fail with external server (because they need to control the options ++with which the server is started). Here is the sample command + to test "alias" and "analyze" tests on external server: + + mysql-test-run --extern alias analyze +diff -Naur mysql-5.0.18.orig/mysql-test/install_test_db.sh mysql-5.0.18/mysql-test/install_test_db.sh +--- mysql-5.0.18.orig/mysql-test/install_test_db.sh 2005-12-21 14:39:48.000000000 -0500 ++++ mysql-5.0.18/mysql-test/install_test_db.sh 2006-03-09 20:20:45.000000000 -0500 +@@ -9,17 +9,17 @@ + shift 1 + + # Check if it's a binary distribution or a 'make install' +- if test -x ../libexec/mysqld ++ if test -x /usr/libexec/mysqld + then +- execdir=../libexec ++ execdir=/usr/libexec + else +- execdir=../bin ++ execdir=/usr/bin + fi +- bindir=../bin ++ bindir=/usr/bin + BINARY_DIST=1 + fix_bin=mysql-test +- scriptdir=../bin +- libexecdir=../libexec ++ scriptdir=/usr/bin ++ libexecdir=/usr/libexec + else + execdir=../sql + bindir=../client +@@ -75,7 +75,8 @@ + + #for error messages + if [ x$BINARY_DIST = x1 ] ; then +-basedir=.. ++basedir=/usr/share ++EXTRA_ARG="--language=/usr/share/mysql/english/ --character-sets-dir=/usr/share/mysql/charsets/" + else + basedir=. + EXTRA_ARG="--language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/" +diff -Naur mysql-5.0.18.orig/mysql-test/mysql-test-run.sh mysql-5.0.18/mysql-test/mysql-test-run.sh +--- mysql-5.0.18.orig/mysql-test/mysql-test-run.sh 2005-12-21 14:39:59.000000000 -0500 ++++ mysql-5.0.18/mysql-test/mysql-test-run.sh 2006-03-09 20:20:45.000000000 -0500 +@@ -693,6 +693,8 @@ + # currently all binaries are in "bin", for a MySQL AB packaging + # some are in "tests". + ++ BASEDIR="/usr" ++ + if test -x "$BASEDIR/libexec/mysqld" + then + MYSQLD="$VALGRIND $BASEDIR/libexec/mysqld" diff --git a/mysql.spec b/mysql.spec index cae8292..d4a801c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.18 -Release: 2.1 +Release: 4 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -11,7 +11,6 @@ URL: http://www.mysql.com Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz Source1: mysql.init -Source2: mysql.logrotate Source3: my.cnf Source4: scriptstub.c Source5: my_config.h @@ -24,6 +23,7 @@ Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-rpl_ddl.patch Patch7: mysql-rpl-test.patch +Patch8: mysql-install-test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig @@ -90,6 +90,19 @@ MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. +%package test + +Summary: The test suite distributed with MySQL. +License: GPL +Group: Applications/Databases +Requires: %{name} = %{version}-%{release} +Requires: %{name}-server = %{version}-%{release} + +%description test +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the regression test suite distributed with +the MySQL sources. + %prep %setup -q @@ -100,6 +113,7 @@ MySQL. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 libtoolize --force aclocal @@ -153,33 +167,40 @@ make check rm -rf $RPM_BUILD_ROOT %makeinstall -install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h -install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ + +# multilib header hack +# we only apply this to known Red Hat multilib arches, per bug #181335 +case `uname -i` in + i386 | x86_64 | ppc | ppc64 | s390 | s390x) + install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ + ;; + *) + ;; +esac + mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log # List the installed tree for RPM package maintenance purposes. find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES -gzip ${RPM_BUILD_ROOT}%{_infodir}/* -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate -mkdir -p $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d} +gzip ${RPM_BUILD_ROOT}%{_infodir}/* + +mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld -install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench +mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config -rm -fr $RPM_BUILD_ROOT/usr/mysql-test -rm -f ${RPM_BUILD_ROOT}%{_bindir}/*client_test rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution @@ -195,6 +216,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall 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-log-rotate mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -364,7 +387,6 @@ fi %{_datadir}/mysql/mysql_fix_privilege_tables.sql /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld -%config(noreplace) /etc/logrotate.d/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log @@ -379,7 +401,18 @@ fi %defattr(-,root,root) %{_datadir}/sql-bench +%files test +%defattr(-,root,root) +%{_bindir}/mysql_client_test +%attr(-,mysql,mysql) %{_datadir}/mysql-test + %changelog +* Mon Mar 27 2006 Tom Lane 5.0.18-4 +- Modify multilib header hack to not break non-RH arches, per bug #181335 +- Remove logrotate script, per bug #180639. +- Add a new mysql-test RPM to carry the regression test files; + hack up test scripts as needed to make them run in /usr/share/mysql-test. + * Fri Feb 10 2006 Jesse Keating - 5.0.18-2.1 - bump again for double-long bug on ppc(64) From fa98cf328f1d11486689ece0418a7c2a274186a0 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 2 May 2006 03:37:40 +0000 Subject: [PATCH 080/616] Update to MySQL 5.0.21. --- .cvsignore | 2 +- mysql-install-test.patch | 48 +++++++++++++++++++++------------------- mysql-libdir.patch | 17 +++++++------- mysql-no-atomic.patch | 14 +++++++----- mysql.spec | 10 +++++++-- sources | 2 +- 6 files changed, 53 insertions(+), 40 deletions(-) diff --git a/.cvsignore b/.cvsignore index c56ca66..122ca1e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.18.tar.gz +mysql-5.0.21.tar.gz diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 075b469..b375e91 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -4,12 +4,12 @@ like /usr/share/mysql-test, we have to hack up the paths in install_test_db and mysql-test-run. This patch also improves the documentation a tad. -diff -Naur mysql-5.0.18.orig/mysql-test/README mysql-5.0.18/mysql-test/README ---- mysql-5.0.18.orig/mysql-test/README 2005-12-21 14:39:48.000000000 -0500 -+++ mysql-5.0.18/mysql-test/README 2006-03-09 20:29:24.000000000 -0500 -@@ -2,11 +2,20 @@ - the currently existing test cases, simply execute ./mysql-test-run in - this directory. It will fire up the newly built mysqld and test it. +diff -Naur mysql-5.0.21.orig/mysql-test/README mysql-5.0.21/mysql-test/README +--- mysql-5.0.21.orig/mysql-test/README 2006-04-26 14:31:03.000000000 -0400 ++++ mysql-5.0.21/mysql-test/README 2006-05-01 20:58:04.000000000 -0400 +@@ -6,6 +6,14 @@ + actually have a co-existing MySQL installation. The tests will not + conflict with it. +For use in Red Hat distributions, you should run the script as user mysql, +so the best bet is something like @@ -19,20 +19,22 @@ diff -Naur mysql-5.0.18.orig/mysql-test/README mysql-5.0.18/mysql-test/README +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. + - If you want to run a test with a running MySQL server use the --extern - option to mysql-test-run. Please note that in this mode the test suite - expects user to specify test names to run. Otherwise it falls back to the --normal "non-extern" behaviour. The reason is that some tests --could not run with external server. Here is the sample command -+normal "non-extern" behaviour. The reason is that many tests -+will fail with external server (because they need to control the options -+with which the server is started). Here is the sample command - to test "alias" and "analyze" tests on external server: + All tests must pass. If one or more of them fail on your system, please + read the following manual section for instructions on how to report the + problem: +@@ -25,7 +33,8 @@ - mysql-test-run --extern alias analyze -diff -Naur mysql-5.0.18.orig/mysql-test/install_test_db.sh mysql-5.0.18/mysql-test/install_test_db.sh ---- mysql-5.0.18.orig/mysql-test/install_test_db.sh 2005-12-21 14:39:48.000000000 -0500 -+++ mysql-5.0.18/mysql-test/install_test_db.sh 2006-03-09 20:20:45.000000000 -0500 + With no test cases named on the command line, mysql-test-run falls back + to the normal "non-extern" behavior. The reason for this is that some +-tests cannot run with an external server. ++tests cannot run with an external server (because they need to control the ++options with which the server is started). + + + You can create your own test cases. To create a test case, create a new +diff -Naur mysql-5.0.21.orig/mysql-test/install_test_db.sh mysql-5.0.21/mysql-test/install_test_db.sh +--- mysql-5.0.21.orig/mysql-test/install_test_db.sh 2006-04-26 14:31:03.000000000 -0400 ++++ mysql-5.0.21/mysql-test/install_test_db.sh 2006-05-01 20:56:05.000000000 -0400 @@ -9,17 +9,17 @@ shift 1 @@ -67,10 +69,10 @@ diff -Naur mysql-5.0.18.orig/mysql-test/install_test_db.sh mysql-5.0.18/mysql-te else basedir=. EXTRA_ARG="--language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/" -diff -Naur mysql-5.0.18.orig/mysql-test/mysql-test-run.sh mysql-5.0.18/mysql-test/mysql-test-run.sh ---- mysql-5.0.18.orig/mysql-test/mysql-test-run.sh 2005-12-21 14:39:59.000000000 -0500 -+++ mysql-5.0.18/mysql-test/mysql-test-run.sh 2006-03-09 20:20:45.000000000 -0500 -@@ -693,6 +693,8 @@ +diff -Naur mysql-5.0.21.orig/mysql-test/mysql-test-run.sh mysql-5.0.21/mysql-test/mysql-test-run.sh +--- mysql-5.0.21.orig/mysql-test/mysql-test-run.sh 2006-04-26 14:31:05.000000000 -0400 ++++ mysql-5.0.21/mysql-test/mysql-test-run.sh 2006-05-01 20:56:05.000000000 -0400 +@@ -740,6 +740,8 @@ # currently all binaries are in "bin", for a MySQL AB packaging # some are in "tests". diff --git a/mysql-libdir.patch b/mysql-libdir.patch index b6983d2..7c2b488 100644 --- a/mysql-libdir.patch +++ b/mysql-libdir.patch @@ -1,11 +1,12 @@ -diff -Naur mysql-4.1.7-orig/scripts/mysql_config.sh mysql-4.1.7/scripts/mysql_config.sh ---- mysql-4.1.7-orig/scripts/mysql_config.sh 2004-10-23 03:28:44.000000000 -0400 -+++ mysql-4.1.7/scripts/mysql_config.sh 2004-10-27 21:15:48.762963874 -0400 -@@ -75,7 +75,6 @@ - execdir='@libexecdir@' - bindir='@bindir@' +diff -Naur mysql-5.0.21.orig/scripts/mysql_config.sh mysql-5.0.21/scripts/mysql_config.sh +--- mysql-5.0.21.orig/scripts/mysql_config.sh 2006-04-26 14:30:47.000000000 -0400 ++++ mysql-5.0.21/scripts/mysql_config.sh 2006-05-01 20:45:42.000000000 -0400 +@@ -85,8 +85,6 @@ + + # If installed, search for the compiled in directory first (might be "lib64") pkglibdir='@pkglibdir@' --fix_path pkglibdir lib/mysql lib +-pkglibdir_rel=`echo $pkglibdir | sed -e "s;^$basedir/;;"` +-fix_path pkglibdir $pkglibdir_rel lib/mysql lib + pkgincludedir='@pkgincludedir@' fix_path pkgincludedir include/mysql include - version='@VERSION@' diff --git a/mysql-no-atomic.patch b/mysql-no-atomic.patch index 0a1cb4a..50bcba5 100644 --- a/mysql-no-atomic.patch +++ b/mysql-no-atomic.patch @@ -4,15 +4,18 @@ which is we avoid the 4-vs-8-byte problem in BDB that formerly required mysql-threads.patch. -diff -Naur mysql-4.1.12.orig/configure.in mysql-4.1.12/configure.in ---- mysql-4.1.12.orig/configure.in 2005-05-13 07:32:33.000000000 -0400 -+++ mysql-4.1.12/configure.in 2005-07-11 12:16:28.000000000 -0400 -@@ -862,43 +862,6 @@ +diff -Naur mysql-5.0.21.orig/configure.in mysql-5.0.21/configure.in +--- mysql-5.0.21.orig/configure.in 2006-04-26 14:31:03.000000000 -0400 ++++ mysql-5.0.21/configure.in 2006-05-01 20:52:08.000000000 -0400 +@@ -803,47 +803,6 @@ AC_SUBST(WRAPLIBS) if test "$TARGET_LINUX" = "true"; then - AC_MSG_CHECKING([for atomic operations]) - +- AC_LANG_SAVE +- AC_LANG_CPLUSPLUS +- - atom_ops= - AC_TRY_RUN([ -#include @@ -48,6 +51,7 @@ diff -Naur mysql-4.1.12.orig/configure.in mysql-4.1.12/configure.in - if test -z "$atom_ops"; then atom_ops="no"; fi - AC_MSG_RESULT($atom_ops) - +- AC_LANG_RESTORE + AC_ARG_WITH(pstack, [ --with-pstack Use the pstack backtrace library], - [ USE_PSTACK=$withval ], diff --git a/mysql.spec b/mysql.spec index d4a801c..780bf7a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.18 -Release: 4 +Version: 5.0.21 +Release: 1 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -343,6 +343,7 @@ fi %{_bindir}/mysql_secure_installation %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/mysql_upgrade %{_bindir}/mysql_zap %{_bindir}/mysqlbug %{_bindir}/mysqld_multi @@ -364,9 +365,11 @@ fi %{_mandir}/man1/myisamchk.1.gz %{_mandir}/man1/myisamlog.1.gz %{_mandir}/man1/myisampack.1.gz +%{_mandir}/man1/myisam_ftdump.1.gz %{_mandir}/man1/mysql.server.1.gz %{_mandir}/man1/mysql_config.1.gz %{_mandir}/man1/mysql_fix_privilege_tables.1* +%{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbinlog.1.gz %{_mandir}/man1/mysqlcheck.1.gz @@ -407,6 +410,9 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Mon May 1 2006 Tom Lane 5.0.21-1 +- Update to MySQL 5.0.21 + * Mon Mar 27 2006 Tom Lane 5.0.18-4 - Modify multilib header hack to not break non-RH arches, per bug #181335 - Remove logrotate script, per bug #180639. diff --git a/sources b/sources index 59b71ac..f7788b4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f18153b0239aaa03fc5a751f2d82cb71 mysql-5.0.18.tar.gz +c3165204c42e1db6fc3a95a4fd2cd22f mysql-5.0.21.tar.gz From 0e48f65640c2f39890fd9b67d9b890f482c24eea Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 3 May 2006 03:36:47 +0000 Subject: [PATCH 081/616] Fix bogus perl Requires for mysql-test --- filter-requires-mysql.sh | 2 +- mysql.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh index d5a4691..4e75ff6 100755 --- a/filter-requires-mysql.sh +++ b/filter-requires-mysql.sh @@ -1,3 +1,3 @@ #!/bin/sh -/usr/lib/rpm/perl.req $* | grep -v "perl(th" +/usr/lib/rpm/perl.req $* | grep -v -e "perl(th" -e "perl(lib::mtr" diff --git a/mysql.spec b/mysql.spec index 780bf7a..ec8f3af 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.21 -Release: 1 +Release: 2 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -410,6 +410,9 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Tue May 2 2006 Tom Lane 5.0.21-2 +- Fix bogus perl Requires for mysql-test + * Mon May 1 2006 Tom Lane 5.0.21-1 - Update to MySQL 5.0.21 From f7ee09dfd6488a2d97fac28c6bc7fb6e41db0ec5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 1 Jun 2006 17:40:36 +0000 Subject: [PATCH 082/616] Update to MySQL 5.0.22 (fixes CVE-2006-2753) --- .cvsignore | 2 +- mysql.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 122ca1e..42d20c6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.21.tar.gz +mysql-5.0.22.tar.gz diff --git a/mysql.spec b/mysql.spec index ec8f3af..7c4a76d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.21 -Release: 2 +Version: 5.0.22 +Release: 1 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -410,6 +410,9 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Thu Jun 1 2006 Tom Lane 5.0.22-1 +- Update to MySQL 5.0.22 (fixes CVE-2006-2753) + * Tue May 2 2006 Tom Lane 5.0.21-2 - Fix bogus perl Requires for mysql-test diff --git a/sources b/sources index f7788b4..d8c3700 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c3165204c42e1db6fc3a95a4fd2cd22f mysql-5.0.21.tar.gz +b0533dce52a3147234e588f51affbcab mysql-5.0.22.tar.gz From a448c5eaa533eb92bacf428bc8f4bd53c0f014c0 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 8 Jun 2006 18:11:47 +0000 Subject: [PATCH 083/616] Work around gcc bug #193912. --- mysql.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 7c4a76d..bbf3d77 100644 --- a/mysql.spec +++ b/mysql.spec @@ -131,6 +131,10 @@ CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # -ECL 2002-12-19 CFLAGS="$CFLAGS -fPIC" %endif +# Temporary workaround for gcc bug (bz #193912) +%ifarch s390x +CFLAGS="$CFLAGS -mtune=z900" +%endif CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS @@ -410,8 +414,9 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog -* Thu Jun 1 2006 Tom Lane 5.0.22-1 +* Thu Jun 8 2006 Tom Lane 5.0.22-1 - Update to MySQL 5.0.22 (fixes CVE-2006-2753) +- Install temporary workaround for gcc bug on s390x (bz #193912) * Tue May 2 2006 Tom Lane 5.0.21-2 - Fix bogus perl Requires for mysql-test From 6d57e805871e92ad1a6c87730477623541438d9a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 9 Jun 2006 04:11:59 +0000 Subject: [PATCH 084/616] Spread mysql test ports around a bit more --- I'm wondering if there are buildfarm cross-machine dependencies I don't know about. --- mysql-testing.patch | 50 ++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/mysql-testing.patch b/mysql-testing.patch index 5453b64..4236f32 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -1,8 +1,8 @@ This patch is needed to improve the probability that the MySQL tests pass in Red Hat's build environment. The 32-bit and 64-bit variants of a single architecture may be built on the same machine at the same time, so we have -to ensure that the tests use different port numbers on a 64-bit arch than -on a 32-bit, else they will interfere with each other. +to ensure that the tests use different port numbers on each arch, else they +will interfere with each other. We also have to hack the top-level Makefile to enable the openssl regression tests. (Why doesn't this happen automatically given the configure option??) @@ -14,10 +14,10 @@ with a C-code version. Besides this patch, mysql-libtool.patch would need to be changed to use either one. -diff -Naur mysql-5.0.16.orig/Makefile.am mysql-5.0.16/Makefile.am ---- mysql-5.0.16.orig/Makefile.am 2005-11-14 19:12:31.000000000 -0500 -+++ mysql-5.0.16/Makefile.am 2005-12-09 18:29:31.000000000 -0500 -@@ -107,8 +107,8 @@ +diff -Naur mysql-5.0.22.orig/Makefile.am mysql-5.0.22/Makefile.am +--- mysql-5.0.22.orig/Makefile.am 2006-05-25 04:56:41.000000000 -0400 ++++ mysql-5.0.22/Makefile.am 2006-06-09 00:03:21.000000000 -0400 +@@ -106,8 +106,8 @@ test: cd mysql-test ; \ @@ -28,23 +28,41 @@ diff -Naur mysql-5.0.16.orig/Makefile.am mysql-5.0.16/Makefile.am test-force: cd mysql-test; \ -diff -Naur mysql-5.0.16.orig/mysql-test/mysql-test-run.sh mysql-5.0.16/mysql-test/mysql-test-run.sh ---- mysql-5.0.16.orig/mysql-test/mysql-test-run.sh 2005-11-14 19:12:46.000000000 -0500 -+++ mysql-5.0.16/mysql-test/mysql-test-run.sh 2005-12-09 18:34:09.000000000 -0500 -@@ -222,6 +222,16 @@ - # an environment variable can be used to control all ports. A small - # number is to be used, 0 - 16 or similar. +diff -Naur mysql-5.0.22.orig/mysql-test/mysql-test-run.sh mysql-5.0.22/mysql-test/mysql-test-run.sh +--- mysql-5.0.22.orig/mysql-test/mysql-test-run.sh 2006-05-25 04:56:49.000000000 -0400 ++++ mysql-5.0.22/mysql-test/mysql-test-run.sh 2006-06-09 00:06:22.000000000 -0400 +@@ -252,6 +252,34 @@ + # 5.1 test run, even if different MTR_BUILD_THREAD is used. This means + # all port numbers might not be used in this version of the script. # +# hack to allow 32- and 64-bit tests to run concurrently on same build machine +case `uname -m` in -+ ppc64 | s390x | x86_64) -+ MTR_BUILD_THREAD=7 ++ i?86) ++ MTR_BUILD_THREAD=0 ++ ;; ++ x86_64) ++ MTR_BUILD_THREAD=1 ++ ;; ++ ia64) ++ MTR_BUILD_THREAD=2 ++ ;; ++ ppc) ++ MTR_BUILD_THREAD=3 ++ ;; ++ ppc64) ++ MTR_BUILD_THREAD=4 ++ ;; ++ s390) ++ MTR_BUILD_THREAD=5 ++ ;; ++ s390x) ++ MTR_BUILD_THREAD=6 + ;; + *) -+ MTR_BUILD_THREAD=11 ++ MTR_BUILD_THREAD=7 + ;; +esac + if [ -n "$MTR_BUILD_THREAD" ] ; then - MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 5 + 10000` + MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 10 + 10000` MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2` From 96ebf13bb404854e6b1d1eafe2ed18f13dbdbbc1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 10 Jun 2006 17:43:55 +0000 Subject: [PATCH 085/616] Add code to cleanup leftover mysql daemon processes --- should make brew/beehive builds more robust when retrying after a failure. --- mysql-testing.patch | 50 ++++++++++++++++++++++----------------------- mysql.spec | 6 +++++- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/mysql-testing.patch b/mysql-testing.patch index 4236f32..a27256b 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -2,7 +2,10 @@ This patch is needed to improve the probability that the MySQL tests pass in Red Hat's build environment. The 32-bit and 64-bit variants of a single architecture may be built on the same machine at the same time, so we have to ensure that the tests use different port numbers on each arch, else they -will interfere with each other. +will interfere with each other. Also, it's been observed that sometimes +the build environment fails to kill a test mysql daemon when a build is +stopped early due to build failure on another machine. To ensure subsequent +tests can succeed, kill off any such daemons. We also have to hack the top-level Makefile to enable the openssl regression tests. (Why doesn't this happen automatically given the configure option??) @@ -16,7 +19,7 @@ would need to be changed to use either one. diff -Naur mysql-5.0.22.orig/Makefile.am mysql-5.0.22/Makefile.am --- mysql-5.0.22.orig/Makefile.am 2006-05-25 04:56:41.000000000 -0400 -+++ mysql-5.0.22/Makefile.am 2006-06-09 00:03:21.000000000 -0400 ++++ mysql-5.0.22/Makefile.am 2006-06-10 13:13:34.000000000 -0400 @@ -106,8 +106,8 @@ test: @@ -30,39 +33,36 @@ diff -Naur mysql-5.0.22.orig/Makefile.am mysql-5.0.22/Makefile.am cd mysql-test; \ diff -Naur mysql-5.0.22.orig/mysql-test/mysql-test-run.sh mysql-5.0.22/mysql-test/mysql-test-run.sh --- mysql-5.0.22.orig/mysql-test/mysql-test-run.sh 2006-05-25 04:56:49.000000000 -0400 -+++ mysql-5.0.22/mysql-test/mysql-test-run.sh 2006-06-09 00:06:22.000000000 -0400 -@@ -252,6 +252,34 @@ ++++ mysql-5.0.22/mysql-test/mysql-test-run.sh 2006-06-10 13:36:32.000000000 -0400 +@@ -252,6 +252,16 @@ # 5.1 test run, even if different MTR_BUILD_THREAD is used. This means # all port numbers might not be used in this version of the script. # +# hack to allow 32- and 64-bit tests to run concurrently on same build machine +case `uname -m` in -+ i?86) -+ MTR_BUILD_THREAD=0 -+ ;; -+ x86_64) -+ MTR_BUILD_THREAD=1 -+ ;; -+ ia64) -+ MTR_BUILD_THREAD=2 -+ ;; -+ ppc) -+ MTR_BUILD_THREAD=3 -+ ;; -+ ppc64) -+ MTR_BUILD_THREAD=4 -+ ;; -+ s390) -+ MTR_BUILD_THREAD=5 -+ ;; -+ s390x) -+ MTR_BUILD_THREAD=6 ++ ppc64 | s390x | x86_64) ++ MTR_BUILD_THREAD=7 + ;; + *) -+ MTR_BUILD_THREAD=7 ++ MTR_BUILD_THREAD=11 + ;; +esac + if [ -n "$MTR_BUILD_THREAD" ] ; then MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 10 + 10000` MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2` +@@ -265,6 +275,14 @@ + echo "Using NDBCLUSTER_PORT = $NDBCLUSTER_PORT" + fi + ++# ++# If a previous build attempt failed it's possible that mysql daemons ++# launched by previous run of this script are still hanging around. ++# Kill 'em so we can re-use the ports. ++# ++ps auxww | grep "/sql/mysqld .*port=$MASTER_MYPORT" | awk '{print $2}' | xargs kill ++ps auxww | grep "/sql/mysqld .*port=$SLAVE_MYPORT" | awk '{print $2}' | xargs kill ++ + NO_SLAVE=0 + USER_TEST= + FAILED_CASES= diff --git a/mysql.spec b/mysql.spec index bbf3d77..d983bcd 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.22 -Release: 1 +Release: 2 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -414,6 +414,10 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Sat Jun 10 2006 Tom Lane 5.0.22-2 +- Work around brew's tendency not to clean up failed builds completely, + by adding code in mysql-testing.patch to kill leftover mysql daemons. + * Thu Jun 8 2006 Tom Lane 5.0.22-1 - Update to MySQL 5.0.22 (fixes CVE-2006-2753) - Install temporary workaround for gcc bug on s390x (bz #193912) From 081a83a5a9a2770b917debb19e54c271b28f20c2 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 12 Jul 2006 07:25:14 +0000 Subject: [PATCH 086/616] bumped for rebuild --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index d983bcd..ecf64ca 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.22 -Release: 2 +Release: 2.1 Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -414,6 +414,9 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Wed Jul 12 2006 Jesse Keating - 5.0.22-2.1 +- rebuild + * Sat Jun 10 2006 Tom Lane 5.0.22-2 - Work around brew's tendency not to clean up failed builds completely, by adding code in mysql-testing.patch to kill leftover mysql daemons. From 148a89c268795c3858efc62e2385ec0df491db20 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 9 Nov 2006 23:31:23 +0000 Subject: [PATCH 087/616] Update to MySQL 5.0.27, fix a couple minor issues noted in changelog entry. --- .cvsignore | 2 +- mysql-bdb-link.patch | 31 +++++++++++++ mysql-ssl-bugs.patch | 101 +++++++++++++++++++++++++++++++++++++++++++ mysql.init | 1 + mysql.spec | 24 ++++++++-- sources | 2 +- 6 files changed, 156 insertions(+), 5 deletions(-) create mode 100644 mysql-bdb-link.patch create mode 100644 mysql-ssl-bugs.patch diff --git a/.cvsignore b/.cvsignore index 42d20c6..f3c0171 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.22.tar.gz +mysql-5.0.27.tar.gz diff --git a/mysql-bdb-link.patch b/mysql-bdb-link.patch new file mode 100644 index 0000000..736a588 --- /dev/null +++ b/mysql-bdb-link.patch @@ -0,0 +1,31 @@ +Fix link flags, per RH bug #199368. + +Probably no point in filing this upstream, since MySQL AB is dropping BDB +support; we won't need it ourselves when we move to mysql 5.1. + + +diff -Naur mysql-5.0.27.orig/bdb/dist/Makefile.in mysql-5.0.27/bdb/dist/Makefile.in +--- mysql-5.0.27.orig/bdb/dist/Makefile.in 2006-10-20 20:22:38.000000000 -0400 ++++ mysql-5.0.27/bdb/dist/Makefile.in 2006-11-08 19:25:24.000000000 -0500 +@@ -52,8 +52,9 @@ + ################################################## + CPPFLAGS= -I$(builddir) -I$(srcdir) -I$(srcdir)/dbinc @CPPFLAGS@ + CFLAGS= -c $(CPPFLAGS) @CFLAGS@ ++LOPTFLAGS= $(CPPFLAGS) @CFLAGS@ + CC= @MAKEFILE_CC@ +-CCLINK= @MAKEFILE_CCLINK@ ++CCLINK= @MAKEFILE_CCLINK@ $(LOPTFLAGS) + + LDFLAGS= @LDFLAGS@ + LIBS= @LIBS@ +@@ -74,8 +75,8 @@ + ################################################## + CXXFLAGS= -c $(CPPFLAGS) @CXXFLAGS@ + CXX= @MAKEFILE_CXX@ +-CXXLINK= @MAKEFILE_CXXLINK@ +-XSOLINK= @MAKEFILE_XSOLINK@ ++CXXLINK= @MAKEFILE_CXXLINK@ $(LOPTFLAGS) ++XSOLINK= @MAKEFILE_XSOLINK@ $(LOPTFLAGS) + LIBXSO_LIBS= @LIBXSO_LIBS@ + + libcxx= libdb_cxx.a diff --git a/mysql-ssl-bugs.patch b/mysql-ssl-bugs.patch new file mode 100644 index 0000000..6e5553a --- /dev/null +++ b/mysql-ssl-bugs.patch @@ -0,0 +1,101 @@ +Workarounds for recently-introduced SSL breakage, filed as upstream bugs +#24121, #24148, and #24157. + +I believe the client.c fix is actually correct. + +The viossl.c patch is just a crude reversion to the 5.0.22 approach to work +around brain death in close_connection(). I don't know the mysql code well +enough to venture changing the locking logic in close_connection(), though. + +Also, change openssl_1 test to agree with the test certificate included in the +distribution. And in viosslfactories.c, suppress ERR_print_errors_fp which +gives system-dependent error messages, since that breaks the openssl_1 test +(which has evidently only been tested with yassl, if at all). + + +diff -Naur mysql-5.0.27.orig/sql-common/client.c mysql-5.0.27/sql-common/client.c +--- mysql-5.0.27.orig/sql-common/client.c 2006-10-20 20:22:26.000000000 -0400 ++++ mysql-5.0.27/sql-common/client.c 2006-11-08 19:20:49.000000000 -0500 +@@ -2949,7 +2949,7 @@ + mysql->reconnect= *(my_bool *) arg; + break; + case MYSQL_OPT_SSL_VERIFY_SERVER_CERT: +- if (!arg || test(*(uint*) arg)) ++ if (!arg || test(*(my_bool*) arg)) + mysql->options.client_flag|= CLIENT_SSL_VERIFY_SERVER_CERT; + else + mysql->options.client_flag&= ~CLIENT_SSL_VERIFY_SERVER_CERT; +diff -Naur mysql-5.0.27.orig/vio/viossl.c mysql-5.0.27/vio/viossl.c +--- mysql-5.0.27.orig/vio/viossl.c 2006-10-20 20:23:11.000000000 -0400 ++++ mysql-5.0.27/vio/viossl.c 2006-11-09 13:57:32.000000000 -0500 +@@ -119,19 +119,10 @@ + + if (ssl) + { +- switch ((r= SSL_shutdown(ssl))) +- { +- case 1: /* Shutdown successful */ +- break; +- case 0: /* Shutdown not yet finished, call it again */ +- if ((r= SSL_shutdown(ssl) >= 0)) +- break; +- /* Fallthrough */ +- default: /* Shutdown failed */ ++ r = SSL_shutdown(ssl); ++ if (r < 0) + DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %s", + SSL_get_error(ssl, r))); +- break; +- } + SSL_free(ssl); + vio->ssl_arg= 0; + } +diff -Naur mysql-5.0.27.orig/mysql-test/r/openssl_1.result mysql-5.0.27/mysql-test/r/openssl_1.result +--- mysql-5.0.27.orig/mysql-test/r/openssl_1.result 2006-10-20 20:36:44.000000000 -0400 ++++ mysql-5.0.27/mysql-test/r/openssl_1.result 2006-11-09 15:11:47.000000000 -0500 +@@ -3,8 +3,8 @@ + insert into t1 values (5); + grant select on test.* to ssl_user1@localhost require SSL; + grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; +-grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; +-grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; ++grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; + grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; + flush privileges; + connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); +diff -Naur mysql-5.0.27.orig/mysql-test/t/openssl_1.test mysql-5.0.27/mysql-test/t/openssl_1.test +--- mysql-5.0.27.orig/mysql-test/t/openssl_1.test 2006-10-20 20:36:43.000000000 -0400 ++++ mysql-5.0.27/mysql-test/t/openssl_1.test 2006-11-09 15:10:29.000000000 -0500 +@@ -10,8 +10,8 @@ + + grant select on test.* to ssl_user1@localhost require SSL; + grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; +-grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; +-grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; ++grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; + grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; + flush privileges; + +diff -Naur mysql-5.0.27.orig/vio/viosslfactories.c mysql-5.0.27/vio/viosslfactories.c +--- mysql-5.0.27.orig/vio/viosslfactories.c 2006-10-20 20:22:39.000000000 -0400 ++++ mysql-5.0.27/vio/viosslfactories.c 2006-11-09 16:02:14.000000000 -0500 +@@ -88,7 +88,7 @@ + DBUG_PRINT("error",("unable to get certificate from '%s'\n", cert_file)); + /* FIX stderr */ + fprintf(stderr,"Error when connection to server using SSL:"); +- ERR_print_errors_fp(stderr); ++ DBUG_EXECUTE("error",ERR_print_errors_fp(stderr);); + fprintf(stderr,"Unable to get certificate from '%s'\n", cert_file); + fflush(stderr); + DBUG_RETURN(1); +@@ -102,7 +102,7 @@ + DBUG_PRINT("error", ("unable to get private key from '%s'\n", key_file)); + /* FIX stderr */ + fprintf(stderr,"Error when connection to server using SSL:"); +- ERR_print_errors_fp(stderr); ++ DBUG_EXECUTE("error",ERR_print_errors_fp(stderr);); + fprintf(stderr,"Unable to get private key from '%s'\n", key_file); + fflush(stderr); + DBUG_RETURN(1); diff --git a/mysql.init b/mysql.init index c6041d6..fce6e34 100644 --- a/mysql.init +++ b/mysql.init @@ -87,6 +87,7 @@ start(){ if [ $STARTTIMEOUT -eq 0 ]; then echo "Timeout error occurred trying to start MySQL Daemon." action $"Starting $prog: " /bin/false + ret=1 else action $"Starting $prog: " /bin/true fi diff --git a/mysql.spec b/mysql.spec index ecf64ca..0c08270 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.22 -Release: 2.1 +Version: 5.0.27 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries. License: GPL Group: Applications/Databases @@ -24,6 +24,8 @@ Patch5: mysql-no-atomic.patch Patch6: mysql-rpl_ddl.patch Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch +Patch9: mysql-bdb-link.patch +Patch10: mysql-ssl-bugs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig @@ -114,6 +116,8 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 +%patch10 -p1 libtoolize --force aclocal @@ -284,7 +288,6 @@ fi %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump -%{_bindir}/mysqldumpslow %{_bindir}/mysqlimport %{_bindir}/mysqlshow @@ -348,8 +351,10 @@ fi %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade +%{_bindir}/mysql_upgrade_shell %{_bindir}/mysql_zap %{_bindir}/mysqlbug +%{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe %{_bindir}/mysqlhotcopy @@ -372,6 +377,7 @@ fi %{_mandir}/man1/myisam_ftdump.1.gz %{_mandir}/man1/mysql.server.1.gz %{_mandir}/man1/mysql_config.1.gz +%{_mandir}/man1/mysql_explain_log.1.gz %{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* @@ -387,6 +393,8 @@ fi %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/safe_mysqld.1* +%{_mandir}/man8/mysqld.8* +%{_mandir}/man8/mysqlmanager.8* %dir %{_datadir}/mysql %{_datadir}/mysql/errmsg.txt @@ -414,6 +422,16 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Wed Nov 8 2006 Tom Lane 5.0.27-1 +- Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) +Resolves: #202247, #202675, #203427, #203428, #203432, #203434, #208641 +- Fix init script to return status 1 on server start timeout +Resolves: #203910 +- Move mysqldumpslow from base package to mysql-server +Resolves: #193559 +- Adjust link options for BDB module +Resolves: #199368 + * Wed Jul 12 2006 Jesse Keating - 5.0.22-2.1 - rebuild diff --git a/sources b/sources index d8c3700..28502fc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b0533dce52a3147234e588f51affbcab mysql-5.0.22.tar.gz +584d423440a9d9c859678e3d4f2690b3 mysql-5.0.27.tar.gz From eb1df3860b9daae61824504ea0aea13e6e22b172 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 9 Nov 2006 23:32:21 +0000 Subject: [PATCH 088/616] Correct date in changelog entry. --- mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 0c08270..f164333 100644 --- a/mysql.spec +++ b/mysql.spec @@ -422,7 +422,7 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog -* Wed Nov 8 2006 Tom Lane 5.0.27-1 +* Thu Nov 9 2006 Tom Lane 5.0.27-1 - Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) Resolves: #202247, #202675, #203427, #203428, #203432, #203434, #208641 - Fix init script to return status 1 on server start timeout From 7a107d09e1f3b7a4e63b0efa1559d6bd3349f172 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 9 Feb 2007 20:32:52 +0000 Subject: [PATCH 089/616] Update to MySQL 5.0.33. Fix #221085, #223713. --- .cvsignore | 2 +- mysql-install-test.patch | 47 ++++++++------------- mysql-ssl-bugs.patch | 48 +++++++++++----------- mysql-testing.patch | 89 +++++++++++++++------------------------- mysql.init | 2 +- mysql.spec | 31 +++++++++++--- sources | 2 +- 7 files changed, 104 insertions(+), 117 deletions(-) diff --git a/.cvsignore b/.cvsignore index f3c0171..3aa0705 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.27.tar.gz +mysql-5.0.33.tar.gz diff --git a/mysql-install-test.patch b/mysql-install-test.patch index b375e91..0431a9f 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -1,12 +1,12 @@ mysql's idea of a suitable place to install the regression tests is /usr/mysql-test. To relocate this to a reasonably FHS-compliant place -like /usr/share/mysql-test, we have to hack up the paths in install_test_db -and mysql-test-run. This patch also improves the documentation a tad. +like /usr/share/mysql-test, we have to hack up the paths in install_test_db. +This patch also improves the documentation a tad. -diff -Naur mysql-5.0.21.orig/mysql-test/README mysql-5.0.21/mysql-test/README ---- mysql-5.0.21.orig/mysql-test/README 2006-04-26 14:31:03.000000000 -0400 -+++ mysql-5.0.21/mysql-test/README 2006-05-01 20:58:04.000000000 -0400 +diff -Naur mysql-5.0.33.orig/mysql-test/README mysql-5.0.33/mysql-test/README +--- mysql-5.0.33.orig/mysql-test/README 2007-01-09 07:51:08.000000000 -0500 ++++ mysql-5.0.33/mysql-test/README 2007-02-09 12:27:08.000000000 -0500 @@ -6,6 +6,14 @@ actually have a co-existing MySQL installation. The tests will not conflict with it. @@ -32,34 +32,35 @@ diff -Naur mysql-5.0.21.orig/mysql-test/README mysql-5.0.21/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.0.21.orig/mysql-test/install_test_db.sh mysql-5.0.21/mysql-test/install_test_db.sh ---- mysql-5.0.21.orig/mysql-test/install_test_db.sh 2006-04-26 14:31:03.000000000 -0400 -+++ mysql-5.0.21/mysql-test/install_test_db.sh 2006-05-01 20:56:05.000000000 -0400 -@@ -9,17 +9,17 @@ - shift 1 +diff -Naur mysql-5.0.33.orig/mysql-test/install_test_db.sh mysql-5.0.33/mysql-test/install_test_db.sh +--- mysql-5.0.33.orig/mysql-test/install_test_db.sh 2007-01-09 07:51:07.000000000 -0500 ++++ mysql-5.0.33/mysql-test/install_test_db.sh 2007-02-09 12:32:00.000000000 -0500 +@@ -14,18 +14,15 @@ + libexecdir=../libexec # Check if it's a binary distribution or a 'make install' - if test -x ../libexec/mysqld + if test -x /usr/libexec/mysqld then - execdir=../libexec +- elif test -x ../../sbin/mysqld # RPM installation +- then +- execdir=../../sbin +- bindir=../../bin +- scriptdir=../../bin +- libexecdir=../../libexec + execdir=/usr/libexec else - execdir=../bin + execdir=/usr/bin fi -- bindir=../bin + bindir=/usr/bin - BINARY_DIST=1 - fix_bin=mysql-test -- scriptdir=../bin -- libexecdir=../libexec + scriptdir=/usr/bin + libexecdir=/usr/libexec + fix_bin=mysql-test else execdir=../sql - bindir=../client -@@ -75,7 +75,8 @@ +@@ -82,7 +79,8 @@ #for error messages if [ x$BINARY_DIST = x1 ] ; then @@ -69,15 +70,3 @@ diff -Naur mysql-5.0.21.orig/mysql-test/install_test_db.sh mysql-5.0.21/mysql-te else basedir=. EXTRA_ARG="--language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/" -diff -Naur mysql-5.0.21.orig/mysql-test/mysql-test-run.sh mysql-5.0.21/mysql-test/mysql-test-run.sh ---- mysql-5.0.21.orig/mysql-test/mysql-test-run.sh 2006-04-26 14:31:05.000000000 -0400 -+++ mysql-5.0.21/mysql-test/mysql-test-run.sh 2006-05-01 20:56:05.000000000 -0400 -@@ -740,6 +740,8 @@ - # currently all binaries are in "bin", for a MySQL AB packaging - # some are in "tests". - -+ BASEDIR="/usr" -+ - if test -x "$BASEDIR/libexec/mysqld" - then - MYSQLD="$VALGRIND $BASEDIR/libexec/mysqld" diff --git a/mysql-ssl-bugs.patch b/mysql-ssl-bugs.patch index 6e5553a..24ca522 100644 --- a/mysql-ssl-bugs.patch +++ b/mysql-ssl-bugs.patch @@ -13,10 +13,10 @@ gives system-dependent error messages, since that breaks the openssl_1 test (which has evidently only been tested with yassl, if at all). -diff -Naur mysql-5.0.27.orig/sql-common/client.c mysql-5.0.27/sql-common/client.c ---- mysql-5.0.27.orig/sql-common/client.c 2006-10-20 20:22:26.000000000 -0400 -+++ mysql-5.0.27/sql-common/client.c 2006-11-08 19:20:49.000000000 -0500 -@@ -2949,7 +2949,7 @@ +diff -Naur mysql-5.0.33.orig/sql-common/client.c mysql-5.0.33/sql-common/client.c +--- mysql-5.0.33.orig/sql-common/client.c 2007-01-09 07:51:07.000000000 -0500 ++++ mysql-5.0.33/sql-common/client.c 2007-02-09 12:36:17.000000000 -0500 +@@ -3017,7 +3017,7 @@ mysql->reconnect= *(my_bool *) arg; break; case MYSQL_OPT_SSL_VERIFY_SERVER_CERT: @@ -25,10 +25,10 @@ diff -Naur mysql-5.0.27.orig/sql-common/client.c mysql-5.0.27/sql-common/client. mysql->options.client_flag|= CLIENT_SSL_VERIFY_SERVER_CERT; else mysql->options.client_flag&= ~CLIENT_SSL_VERIFY_SERVER_CERT; -diff -Naur mysql-5.0.27.orig/vio/viossl.c mysql-5.0.27/vio/viossl.c ---- mysql-5.0.27.orig/vio/viossl.c 2006-10-20 20:23:11.000000000 -0400 -+++ mysql-5.0.27/vio/viossl.c 2006-11-09 13:57:32.000000000 -0500 -@@ -119,19 +119,10 @@ +diff -Naur mysql-5.0.33.orig/vio/viossl.c mysql-5.0.33/vio/viossl.c +--- mysql-5.0.33.orig/vio/viossl.c 2007-01-09 07:51:50.000000000 -0500 ++++ mysql-5.0.33/vio/viossl.c 2007-02-09 12:39:12.000000000 -0500 +@@ -124,19 +124,10 @@ if (ssl) { @@ -43,16 +43,16 @@ diff -Naur mysql-5.0.27.orig/vio/viossl.c mysql-5.0.27/vio/viossl.c - default: /* Shutdown failed */ + r = SSL_shutdown(ssl); + if (r < 0) - DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %s", + DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %d", SSL_get_error(ssl, r))); - break; - } SSL_free(ssl); vio->ssl_arg= 0; } -diff -Naur mysql-5.0.27.orig/mysql-test/r/openssl_1.result mysql-5.0.27/mysql-test/r/openssl_1.result ---- mysql-5.0.27.orig/mysql-test/r/openssl_1.result 2006-10-20 20:36:44.000000000 -0400 -+++ mysql-5.0.27/mysql-test/r/openssl_1.result 2006-11-09 15:11:47.000000000 -0500 +diff -Naur mysql-5.0.33.orig/mysql-test/r/openssl_1.result mysql-5.0.33/mysql-test/r/openssl_1.result +--- mysql-5.0.33.orig/mysql-test/r/openssl_1.result 2007-01-09 08:09:32.000000000 -0500 ++++ mysql-5.0.33/mysql-test/r/openssl_1.result 2007-02-09 12:36:17.000000000 -0500 @@ -3,8 +3,8 @@ insert into t1 values (5); grant select on test.* to ssl_user1@localhost require SSL; @@ -64,9 +64,9 @@ diff -Naur mysql-5.0.27.orig/mysql-test/r/openssl_1.result mysql-5.0.27/mysql-te grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); -diff -Naur mysql-5.0.27.orig/mysql-test/t/openssl_1.test mysql-5.0.27/mysql-test/t/openssl_1.test ---- mysql-5.0.27.orig/mysql-test/t/openssl_1.test 2006-10-20 20:36:43.000000000 -0400 -+++ mysql-5.0.27/mysql-test/t/openssl_1.test 2006-11-09 15:10:29.000000000 -0500 +diff -Naur mysql-5.0.33.orig/mysql-test/t/openssl_1.test mysql-5.0.33/mysql-test/t/openssl_1.test +--- mysql-5.0.33.orig/mysql-test/t/openssl_1.test 2007-01-09 08:09:28.000000000 -0500 ++++ mysql-5.0.33/mysql-test/t/openssl_1.test 2007-02-09 12:36:17.000000000 -0500 @@ -10,8 +10,8 @@ grant select on test.* to ssl_user1@localhost require SSL; @@ -78,22 +78,22 @@ diff -Naur mysql-5.0.27.orig/mysql-test/t/openssl_1.test mysql-5.0.27/mysql-test grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; -diff -Naur mysql-5.0.27.orig/vio/viosslfactories.c mysql-5.0.27/vio/viosslfactories.c ---- mysql-5.0.27.orig/vio/viosslfactories.c 2006-10-20 20:22:39.000000000 -0400 -+++ mysql-5.0.27/vio/viosslfactories.c 2006-11-09 16:02:14.000000000 -0500 -@@ -88,7 +88,7 @@ +diff -Naur mysql-5.0.33.orig/vio/viosslfactories.c mysql-5.0.33/vio/viosslfactories.c +--- mysql-5.0.33.orig/vio/viosslfactories.c 2007-01-09 07:51:28.000000000 -0500 ++++ mysql-5.0.33/vio/viosslfactories.c 2007-02-09 12:37:26.000000000 -0500 +@@ -87,7 +87,7 @@ + { DBUG_PRINT("error",("unable to get certificate from '%s'\n", cert_file)); - /* FIX stderr */ - fprintf(stderr,"Error when connection to server using SSL:"); + fprintf(stderr,"SSL error: "); - ERR_print_errors_fp(stderr); + DBUG_EXECUTE("error",ERR_print_errors_fp(stderr);); fprintf(stderr,"Unable to get certificate from '%s'\n", cert_file); fflush(stderr); DBUG_RETURN(1); -@@ -102,7 +102,7 @@ +@@ -100,7 +100,7 @@ + { DBUG_PRINT("error", ("unable to get private key from '%s'\n", key_file)); - /* FIX stderr */ - fprintf(stderr,"Error when connection to server using SSL:"); + fprintf(stderr,"SSL error: "); - ERR_print_errors_fp(stderr); + DBUG_EXECUTE("error",ERR_print_errors_fp(stderr);); fprintf(stderr,"Unable to get private key from '%s'\n", key_file); diff --git a/mysql-testing.patch b/mysql-testing.patch index a27256b..fc3e897 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -1,68 +1,47 @@ -This patch is needed to improve the probability that the MySQL tests pass -in Red Hat's build environment. The 32-bit and 64-bit variants of a single -architecture may be built on the same machine at the same time, so we have -to ensure that the tests use different port numbers on each arch, else they -will interfere with each other. Also, it's been observed that sometimes -the build environment fails to kill a test mysql daemon when a build is -stopped early due to build failure on another machine. To ensure subsequent -tests can succeed, kill off any such daemons. +Hack the top-level Makefile to enable the openssl regression tests. +(Why doesn't this happen automatically given the configure option??) -We also have to hack the top-level Makefile to enable the openssl regression -tests. (Why doesn't this happen automatically given the configure option??) - -Note: keep an eye on which version of "mysql-test-run" gets invoked by -the "make test" target. In the 4.1 branch this is now defaulting to the -perl script, but 5.0 is not (yet?) doing that; they also seem to be fooling -with a C-code version. Besides this patch, mysql-libtool.patch -would need to be changed to use either one. +Also, tweak the Perl test script so that the mysqld daemon gets detached +from the calling terminal session. Without this, the ssl_des test hangs up +because OpenSSL tries to read a PEM key from /dev/tty. -diff -Naur mysql-5.0.22.orig/Makefile.am mysql-5.0.22/Makefile.am ---- mysql-5.0.22.orig/Makefile.am 2006-05-25 04:56:41.000000000 -0400 -+++ mysql-5.0.22/Makefile.am 2006-06-10 13:13:34.000000000 -0400 -@@ -106,8 +106,8 @@ +diff -Naur mysql-5.0.33.orig/Makefile.am mysql-5.0.33/Makefile.am +--- mysql-5.0.33.orig/Makefile.am 2007-01-09 07:51:07.000000000 -0500 ++++ mysql-5.0.33/Makefile.am 2007-02-09 13:37:00.000000000 -0500 +@@ -121,8 +121,8 @@ test: cd mysql-test ; \ - ./mysql-test-run && \ - ./mysql-test-run --ps-protocol -+ ./mysql-test-run --with-openssl && \ -+ ./mysql-test-run --ps-protocol --with-openssl ++ ./mysql-test-run --ssl && \ ++ ./mysql-test-run --ps-protocol --ssl test-force: cd mysql-test; \ -diff -Naur mysql-5.0.22.orig/mysql-test/mysql-test-run.sh mysql-5.0.22/mysql-test/mysql-test-run.sh ---- mysql-5.0.22.orig/mysql-test/mysql-test-run.sh 2006-05-25 04:56:49.000000000 -0400 -+++ mysql-5.0.22/mysql-test/mysql-test-run.sh 2006-06-10 13:36:32.000000000 -0400 -@@ -252,6 +252,16 @@ - # 5.1 test run, even if different MTR_BUILD_THREAD is used. This means - # all port numbers might not be used in this version of the script. - # -+# hack to allow 32- and 64-bit tests to run concurrently on same build machine -+case `uname -m` in -+ ppc64 | s390x | x86_64) -+ MTR_BUILD_THREAD=7 -+ ;; -+ *) -+ MTR_BUILD_THREAD=11 -+ ;; -+esac -+ - if [ -n "$MTR_BUILD_THREAD" ] ; then - MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 10 + 10000` - MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2` -@@ -265,6 +275,14 @@ - echo "Using NDBCLUSTER_PORT = $NDBCLUSTER_PORT" - fi +diff -Naur mysql-5.0.33.orig/mysql-test/lib/mtr_process.pl mysql-5.0.33/mysql-test/lib/mtr_process.pl +--- mysql-5.0.33.orig/mysql-test/lib/mtr_process.pl 2007-01-09 08:09:33.000000000 -0500 ++++ mysql-5.0.33/mysql-test/lib/mtr_process.pl 2007-02-09 13:36:05.000000000 -0500 +@@ -147,6 +147,9 @@ + # became a deamon as well, and was hard to kill ;-) + # Need to catch SIGCHLD and do waitpid or something instead...... -+# -+# If a previous build attempt failed it's possible that mysql daemons -+# launched by previous run of this script are still hanging around. -+# Kill 'em so we can re-use the ports. -+# -+ps auxww | grep "/sql/mysqld .*port=$MASTER_MYPORT" | awk '{print $2}' | xargs kill -+ps auxww | grep "/sql/mysqld .*port=$SLAVE_MYPORT" | awk '{print $2}' | xargs kill ++ # dunno, it works for me ... ++ POSIX::setsid(); + - NO_SLAVE=0 - USER_TEST= - FAILED_CASES= + $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't + + my $log_file_open_mode = '>'; +diff -Naur mysql-5.0.33.orig/mysql-test/mysql-test-run.pl mysql-5.0.33/mysql-test/mysql-test-run.pl +--- mysql-5.0.33.orig/mysql-test/mysql-test-run.pl 2007-01-09 07:51:07.000000000 -0500 ++++ mysql-5.0.33/mysql-test/mysql-test-run.pl 2007-02-09 13:36:27.000000000 -0500 +@@ -3862,7 +3862,7 @@ + + if ( defined $exe ) + { +- $pid= mtr_spawn($exe, $args, "", ++ $pid= mtr_spawn($exe, $args, '/dev/null', + $mysqld->{'path_myerr'}, + $mysqld->{'path_myerr'}, + "", diff --git a/mysql.init b/mysql.init index fce6e34..4f37047 100644 --- a/mysql.init +++ b/mysql.init @@ -65,7 +65,7 @@ start(){ return $ret fi fi - chown -R mysql:mysql "$datadir" + chown mysql:mysql "$datadir" chmod 0755 "$datadir" # The reason for explicitly specifying --pid-file is that there may # be no such entry in my.cnf, and the default behavior will be to not diff --git a/mysql.spec b/mysql.spec index f164333..f8f77d2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.0.27 +Version: 5.0.33 Release: 1%{?dist} Summary: MySQL client programs and shared libraries. License: GPL @@ -18,7 +18,6 @@ Source5: my_config.h Source999: filter-requires-mysql.sh Patch1: mysql-libdir.patch Patch2: mysql-errno.patch -Patch3: mysql-libtool.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-rpl_ddl.patch @@ -26,6 +25,7 @@ Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch Patch10: mysql-ssl-bugs.patch +Patch11: mysql-y2007bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig @@ -110,7 +110,6 @@ the MySQL sources. %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 @@ -118,6 +117,7 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 libtoolize --force aclocal @@ -168,6 +168,17 @@ make %{?_smp_mflags} make check %if %runselftest + # hack to let 32- and 64-bit tests run concurrently on same build machine + case `uname -m` in + ppc64 | s390x | x86_64) + MTR_BUILD_THREAD=7 + ;; + *) + MTR_BUILD_THREAD=11 + ;; + esac + export MTR_BUILD_THREAD + make test %endif @@ -250,7 +261,7 @@ fi %preun if [ $1 = 0 ]; then - /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir + /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir || : fi %preun server @@ -383,16 +394,16 @@ fi %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbinlog.1.gz %{_mandir}/man1/mysqlcheck.1.gz -%{_mandir}/man1/mysqld.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlhotcopy.1.gz %{_mandir}/man1/mysqlimport.1.gz %{_mandir}/man1/mysqlman.1.gz -%{_mandir}/man1/mysqlmanager.1.gz %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/safe_mysqld.1* +%{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* %{_mandir}/man8/mysqlmanager.8* @@ -422,6 +433,14 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Fri Feb 9 2007 Tom Lane 5.0.33-1 +- Update to MySQL 5.0.33 +- Install band-aid fix for "view" regression test designed to fail after 2006 +- Don't chmod -R the entire database directory tree on every startup +Related: #221085 +- Fix unsafe use of install-info +Resolves: #223713 + * Thu Nov 9 2006 Tom Lane 5.0.27-1 - Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) Resolves: #202247, #202675, #203427, #203428, #203432, #203434, #208641 diff --git a/sources b/sources index 28502fc..0b20e8c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -584d423440a9d9c859678e3d4f2690b3 mysql-5.0.27.tar.gz +10cb85276a1468c7906a4ff4dd565d61 mysql-5.0.33.tar.gz From 7bc9b690d723e688fe784a602684c0647be0c099 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 9 Feb 2007 20:47:18 +0000 Subject: [PATCH 090/616] Cope with new automake in F7 --- mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index f8f77d2..ceb8c3e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -121,7 +121,7 @@ the MySQL sources. libtoolize --force aclocal -automake +automake -Wno-portability autoconf autoheader @@ -440,6 +440,7 @@ fi Related: #221085 - Fix unsafe use of install-info Resolves: #223713 +- Cope with new automake in F7 * Thu Nov 9 2006 Tom Lane 5.0.27-1 - Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) From 366de58519801da5222a88450ad617a8b520f28b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 9 Feb 2007 20:53:25 +0000 Subject: [PATCH 091/616] Cope with new automake in F7 --- mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index ceb8c3e..d0ce2be 100644 --- a/mysql.spec +++ b/mysql.spec @@ -121,7 +121,7 @@ the MySQL sources. libtoolize --force aclocal -automake -Wno-portability +automake --add-missing -Wno-portability autoconf autoheader @@ -441,6 +441,7 @@ Related: #221085 - Fix unsafe use of install-info Resolves: #223713 - Cope with new automake in F7 +Resolves: #224171 * Thu Nov 9 2006 Tom Lane 5.0.27-1 - Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) From ebf8197d537d7d196913422530717f5ac95c3fb2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 10 Feb 2007 00:13:28 +0000 Subject: [PATCH 092/616] Cope with mysql's newly voracious appetite for spare stack space. --- mysql-stack.patch | 18 ++++++++++++++++++ mysql.spec | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 mysql-stack.patch diff --git a/mysql-stack.patch b/mysql-stack.patch new file mode 100644 index 0000000..aa46472 --- /dev/null +++ b/mysql-stack.patch @@ -0,0 +1,18 @@ +Talk about silly byte-shaving ... the "stock" value does not work on s390x, +and probably not on some other platforms either. Knock it up to twice the +pre-5.0.33 value to have some margin for future changes in compiler, glibc, +etc. Suspect this number if "execution_constants" regression test fails. + + +diff -Naur mysql-5.0.33.orig/sql/mysql_priv.h mysql-5.0.33/sql/mysql_priv.h +--- mysql-5.0.33.orig/sql/mysql_priv.h 2007-01-09 07:51:48.000000000 -0500 ++++ mysql-5.0.33/sql/mysql_priv.h 2007-02-09 19:06:51.000000000 -0500 +@@ -154,7 +154,7 @@ + Feel free to raise this by the smallest amount you can to get the + "execution_constants" test to pass. + */ +-#define STACK_MIN_SIZE 10788 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 16384 // Abort if less stack during eval. + + #define STACK_MIN_SIZE_FOR_OPEN 1024*80 + #define STACK_BUFF_ALLOC 256 // For stack overrun checks diff --git a/mysql.spec b/mysql.spec index d0ce2be..434cb1f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -18,6 +18,7 @@ Source5: my_config.h Source999: filter-requires-mysql.sh Patch1: mysql-libdir.patch Patch2: mysql-errno.patch +Patch3: mysql-stack.patch Patch4: mysql-testing.patch Patch5: mysql-no-atomic.patch Patch6: mysql-rpl_ddl.patch @@ -110,6 +111,7 @@ the MySQL sources. %patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 From 22c32d815d3dfb8db7e12ad7ed9b5e67db52eb3a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 12 Mar 2007 17:08:30 +0000 Subject: [PATCH 093/616] Update to MySQL 5.0.37. Resolves: #231838 Put client library into a separate mysql-libs RPM to reduce dependencies Resolves: #205630 Minor rpmlint cleanups. --- .cvsignore | 2 +- mysql-info-schema.patch | 16 +++ mysql-ssl-bugs.patch | 89 +-------------- mysql-testing.patch | 41 +++---- mysql.spec | 235 ++++++++++++++++++++++++---------------- sources | 2 +- 6 files changed, 185 insertions(+), 200 deletions(-) create mode 100644 mysql-info-schema.patch diff --git a/.cvsignore b/.cvsignore index 3aa0705..6dd638f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.33.tar.gz +mysql-5.0.37.tar.gz diff --git a/mysql-info-schema.patch b/mysql-info-schema.patch new file mode 100644 index 0000000..2b88c21 --- /dev/null +++ b/mysql-info-schema.patch @@ -0,0 +1,16 @@ +Crude workaround for upstream bug #27035 ... don't these people even run +their own regression tests before making releases? + + +diff -Naur mysql-5.0.37.orig/mysql-test/r/information_schema.result mysql-5.0.37/mysql-test/r/information_schema.result +--- mysql-5.0.37.orig/mysql-test/r/information_schema.result 2007-03-05 14:40:30.000000000 -0500 ++++ mysql-5.0.37/mysql-test/r/information_schema.result 2007-03-12 11:48:12.000000000 -0400 +@@ -1096,7 +1096,7 @@ + group by column_type order by num; + column_type group_concat(table_schema, '.', table_name) num + varchar(20) information_schema.COLUMNS,information_schema.PROFILING 2 +-varchar(7) information_schema.PROFILING,information_schema.PROFILING,information_schema.PROFILING,information_schema.ROUTINES,information_schema.VIEWS 5 ++varchar(7) information_schema.ROUTINES,information_schema.VIEWS 2 + create table t1(f1 char(1) not null, f2 char(9) not null) + default character set utf8; + select CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH from diff --git a/mysql-ssl-bugs.patch b/mysql-ssl-bugs.patch index 24ca522..1ef3f8b 100644 --- a/mysql-ssl-bugs.patch +++ b/mysql-ssl-bugs.patch @@ -1,16 +1,5 @@ -Workarounds for recently-introduced SSL breakage, filed as upstream bugs -#24121, #24148, and #24157. - -I believe the client.c fix is actually correct. - -The viossl.c patch is just a crude reversion to the 5.0.22 approach to work -around brain death in close_connection(). I don't know the mysql code well -enough to venture changing the locking logic in close_connection(), though. - -Also, change openssl_1 test to agree with the test certificate included in the -distribution. And in viosslfactories.c, suppress ERR_print_errors_fp which -gives system-dependent error messages, since that breaks the openssl_1 test -(which has evidently only been tested with yassl, if at all). +Workaround for recently-introduced SSL breakage, filed as upstream bug +#24121 (why is this still not fixed in 5.0.37?) diff -Naur mysql-5.0.33.orig/sql-common/client.c mysql-5.0.33/sql-common/client.c @@ -25,77 +14,3 @@ diff -Naur mysql-5.0.33.orig/sql-common/client.c mysql-5.0.33/sql-common/client. mysql->options.client_flag|= CLIENT_SSL_VERIFY_SERVER_CERT; else mysql->options.client_flag&= ~CLIENT_SSL_VERIFY_SERVER_CERT; -diff -Naur mysql-5.0.33.orig/vio/viossl.c mysql-5.0.33/vio/viossl.c ---- mysql-5.0.33.orig/vio/viossl.c 2007-01-09 07:51:50.000000000 -0500 -+++ mysql-5.0.33/vio/viossl.c 2007-02-09 12:39:12.000000000 -0500 -@@ -124,19 +124,10 @@ - - if (ssl) - { -- switch ((r= SSL_shutdown(ssl))) -- { -- case 1: /* Shutdown successful */ -- break; -- case 0: /* Shutdown not yet finished, call it again */ -- if ((r= SSL_shutdown(ssl) >= 0)) -- break; -- /* Fallthrough */ -- default: /* Shutdown failed */ -+ r = SSL_shutdown(ssl); -+ if (r < 0) - DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %d", - SSL_get_error(ssl, r))); -- break; -- } - SSL_free(ssl); - vio->ssl_arg= 0; - } -diff -Naur mysql-5.0.33.orig/mysql-test/r/openssl_1.result mysql-5.0.33/mysql-test/r/openssl_1.result ---- mysql-5.0.33.orig/mysql-test/r/openssl_1.result 2007-01-09 08:09:32.000000000 -0500 -+++ mysql-5.0.33/mysql-test/r/openssl_1.result 2007-02-09 12:36:17.000000000 -0500 -@@ -3,8 +3,8 @@ - insert into t1 values (5); - grant select on test.* to ssl_user1@localhost require SSL; - grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; --grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; --grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; -+grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); -diff -Naur mysql-5.0.33.orig/mysql-test/t/openssl_1.test mysql-5.0.33/mysql-test/t/openssl_1.test ---- mysql-5.0.33.orig/mysql-test/t/openssl_1.test 2007-01-09 08:09:28.000000000 -0500 -+++ mysql-5.0.33/mysql-test/t/openssl_1.test 2007-02-09 12:36:17.000000000 -0500 -@@ -10,8 +10,8 @@ - - grant select on test.* to ssl_user1@localhost require SSL; - grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; --grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; --grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; -+grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - -diff -Naur mysql-5.0.33.orig/vio/viosslfactories.c mysql-5.0.33/vio/viosslfactories.c ---- mysql-5.0.33.orig/vio/viosslfactories.c 2007-01-09 07:51:28.000000000 -0500 -+++ mysql-5.0.33/vio/viosslfactories.c 2007-02-09 12:37:26.000000000 -0500 -@@ -87,7 +87,7 @@ - { - DBUG_PRINT("error",("unable to get certificate from '%s'\n", cert_file)); - fprintf(stderr,"SSL error: "); -- ERR_print_errors_fp(stderr); -+ DBUG_EXECUTE("error",ERR_print_errors_fp(stderr);); - fprintf(stderr,"Unable to get certificate from '%s'\n", cert_file); - fflush(stderr); - DBUG_RETURN(1); -@@ -100,7 +100,7 @@ - { - DBUG_PRINT("error", ("unable to get private key from '%s'\n", key_file)); - fprintf(stderr,"SSL error: "); -- ERR_print_errors_fp(stderr); -+ DBUG_EXECUTE("error",ERR_print_errors_fp(stderr);); - fprintf(stderr,"Unable to get private key from '%s'\n", key_file); - fflush(stderr); - DBUG_RETURN(1); diff --git a/mysql-testing.patch b/mysql-testing.patch index fc3e897..7832229 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -6,24 +6,27 @@ from the calling terminal session. Without this, the ssl_des test hangs up because OpenSSL tries to read a PEM key from /dev/tty. -diff -Naur mysql-5.0.33.orig/Makefile.am mysql-5.0.33/Makefile.am ---- mysql-5.0.33.orig/Makefile.am 2007-01-09 07:51:07.000000000 -0500 -+++ mysql-5.0.33/Makefile.am 2007-02-09 13:37:00.000000000 -0500 -@@ -121,8 +121,8 @@ +diff -Naur mysql-5.0.37.orig/Makefile.am mysql-5.0.37/Makefile.am +--- mysql-5.0.37.orig/Makefile.am 2007-03-05 14:21:11.000000000 -0500 ++++ mysql-5.0.37/Makefile.am 2007-03-12 11:19:05.000000000 -0400 +@@ -124,11 +124,11 @@ - test: + test-ps: cd mysql-test ; \ -- ./mysql-test-run && \ -- ./mysql-test-run --ps-protocol -+ ./mysql-test-run --ssl && \ -+ ./mysql-test-run --ps-protocol --ssl +- @PERL@ ./mysql-test-run.pl $(force) --ps-protocol ++ @PERL@ ./mysql-test-run.pl $(force) --ssl --ps-protocol - test-force: - cd mysql-test; \ -diff -Naur mysql-5.0.33.orig/mysql-test/lib/mtr_process.pl mysql-5.0.33/mysql-test/lib/mtr_process.pl ---- mysql-5.0.33.orig/mysql-test/lib/mtr_process.pl 2007-01-09 08:09:33.000000000 -0500 -+++ mysql-5.0.33/mysql-test/lib/mtr_process.pl 2007-02-09 13:36:05.000000000 -0500 -@@ -147,6 +147,9 @@ + test-ns: + cd mysql-test ; \ +- @PERL@ ./mysql-test-run.pl $(force) ++ @PERL@ ./mysql-test-run.pl $(force) --ssl + + test: test-ns test-ps + +diff -Naur mysql-5.0.37.orig/mysql-test/lib/mtr_process.pl mysql-5.0.37/mysql-test/lib/mtr_process.pl +--- mysql-5.0.37.orig/mysql-test/lib/mtr_process.pl 2007-03-05 14:40:33.000000000 -0500 ++++ mysql-5.0.37/mysql-test/lib/mtr_process.pl 2007-03-12 11:17:52.000000000 -0400 +@@ -161,6 +161,9 @@ # became a deamon as well, and was hard to kill ;-) # Need to catch SIGCHLD and do waitpid or something instead...... @@ -33,10 +36,10 @@ diff -Naur mysql-5.0.33.orig/mysql-test/lib/mtr_process.pl mysql-5.0.33/mysql-te $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't my $log_file_open_mode = '>'; -diff -Naur mysql-5.0.33.orig/mysql-test/mysql-test-run.pl mysql-5.0.33/mysql-test/mysql-test-run.pl ---- mysql-5.0.33.orig/mysql-test/mysql-test-run.pl 2007-01-09 07:51:07.000000000 -0500 -+++ mysql-5.0.33/mysql-test/mysql-test-run.pl 2007-02-09 13:36:27.000000000 -0500 -@@ -3862,7 +3862,7 @@ +diff -Naur mysql-5.0.37.orig/mysql-test/mysql-test-run.pl mysql-5.0.37/mysql-test/mysql-test-run.pl +--- mysql-5.0.37.orig/mysql-test/mysql-test-run.pl 2007-03-05 14:21:11.000000000 -0500 ++++ mysql-5.0.37/mysql-test/mysql-test-run.pl 2007-03-12 11:17:52.000000000 -0400 +@@ -3906,7 +3906,7 @@ if ( defined $exe ) { diff --git a/mysql.spec b/mysql.spec index 434cb1f..682accd 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,7 +1,7 @@ Name: mysql -Version: 5.0.33 +Version: 5.0.37 Release: 1%{?dist} -Summary: MySQL client programs and shared libraries. +Summary: MySQL client programs and shared libraries License: GPL Group: Applications/Databases URL: http://www.mysql.com @@ -26,18 +26,19 @@ Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch Patch10: mysql-ssl-bugs.patch -Patch11: mysql-y2007bug.patch +Patch11: mysql-info-schema.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf +# make test requires time +BuildRequires: time +Requires: %{name}-libs = %{version}-%{release} Requires: bash Conflicts: MySQL Obsoletes: mysql-client mysql-perl -# make test requires time -BuildRequires: time # Working around perl dependency checking bug in rpm FTTB. Remove later. %define __perl_requires %{SOURCE999} @@ -46,16 +47,29 @@ BuildRequires: time MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package -contains the MySQL client programs, the client shared libraries, and -generic MySQL files. +contains the standard MySQL client programs and generic MySQL files. + +%package libs + +Summary: The shared libraries required for MySQL clients +License: GPL +Group: Applications/Databases + +%description libs +The mysql-libs package provides the essential shared libraries for any +MySQL client program or interface. You will need to install this package +to use any other MySQL package or any clients that need to connect to a +MySQL server. %package server -Summary: The MySQL server and related files. +Summary: The MySQL server and related files License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd -Requires: %{name} = %{version}-%{release}, sh-utils +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} +Requires: sh-utils # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server @@ -68,10 +82,11 @@ the MySQL server and some accompanying files and directories. %package devel -Summary: Files for development of MySQL applications. +Summary: Files for development of MySQL applications License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} Requires: openssl-devel Conflicts: MySQL-devel @@ -82,7 +97,7 @@ developing MySQL client applications. %package bench -Summary: MySQL benchmark scripts and data. +Summary: MySQL benchmark scripts and data License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} @@ -95,7 +110,7 @@ MySQL. %package test -Summary: The test suite distributed with MySQL. +Summary: The test suite distributed with MySQL License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} @@ -225,6 +240,7 @@ install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution @@ -252,6 +268,8 @@ rm -rf $RPM_BUILD_ROOT %post /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir + +%post libs /sbin/ldconfig %post server @@ -271,7 +289,7 @@ if [ $1 = 0 ]; then /sbin/chkconfig --del mysqld fi -%postun +%postun libs if [ $1 = 0 ] ; then /sbin/ldconfig fi @@ -313,9 +331,17 @@ fi %{_mandir}/man1/mysqlshow.1* %dir %{_libdir}/mysql -%{_libdir}/mysql/libmysqlclient*.so.* %{_libdir}/mysql/mysqlbug %{_libdir}/mysql/mysql_config + +# perhaps my.cnf should be in the server package? +%config(noreplace) /etc/my.cnf + +%files libs +%defattr(-,root,root) + +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient*.so.* /etc/ld.so.conf.d/* %dir %{_datadir}/mysql @@ -343,7 +369,6 @@ fi %lang(sv) %{_datadir}/mysql/swedish %lang(uk) %{_datadir}/mysql/ukrainian %{_datadir}/mysql/charsets -%config(noreplace) /etc/my.cnf %files server %defattr(-,root,root) @@ -406,6 +431,26 @@ fi %{_mandir}/man1/safe_mysqld.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_tzinfo_to_sql.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/mysqlmanager.8* @@ -435,6 +480,12 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Mon Mar 12 2007 Tom Lane 5.0.37-1 +- Update to MySQL 5.0.37 +Resolves: #231838 +- Put client library into a separate mysql-libs RPM to reduce dependencies +Resolves: #205630 + * Fri Feb 9 2007 Tom Lane 5.0.33-1 - Update to MySQL 5.0.33 - Install band-aid fix for "view" regression test designed to fail after 2006 @@ -730,178 +781,178 @@ Resolves: #199368 * Tue Nov 12 2002 Florian La Roche - do not prereq userdel, not used at all -* Mon Sep 9 2002 Trond Eivind Glomsrød 3.23.52-4 +* Mon Sep 9 2002 Trond Eivind Glomsrd 3.23.52-4 - Use %%{_libdir} - Add patch for x86-64 * Wed Sep 4 2002 Jakub Jelinek 3.23.52-3 - rebuilt with gcc-3.2-7 -* Thu Aug 29 2002 Trond Eivind Glomsrød 3.23.52-2 +* Thu Aug 29 2002 Trond Eivind Glomsrd 3.23.52-2 - Add --enable-local-infile to configure - a new option which doesn't default to the old behaviour (#72885) -* Fri Aug 23 2002 Trond Eivind Glomsrød 3.23.52-1 +* Fri Aug 23 2002 Trond Eivind Glomsrd 3.23.52-1 - 3.23.52. Fixes a minor security problem, various bugfixes. * Sat Aug 10 2002 Elliot Lee 3.23.51-5 - rebuilt with gcc-3.2 (we hope) -* Mon Jul 22 2002 Trond Eivind Glomsrød 3.23.51-4 +* Mon Jul 22 2002 Trond Eivind Glomsrd 3.23.51-4 - rebuild -* Thu Jul 18 2002 Trond Eivind Glomsrød 3.23.51-3 +* Thu Jul 18 2002 Trond Eivind Glomsrd 3.23.51-3 - Fix #63543 and #63542 -* Thu Jul 11 2002 Trond Eivind Glomsrød 3.23.51-2 +* Thu Jul 11 2002 Trond Eivind Glomsrd 3.23.51-2 - Turn off bdb on PPC(#68591) - Turn off the assembly optimizations, for safety. -* Wed Jun 26 2002 Trond Eivind Glomsrød 3.23.51-1 +* Wed Jun 26 2002 Trond Eivind Glomsrd 3.23.51-1 - Work around annoying auto* thinking this is a crosscompile - 3.23.51 * Fri Jun 21 2002 Tim Powers - automated rebuild -* Mon Jun 10 2002 Trond Eivind Glomsrød 3.23.50-2 +* Mon Jun 10 2002 Trond Eivind Glomsrd 3.23.50-2 - Add dependency on perl-DBI and perl-DBD-MySQL (#66349) -* Thu May 30 2002 Trond Eivind Glomsrød 3.23.50-1 +* Thu May 30 2002 Trond Eivind Glomsrd 3.23.50-1 - 3.23.50 * Thu May 23 2002 Tim Powers - automated rebuild -* Mon May 13 2002 Trond Eivind Glomsrød 3.23.49-4 +* Mon May 13 2002 Trond Eivind Glomsrd 3.23.49-4 - Rebuild - Don't set CXX to gcc, it doesn't work anymore - Exclude Alpha -* Mon Apr 8 2002 Trond Eivind Glomsrød 3.23.49-3 +* Mon Apr 8 2002 Trond Eivind Glomsrd 3.23.49-3 - Add the various .cnf examples as doc files to mysql-server (#60349) - Don't include manual.ps, it's just 200 bytes with a URL inside (#60349) - Don't include random files in /usr/share/mysql (#60349) - langify (#60349) -* Thu Feb 21 2002 Trond Eivind Glomsrød 3.23.49-2 +* Thu Feb 21 2002 Trond Eivind Glomsrd 3.23.49-2 - Rebuild -* Sun Feb 17 2002 Trond Eivind Glomsrød 3.23.49-1 +* Sun Feb 17 2002 Trond Eivind Glomsrd 3.23.49-1 - 3.23.49 -* Thu Feb 14 2002 Trond Eivind Glomsrød 3.23.48-2 +* Thu Feb 14 2002 Trond Eivind Glomsrd 3.23.48-2 - work around perl dependency bug. -* Mon Feb 11 2002 Trond Eivind Glomsrød 3.23.48-1 +* Mon Feb 11 2002 Trond Eivind Glomsrd 3.23.48-1 - 3.23.48 -* Thu Jan 17 2002 Trond Eivind Glomsrød 3.23.47-4 +* Thu Jan 17 2002 Trond Eivind Glomsrd 3.23.47-4 - Use kill, not mysqladmin, to flush logs and shut down. Thus, an admin password can be set with no problems. - Remove reload from init script -* Wed Jan 16 2002 Trond Eivind Glomsrød 3.23.47-3 +* Wed Jan 16 2002 Trond Eivind Glomsrd 3.23.47-3 - remove db3-devel from buildrequires, MySQL has had its own bundled copy since the mid thirties -* Sun Jan 6 2002 Trond Eivind Glomsrød 3.23.47-1 +* Sun Jan 6 2002 Trond Eivind Glomsrd 3.23.47-1 - 3.23.47 - Don't build for alpha, toolchain immature. -* Mon Dec 3 2001 Trond Eivind Glomsrød 3.23.46-1 +* Mon Dec 3 2001 Trond Eivind Glomsrd 3.23.46-1 - 3.23.46 - use -fno-rtti and -fno-exceptions, and set CXX to increase stability. Recommended by mysql developers. -* Sun Nov 25 2001 Trond Eivind Glomsrød 3.23.45-1 +* Sun Nov 25 2001 Trond Eivind Glomsrd 3.23.45-1 - 3.23.45 -* Wed Nov 14 2001 Trond Eivind Glomsrød 3.23.44-2 +* Wed Nov 14 2001 Trond Eivind Glomsrd 3.23.44-2 - centralize definition of datadir in the initscript (#55873) -* Fri Nov 2 2001 Trond Eivind Glomsrød 3.23.44-1 +* Fri Nov 2 2001 Trond Eivind Glomsrd 3.23.44-1 - 3.23.44 -* Thu Oct 4 2001 Trond Eivind Glomsrød 3.23.43-1 +* Thu Oct 4 2001 Trond Eivind Glomsrd 3.23.43-1 - 3.23.43 -* Mon Sep 10 2001 Trond Eivind Glomsrød 3.23.42-1 +* Mon Sep 10 2001 Trond Eivind Glomsrd 3.23.42-1 - 3.23.42 - reenable innodb -* Tue Aug 14 2001 Trond Eivind Glomsrød 3.23.41-1 +* Tue Aug 14 2001 Trond Eivind Glomsrd 3.23.41-1 - 3.23.41 bugfix release - disable innodb, to avoid the broken updates - Use "mysqladmin flush_logs" instead of kill -HUP in logrotate script (#51711) -* Sat Jul 21 2001 Trond Eivind Glomsrød +* Sat Jul 21 2001 Trond Eivind Glomsrd - 3.23.40, bugfix release - Add zlib-devel to buildrequires: -* Fri Jul 20 2001 Trond Eivind Glomsrød +* Fri Jul 20 2001 Trond Eivind Glomsrd - BuildRequires-tweaking -* Thu Jun 28 2001 Trond Eivind Glomsrød +* Thu Jun 28 2001 Trond Eivind Glomsrd - Reenable test, but don't run them for s390, s390x or ia64 - Make /etc/my.cnf config(noplace). Same for /etc/logrotate.d/mysqld -* Thu Jun 14 2001 Trond Eivind Glomsrød +* Thu Jun 14 2001 Trond Eivind Glomsrd - 3.23.29 - enable innodb - enable assembly again - disable tests for now... -* Tue May 15 2001 Trond Eivind Glomsrød +* Tue May 15 2001 Trond Eivind Glomsrd - 3.23.38 - Don't use BDB on Alpha - no fast mutexes -* Tue Apr 24 2001 Trond Eivind Glomsrød +* Tue Apr 24 2001 Trond Eivind Glomsrd - 3.23.37 - Add _GNU_SOURCE to the compile flags -* Wed Mar 28 2001 Trond Eivind Glomsrød +* Wed Mar 28 2001 Trond Eivind Glomsrd - Make it obsolete our 6.2 PowerTools packages - 3.23.36 bugfix release - fixes some security issues which didn't apply to our standard configuration - Make "make test" part of the build process, except on IA64 (it fails there) -* Tue Mar 20 2001 Trond Eivind Glomsrød +* Tue Mar 20 2001 Trond Eivind Glomsrd - 3.23.35 bugfix release - Don't delete the mysql user on uninstall -* Tue Mar 13 2001 Trond Eivind Glomsrød +* Tue Mar 13 2001 Trond Eivind Glomsrd - 3.23.34a bugfix release -* Wed Feb 7 2001 Trond Eivind Glomsrød +* Wed Feb 7 2001 Trond Eivind Glomsrd - added readline-devel to BuildRequires: -* Tue Feb 6 2001 Trond Eivind Glomsrød +* Tue Feb 6 2001 Trond Eivind Glomsrd - small i18n-fixes to initscript (action needs $) -* Tue Jan 30 2001 Trond Eivind Glomsrød +* Tue Jan 30 2001 Trond Eivind Glomsrd - make it shut down and rotate logs without using mysqladmin (from #24909) -* Mon Jan 29 2001 Trond Eivind Glomsrød +* Mon Jan 29 2001 Trond Eivind Glomsrd - conflict with "MySQL" -* Tue Jan 23 2001 Trond Eivind Glomsrød +* Tue Jan 23 2001 Trond Eivind Glomsrd - improve gettextizing -* Mon Jan 22 2001 Trond Eivind Glomsrød +* Mon Jan 22 2001 Trond Eivind Glomsrd - 3.23.32 - fix logrotate script (#24589) -* Wed Jan 17 2001 Trond Eivind Glomsrød +* Wed Jan 17 2001 Trond Eivind Glomsrd - gettextize - move the items in Requires(post): to Requires: in preparation for an errata for 7.0 when 3.23.31 is released - 3.23.31 -* Tue Jan 16 2001 Trond Eivind Glomsrød +* Tue Jan 16 2001 Trond Eivind Glomsrd - add the log file to the rpm database, and make it 0640 (#24116) - as above in logrotate script @@ -912,71 +963,71 @@ Resolves: #199368 - use standard safe_mysqld - shut down cleaner -* Mon Jan 08 2001 Trond Eivind Glomsrød +* Mon Jan 08 2001 Trond Eivind Glomsrd - 3.23.30 - do an explicit chmod on /var/lib/mysql in post, to avoid any problems with broken permissons. There is a report of rm not changing this on its own (#22989) -* Mon Jan 01 2001 Trond Eivind Glomsrød +* Mon Jan 01 2001 Trond Eivind Glomsrd - bzipped source - changed from 85 to 78 in startup, so it starts before apache (which can use modules requiring mysql) -* Wed Dec 27 2000 Trond Eivind Glomsrød +* Wed Dec 27 2000 Trond Eivind Glomsrd - 3.23.29a -* Tue Dec 19 2000 Trond Eivind Glomsrød +* Tue Dec 19 2000 Trond Eivind Glomsrd - add requirement for new libstdc++, build for errata -* Mon Dec 18 2000 Trond Eivind Glomsrød +* Mon Dec 18 2000 Trond Eivind Glomsrd - 3.23.29 -* Mon Nov 27 2000 Trond Eivind Glomsrød +* Mon Nov 27 2000 Trond Eivind Glomsrd - 3.23.28 (gamma) - remove old patches, as they are now upstreamed -* Thu Nov 14 2000 Trond Eivind Glomsrød +* Thu Nov 14 2000 Trond Eivind Glomsrd - Add a requirement for a new glibc (#20735) - build on IA64 -* Wed Nov 1 2000 Trond Eivind Glomsrød +* Wed Nov 1 2000 Trond Eivind Glomsrd - disable more assembly * Wed Nov 1 2000 Jakub Jelinek - fix mysql on SPARC (#20124) -* Tue Oct 31 2000 Trond Eivind Glomsrød +* Tue Oct 31 2000 Trond Eivind Glomsrd - 3.23.27 -* Wed Oct 25 2000 Trond Eivind Glomsrød +* Wed Oct 25 2000 Trond Eivind Glomsrd - add patch for fixing bogus aliasing in mysql from Jakub, which should fix #18905 and #18620 -* Mon Oct 23 2000 Trond Eivind Glomsrød +* Mon Oct 23 2000 Trond Eivind Glomsrd - check for negative niceness values, and negate it if present (#17899) - redefine optflags on IA32 FTTB -* Wed Oct 18 2000 Trond Eivind Glomsrød +* Wed Oct 18 2000 Trond Eivind Glomsrd - 3.23.26, which among other fixes now uses mkstemp() instead of tempnam(). - revert changes made yesterday, the problem is now isolated -* Tue Oct 17 2000 Trond Eivind Glomsrød +* Tue Oct 17 2000 Trond Eivind Glomsrd - use the compat C++ compiler FTTB. Argh. - add requirement of ncurses4 (see above) -* Sun Oct 01 2000 Trond Eivind Glomsrød +* Sun Oct 01 2000 Trond Eivind Glomsrd - 3.23.25 - fix shutdown problem (#17956) -* Tue Sep 26 2000 Trond Eivind Glomsrød +* Tue Sep 26 2000 Trond Eivind Glomsrd - Don't try to include no-longer-existing PUBLIC file as doc (#17532) -* Thu Sep 12 2000 Trond Eivind Glomsrød +* Thu Sep 12 2000 Trond Eivind Glomsrd - rename config file to /etc/my.cnf, which is what mysqld wants... doh. (#17432) - include a changed safe_mysqld, so the pid file option @@ -985,20 +1036,20 @@ Resolves: #199368 mysql socket. (#17432) - 3.23.24 -* Wed Sep 06 2000 Trond Eivind Glomsrød +* Wed Sep 06 2000 Trond Eivind Glomsrd - 3.23.23 -* Sun Aug 27 2000 Trond Eivind Glomsrød +* Sun Aug 27 2000 Trond Eivind Glomsrd - Add "|| :" to condrestart to avoid non-zero exit code -* Thu Aug 24 2000 Trond Eivind Glomsrød +* Thu Aug 24 2000 Trond Eivind Glomsrd - it's mysql.com, not mysql.org and use correct path to source (#16830) -* Wed Aug 16 2000 Trond Eivind Glomsrød +* Wed Aug 16 2000 Trond Eivind Glomsrd - source file from /etc/rc.d, not /etc/rd.d. Doh. -* Sun Aug 13 2000 Trond Eivind Glomsrød +* Sun Aug 13 2000 Trond Eivind Glomsrd - don't run ldconfig -n, it doesn't update ld.so.cache (#16034) - include some missing binaries @@ -1008,31 +1059,31 @@ Resolves: #199368 * Sat Aug 05 2000 Bill Nottingham - condrestart fixes -* Mon Aug 01 2000 Trond Eivind Glomsrød +* Mon Aug 01 2000 Trond Eivind Glomsrd - 3.23.22. Disable the old patches, they're now in. -* Thu Jul 27 2000 Trond Eivind Glomsrød +* Thu Jul 27 2000 Trond Eivind Glomsrd - bugfixes in the initscript - move the .so link to the devel package -* Wed Jul 19 2000 Trond Eivind Glomsrød +* Wed Jul 19 2000 Trond Eivind Glomsrd - rebuild due to glibc changes -* Tue Jul 18 2000 Trond Eivind Glomsrød +* Tue Jul 18 2000 Trond Eivind Glomsrd - disable compiler patch - don't include info directory file -* Mon Jul 17 2000 Trond Eivind Glomsrød +* Mon Jul 17 2000 Trond Eivind Glomsrd - move back to /etc/rc.d/init.d -* Fri Jul 14 2000 Trond Eivind Glomsrød +* Fri Jul 14 2000 Trond Eivind Glomsrd - more cleanups in initscript -* Thu Jul 13 2000 Trond Eivind Glomsrød +* Thu Jul 13 2000 Trond Eivind Glomsrd - add a patch to work around compiler bug (from monty@mysql.com) -* Wed Jul 12 2000 Trond Eivind Glomsrød +* Wed Jul 12 2000 Trond Eivind Glomsrd - don't build the SQL daemon statically (glibc problems) - fix the logrotate script - only flush log if mysql is running @@ -1042,23 +1093,23 @@ Resolves: #199368 * Wed Jul 12 2000 Prospector - automatic rebuild -* Mon Jul 10 2000 Trond Eivind Glomsrød +* Mon Jul 10 2000 Trond Eivind Glomsrd - try the new compiler again - build the SQL daemon statically - add compile time support for complex charsets - enable assembler - more cleanups in initscript -* Sun Jul 09 2000 Trond Eivind Glomsrød +* Sun Jul 09 2000 Trond Eivind Glomsrd - use old C++ compiler - Exclusivearch x86 -* Sat Jul 08 2000 Trond Eivind Glomsrød +* Sat Jul 08 2000 Trond Eivind Glomsrd - move .so files to devel package - more cleanups - exclude sparc for now -* Wed Jul 05 2000 Trond Eivind Glomsrød +* Wed Jul 05 2000 Trond Eivind Glomsrd - 3.23.21 - remove file from /etc/sysconfig - Fix initscript a bit - initialization of databases doesn't @@ -1070,7 +1121,7 @@ Resolves: #199368 * Tue Jul 2 2000 Jakub Jelinek - Rebuild with new C++ -* Fri Jun 30 2000 Trond Eivind Glomsrød +* Fri Jun 30 2000 Trond Eivind Glomsrd - update to 3.23.20 - use %%configure, %%makeinstall, %%{_tmppath}, %%{_mandir}, %%{_infodir}, /etc/init.d diff --git a/sources b/sources index 0b20e8c..bd4fba7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -10cb85276a1468c7906a4ff4dd565d61 mysql-5.0.33.tar.gz +26ed76facb58bdeae40c8310e337dde2 mysql-5.0.37.tar.gz From 7d34bb6ac6ad339f53e57b13498d82359cf62fae Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 12 Mar 2007 18:30:39 +0000 Subject: [PATCH 094/616] Move ldconfig dependency to the right subpackage. Doesn't seem worth a rebuild, though. --- mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 682accd..a7c38e2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -29,12 +29,13 @@ Patch10: mysql-ssl-bugs.patch Patch11: mysql-info-schema.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf # make test requires time BuildRequires: time + +Prereq: /sbin/install-info, grep, fileutils Requires: %{name}-libs = %{version}-%{release} Requires: bash Conflicts: MySQL @@ -54,6 +55,7 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients License: GPL Group: Applications/Databases +Prereq: /sbin/ldconfig %description libs The mysql-libs package provides the essential shared libraries for any From 1e2d80ff8a14daad66940c4229efdbe3dbac9a3f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 29 Mar 2007 22:47:48 +0000 Subject: [PATCH 095/616] initscript and packaging cleanups, per bugs 233771, 233731 --- my.cnf | 5 +---- mysql.init | 41 +++++++++++++++-------------------------- mysql.spec | 42 ++++++++++++++---------------------------- 3 files changed, 30 insertions(+), 58 deletions(-) diff --git a/my.cnf b/my.cnf index 2543388..2e035c8 100644 --- a/my.cnf +++ b/my.cnf @@ -1,13 +1,10 @@ [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock +user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 - -[mysql.server] -user=mysql -basedir=/var/lib [mysqld_safe] log-error=/var/log/mysqld.log diff --git a/mysql.init b/mysql.init index 4f37047..76c29f2 100644 --- a/mysql.init +++ b/mysql.init @@ -18,38 +18,26 @@ prog="MySQL" -# extract value of a MySQL option from /etc/my.cnf -# Usage: get_mysql_option FILE VARNAME DEFAULT +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT # 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(){ - 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 # not found, use default 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 } -get_mysql_option /etc/my.cnf datadir "/var/lib/mysql" +get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" -get_mysql_option /etc/my.cnf socket "$datadir/mysql.sock" +get_mysql_option mysqld socket "$datadir/mysql.sock" 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" -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" start(){ @@ -67,11 +55,12 @@ start(){ fi chown mysql:mysql "$datadir" chmod 0755 "$datadir" - # The reason for explicitly specifying --pid-file is that there may - # be no such entry in my.cnf, and the default behavior will be to not - # create it at all. Likewise, we specify --log-error in case there - # was not an entry in my.cnf. - /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" --log-error="$errlogfile" >/dev/null 2>&1 & + # Pass all the options determined above, to ensure consistent behavior. + # In many cases mysqld_safe would arrive at the same conclusions anyway + # but we need to be sure. + /usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \ + --log-error="$errlogfile" --pid-file="$mypidfile" \ + >/dev/null 2>&1 & ret=$? # 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 diff --git a/mysql.spec b/mysql.spec index a7c38e2..c20c2a4 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.37 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries License: GPL Group: Applications/Databases @@ -70,7 +70,6 @@ License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} Requires: sh-utils # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL @@ -88,7 +87,6 @@ Summary: Files for development of MySQL applications License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} Requires: openssl-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/mysql-*.spec 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 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/mysqlshow.1* -%dir %{_libdir}/mysql %{_libdir}/mysql/mysqlbug %{_libdir}/mysql/mysql_config -# perhaps my.cnf should be in the server package? -%config(noreplace) /etc/my.cnf - %files libs %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 %{_libdir}/mysql/libmysqlclient*.so.* /etc/ld.so.conf.d/* @@ -434,29 +434,9 @@ fi %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_tzinfo_to_sql.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/mysqlmanager.8* -%dir %{_datadir}/mysql %{_datadir}/mysql/errmsg.txt %{_datadir}/mysql/fill_help_tables.sql %{_datadir}/mysql/mysql_fix_privilege_tables.sql @@ -468,7 +448,6 @@ fi %files devel %defattr(-,root,root) /usr/include/mysql -%dir %{_libdir}/mysql %{_libdir}/mysql/*.a %{_libdir}/mysql/libmysqlclient*.so @@ -482,6 +461,13 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %changelog +* Thu Mar 29 2007 Tom Lane 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 5.0.37-1 - Update to MySQL 5.0.37 Resolves: #231838 From 2c9ebe036ae7680393ba071c59f76652b7a0d784 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 22 Jul 2007 20:35:24 +0000 Subject: [PATCH 096/616] Update to MySQL 5.0.45. Also fix bzs 241912, 245770. --- .cvsignore | 2 +- mysql-info-schema.patch | 16 -------- mysql-install-test.patch | 20 ++++----- mysql-libdir.patch | 11 +++-- mysql-no-atomic.patch | 11 ++--- mysql-ssl-bugs.patch | 16 -------- mysql-stack.patch | 10 ++--- mysql-testing.patch | 69 ++++++++++++++++++++++--------- mysql.spec | 87 +++++++++++++++++++++++++--------------- sources | 2 +- 10 files changed, 132 insertions(+), 112 deletions(-) delete mode 100644 mysql-info-schema.patch delete mode 100644 mysql-ssl-bugs.patch diff --git a/.cvsignore b/.cvsignore index 6dd638f..5628d11 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.37.tar.gz +mysql-5.0.45.tar.gz diff --git a/mysql-info-schema.patch b/mysql-info-schema.patch deleted file mode 100644 index 2b88c21..0000000 --- a/mysql-info-schema.patch +++ /dev/null @@ -1,16 +0,0 @@ -Crude workaround for upstream bug #27035 ... don't these people even run -their own regression tests before making releases? - - -diff -Naur mysql-5.0.37.orig/mysql-test/r/information_schema.result mysql-5.0.37/mysql-test/r/information_schema.result ---- mysql-5.0.37.orig/mysql-test/r/information_schema.result 2007-03-05 14:40:30.000000000 -0500 -+++ mysql-5.0.37/mysql-test/r/information_schema.result 2007-03-12 11:48:12.000000000 -0400 -@@ -1096,7 +1096,7 @@ - group by column_type order by num; - column_type group_concat(table_schema, '.', table_name) num - varchar(20) information_schema.COLUMNS,information_schema.PROFILING 2 --varchar(7) information_schema.PROFILING,information_schema.PROFILING,information_schema.PROFILING,information_schema.ROUTINES,information_schema.VIEWS 5 -+varchar(7) information_schema.ROUTINES,information_schema.VIEWS 2 - create table t1(f1 char(1) not null, f2 char(9) not null) - default character set utf8; - select CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH from diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 0431a9f..1cacf7b 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -4,9 +4,9 @@ like /usr/share/mysql-test, we have to hack up the paths in install_test_db. This patch also improves the documentation a tad. -diff -Naur mysql-5.0.33.orig/mysql-test/README mysql-5.0.33/mysql-test/README ---- mysql-5.0.33.orig/mysql-test/README 2007-01-09 07:51:08.000000000 -0500 -+++ mysql-5.0.33/mysql-test/README 2007-02-09 12:27:08.000000000 -0500 +diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README +--- mysql-5.0.40.orig/mysql-test/README 2007-04-20 10:14:42.000000000 -0400 ++++ mysql-5.0.40/mysql-test/README 2007-05-23 14:41:03.000000000 -0400 @@ -6,6 +6,14 @@ actually have a co-existing MySQL installation. The tests will not conflict with it. @@ -32,10 +32,10 @@ diff -Naur mysql-5.0.33.orig/mysql-test/README mysql-5.0.33/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.0.33.orig/mysql-test/install_test_db.sh mysql-5.0.33/mysql-test/install_test_db.sh ---- mysql-5.0.33.orig/mysql-test/install_test_db.sh 2007-01-09 07:51:07.000000000 -0500 -+++ mysql-5.0.33/mysql-test/install_test_db.sh 2007-02-09 12:32:00.000000000 -0500 -@@ -14,18 +14,15 @@ +diff -Naur mysql-5.0.40.orig/mysql-test/install_test_db.sh mysql-5.0.40/mysql-test/install_test_db.sh +--- mysql-5.0.40.orig/mysql-test/install_test_db.sh 2007-04-20 10:14:31.000000000 -0400 ++++ mysql-5.0.40/mysql-test/install_test_db.sh 2007-05-23 14:39:44.000000000 -0400 +@@ -26,18 +26,15 @@ libexecdir=../libexec # Check if it's a binary distribution or a 'make install' @@ -47,7 +47,7 @@ diff -Naur mysql-5.0.33.orig/mysql-test/install_test_db.sh mysql-5.0.33/mysql-te - then - execdir=../../sbin - bindir=../../bin -- scriptdir=../../bin +- scriptdir=../bin - libexecdir=../../libexec + execdir=/usr/libexec else @@ -60,7 +60,7 @@ diff -Naur mysql-5.0.33.orig/mysql-test/install_test_db.sh mysql-5.0.33/mysql-te fix_bin=mysql-test else execdir=../sql -@@ -82,7 +79,8 @@ +@@ -97,7 +94,8 @@ #for error messages if [ x$BINARY_DIST = x1 ] ; then @@ -69,4 +69,4 @@ diff -Naur mysql-5.0.33.orig/mysql-test/install_test_db.sh mysql-5.0.33/mysql-te +EXTRA_ARG="--language=/usr/share/mysql/english/ --character-sets-dir=/usr/share/mysql/charsets/" else basedir=. - EXTRA_ARG="--language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/" + EXTRA_ARG="--windows" diff --git a/mysql-libdir.patch b/mysql-libdir.patch index 7c2b488..27c26e1 100644 --- a/mysql-libdir.patch +++ b/mysql-libdir.patch @@ -1,11 +1,10 @@ -diff -Naur mysql-5.0.21.orig/scripts/mysql_config.sh mysql-5.0.21/scripts/mysql_config.sh ---- mysql-5.0.21.orig/scripts/mysql_config.sh 2006-04-26 14:30:47.000000000 -0400 -+++ mysql-5.0.21/scripts/mysql_config.sh 2006-05-01 20:45:42.000000000 -0400 -@@ -85,8 +85,6 @@ - +diff -Naur mysql-5.0.28.orig/scripts/mysql_config.sh mysql-5.0.28/scripts/mysql_config.sh +--- mysql-5.0.28.orig/scripts/mysql_config.sh 2006-10-24 17:04:01.000000000 -0400 ++++ mysql-5.0.28/scripts/mysql_config.sh 2006-11-29 17:36:42.000000000 -0500 +@@ -86,7 +86,6 @@ # If installed, search for the compiled in directory first (might be "lib64") pkglibdir='@pkglibdir@' --pkglibdir_rel=`echo $pkglibdir | sed -e "s;^$basedir/;;"` + pkglibdir_rel=`echo $pkglibdir | sed -e "s;^$basedir/;;"` -fix_path pkglibdir $pkglibdir_rel lib/mysql lib pkgincludedir='@pkgincludedir@' diff --git a/mysql-no-atomic.patch b/mysql-no-atomic.patch index 50bcba5..321f965 100644 --- a/mysql-no-atomic.patch +++ b/mysql-no-atomic.patch @@ -4,10 +4,10 @@ which is we avoid the 4-vs-8-byte problem in BDB that formerly required mysql-threads.patch. -diff -Naur mysql-5.0.21.orig/configure.in mysql-5.0.21/configure.in ---- mysql-5.0.21.orig/configure.in 2006-04-26 14:31:03.000000000 -0400 -+++ mysql-5.0.21/configure.in 2006-05-01 20:52:08.000000000 -0400 -@@ -803,47 +803,6 @@ +diff -Naur mysql-5.0.28.orig/configure.in mysql-5.0.28/configure.in +--- mysql-5.0.28.orig/configure.in 2006-10-24 17:03:51.000000000 -0400 ++++ mysql-5.0.28/configure.in 2006-11-29 17:39:39.000000000 -0500 +@@ -814,48 +814,6 @@ AC_SUBST(WRAPLIBS) if test "$TARGET_LINUX" = "true"; then @@ -52,6 +52,7 @@ diff -Naur mysql-5.0.21.orig/configure.in mysql-5.0.21/configure.in - AC_MSG_RESULT($atom_ops) - - AC_LANG_RESTORE - +- AC_ARG_WITH(pstack, [ --with-pstack Use the pstack backtrace library], + [ USE_PSTACK=$withval ], diff --git a/mysql-ssl-bugs.patch b/mysql-ssl-bugs.patch deleted file mode 100644 index 1ef3f8b..0000000 --- a/mysql-ssl-bugs.patch +++ /dev/null @@ -1,16 +0,0 @@ -Workaround for recently-introduced SSL breakage, filed as upstream bug -#24121 (why is this still not fixed in 5.0.37?) - - -diff -Naur mysql-5.0.33.orig/sql-common/client.c mysql-5.0.33/sql-common/client.c ---- mysql-5.0.33.orig/sql-common/client.c 2007-01-09 07:51:07.000000000 -0500 -+++ mysql-5.0.33/sql-common/client.c 2007-02-09 12:36:17.000000000 -0500 -@@ -3017,7 +3017,7 @@ - mysql->reconnect= *(my_bool *) arg; - break; - case MYSQL_OPT_SSL_VERIFY_SERVER_CERT: -- if (!arg || test(*(uint*) arg)) -+ if (!arg || test(*(my_bool*) arg)) - mysql->options.client_flag|= CLIENT_SSL_VERIFY_SERVER_CERT; - else - mysql->options.client_flag&= ~CLIENT_SSL_VERIFY_SERVER_CERT; diff --git a/mysql-stack.patch b/mysql-stack.patch index aa46472..ee84b20 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -4,14 +4,14 @@ pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. -diff -Naur mysql-5.0.33.orig/sql/mysql_priv.h mysql-5.0.33/sql/mysql_priv.h ---- mysql-5.0.33.orig/sql/mysql_priv.h 2007-01-09 07:51:48.000000000 -0500 -+++ mysql-5.0.33/sql/mysql_priv.h 2007-02-09 19:06:51.000000000 -0500 -@@ -154,7 +154,7 @@ +diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h +--- mysql-5.0.38.orig/sql/mysql_priv.h 2007-03-20 15:12:46.000000000 -0400 ++++ mysql-5.0.38/sql/mysql_priv.h 2007-04-16 16:09:39.000000000 -0400 +@@ -175,7 +175,7 @@ Feel free to raise this by the smallest amount you can to get the "execution_constants" test to pass. */ --#define STACK_MIN_SIZE 10788 // Abort if less stack during eval. +-#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. +#define STACK_MIN_SIZE 16384 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 diff --git a/mysql-testing.patch b/mysql-testing.patch index 7832229..e208e29 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -5,41 +5,72 @@ Also, tweak the Perl test script so that the mysqld daemon gets detached from the calling terminal session. Without this, the ssl_des test hangs up because OpenSSL tries to read a PEM key from /dev/tty. +Also, tweak the Perl test script to find some files where we install them; +without this, the build-time test works but the mysql-test RPM doesn't. -diff -Naur mysql-5.0.37.orig/Makefile.am mysql-5.0.37/Makefile.am ---- mysql-5.0.37.orig/Makefile.am 2007-03-05 14:21:11.000000000 -0500 -+++ mysql-5.0.37/Makefile.am 2007-03-12 11:19:05.000000000 -0400 -@@ -124,11 +124,11 @@ + +diff -Naur mysql-5.0.40.orig/Makefile.am mysql-5.0.40/Makefile.am +--- mysql-5.0.40.orig/Makefile.am 2007-04-20 10:14:34.000000000 -0400 ++++ mysql-5.0.40/Makefile.am 2007-05-23 12:59:49.000000000 -0400 +@@ -126,11 +126,11 @@ test-ps: cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) --ps-protocol -+ @PERL@ ./mysql-test-run.pl $(force) --ssl --ps-protocol +- @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol ++ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --ps-protocol test-ns: cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) -+ @PERL@ ./mysql-test-run.pl $(force) --ssl +- @PERL@ ./mysql-test-run.pl $(force) $(mem) ++ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl test: test-ns test-ps -diff -Naur mysql-5.0.37.orig/mysql-test/lib/mtr_process.pl mysql-5.0.37/mysql-test/lib/mtr_process.pl ---- mysql-5.0.37.orig/mysql-test/lib/mtr_process.pl 2007-03-05 14:40:33.000000000 -0500 -+++ mysql-5.0.37/mysql-test/lib/mtr_process.pl 2007-03-12 11:17:52.000000000 -0400 -@@ -161,6 +161,9 @@ - # became a deamon as well, and was hard to kill ;-) - # Need to catch SIGCHLD and do waitpid or something instead...... +diff -Naur mysql-5.0.40.orig/mysql-test/lib/mtr_process.pl mysql-5.0.40/mysql-test/lib/mtr_process.pl +--- mysql-5.0.40.orig/mysql-test/lib/mtr_process.pl 2007-04-20 10:39:41.000000000 -0400 ++++ mysql-5.0.40/mysql-test/lib/mtr_process.pl 2007-05-23 12:59:49.000000000 -0400 +@@ -148,6 +148,9 @@ + { + # Child, redirect output and exec -+ # dunno, it works for me ... ++ # Needed to become detached from terminal session + POSIX::setsid(); + $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't my $log_file_open_mode = '>'; -diff -Naur mysql-5.0.37.orig/mysql-test/mysql-test-run.pl mysql-5.0.37/mysql-test/mysql-test-run.pl ---- mysql-5.0.37.orig/mysql-test/mysql-test-run.pl 2007-03-05 14:21:11.000000000 -0500 -+++ mysql-5.0.37/mysql-test/mysql-test-run.pl 2007-03-12 11:17:52.000000000 -0400 -@@ -3906,7 +3906,7 @@ +diff -Naur mysql-5.0.40.orig/mysql-test/mysql-test-run.pl mysql-5.0.40/mysql-test/mysql-test-run.pl +--- mysql-5.0.40.orig/mysql-test/mysql-test-run.pl 2007-04-20 10:14:30.000000000 -0400 ++++ mysql-5.0.40/mysql-test/mysql-test-run.pl 2007-05-23 13:02:12.000000000 -0400 +@@ -1465,13 +1465,15 @@ + + $exe_ndbd= + mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd", +- "$ndb_path/ndbd"); ++ "$ndb_path/ndbd", ++ "/usr/libexec/ndbd"); + $exe_ndb_mgm= + mtr_exe_maybe_exists("$ndb_path/src/mgmclient/ndb_mgm", + "$ndb_path/ndb_mgm"); + $exe_ndb_mgmd= + mtr_exe_maybe_exists("$ndb_path/src/mgmsrv/ndb_mgmd", +- "$ndb_path/ndb_mgmd"); ++ "$ndb_path/ndb_mgmd", ++ "/usr/libexec/ndb_mgmd"); + $exe_ndb_waiter= + mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter", + "$ndb_path/ndb_waiter"); +@@ -1572,7 +1574,8 @@ + # Look for mysql_fix_privilege_tables.sql script + $file_mysql_fix_privilege_tables= + mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql", +- "$glob_basedir/share/mysql_fix_privilege_tables.sql"); ++ "$glob_basedir/share/mysql_fix_privilege_tables.sql", ++ "$path_share/mysql_fix_privilege_tables.sql"); + + if ( ! $opt_skip_ndbcluster and executable_setup_ndb()) { + mtr_warning("Could not find all required ndb binaries, " . +@@ -3999,7 +4002,7 @@ if ( defined $exe ) { diff --git a/mysql.spec b/mysql.spec index c20c2a4..402c6d9 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.37 -Release: 2%{?dist} +Version: 5.0.45 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries License: GPL Group: Applications/Databases @@ -25,8 +25,6 @@ Patch6: mysql-rpl_ddl.patch Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch -Patch10: mysql-ssl-bugs.patch -Patch11: mysql-info-schema.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -115,6 +113,7 @@ License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} +Conflicts: MySQL-test %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -133,8 +132,6 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 -%patch11 -p1 libtoolize --force aclocal @@ -152,10 +149,6 @@ CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # -ECL 2002-12-19 CFLAGS="$CFLAGS -fPIC" %endif -# Temporary workaround for gcc bug (bz #193912) -%ifarch s390x -CFLAGS="$CFLAGS -mtune=z900" -%endif CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS @@ -238,16 +231,17 @@ mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/my install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.cnf -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.ini +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist @@ -255,6 +249,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall 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-log-rotate +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndbd.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_*.1* @@ -301,9 +297,6 @@ fi if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : fi -if [ $1 = 0 ] ; then - userdel mysql >/dev/null 2>&1 || : -fi %files @@ -323,14 +316,20 @@ fi %{_bindir}/mysqldump %{_bindir}/mysqlimport %{_bindir}/mysqlshow +%{_bindir}/my_print_defaults %{_infodir}/* %{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_tableinfo.1* +%{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/my_print_defaults.1* %{_libdir}/mysql/mysqlbug %{_libdir}/mysql/mysql_config @@ -376,13 +375,11 @@ fi %defattr(-,root,root) %doc support-files/*.cnf -%{_bindir}/my_print_defaults %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_create_system_tables %{_bindir}/mysql_explain_log %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_fix_privilege_tables @@ -408,38 +405,51 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -/usr/libexec/* +/usr/libexec/mysqld +/usr/libexec/mysqlmanager -%{_mandir}/man1/msql2mysql.1.gz -%{_mandir}/man1/myisamchk.1.gz -%{_mandir}/man1/myisamlog.1.gz -%{_mandir}/man1/myisampack.1.gz -%{_mandir}/man1/myisam_ftdump.1.gz -%{_mandir}/man1/mysql.server.1.gz -%{_mandir}/man1/mysql_config.1.gz -%{_mandir}/man1/mysql_explain_log.1.gz +%{_mandir}/man1/msql2mysql.1* +%{_mandir}/man1/myisamchk.1* +%{_mandir}/man1/myisamlog.1* +%{_mandir}/man1/myisampack.1* +%{_mandir}/man1/mysql_convert_table_format.1* +%{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/mysql_explain_log.1* +%{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_fix_privilege_tables.1* +%{_mandir}/man1/mysql_install_db.1* +%{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqlbinlog.1.gz -%{_mandir}/man1/mysqlcheck.1.gz +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqlhotcopy.1.gz -%{_mandir}/man1/mysqlimport.1.gz -%{_mandir}/man1/mysqlman.1.gz +%{_mandir}/man1/mysqlhotcopy.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlman.1* +%{_mandir}/man1/mysql_setpermission.1* +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* +%{_mandir}/man1/resolve_stack_dump.1* +%{_mandir}/man1/resolveip.1* %{_mandir}/man1/safe_mysqld.1* -%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/mysql_install_db.1* +%{_mandir}/man1/mysqlmanager-pwgen.1* +%{_mandir}/man1/mysqlmanagerc.1* %{_mandir}/man8/mysqld.8* %{_mandir}/man8/mysqlmanager.8* %{_datadir}/mysql/errmsg.txt %{_datadir}/mysql/fill_help_tables.sql %{_datadir}/mysql/mysql_fix_privilege_tables.sql +%{_datadir}/mysql/mysql_system_tables.sql +%{_datadir}/mysql/mysql_system_tables_data.sql +%{_datadir}/mysql/mysql_test_data_timezone.sql +%{_datadir}/mysql/my-*.cnf /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql @@ -460,7 +470,18 @@ fi %{_bindir}/mysql_client_test %attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_mandir}/man1/mysql_client_test.1* + %changelog +* Sun Jul 22 2007 Tom Lane 5.0.45-1 +- Update to MySQL 5.0.45 +Resolves: #246535 +- Move mysql_config's man page to base package +Resolves: #245770 +- move my_print_defaults to base RPM, for consistency with Stacks packaging +- mysql user is no longer deleted at RPM uninstall +Resolves: #241912 + * Thu Mar 29 2007 Tom Lane 5.0.37-2 - Use a less hacky method of getting default values in initscript Related: #233771, #194596 diff --git a/sources b/sources index bd4fba7..111ada4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -26ed76facb58bdeae40c8310e337dde2 mysql-5.0.37.tar.gz +a2a1c5a82bb22b45ab76a8ecab94e10d mysql-5.0.45.tar.gz From b457a5c250203684929ef93dab23b553e8e63963 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 2 Aug 2007 22:55:51 +0000 Subject: [PATCH 097/616] Update License tag --- mysql.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mysql.spec b/mysql.spec index 402c6d9..c812800 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,8 +1,8 @@ Name: mysql Version: 5.0.45 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries -License: GPL +License: GPLv2 Group: Applications/Databases URL: http://www.mysql.com @@ -51,7 +51,6 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients -License: GPL Group: Applications/Databases Prereq: /sbin/ldconfig @@ -64,7 +63,6 @@ MySQL server. %package server Summary: The MySQL server and related files -License: GPL Group: Applications/Databases Prereq: /sbin/chkconfig, /usr/sbin/useradd Requires: %{name} = %{version}-%{release} @@ -82,7 +80,6 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications -License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: openssl-devel @@ -96,7 +93,6 @@ developing MySQL client applications. %package bench Summary: MySQL benchmark scripts and data -License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} Conflicts: MySQL-bench @@ -109,7 +105,6 @@ MySQL. %package test Summary: The test suite distributed with MySQL -License: GPL Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} @@ -473,6 +468,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Aug 2 2007 Tom Lane 5.0.45-2 +- Update License tag to match code. + * Sun Jul 22 2007 Tom Lane 5.0.45-1 - Update to MySQL 5.0.45 Resolves: #246535 From 719d82a74b07fad03148bbc34fdadcf8a42a9f07 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 3 Aug 2007 00:56:46 +0000 Subject: [PATCH 098/616] Work around recent Fedora change that makes "open" a macro name --- mysql-bdb-open.patch | 619 +++++++++++++++++++++++++++++++++++++++++++ mysql.spec | 3 + 2 files changed, 622 insertions(+) create mode 100644 mysql-bdb-open.patch diff --git a/mysql-bdb-open.patch b/mysql-bdb-open.patch new file mode 100644 index 0000000..4985f7a --- /dev/null +++ b/mysql-bdb-open.patch @@ -0,0 +1,619 @@ +Work around recent Fedora change that makes "open" a macro name. + +Unlikely that upstream would consider fixing this since they're deprecating +BDB anyway. At some point we should probably just remove --with-berkeley-db +from our configuration, but I'll hold the line a little longer. + + +diff -Naur mysql-5.0.45.orig/bdb/db/db.c mysql-5.0.45/bdb/db/db.c +--- mysql-5.0.45.orig/bdb/db/db.c 2007-07-04 09:06:08.000000000 -0400 ++++ mysql-5.0.45/bdb/db/db.c 2007-08-02 20:22:31.000000000 -0400 +@@ -431,7 +431,7 @@ + dbenv, 0, dbp->pgsize * DB_MINPAGECACHE, 0)) != 0) + return (ret); + +- if ((ret = dbenv->open(dbenv, NULL, DB_CREATE | ++ if ((ret = dbenv->open_(dbenv, NULL, DB_CREATE | + DB_INIT_MPOOL | DB_PRIVATE | LF_ISSET(DB_THREAD), 0)) != 0) + return (ret); + } +@@ -517,7 +517,7 @@ + pgcookie.size = sizeof(DB_PGINFO); + (void)mpf->set_pgcookie(mpf, &pgcookie); + +- if ((ret = mpf->open(mpf, name, ++ if ((ret = mpf->open_(mpf, name, + LF_ISSET(DB_RDONLY | DB_NOMMAP | DB_ODDFILESIZE | DB_TRUNCATE) | + (F_ISSET(dbenv, DB_ENV_DIRECT_DB) ? DB_DIRECT : 0), + 0, dbp->pgsize)) != 0) +diff -Naur mysql-5.0.45.orig/bdb/db/db_method.c mysql-5.0.45/bdb/db/db_method.c +--- mysql-5.0.45.orig/bdb/db/db_method.c 2007-07-04 09:05:56.000000000 -0400 ++++ mysql-5.0.45/bdb/db/db_method.c 2007-08-02 20:22:31.000000000 -0400 +@@ -168,7 +168,7 @@ + dbp->get_type = __db_get_type; + dbp->join = __db_join; + dbp->key_range = __db_key_range; +- dbp->open = __db_open; ++ dbp->open_ = __db_open; + dbp->pget = __db_pget; + dbp->put = __db_put; + dbp->remove = __db_remove; +diff -Naur mysql-5.0.45.orig/bdb/db/db_vrfyutil.c mysql-5.0.45/bdb/db/db_vrfyutil.c +--- mysql-5.0.45.orig/bdb/db/db_vrfyutil.c 2007-07-04 09:05:39.000000000 -0400 ++++ mysql-5.0.45/bdb/db/db_vrfyutil.c 2007-08-02 20:22:31.000000000 -0400 +@@ -61,7 +61,7 @@ + goto err; + + if ((ret = +- cdbp->open(cdbp, NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) ++ cdbp->open_(cdbp, NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) + goto err; + + if ((ret = db_create(&pgdbp, dbenv, 0)) != 0) +@@ -70,7 +70,7 @@ + if ((ret = pgdbp->set_pagesize(pgdbp, pgsize)) != 0) + goto err; + +- if ((ret = pgdbp->open(pgdbp, ++ if ((ret = pgdbp->open_(pgdbp, + NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) + goto err; + +@@ -284,7 +284,7 @@ + return (ret); + if ((ret = dbp->set_pagesize(dbp, pgsize)) != 0) + goto err; +- if ((ret = dbp->open(dbp, ++ if ((ret = dbp->open_(dbp, + NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) == 0) + *dbpp = dbp; + else +@@ -648,7 +648,7 @@ + if ((ret = dbp->set_pagesize(dbp, 1024)) != 0) + goto err; + +- if ((ret = dbp->open(dbp, ++ if ((ret = dbp->open_(dbp, + NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0)) != 0) + goto err; + +diff -Naur mysql-5.0.45.orig/bdb/db_archive/db_archive.c mysql-5.0.45/bdb/db_archive/db_archive.c +--- mysql-5.0.45.orig/bdb/db_archive/db_archive.c 2007-07-04 09:06:10.000000000 -0400 ++++ mysql-5.0.45/bdb/db_archive/db_archive.c 2007-08-02 20:22:31.000000000 -0400 +@@ -116,9 +116,9 @@ + * If attaching to a pre-existing environment fails, create a + * private one and try again. + */ +- if ((ret = dbenv->open(dbenv, ++ if ((ret = dbenv->open_(dbenv, + home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 && +- (ret = dbenv->open(dbenv, home, DB_CREATE | ++ (ret = dbenv->open_(dbenv, home, DB_CREATE | + DB_INIT_LOG | DB_INIT_TXN | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; +diff -Naur mysql-5.0.45.orig/bdb/db_checkpoint/db_checkpoint.c mysql-5.0.45/bdb/db_checkpoint/db_checkpoint.c +--- mysql-5.0.45.orig/bdb/db_checkpoint/db_checkpoint.c 2007-07-04 09:06:16.000000000 -0400 ++++ mysql-5.0.45/bdb/db_checkpoint/db_checkpoint.c 2007-08-02 20:22:31.000000000 -0400 +@@ -155,7 +155,7 @@ + goto shutdown; + } + /* Initialize the environment. */ +- if ((ret = dbenv->open(dbenv, ++ if ((ret = dbenv->open_(dbenv, + home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; +diff -Naur mysql-5.0.45.orig/bdb/db_deadlock/db_deadlock.c mysql-5.0.45/bdb/db_deadlock/db_deadlock.c +--- mysql-5.0.45.orig/bdb/db_deadlock/db_deadlock.c 2007-07-04 09:06:57.000000000 -0400 ++++ mysql-5.0.45/bdb/db_deadlock/db_deadlock.c 2007-08-02 20:22:31.000000000 -0400 +@@ -161,7 +161,7 @@ + } + + /* An environment is required. */ +- if ((ret = dbenv->open(dbenv, home, ++ if ((ret = dbenv->open_(dbenv, home, + DB_JOINENV | DB_USE_ENVIRON, 0)) != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; +diff -Naur mysql-5.0.45.orig/bdb/db_dump/db_dump.c mysql-5.0.45/bdb/db_dump/db_dump.c +--- mysql-5.0.45.orig/bdb/db_dump/db_dump.c 2007-07-04 09:06:56.000000000 -0400 ++++ mysql-5.0.45/bdb/db_dump/db_dump.c 2007-08-02 20:22:31.000000000 -0400 +@@ -204,7 +204,7 @@ + goto done; + } + +- if ((ret = dbp->open(dbp, NULL, ++ if ((ret = dbp->open_(dbp, NULL, + argv[0], subname, DB_UNKNOWN, DB_RDONLY, 0)) != 0) { + dbp->err(dbp, ret, "open: %s", argv[0]); + goto err; +@@ -303,7 +303,7 @@ + * before we create our own. + */ + *is_privatep = 0; +- if (dbenv->open(dbenv, home, ++ if (dbenv->open_(dbenv, home, + DB_USE_ENVIRON | (is_salvage ? DB_INIT_MPOOL : DB_JOINENV), 0) == 0) + return (0); + +@@ -319,7 +319,7 @@ + */ + *is_privatep = 1; + if ((ret = dbenv->set_cachesize(dbenv, 0, cache, 1)) == 0 && +- (ret = dbenv->open(dbenv, home, ++ (ret = dbenv->open_(dbenv, home, + DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) == 0) + return (0); + +@@ -411,7 +411,7 @@ + free(subdb); + return (1); + } +- if ((ret = dbp->open(dbp, NULL, ++ if ((ret = dbp->open_(dbp, NULL, + parent_name, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0) + dbp->err(dbp, ret, + "DB->open: %s:%s", parent_name, subdb); +diff -Naur mysql-5.0.45.orig/bdb/db_load/db_load.c mysql-5.0.45/bdb/db_load/db_load.c +--- mysql-5.0.45.orig/bdb/db_load/db_load.c 2007-07-04 09:05:56.000000000 -0400 ++++ mysql-5.0.45/bdb/db_load/db_load.c 2007-08-02 20:22:31.000000000 -0400 +@@ -329,7 +329,7 @@ + } + + /* Open the DB file. */ +- if ((ret = dbp->open(dbp, NULL, name, subdb, dbtype, ++ if ((ret = dbp->open_(dbp, NULL, name, subdb, dbtype, + DB_CREATE | (TXN_ON(dbenv) ? DB_AUTO_COMMIT : 0), + __db_omode("rwrwrw"))) != 0) { + dbp->err(dbp, ret, "DB->open: %s", name); +@@ -517,7 +517,7 @@ + /* We may be loading into a live environment. Try and join. */ + flags = DB_USE_ENVIRON | + DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN; +- if (dbenv->open(dbenv, home, flags, 0) == 0) ++ if (dbenv->open_(dbenv, home, flags, 0) == 0) + return (0); + + /* +@@ -539,7 +539,7 @@ + dbenv->err(dbenv, ret, "set_cachesize"); + return (1); + } +- if ((ret = dbenv->open(dbenv, home, flags, 0)) == 0) ++ if ((ret = dbenv->open_(dbenv, home, flags, 0)) == 0) + return (0); + + /* An environment is required. */ +diff -Naur mysql-5.0.45.orig/bdb/db_printlog/db_printlog.c mysql-5.0.45/bdb/db_printlog/db_printlog.c +--- mysql-5.0.45.orig/bdb/db_printlog/db_printlog.c 2007-07-04 09:06:08.000000000 -0400 ++++ mysql-5.0.45/bdb/db_printlog/db_printlog.c 2007-08-02 20:22:31.000000000 -0400 +@@ -156,17 +156,17 @@ + * with logging, because we don't want to log the opens. + */ + if (repflag) { +- if ((ret = dbenv->open(dbenv, home, ++ if ((ret = dbenv->open_(dbenv, home, + DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0 && +- (ret = dbenv->open(dbenv, home, ++ (ret = dbenv->open_(dbenv, home, + DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) + != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; + } +- } else if ((ret = dbenv->open(dbenv, home, ++ } else if ((ret = dbenv->open_(dbenv, home, + DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 && +- (ret = dbenv->open(dbenv, home, ++ (ret = dbenv->open_(dbenv, home, + DB_CREATE | DB_INIT_LOG | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; +@@ -342,7 +342,7 @@ + + dbp = *dbpp; + if ((ret = +- dbp->open(dbp, NULL, "__db.rep.db", NULL, DB_BTREE, 0, 0)) != 0) { ++ dbp->open_(dbp, NULL, "__db.rep.db", NULL, DB_BTREE, 0, 0)) != 0) { + dbenv->err(dbenv, ret, "DB->open"); + goto err; + } +diff -Naur mysql-5.0.45.orig/bdb/db_recover/db_recover.c mysql-5.0.45/bdb/db_recover/db_recover.c +--- mysql-5.0.45.orig/bdb/db_recover/db_recover.c 2007-07-04 09:06:40.000000000 -0400 ++++ mysql-5.0.45/bdb/db_recover/db_recover.c 2007-08-02 20:22:31.000000000 -0400 +@@ -150,7 +150,7 @@ + DB_INIT_MPOOL | DB_INIT_TXN | DB_USE_ENVIRON); + LF_SET(fatal_recover ? DB_RECOVER_FATAL : DB_RECOVER); + LF_SET(retain_env ? 0 : DB_PRIVATE); +- if ((ret = dbenv->open(dbenv, home, flags, 0)) != 0) { ++ if ((ret = dbenv->open_(dbenv, home, flags, 0)) != 0) { + dbenv->err(dbenv, ret, "DB_ENV->open"); + goto shutdown; + } +diff -Naur mysql-5.0.45.orig/bdb/db_stat/db_stat.c mysql-5.0.45/bdb/db_stat/db_stat.c +--- mysql-5.0.45.orig/bdb/db_stat/db_stat.c 2007-07-04 09:06:09.000000000 -0400 ++++ mysql-5.0.45/bdb/db_stat/db_stat.c 2007-08-02 20:22:31.000000000 -0400 +@@ -245,7 +245,7 @@ + } + d_close = 1; + +- if ((ret = dbp->open(dbp, ++ if ((ret = dbp->open_(dbp, + NULL, db, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0) { + dbp->err(dbp, ret, "DB->open: %s", db); + goto shutdown; +@@ -287,7 +287,7 @@ + dbenv->err(dbenv, ret, "db_create"); + goto shutdown; + } +- if ((ret = dbp->open(alt_dbp, NULL, ++ if ((ret = dbp->open_(alt_dbp, NULL, + db, subdb, DB_UNKNOWN, 0, 0)) != 0) { + dbenv->err(dbenv, + ret, "DB->open: %s:%s", db, subdb); +@@ -1187,7 +1187,7 @@ + */ + *is_private = 0; + if ((ret = +- dbenv->open(dbenv, home, DB_JOINENV | DB_USE_ENVIRON, 0)) == 0) ++ dbenv->open_(dbenv, home, DB_JOINENV | DB_USE_ENVIRON, 0)) == 0) + return (0); + if (ttype != T_DB && ttype != T_LOG) { + dbenv->err(dbenv, ret, "DB_ENV->open%s%s", +@@ -1215,7 +1215,7 @@ + oflags |= DB_INIT_MPOOL; + if (ttype == T_LOG) + oflags |= DB_INIT_LOG; +- if ((ret = dbenv->open(dbenv, home, oflags, 0)) == 0) ++ if ((ret = dbenv->open_(dbenv, home, oflags, 0)) == 0) + return (0); + + /* An environment is required. */ +diff -Naur mysql-5.0.45.orig/bdb/db_upgrade/db_upgrade.c mysql-5.0.45/bdb/db_upgrade/db_upgrade.c +--- mysql-5.0.45.orig/bdb/db_upgrade/db_upgrade.c 2007-07-04 09:06:09.000000000 -0400 ++++ mysql-5.0.45/bdb/db_upgrade/db_upgrade.c 2007-08-02 20:22:31.000000000 -0400 +@@ -121,9 +121,9 @@ + * If attaching to a pre-existing environment fails, create a + * private one and try again. + */ +- if ((ret = dbenv->open(dbenv, ++ if ((ret = dbenv->open_(dbenv, + home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 && +- (ret = dbenv->open(dbenv, home, ++ (ret = dbenv->open_(dbenv, home, + DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; +diff -Naur mysql-5.0.45.orig/bdb/db_verify/db_verify.c mysql-5.0.45/bdb/db_verify/db_verify.c +--- mysql-5.0.45.orig/bdb/db_verify/db_verify.c 2007-07-04 09:06:26.000000000 -0400 ++++ mysql-5.0.45/bdb/db_verify/db_verify.c 2007-08-02 20:22:31.000000000 -0400 +@@ -129,13 +129,13 @@ + */ + private = 0; + if ((ret = +- dbenv->open(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) { ++ dbenv->open_(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) { + if ((ret = dbenv->set_cachesize(dbenv, 0, cache, 1)) != 0) { + dbenv->err(dbenv, ret, "set_cachesize"); + goto shutdown; + } + private = 1; +- if ((ret = dbenv->open(dbenv, home, ++ if ((ret = dbenv->open_(dbenv, home, + DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { + dbenv->err(dbenv, ret, "open"); + goto shutdown; +@@ -160,7 +160,7 @@ + goto shutdown; + } + +- if ((ret = dbp1->open(dbp1, NULL, ++ if ((ret = dbp1->open_(dbp1, NULL, + argv[0], NULL, DB_UNKNOWN, DB_RDONLY, 0)) != 0) { + dbenv->err(dbenv, ret, "DB->open: %s", argv[0]); + (void)dbp1->close(dbp1, 0); +diff -Naur mysql-5.0.45.orig/bdb/dbinc/db.in mysql-5.0.45/bdb/dbinc/db.in +--- mysql-5.0.45.orig/bdb/dbinc/db.in 2007-07-04 09:06:33.000000000 -0400 ++++ mysql-5.0.45/bdb/dbinc/db.in 2007-08-02 20:00:58.000000000 -0400 +@@ -187,10 +187,10 @@ + * interface specific flags in this range. + * + * DB_AUTO_COMMIT: +- * DB_ENV->set_flags, DB->associate, DB->del, DB->put, DB->open, ++ * DB_ENV->set_flags, DB->associate, DB->del, DB->put, DB->open_, + * DB->remove, DB->rename, DB->truncate + * DB_DIRTY_READ: +- * DB->cursor, DB->get, DB->join, DB->open, DBcursor->c_get, ++ * DB->cursor, DB->get, DB->join, DB->open_, DBcursor->c_get, + * DB_ENV->txn_begin + * + * Shared flags up to 0x000400 */ +@@ -208,7 +208,7 @@ + #define DB_XA_CREATE 0x000001 /* Open in an XA environment. */ + + /* +- * Flags private to DB_ENV->open. ++ * Flags private to DB_ENV->open_. + * Shared flags up to 0x000400 */ + #define DB_INIT_CDB 0x000800 /* Concurrent Access Methods. */ + #define DB_INIT_LOCK 0x001000 /* Initialize locking. */ +@@ -222,7 +222,7 @@ + #define DB_SYSTEM_MEM 0x100000 /* Use system-backed memory. */ + + /* +- * Flags private to DB->open. ++ * Flags private to DB->open_. + * Shared flags up to 0x000400 */ + #define DB_EXCL 0x000800 /* Exclusive open (O_EXCL). */ + #define DB_FCNTL_LOCKING 0x001000 /* UNDOC: fcntl(2) locking. */ +@@ -261,7 +261,7 @@ + #define DB_VERIFY 0x000002 /* Verifying. */ + + /* +- * Flags private to DB_MPOOLFILE->open. ++ * Flags private to DB_MPOOLFILE->open_. + * Shared flags up to 0x000400 */ + #define DB_DIRECT 0x000800 /* Don't buffer the file in the OS. */ + #define DB_EXTENT 0x001000 /* UNDOC: dealing with an extent. */ +@@ -614,7 +614,7 @@ + int (*get) __P((DB_MPOOLFILE *, db_pgno_t *, u_int32_t, void *)); + void (*get_fileid) __P((DB_MPOOLFILE *, u_int8_t *)); + void (*last_pgno) __P((DB_MPOOLFILE *, db_pgno_t *)); +- int (*open)__P((DB_MPOOLFILE *, const char *, u_int32_t, int, size_t)); ++ int (*open_)__P((DB_MPOOLFILE *, const char *, u_int32_t, int, size_t)); + int (*put) __P((DB_MPOOLFILE *, void *, u_int32_t)); + void (*refcnt) __P((DB_MPOOLFILE *, db_pgno_t *)); + int (*set) __P((DB_MPOOLFILE *, void *, u_int32_t)); +@@ -1079,10 +1079,10 @@ + * Some applications use DB but implement their own locking outside of + * DB. If they're using fcntl(2) locking on the underlying database + * file, and we open and close a file descriptor for that file, we will +- * discard their locks. The DB_FCNTL_LOCKING flag to DB->open is an ++ * discard their locks. The DB_FCNTL_LOCKING flag to DB->open_ is an + * undocumented interface to support this usage which leaves any file + * descriptors we open until DB->close. This will only work with the +- * DB->open interface and simple caches, e.g., creating a transaction ++ * DB->open_ interface and simple caches, e.g., creating a transaction + * thread may open/close file descriptors this flag doesn't protect. + * Locking with fcntl(2) on a file that you don't own is a very, very + * unsafe thing to do. 'Nuff said. +@@ -1186,7 +1186,7 @@ + int (*join) __P((DB *, DBC **, DBC **, u_int32_t)); + int (*key_range) __P((DB *, + DB_TXN *, DBT *, DB_KEY_RANGE *, u_int32_t)); +- int (*open) __P((DB *, DB_TXN *, ++ int (*open_) __P((DB *, DB_TXN *, + const char *, const char *, DBTYPE, u_int32_t, int)); + int (*put) __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t)); + int (*remove) __P((DB *, const char *, const char *, u_int32_t)); +@@ -1266,7 +1266,7 @@ + #define DB_AM_FIXEDLEN 0x00001000 /* Fixed-length records. */ + #define DB_AM_INMEM 0x00002000 /* In-memory; no sync on close. */ + #define DB_AM_IN_RENAME 0x00004000 /* File is being renamed. */ +-#define DB_AM_OPEN_CALLED 0x00008000 /* DB->open called. */ ++#define DB_AM_OPEN_CALLED 0x00008000 /* DB->open_ called. */ + #define DB_AM_PAD 0x00010000 /* Fixed-length record pad. */ + #define DB_AM_PGDEF 0x00020000 /* Page size was defaulted. */ + #define DB_AM_RDONLY 0x00040000 /* Database is readonly. */ +@@ -1653,7 +1653,7 @@ + const char *, const char *, const char *, u_int32_t)); + void (*err) __P((const DB_ENV *, int, const char *, ...)); + void (*errx) __P((const DB_ENV *, const char *, ...)); +- int (*open) __P((DB_ENV *, const char *, u_int32_t, int)); ++ int (*open_) __P((DB_ENV *, const char *, u_int32_t, int)); + int (*remove) __P((DB_ENV *, const char *, u_int32_t)); + int (*set_data_dir) __P((DB_ENV *, const char *)); + int (*set_alloc) __P((DB_ENV *, void *(*)(size_t), +@@ -1777,7 +1777,7 @@ + #define DB_ENV_NOLOCKING 0x0000200 /* DB_NOLOCKING set. */ + #define DB_ENV_NOMMAP 0x0000400 /* DB_NOMMAP set. */ + #define DB_ENV_NOPANIC 0x0000800 /* Okay if panic set. */ +-#define DB_ENV_OPEN_CALLED 0x0001000 /* DB_ENV->open called. */ ++#define DB_ENV_OPEN_CALLED 0x0001000 /* DB_ENV->open_ called. */ + #define DB_ENV_OVERWRITE 0x0002000 /* DB_OVERWRITE set. */ + #define DB_ENV_PRIVATE 0x0004000 /* DB_PRIVATE set. */ + #define DB_ENV_REGION_INIT 0x0008000 /* DB_REGION_INIT set. */ +diff -Naur mysql-5.0.45.orig/bdb/dbm/dbm.c mysql-5.0.45/bdb/dbm/dbm.c +--- mysql-5.0.45.orig/bdb/dbm/dbm.c 2007-07-04 09:06:27.000000000 -0400 ++++ mysql-5.0.45/bdb/dbm/dbm.c 2007-08-02 20:22:31.000000000 -0400 +@@ -240,7 +240,7 @@ + if ((ret = dbp->set_pagesize(dbp, 4096)) != 0 || + (ret = dbp->set_h_ffactor(dbp, 40)) != 0 || + (ret = dbp->set_h_nelem(dbp, 1)) != 0 || +- (ret = dbp->open(dbp, NULL, ++ (ret = dbp->open_(dbp, NULL, + path, NULL, DB_HASH, __db_oflags(oflags), mode)) != 0) { + __os_set_errno(ret); + return (NULL); +diff -Naur mysql-5.0.45.orig/bdb/env/env_method.c mysql-5.0.45/bdb/env/env_method.c +--- mysql-5.0.45.orig/bdb/env/env_method.c 2007-07-04 09:05:37.000000000 -0400 ++++ mysql-5.0.45/bdb/env/env_method.c 2007-08-02 20:22:31.000000000 -0400 +@@ -161,7 +161,7 @@ + dbenv->close = __dbenv_close; + dbenv->dbremove = __dbenv_dbremove; + dbenv->dbrename = __dbenv_dbrename; +- dbenv->open = __dbenv_open; ++ dbenv->open_ = __dbenv_open; + dbenv->remove = __dbenv_remove; + dbenv->set_alloc = __dbenv_set_alloc; + dbenv->set_app_dispatch = __dbenv_set_app_dispatch; +diff -Naur mysql-5.0.45.orig/bdb/hsearch/hsearch.c mysql-5.0.45/bdb/hsearch/hsearch.c +--- mysql-5.0.45.orig/bdb/hsearch/hsearch.c 2007-07-04 09:05:34.000000000 -0400 ++++ mysql-5.0.45/bdb/hsearch/hsearch.c 2007-08-02 20:22:31.000000000 -0400 +@@ -84,7 +84,7 @@ + if ((ret = dbp->set_pagesize(dbp, 512)) != 0 || + (ret = dbp->set_h_ffactor(dbp, 16)) != 0 || + (ret = dbp->set_h_nelem(dbp, (u_int32_t)nel)) != 0 || +- (ret = dbp->open(dbp, ++ (ret = dbp->open_(dbp, + NULL, NULL, NULL, DB_HASH, DB_CREATE, __db_omode("rw----"))) != 0) + __os_set_errno(ret); + +diff -Naur mysql-5.0.45.orig/bdb/mp/mp_fopen.c mysql-5.0.45/bdb/mp/mp_fopen.c +--- mysql-5.0.45.orig/bdb/mp/mp_fopen.c 2007-07-04 09:06:04.000000000 -0400 ++++ mysql-5.0.45/bdb/mp/mp_fopen.c 2007-08-02 20:22:31.000000000 -0400 +@@ -86,7 +86,7 @@ + dbmfp->get = __memp_fget; + dbmfp->get_fileid = __memp_get_fileid; + dbmfp->last_pgno = __memp_last_pgno; +- dbmfp->open = __memp_fopen; ++ dbmfp->open_ = __memp_fopen; + dbmfp->put = __memp_fput; + dbmfp->refcnt = __memp_refcnt; + dbmfp->set = __memp_fset; +diff -Naur mysql-5.0.45.orig/bdb/qam/qam_files.c mysql-5.0.45/bdb/qam/qam_files.c +--- mysql-5.0.45.orig/bdb/qam/qam_files.c 2007-07-04 09:06:26.000000000 -0400 ++++ mysql-5.0.45/bdb/qam/qam_files.c 2007-08-02 20:22:31.000000000 -0400 +@@ -207,7 +207,7 @@ + openflags |= DB_RDONLY; + if (F_ISSET(dbenv, DB_ENV_DIRECT_DB)) + openflags |= DB_DIRECT; +- if ((ret = mpf->open( ++ if ((ret = mpf->open_( + mpf, buf, openflags, qp->mode, dbp->pgsize)) != 0) { + array->mpfarray[offset].mpf = NULL; + (void)mpf->close(mpf, 0); +diff -Naur mysql-5.0.45.orig/bdb/qam/qam_method.c mysql-5.0.45/bdb/qam/qam_method.c +--- mysql-5.0.45.orig/bdb/qam/qam_method.c 2007-07-04 09:05:55.000000000 -0400 ++++ mysql-5.0.45/bdb/qam/qam_method.c 2007-08-02 20:22:31.000000000 -0400 +@@ -260,7 +260,7 @@ + */ + if (txn == NULL) + needclose = 1; +- if ((ret = tmpdbp->open(tmpdbp, ++ if ((ret = tmpdbp->open_(tmpdbp, + txn, name, NULL, DB_QUEUE, 0, 0)) != 0) + goto err; + needclose = 1; +@@ -362,7 +362,7 @@ + /* Copy the incoming locker so we don't self-deadlock. */ + tmpdbp->lid = dbp->lid; + needclose = 1; +- if ((ret = tmpdbp->open(tmpdbp, txn, filename, NULL, ++ if ((ret = tmpdbp->open_(tmpdbp, txn, filename, NULL, + DB_QUEUE, 0, 0)) != 0) + goto err; + } +diff -Naur mysql-5.0.45.orig/bdb/rep/rep_method.c mysql-5.0.45/bdb/rep/rep_method.c +--- mysql-5.0.45.orig/bdb/rep/rep_method.c 2007-07-04 09:05:35.000000000 -0400 ++++ mysql-5.0.45/bdb/rep/rep_method.c 2007-08-02 20:22:31.000000000 -0400 +@@ -327,7 +327,7 @@ + + flags = (F_ISSET(dbenv, DB_ENV_THREAD) ? DB_THREAD : 0) | + (startup ? DB_CREATE : 0); +- if ((ret = dbp->open(dbp, NULL, ++ if ((ret = dbp->open_(dbp, NULL, + "__db.rep.db", NULL, DB_BTREE, flags, 0)) != 0) + goto err; + +diff -Naur mysql-5.0.45.orig/bdb/xa/xa.c mysql-5.0.45/bdb/xa/xa.c +--- mysql-5.0.45.orig/bdb/xa/xa.c 2007-07-04 09:06:41.000000000 -0400 ++++ mysql-5.0.45/bdb/xa/xa.c 2007-08-02 20:22:31.000000000 -0400 +@@ -97,7 +97,7 @@ + DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN + if (db_env_create(&env, 0) != 0) + return (XAER_RMERR); +- if (env->open(env, xa_info, XA_FLAGS, 0) != 0) ++ if (env->open_(env, xa_info, XA_FLAGS, 0) != 0) + goto err; + + /* Create the mapping. */ +diff -Naur mysql-5.0.45.orig/bdb/xa/xa_db.c mysql-5.0.45/bdb/xa/xa_db.c +--- mysql-5.0.45.orig/bdb/xa/xa_db.c 2007-07-04 09:06:26.000000000 -0400 ++++ mysql-5.0.45/bdb/xa/xa_db.c 2007-08-02 20:22:31.000000000 -0400 +@@ -32,7 +32,7 @@ + int (*cursor) __P((DB *, DB_TXN *, DBC **, u_int32_t)); + int (*del) __P((DB *, DB_TXN *, DBT *, u_int32_t)); + int (*get) __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t)); +- int (*open) __P((DB *, DB_TXN *, ++ int (*open_) __P((DB *, DB_TXN *, + const char *, const char *, DBTYPE, u_int32_t, int)); + int (*put) __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t)); + } XA_METHODS; +@@ -58,8 +58,8 @@ + return (ret); + + dbp->xa_internal = xam; +- xam->open = dbp->open; +- dbp->open = __xa_open; ++ xam->open_ = dbp->open_; ++ dbp->open_ = __xa_open; + xam->close = dbp->close; + dbp->close = __xa_close; + +@@ -85,7 +85,7 @@ + + xam = (XA_METHODS *)dbp->xa_internal; + +- if ((ret = xam->open(dbp, txn, name, subdb, type, flags, mode)) != 0) ++ if ((ret = xam->open_(dbp, txn, name, subdb, type, flags, mode)) != 0) + return (ret); + + xam->cursor = dbp->cursor; +diff -Naur mysql-5.0.45.orig/sql/ha_berkeley.cc mysql-5.0.45/sql/ha_berkeley.cc +--- mysql-5.0.45.orig/sql/ha_berkeley.cc 2007-07-04 09:06:39.000000000 -0400 ++++ mysql-5.0.45/sql/ha_berkeley.cc 2007-08-02 20:36:06.000000000 -0400 +@@ -192,7 +192,7 @@ + if (berkeley_max_lock) + db_env->set_lk_max(db_env, berkeley_max_lock); + +- if (db_env->open(db_env, ++ if (db_env->open_(db_env, + berkeley_home, + berkeley_init_flags | DB_INIT_LOCK | + DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN | +@@ -633,7 +633,7 @@ + if (!hidden_primary_key) + file->app_private= (void*) (table->key_info + table_share->primary_key); + if ((error= txn_begin(db_env, 0, (DB_TXN**) &transaction, 0)) || +- (error= (file->open(file, transaction, ++ (error= (file->open_(file, transaction, + fn_format(name_buff, name, "", ha_berkeley_ext, + 2 | 4), + "main", DB_BTREE, open_mode, 0))) || +@@ -672,7 +672,7 @@ + (*ptr)->set_flags(*ptr, DB_DUP); + } + if ((error= txn_begin(db_env, 0, (DB_TXN**) &transaction, 0)) || +- (error=((*ptr)->open(*ptr, transaction, name_buff, part, DB_BTREE, ++ (error=((*ptr)->open_(*ptr, transaction, name_buff, part, DB_BTREE, + open_mode, 0))) || + (error= transaction->commit(transaction, 0))) + { +@@ -1996,7 +1996,7 @@ + if (!(error=db_create(&file, db_env, 0))) + { + file->set_flags(file, flags); +- error=(file->open(file, NULL, table_name, sub_name, type, ++ error=(file->open_(file, NULL, table_name, sub_name, type, + DB_THREAD | DB_CREATE, my_umask)); + if (error) + { +@@ -2052,7 +2052,7 @@ + DB *status_block; + if (!(error=(db_create(&status_block, db_env, 0)))) + { +- if (!(error=(status_block->open(status_block, NULL, name_buff, ++ if (!(error=(status_block->open_(status_block, NULL, name_buff, + "status", DB_BTREE, DB_CREATE, 0)))) + { + char rec_buff[4+MAX_KEY*4]; +@@ -2529,7 +2529,7 @@ + fn_format(name_buff, share->table_name,"", ha_berkeley_ext, 2 | 4); + if (!db_create(&share->status_block, db_env, 0)) + { +- if (share->status_block->open(share->status_block, NULL, name_buff, ++ if (share->status_block->open_(share->status_block, NULL, name_buff, + "status", DB_BTREE, open_mode, 0)) + { + share->status_block->close(share->status_block, 0); /* purecov: inspected */ +@@ -2606,7 +2606,7 @@ + if (db_create(&share->status_block, db_env, 0)) /* purecov: inspected */ + goto end; /* purecov: inspected */ + share->status_block->set_flags(share->status_block,0); /* purecov: inspected */ +- if (share->status_block->open(share->status_block, NULL, ++ if (share->status_block->open_(share->status_block, NULL, + fn_format(name_buff,share->table_name,"", + ha_berkeley_ext,2 | 4), + "status", DB_BTREE, diff --git a/mysql.spec b/mysql.spec index c812800..2496e98 100644 --- a/mysql.spec +++ b/mysql.spec @@ -25,6 +25,7 @@ Patch6: mysql-rpl_ddl.patch Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch +Patch10: mysql-bdb-open.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -127,6 +128,7 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 libtoolize --force aclocal @@ -470,6 +472,7 @@ fi %changelog * Thu Aug 2 2007 Tom Lane 5.0.45-2 - Update License tag to match code. +- Work around recent Fedora change that makes "open" a macro name. * Sun Jul 22 2007 Tom Lane 5.0.45-1 - Update to MySQL 5.0.45 From c9789fb9b596ccabbfc32cce971fe0ee463fbdfb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 3 Aug 2007 15:24:32 +0000 Subject: [PATCH 099/616] Adjust License tag per spot's recommendation --- mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 2496e98..62ced83 100644 --- a/mysql.spec +++ b/mysql.spec @@ -2,9 +2,11 @@ Name: mysql Version: 5.0.45 Release: 2%{?dist} Summary: MySQL client programs and shared libraries -License: GPLv2 Group: Applications/Databases URL: http://www.mysql.com +# exceptions allow client libraries to be linked with most open source SW, +# not only GPL code. +License: GPLv2 with exceptions # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%define runselftest 1} From 567c9b6be51d7b83525864d9e19d829ef0b2245b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 12 Aug 2007 21:54:57 +0000 Subject: [PATCH 100/616] Fix perl BuildRequires --- mysql.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 62ced83..c45ad0b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -35,6 +35,8 @@ BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf # make test requires time BuildRequires: time +# Socket is needed to run regression tests +BuildRequires: perl(Socket) Prereq: /sbin/install-info, grep, fileutils Requires: %{name}-libs = %{version}-%{release} @@ -472,6 +474,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Aug 12 2007 Tom Lane 5.0.45-3 +- Recent perl changes in rawhide mean we need a more specific BuildRequires + * Thu Aug 2 2007 Tom Lane 5.0.45-2 - Update License tag to match code. - Work around recent Fedora change that makes "open" a macro name. From eea6dd5930a960366ea183f10327998c76a808db Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 25 Aug 2007 21:19:14 +0000 Subject: [PATCH 101/616] Rebuild to fix Fedora toolchain issues --- mysql.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index c45ad0b..5744615 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -32,7 +32,7 @@ Patch10: mysql-bdb-open.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel -BuildRequires: libtool automake autoconf +BuildRequires: libtool automake autoconf gawk # make test requires time BuildRequires: time # Socket is needed to run regression tests @@ -474,6 +474,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 25 2007 Tom Lane 5.0.45-4 +- Seems we need an explicit BuildRequires on gawk now +- Rebuild to fix Fedora toolchain issues + * Sun Aug 12 2007 Tom Lane 5.0.45-3 - Recent perl changes in rawhide mean we need a more specific BuildRequires From 0251ac5d0bcc8649309c3e5d3f8b337077640e86 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 25 Aug 2007 23:42:50 +0000 Subject: [PATCH 102/616] Hm, ps isn't in default buildroot now either --- mysql.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index 5744615..1e91671 100644 --- a/mysql.spec +++ b/mysql.spec @@ -33,8 +33,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf gawk -# make test requires time -BuildRequires: time +# make test requires time and ps +BuildRequires: time procps # Socket is needed to run regression tests BuildRequires: perl(Socket) @@ -475,7 +475,7 @@ fi %changelog * Sat Aug 25 2007 Tom Lane 5.0.45-4 -- Seems we need an explicit BuildRequires on gawk now +- Seems we need explicit BuildRequires on gawk and procps now - Rebuild to fix Fedora toolchain issues * Sun Aug 12 2007 Tom Lane 5.0.45-3 From 94debf0bbdad93200c0bd58b6458e4f8399c61fe Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Mon, 15 Oct 2007 19:09:57 +0000 Subject: [PATCH 103/616] makefile update to properly grab makefile.common --- Makefile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 328125a..be704e8 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,21 @@ # Makefile for source rpm: mysql -# $Id$ +# $Id: Makefile,v 1.1 2004/09/09 08:53:41 cvsdist Exp $ NAME := mysql SPECFILE = $(firstword $(wildcard *.spec)) -include ../common/Makefile.common +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attempt a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) From d38545319b39b77dee4b6b153ca59387b9f2e69c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 5 Dec 2007 14:27:10 +0000 Subject: [PATCH 104/616] Rebuild for new openssl --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 1e91671..112ccfc 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -474,6 +474,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Dec 5 2007 Tom Lane 5.0.45-5 +- Rebuild for new openssl + * Sat Aug 25 2007 Tom Lane 5.0.45-4 - Seems we need explicit BuildRequires on gawk and procps now - Rebuild to fix Fedora toolchain issues From e46ac38a7e4d69d009e74afa76d584461e52b654 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 14 Dec 2007 03:38:55 +0000 Subject: [PATCH 105/616] Back-port upstream fixes for CVE-2007-5925, CVE-2007-5969, CVE-2007-6303. --- mysql-innodb-crash.patch | 114 ++++++++++++++++++++++++++++ mysql-rename-bug.patch | 75 ++++++++++++++++++ mysql-view-bug.patch | 160 +++++++++++++++++++++++++++++++++++++++ mysql.spec | 12 ++- 4 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 mysql-innodb-crash.patch create mode 100644 mysql-rename-bug.patch create mode 100644 mysql-view-bug.patch diff --git a/mysql-innodb-crash.patch b/mysql-innodb-crash.patch new file mode 100644 index 0000000..c2c6de5 --- /dev/null +++ b/mysql-innodb-crash.patch @@ -0,0 +1,114 @@ +Back-port upstream fix for CVE-2007-5925. + +diff -Naur mysql-5.0.45.orig/innobase/include/db0err.h mysql-5.0.45/innobase/include/db0err.h +--- mysql-5.0.45.orig/innobase/include/db0err.h 2007-07-04 09:06:59.000000000 -0400 ++++ mysql-5.0.45/innobase/include/db0err.h 2007-12-13 12:44:05.000000000 -0500 +@@ -57,6 +57,18 @@ + buffer pool (for big transactions, + InnoDB stores the lock structs in the + buffer pool) */ ++#define DB_FOREIGN_DUPLICATE_KEY 46 /* foreign key constraints ++ activated by the operation would ++ lead to a duplicate key in some ++ table */ ++#define DB_TOO_MANY_CONCURRENT_TRXS 47 /* when InnoDB runs out of the ++ preconfigured undo slots, this can ++ only happen when there are too many ++ concurrent transactions */ ++#define DB_UNSUPPORTED 48 /* when InnoDB sees any artefact or ++ a feature that it can't recoginize or ++ work with e.g., FT indexes created by ++ a later version of the engine. */ + + /* The following are partial failure codes */ + #define DB_FAIL 1000 +diff -Naur mysql-5.0.45.orig/innobase/include/page0cur.h mysql-5.0.45/innobase/include/page0cur.h +--- mysql-5.0.45.orig/innobase/include/page0cur.h 2007-07-04 09:06:10.000000000 -0400 ++++ mysql-5.0.45/innobase/include/page0cur.h 2007-12-13 12:44:05.000000000 -0500 +@@ -22,6 +22,7 @@ + + /* Page cursor search modes; the values must be in this order! */ + ++#define PAGE_CUR_UNSUPP 0 + #define PAGE_CUR_G 1 + #define PAGE_CUR_GE 2 + #define PAGE_CUR_L 3 +diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc +--- mysql-5.0.45.orig/sql/ha_innodb.cc 2007-07-04 09:06:48.000000000 -0400 ++++ mysql-5.0.45/sql/ha_innodb.cc 2007-12-13 12:44:05.000000000 -0500 +@@ -526,6 +526,9 @@ + } + + return(HA_ERR_LOCK_TABLE_FULL); ++ } else if (error == DB_UNSUPPORTED) { ++ ++ return(HA_ERR_UNSUPPORTED); + } else { + return(-1); // Unknown error + } +@@ -3689,11 +3692,21 @@ + and comparison of non-latin1 char type fields in + innobase_mysql_cmp() to get PAGE_CUR_LE_OR_EXTENDS to + work correctly. */ +- +- default: assert(0); ++ case HA_READ_MBR_CONTAIN: ++ case HA_READ_MBR_INTERSECT: ++ case HA_READ_MBR_WITHIN: ++ case HA_READ_MBR_DISJOINT: ++ my_error(ER_TABLE_CANT_HANDLE_SPKEYS, MYF(0)); ++ return(PAGE_CUR_UNSUPP); ++ /* do not use "default:" in order to produce a gcc warning: ++ enumeration value '...' not handled in switch ++ (if -Wswitch or -Wall is used) ++ */ + } + +- return(0); ++ my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "this functionality"); ++ ++ return(PAGE_CUR_UNSUPP); + } + + /* +@@ -3831,11 +3844,18 @@ + + last_match_mode = (uint) match_mode; + +- innodb_srv_conc_enter_innodb(prebuilt->trx); ++ if (mode != PAGE_CUR_UNSUPP) { + +- ret = row_search_for_mysql((byte*) buf, mode, prebuilt, match_mode, 0); ++ innodb_srv_conc_enter_innodb(prebuilt->trx); + +- innodb_srv_conc_exit_innodb(prebuilt->trx); ++ ret = row_search_for_mysql((byte*) buf, mode, prebuilt, ++ match_mode, 0); ++ ++ innodb_srv_conc_exit_innodb(prebuilt->trx); ++ } else { ++ ++ ret = DB_UNSUPPORTED; ++ } + + if (ret == DB_SUCCESS) { + error = 0; +@@ -5150,8 +5170,16 @@ + mode2 = convert_search_mode_to_innobase(max_key ? max_key->flag : + HA_READ_KEY_EXACT); + +- n_rows = btr_estimate_n_rows_in_range(index, range_start, +- mode1, range_end, mode2); ++ if (mode1 != PAGE_CUR_UNSUPP && mode2 != PAGE_CUR_UNSUPP) { ++ ++ n_rows = btr_estimate_n_rows_in_range(index, range_start, ++ mode1, range_end, ++ mode2); ++ } else { ++ ++ n_rows = 0; ++ } ++ + dtuple_free_for_mysql(heap1); + dtuple_free_for_mysql(heap2); + diff --git a/mysql-rename-bug.patch b/mysql-rename-bug.patch new file mode 100644 index 0000000..cd5058d --- /dev/null +++ b/mysql-rename-bug.patch @@ -0,0 +1,75 @@ +Back-port upstream fix for CVE-2007-5969. + +diff -Naur mysql-5.0.45.orig/mysql-test/r/symlink.result mysql-5.0.45/mysql-test/r/symlink.result +--- mysql-5.0.45.orig/mysql-test/r/symlink.result 2007-07-04 09:49:09.000000000 -0400 ++++ mysql-5.0.45/mysql-test/r/symlink.result 2007-12-13 12:28:59.000000000 -0500 +@@ -99,6 +99,12 @@ + `b` int(11) default NULL + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 + drop table t1; ++CREATE TABLE t1(a INT) ++DATA DIRECTORY='TEST_DIR/master-data/mysql' ++INDEX DIRECTORY='TEST_DIR/master-data/mysql'; ++RENAME TABLE t1 TO user; ++ERROR HY000: Can't create/write to file 'TEST_DIR/master-data/mysql/user.MYI' (Errcode: 17) ++DROP TABLE t1; + show create table t1; + Table Create Table + t1 CREATE TABLE `t1` ( +diff -Naur mysql-5.0.45.orig/mysql-test/t/symlink.test mysql-5.0.45/mysql-test/t/symlink.test +--- mysql-5.0.45.orig/mysql-test/t/symlink.test 2007-07-04 09:49:09.000000000 -0400 ++++ mysql-5.0.45/mysql-test/t/symlink.test 2007-12-13 12:28:59.000000000 -0500 +@@ -125,6 +125,18 @@ + drop table t1; + + # ++# BUG#32111 - Security Breach via DATA/INDEX DIRECORY and RENAME TABLE ++# ++--replace_result $MYSQLTEST_VARDIR TEST_DIR ++eval CREATE TABLE t1(a INT) ++DATA DIRECTORY='$MYSQLTEST_VARDIR/master-data/mysql' ++INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data/mysql'; ++--replace_result $MYSQLTEST_VARDIR TEST_DIR ++--error 1 ++RENAME TABLE t1 TO user; ++DROP TABLE t1; ++ ++# + # Test specifying DATA DIRECTORY that is the same as what would normally + # have been chosen. (Bug #8707) + # +diff -Naur mysql-5.0.45.orig/mysys/my_symlink2.c mysql-5.0.45/mysys/my_symlink2.c +--- mysql-5.0.45.orig/mysys/my_symlink2.c 2007-07-04 09:06:25.000000000 -0400 ++++ mysql-5.0.45/mysys/my_symlink2.c 2007-12-13 12:28:59.000000000 -0500 +@@ -124,6 +124,7 @@ + int was_symlink= (!my_disable_symlinks && + !my_readlink(link_name, from, MYF(0))); + int result=0; ++ int name_is_different; + DBUG_ENTER("my_rename_with_symlink"); + + if (!was_symlink) +@@ -132,6 +133,14 @@ + /* Change filename that symlink pointed to */ + strmov(tmp_name, to); + fn_same(tmp_name,link_name,1); /* Copy dir */ ++ name_is_different= strcmp(link_name, tmp_name); ++ if (name_is_different && !access(tmp_name, F_OK)) ++ { ++ my_errno= EEXIST; ++ if (MyFlags & MY_WME) ++ my_error(EE_CANTCREATEFILE, MYF(0), tmp_name, EEXIST); ++ DBUG_RETURN(1); ++ } + + /* Create new symlink */ + if (my_symlink(tmp_name, to, MyFlags)) +@@ -143,7 +152,7 @@ + the same basename and different directories. + */ + +- if (strcmp(link_name, tmp_name) && my_rename(link_name, tmp_name, MyFlags)) ++ if (name_is_different && my_rename(link_name, tmp_name, MyFlags)) + { + int save_errno=my_errno; + my_delete(to, MyFlags); /* Remove created symlink */ diff --git a/mysql-view-bug.patch b/mysql-view-bug.patch new file mode 100644 index 0000000..93d8b82 --- /dev/null +++ b/mysql-view-bug.patch @@ -0,0 +1,160 @@ +Back-port upstream fix for CVE-2007-6303. + +diff -Naur mysql-5.0.45.orig/mysql-test/r/view_grant.result mysql-5.0.45/mysql-test/r/view_grant.result +--- mysql-5.0.45.orig/mysql-test/r/view_grant.result 2007-07-04 09:49:09.000000000 -0400 ++++ mysql-5.0.45/mysql-test/r/view_grant.result 2007-12-13 14:20:02.000000000 -0500 +@@ -776,15 +776,60 @@ + GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813@localhost; + GRANT SELECT ON db26813.t1 TO u26813@localhost; + ALTER VIEW v1 AS SELECT f2 FROM t1; +-ERROR 42000: CREATE VIEW command denied to user 'u26813'@'localhost' for table 'v1' ++ERROR 42000: Access denied; you need the SUPER privilege for this operation + ALTER VIEW v2 AS SELECT f2 FROM t1; +-ERROR 42000: DROP command denied to user 'u26813'@'localhost' for table 'v2' ++ERROR 42000: Access denied; you need the SUPER privilege for this operation + ALTER VIEW v3 AS SELECT f2 FROM t1; ++ERROR 42000: Access denied; you need the SUPER privilege for this operation + SHOW CREATE VIEW v3; + View Create View +-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f2` AS `f2` from `t1` ++v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1` + DROP USER u26813@localhost; + DROP DATABASE db26813; ++# ++# Bug#29908: A user can gain additional access through the ALTER VIEW. ++# ++CREATE DATABASE mysqltest_29908; ++USE mysqltest_29908; ++CREATE TABLE t1(f1 INT, f2 INT); ++CREATE USER u29908_1@localhost; ++CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1; ++CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS ++SELECT f1 FROM t1; ++GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost; ++GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost; ++GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost; ++CREATE USER u29908_2@localhost; ++GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost; ++GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost; ++GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost; ++ALTER VIEW v1 AS SELECT f2 FROM t1; ++ERROR 42000: Access denied; you need the SUPER privilege for this operation ++ALTER VIEW v2 AS SELECT f2 FROM t1; ++ERROR 42000: Access denied; you need the SUPER privilege for this operation ++SHOW CREATE VIEW v2; ++View Create View ++v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` ++ALTER VIEW v1 AS SELECT f2 FROM t1; ++SHOW CREATE VIEW v1; ++View Create View ++v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1` ++ALTER VIEW v2 AS SELECT f2 FROM t1; ++SHOW CREATE VIEW v2; ++View Create View ++v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1` ++ALTER VIEW v1 AS SELECT f1 FROM t1; ++SHOW CREATE VIEW v1; ++View Create View ++v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` ++ALTER VIEW v2 AS SELECT f1 FROM t1; ++SHOW CREATE VIEW v2; ++View Create View ++v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` ++DROP USER u29908_1@localhost; ++DROP USER u29908_2@localhost; ++DROP DATABASE mysqltest_29908; ++####################################################################### + DROP DATABASE IF EXISTS mysqltest1; + DROP DATABASE IF EXISTS mysqltest2; + CREATE DATABASE mysqltest1; +diff -Naur mysql-5.0.45.orig/mysql-test/t/view_grant.test mysql-5.0.45/mysql-test/t/view_grant.test +--- mysql-5.0.45.orig/mysql-test/t/view_grant.test 2007-07-04 09:49:09.000000000 -0400 ++++ mysql-5.0.45/mysql-test/t/view_grant.test 2007-12-13 14:19:43.000000000 -0500 +@@ -1034,10 +1034,11 @@ + + connect (u1,localhost,u26813,,db26813); + connection u1; +---error 1142 ++--error ER_SPECIFIC_ACCESS_DENIED_ERROR + ALTER VIEW v1 AS SELECT f2 FROM t1; +---error 1142 ++--error ER_SPECIFIC_ACCESS_DENIED_ERROR + ALTER VIEW v2 AS SELECT f2 FROM t1; ++--error ER_SPECIFIC_ACCESS_DENIED_ERROR + ALTER VIEW v3 AS SELECT f2 FROM t1; + + connection root; +@@ -1047,6 +1048,51 @@ + DROP DATABASE db26813; + disconnect u1; + ++--echo # ++--echo # Bug#29908: A user can gain additional access through the ALTER VIEW. ++--echo # ++connection root; ++CREATE DATABASE mysqltest_29908; ++USE mysqltest_29908; ++CREATE TABLE t1(f1 INT, f2 INT); ++CREATE USER u29908_1@localhost; ++CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1; ++CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS ++ SELECT f1 FROM t1; ++GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost; ++GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost; ++GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost; ++CREATE USER u29908_2@localhost; ++GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost; ++GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost; ++GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost; ++ ++connect (u2,localhost,u29908_2,,mysqltest_29908); ++--error ER_SPECIFIC_ACCESS_DENIED_ERROR ++ALTER VIEW v1 AS SELECT f2 FROM t1; ++--error ER_SPECIFIC_ACCESS_DENIED_ERROR ++ALTER VIEW v2 AS SELECT f2 FROM t1; ++SHOW CREATE VIEW v2; ++ ++connect (u1,localhost,u29908_1,,mysqltest_29908); ++ALTER VIEW v1 AS SELECT f2 FROM t1; ++SHOW CREATE VIEW v1; ++ALTER VIEW v2 AS SELECT f2 FROM t1; ++SHOW CREATE VIEW v2; ++ ++connection root; ++ALTER VIEW v1 AS SELECT f1 FROM t1; ++SHOW CREATE VIEW v1; ++ALTER VIEW v2 AS SELECT f1 FROM t1; ++SHOW CREATE VIEW v2; ++ ++DROP USER u29908_1@localhost; ++DROP USER u29908_2@localhost; ++DROP DATABASE mysqltest_29908; ++disconnect u1; ++disconnect u2; ++--echo ####################################################################### ++ + # + # BUG#24040: Create View don't succed with "all privileges" on a database. + # +diff -Naur mysql-5.0.45.orig/sql/sql_view.cc mysql-5.0.45/sql/sql_view.cc +--- mysql-5.0.45.orig/sql/sql_view.cc 2007-07-04 09:06:03.000000000 -0400 ++++ mysql-5.0.45/sql/sql_view.cc 2007-12-13 13:30:29.000000000 -0500 +@@ -224,9 +224,6 @@ + { + LEX *lex= thd->lex; + bool link_to_local; +-#ifndef NO_EMBEDDED_ACCESS_CHECKS +- bool definer_check_is_needed= mode != VIEW_ALTER || lex->definer; +-#endif + /* first table in list is target VIEW name => cut off it */ + TABLE_LIST *view= lex->unlink_first_table(&link_to_local); + TABLE_LIST *tables= lex->query_tables; +@@ -281,7 +278,7 @@ + - same as current user + - current user has SUPER_ACL + */ +- if (definer_check_is_needed && ++ if (lex->definer && + (strcmp(lex->definer->user.str, thd->security_ctx->priv_user) != 0 || + my_strcasecmp(system_charset_info, + lex->definer->host.str, diff --git a/mysql.spec b/mysql.spec index 112ccfc..7d487d2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -28,6 +28,9 @@ Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch Patch10: mysql-bdb-open.patch +Patch11: mysql-innodb-crash.patch +Patch12: mysql-rename-bug.patch +Patch13: mysql-view-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -133,6 +136,9 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 libtoolize --force aclocal @@ -474,6 +480,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Dec 13 2007 Tom Lane 5.0.45-6 +- Back-port upstream fixes for CVE-2007-5925, CVE-2007-5969, CVE-2007-6303. +Related: #422211 + * Wed Dec 5 2007 Tom Lane 5.0.45-5 - Rebuild for new openssl From 6699c492555b2a25d7e6721df5d057cbb8a97410 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 04:24:19 +0000 Subject: [PATCH 106/616] Dike out regression test that is guaranteed to stop working after a year. I thought upstream would have acquired a clue after it failed last year at this time, but it seems not. --- mysql-ss-test.patch | 39 +++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 mysql-ss-test.patch diff --git a/mysql-ss-test.patch b/mysql-ss-test.patch new file mode 100644 index 0000000..30b4b71 --- /dev/null +++ b/mysql-ss-test.patch @@ -0,0 +1,39 @@ +You'd think MySQL AB would have learned last year that a test that's designed +to fail next January 1st isn't a good idea. Short-sightedness seems to still +reign supreme over there, however. We will dike out this test, and we will +not put it back as long as it's designed to depend on the value of now(). +Whatever bit of testing coverage we might lose here is not worth packages +that break annually. + + +diff -Naur mysql-5.0.45.orig/mysql-test/r/view.result mysql-5.0.45/mysql-test/r/view.result +--- mysql-5.0.45.orig/mysql-test/r/view.result 2007-07-04 09:49:09.000000000 -0400 ++++ mysql-5.0.45/mysql-test/r/view.result 2008-01-07 22:26:00.000000000 -0500 +@@ -2709,14 +2709,6 @@ + SHOW CREATE VIEW v1; + View Create View + v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (year(now()) - year(`t1`.`DOB`)) AS `Age` from `t1` having (`Age` < 75) +-SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75; +-Age +-43 +-39 +-SELECT * FROM v1; +-Age +-43 +-39 + DROP VIEW v1; + DROP TABLE t1; + CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a char(6) DEFAULT 'xxx'); +diff -Naur mysql-5.0.45.orig/mysql-test/t/view.test mysql-5.0.45/mysql-test/t/view.test +--- mysql-5.0.45.orig/mysql-test/t/view.test 2007-07-04 09:49:09.000000000 -0400 ++++ mysql-5.0.45/mysql-test/t/view.test 2008-01-07 22:25:44.000000000 -0500 +@@ -2560,9 +2560,6 @@ + FROM t1 HAVING Age < 75; + SHOW CREATE VIEW v1; + +-SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75; +-SELECT * FROM v1; +- + DROP VIEW v1; + DROP TABLE t1; + diff --git a/mysql.spec b/mysql.spec index 7d487d2..d94037f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -31,6 +31,7 @@ Patch10: mysql-bdb-open.patch Patch11: mysql-innodb-crash.patch Patch12: mysql-rename-bug.patch Patch13: mysql-view-bug.patch +Patch14: mysql-ss-test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -139,6 +140,7 @@ the MySQL sources. %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 libtoolize --force aclocal @@ -480,6 +482,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jan 7 2008 Tom Lane 5.0.45-7 +- Unbelievable ... upstream still thinks that it's a good idea to have a + regression test that is guaranteed to begin failing come January 1. + * Thu Dec 13 2007 Tom Lane 5.0.45-6 - Back-port upstream fixes for CVE-2007-5925, CVE-2007-5969, CVE-2007-6303. Related: #422211 From bd5697ac43fc7b4e8e9859dc78ef9d9c9c686c58 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 04:47:12 +0000 Subject: [PATCH 107/616] Seems we need to raise STACK_MIN_SIZE again too. --- mysql-stack.patch | 3 ++- mysql.spec | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index ee84b20..1fe2b67 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -2,6 +2,7 @@ Talk about silly byte-shaving ... the "stock" value does not work on s390x, and probably not on some other platforms either. Knock it up to twice the pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. +As of 5.0.45 and F9, it seems 16384 isn't enough either. diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h @@ -12,7 +13,7 @@ diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 16384 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 32768 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 256 // For stack overrun checks diff --git a/mysql.spec b/mysql.spec index d94037f..4856f38 100644 --- a/mysql.spec +++ b/mysql.spec @@ -485,6 +485,7 @@ fi * Mon Jan 7 2008 Tom Lane 5.0.45-7 - Unbelievable ... upstream still thinks that it's a good idea to have a regression test that is guaranteed to begin failing come January 1. +- ... and it seems we need to raise STACK_MIN_SIZE again too. * Thu Dec 13 2007 Tom Lane 5.0.45-6 - Back-port upstream fixes for CVE-2007-5925, CVE-2007-5969, CVE-2007-6303. From 533c5cc42cb050d746ef9ee4f767945f6b4db417 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 05:41:31 +0000 Subject: [PATCH 108/616] Sigh ... this code is even more fragile than it appears. Try setting STACK_MIN_SIZE to 24K, not either 16K nor 32K, each of which fail for different reasons. --- mysql-stack.patch | 6 ++++-- mysql.spec | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 1fe2b67..3a37afa 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -2,7 +2,9 @@ Talk about silly byte-shaving ... the "stock" value does not work on s390x, and probably not on some other platforms either. Knock it up to twice the pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. -As of 5.0.45 and F9, it seems 16384 isn't enough either. + +As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails); +while 32768 is too much as it makes other regression tests fail. diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h @@ -13,7 +15,7 @@ diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 32768 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 256 // For stack overrun checks diff --git a/mysql.spec b/mysql.spec index 4856f38..1f92b04 100644 --- a/mysql.spec +++ b/mysql.spec @@ -482,7 +482,7 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Mon Jan 7 2008 Tom Lane 5.0.45-7 +* Tue Jan 8 2008 Tom Lane 5.0.45-7 - Unbelievable ... upstream still thinks that it's a good idea to have a regression test that is guaranteed to begin failing come January 1. - ... and it seems we need to raise STACK_MIN_SIZE again too. From f01440d9810e1d1909ed53e77baa13dce9bb9c89 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 06:30:20 +0000 Subject: [PATCH 109/616] OK, one more try to see if *any* value works. --- mysql-stack.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 3a37afa..0d4a5ed 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -4,7 +4,7 @@ pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails); -while 32768 is too much as it makes other regression tests fail. +while 24576 is too much as it makes other regression tests fail. diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h @@ -15,7 +15,7 @@ diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 20000 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 256 // For stack overrun checks From 148e378a6c9a680800b7bc207f3d4ed3c96659f6 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 18:40:25 +0000 Subject: [PATCH 110/616] Another try at getting the stack size checking to work in F9. --- mysql-stack.patch | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 0d4a5ed..8c40b4b 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -3,19 +3,26 @@ and probably not on some other platforms either. Knock it up to twice the pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. -As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails); -while 24576 is too much as it makes other regression tests fail. +As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails). +But we can't raise it too much because it has to be less than +DEFAULT_THREAD_STACK / 8, and DEFAULT_THREAD_STACK is dependent on +SIZEOF_CHARP. (Could change DEFAULT_THREAD_STACK too if our backs are +to the wall, but I'd rather not.) -diff -Naur mysql-5.0.38.orig/sql/mysql_priv.h mysql-5.0.38/sql/mysql_priv.h ---- mysql-5.0.38.orig/sql/mysql_priv.h 2007-03-20 15:12:46.000000000 -0400 -+++ mysql-5.0.38/sql/mysql_priv.h 2007-04-16 16:09:39.000000000 -0400 -@@ -175,7 +175,7 @@ +diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h +--- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400 ++++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 13:32:45.000000000 -0500 +@@ -173,7 +173,11 @@ Feel free to raise this by the smallest amount you can to get the "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 20000 // Abort if less stack during eval. ++#if SIZEOF_CHARP > 4 ++#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. ++#else ++#define STACK_MIN_SIZE 19000 // Abort if less stack during eval. ++#endif #define STACK_MIN_SIZE_FOR_OPEN 1024*80 - #define STACK_BUFF_ALLOC 256 // For stack overrun checks + #define STACK_BUFF_ALLOC 352 // For stack overrun checks From ed0e45cfe8ab46c43d553f21d3ef5bde67b0f855 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 19:17:47 +0000 Subject: [PATCH 111/616] OK, 19000 is too small for ppc, try 20000 --- mysql-stack.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 8c40b4b..3f9dd8e 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -21,7 +21,7 @@ diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h +#if SIZEOF_CHARP > 4 +#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. +#else -+#define STACK_MIN_SIZE 19000 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 20000 // Abort if less stack during eval. +#endif #define STACK_MIN_SIZE_FOR_OPEN 1024*80 From aeb5ae2bb0b31593a8f2c8b37861123a86ef23d8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 19:58:47 +0000 Subject: [PATCH 112/616] Seems to be nothing for it except to raise DEFAULT_THREAD_STACK. Why is ppc so much more stack-hungry than before? --- mysql-stack.patch | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 3f9dd8e..7926e11 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -1,28 +1,37 @@ -Talk about silly byte-shaving ... the "stock" value does not work on s390x, -and probably not on some other platforms either. Knock it up to twice the -pre-5.0.33 value to have some margin for future changes in compiler, glibc, -etc. Suspect this number if "execution_constants" regression test fails. +Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE +does not work on s390x, and probably not on some other platforms either. +Knock it up to twice the pre-5.0.33 value to have some margin for future +changes in compiler, glibc, etc. Suspect this number if +"execution_constants" regression test fails. -As of 5.0.45 and F9, it seems 16384 isn't enough anymore (ppc fails). -But we can't raise it too much because it has to be less than -DEFAULT_THREAD_STACK / 8, and DEFAULT_THREAD_STACK is dependent on -SIZEOF_CHARP. (Could change DEFAULT_THREAD_STACK too if our backs are -to the wall, but I'd rather not.) +As of 5.0.45 and F9, it seems 16384 isn't enough anymore either (ppc fails, +and seems to now need something above 20000 --- why?). STACK_MIN_SIZE has +to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom, +which means we are now also forced to raise DEFAULT_THREAD_STACK for 32-bit +arches. +diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthread.h +--- mysql-5.0.45.orig/include/my_pthread.h 2007-07-04 09:06:05.000000000 -0400 ++++ mysql-5.0.45/include/my_pthread.h 2008-01-08 14:51:39.000000000 -0500 +@@ -737,7 +737,7 @@ + */ + #define DEFAULT_THREAD_STACK (256*1024L) + #else +-#define DEFAULT_THREAD_STACK (192*1024) ++#define DEFAULT_THREAD_STACK (256*1024) + #endif + #endif + diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h --- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400 -+++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 13:32:45.000000000 -0500 -@@ -173,7 +173,11 @@ ++++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 14:51:55.000000000 -0500 +@@ -173,7 +173,7 @@ Feel free to raise this by the smallest amount you can to get the "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#if SIZEOF_CHARP > 4 +#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. -+#else -+#define STACK_MIN_SIZE 20000 // Abort if less stack during eval. -+#endif #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 352 // For stack overrun checks From abed7a21a8bb3685a291820d6b394486478c58f4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 21:53:50 +0000 Subject: [PATCH 113/616] Just for grins, let's see if 48K works or not. --- mysql-stack.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 7926e11..7e00367 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -5,7 +5,7 @@ changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. As of 5.0.45 and F9, it seems 16384 isn't enough anymore either (ppc fails, -and seems to now need something above 20000 --- why?). STACK_MIN_SIZE has +and seems to now need something above 24576 --- why?). STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom, which means we are now also forced to raise DEFAULT_THREAD_STACK for 32-bit arches. @@ -16,10 +16,10 @@ diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthrea +++ mysql-5.0.45/include/my_pthread.h 2008-01-08 14:51:39.000000000 -0500 @@ -737,7 +737,7 @@ */ - #define DEFAULT_THREAD_STACK (256*1024L) + #define DEFAULT_THREAD_STACK (512*1024L) #else -#define DEFAULT_THREAD_STACK (192*1024) -+#define DEFAULT_THREAD_STACK (256*1024) ++#define DEFAULT_THREAD_STACK (512*1024) #endif #endif @@ -31,7 +31,7 @@ diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 49152 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 352 // For stack overrun checks From 34bcd908b57bcfb665e1d79c482ea3d91c9cc017 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jan 2008 22:34:59 +0000 Subject: [PATCH 114/616] Oops, forgot to make DEFAULT_THREAD_STACK match for 64-bit. --- mysql-stack.patch | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mysql-stack.patch b/mysql-stack.patch index 7e00367..9524f83 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -13,10 +13,13 @@ arches. diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthread.h --- mysql-5.0.45.orig/include/my_pthread.h 2007-07-04 09:06:05.000000000 -0400 -+++ mysql-5.0.45/include/my_pthread.h 2008-01-08 14:51:39.000000000 -0500 -@@ -737,7 +737,7 @@ ++++ mysql-5.0.45/include/my_pthread.h 2008-01-08 17:32:37.000000000 -0500 +@@ -735,9 +735,9 @@ + MySQL can survive with 32K, but some glibc libraries require > 128K stack + To resolve hostnames. Also recursive stored procedures needs stack. */ - #define DEFAULT_THREAD_STACK (512*1024L) +-#define DEFAULT_THREAD_STACK (256*1024L) ++#define DEFAULT_THREAD_STACK (512*1024L) #else -#define DEFAULT_THREAD_STACK (192*1024) +#define DEFAULT_THREAD_STACK (512*1024) @@ -25,7 +28,7 @@ diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthrea diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h --- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400 -+++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 14:51:55.000000000 -0500 ++++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 17:32:22.000000000 -0500 @@ -173,7 +173,7 @@ Feel free to raise this by the smallest amount you can to get the "execution_constants" test to pass. From 93270f49878b1b8b9e283ee142e1ae54acf47ebe Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 20 Feb 2008 03:51:52 +0000 Subject: [PATCH 115/616] - Autorebuild for GCC 4.3 --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 1f92b04..59499dc 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 7%{?dist} +Release: 8%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -482,6 +482,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 19 2008 Fedora Release Engineering - 5.0.45-8 +- Autorebuild for GCC 4.3 + * Tue Jan 8 2008 Tom Lane 5.0.45-7 - Unbelievable ... upstream still thinks that it's a good idea to have a regression test that is guaranteed to begin failing come January 1. From 650f83934bcf49ff909f91fd68d9d6d457d631fd Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Feb 2008 21:23:49 +0000 Subject: [PATCH 116/616] Fix mysql's stack overflow problem (or perhaps more accurately, work around brain damage in RHEL5 kernel) --- mysql-stack-guard.patch | 94 +++++++++++++++++++++++++++++++++++++++++ mysql-stack.patch | 25 ++--------- mysql.spec | 11 ++++- 3 files changed, 108 insertions(+), 22 deletions(-) create mode 100644 mysql-stack-guard.patch diff --git a/mysql-stack-guard.patch b/mysql-stack-guard.patch new file mode 100644 index 0000000..cedd3e2 --- /dev/null +++ b/mysql-stack-guard.patch @@ -0,0 +1,94 @@ +mysql is not accounting for the "guard page" when setting thread stack size +requests. This is fatal on PPC systems, which may use guard pages as large +as 64K. I'll bet a good deal that the hacks it uses for IA64 are a result +of misdiagnosis of a similar problem, so remove them. + +It is not at this point entirely clear whether mysql is wrong in ignoring +the guard page, or whether this is a RHEL bug (see our bz#435337). So not +reporting this upstream yet. But we need the patch now, so we can build mysql +in rawhide (the build machines are using RHEL5 kernels). + + +diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc +--- mysql-5.0.45.orig/sql/mysqld.cc 2007-07-04 09:06:03.000000000 -0400 ++++ mysql-5.0.45/sql/mysqld.cc 2008-02-28 15:17:20.000000000 -0500 +@@ -2286,6 +2286,7 @@ + { + int error; + pthread_attr_t thr_attr; ++ size_t guard_size = 0; + DBUG_ENTER("start_signal_handler"); + + (void) pthread_attr_init(&thr_attr); +@@ -2294,15 +2295,9 @@ + (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); + if (!(opt_specialflag & SPECIAL_NO_PRIOR)) + my_pthread_attr_setprio(&thr_attr,INTERRUPT_PRIOR); +-#if defined(__ia64__) || defined(__ia64) +- /* +- Peculiar things with ia64 platforms - it seems we only have half the +- stack size in reality, so we have to double it here +- */ +- pthread_attr_setstacksize(&thr_attr,thread_stack*2); +-#else +- pthread_attr_setstacksize(&thr_attr,thread_stack); +-#endif ++ ++ pthread_attr_getguardsize(&thr_attr, &guard_size); ++ pthread_attr_setstacksize(&thr_attr, thread_stack + guard_size); + #endif + + (void) pthread_mutex_lock(&LOCK_thread_count); +@@ -3499,37 +3494,29 @@ + init_signals(); + if (!(opt_specialflag & SPECIAL_NO_PRIOR)) + my_pthread_setprio(pthread_self(),CONNECT_PRIOR); +-#if defined(__ia64__) || defined(__ia64) +- /* +- Peculiar things with ia64 platforms - it seems we only have half the +- stack size in reality, so we have to double it here +- */ +- pthread_attr_setstacksize(&connection_attrib,thread_stack*2); +-#else +- pthread_attr_setstacksize(&connection_attrib,thread_stack); +-#endif +-#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE ++ + { ++ size_t guard_size = 0; ++ size_t stack_size = 0; ++ ++ pthread_attr_getguardsize(&connection_attrib, &guard_size); ++ ++ pthread_attr_setstacksize(&connection_attrib, thread_stack + guard_size); ++ ++#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE + /* Retrieve used stack size; Needed for checking stack overflows */ +- size_t stack_size= 0; + pthread_attr_getstacksize(&connection_attrib, &stack_size); +-#if defined(__ia64__) || defined(__ia64) +- stack_size/= 2; +-#endif + /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ +- if (stack_size && stack_size < thread_stack) ++ if (stack_size && stack_size < thread_stack + guard_size) + { + if (global_system_variables.log_warnings) +- sql_print_warning("Asked for %lu thread stack, but got %ld", +- thread_stack, (long) stack_size); +-#if defined(__ia64__) || defined(__ia64) +- thread_stack= stack_size*2; +-#else +- thread_stack= stack_size; +-#endif ++ sql_print_warning("Asked for %lu+%lu thread stack, but got %ld", ++ thread_stack, (long) guard_size, (long) stack_size); ++ thread_stack= stack_size - guard_size; + } +- } + #endif ++ } ++ + #ifdef __NETWARE__ + /* Increasing stacksize of threads on NetWare */ + diff --git a/mysql-stack.patch b/mysql-stack.patch index 9524f83..5928cbf 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -4,28 +4,11 @@ Knock it up to twice the pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. -As of 5.0.45 and F9, it seems 16384 isn't enough anymore either (ppc fails, -and seems to now need something above 24576 --- why?). STACK_MIN_SIZE has -to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom, -which means we are now also forced to raise DEFAULT_THREAD_STACK for 32-bit -arches. +Note: STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8 +to provide some headroom, which means that its value can't be raised too much +further without increasing the latter as well. -diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthread.h ---- mysql-5.0.45.orig/include/my_pthread.h 2007-07-04 09:06:05.000000000 -0400 -+++ mysql-5.0.45/include/my_pthread.h 2008-01-08 17:32:37.000000000 -0500 -@@ -735,9 +735,9 @@ - MySQL can survive with 32K, but some glibc libraries require > 128K stack - To resolve hostnames. Also recursive stored procedures needs stack. - */ --#define DEFAULT_THREAD_STACK (256*1024L) -+#define DEFAULT_THREAD_STACK (512*1024L) - #else --#define DEFAULT_THREAD_STACK (192*1024) -+#define DEFAULT_THREAD_STACK (512*1024) - #endif - #endif - diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h --- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400 +++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 17:32:22.000000000 -0500 @@ -34,7 +17,7 @@ diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 49152 // Abort if less stack during eval. ++#define STACK_MIN_SIZE 16384 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 352 // For stack overrun checks diff --git a/mysql.spec b/mysql.spec index 59499dc..f282917 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 8%{?dist} +Release: 9%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -32,6 +32,7 @@ Patch11: mysql-innodb-crash.patch Patch12: mysql-rename-bug.patch Patch13: mysql-view-bug.patch Patch14: mysql-ss-test.patch +Patch15: mysql-stack-guard.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -141,6 +142,7 @@ the MySQL sources. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 libtoolize --force aclocal @@ -482,6 +484,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Feb 28 2008 Tom Lane 5.0.45-9 +- Fix the stack overflow problem encountered in January. It seems the real +issue is that the buildfarm machines were moved to RHEL5, which uses 64K not +4K pages on PPC, and because RHEL5 takes the guard area out of the requested +thread stack size we no longer had enough headroom. +Related: #435337 + * Tue Feb 19 2008 Fedora Release Engineering - 5.0.45-8 - Autorebuild for GCC 4.3 From 0198dfa540d42752095e4324919e20b24e6ac0ae Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Mon, 3 Mar 2008 17:55:21 +0000 Subject: [PATCH 117/616] add sparc multilib and dualbuilding handling --- mysql.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index f282917..19b7705 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 9%{?dist} +Release: 10%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -191,7 +191,7 @@ make check %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine case `uname -m` in - ppc64 | s390x | x86_64) + ppc64 | s390x | x86_64 | sparc64 ) MTR_BUILD_THREAD=7 ;; *) @@ -211,7 +211,7 @@ rm -rf $RPM_BUILD_ROOT # multilib header hack # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in - i386 | x86_64 | ppc | ppc64 | s390 | s390x) + i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 ) install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ ;; @@ -484,6 +484,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Mar 03 2008 Dennis Gilmore 5.0.45-10 +- add sparc64 to 64 bit arches for test suite checking +- add sparc, sparcv9 and sparc64 to multilib handling + * Thu Feb 28 2008 Tom Lane 5.0.45-9 - Fix the stack overflow problem encountered in January. It seems the real issue is that the buildfarm machines were moved to RHEL5, which uses 64K not From e6fb210ebdb04778ec3e7649f9b5ba626ecc1912 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 3 Mar 2008 22:30:11 +0000 Subject: [PATCH 118/616] Second try at stack-guard patch, also apply fix for bug #435494 --- mysql-stack-guard.patch | 130 +++++++++++++++++++++++++++------------- mysql.init | 2 +- mysql.spec | 9 ++- 3 files changed, 97 insertions(+), 44 deletions(-) diff --git a/mysql-stack-guard.patch b/mysql-stack-guard.patch index cedd3e2..76ef7ea 100644 --- a/mysql-stack-guard.patch +++ b/mysql-stack-guard.patch @@ -1,26 +1,84 @@ mysql is not accounting for the "guard page" when setting thread stack size requests. This is fatal on PPC systems, which may use guard pages as large -as 64K. I'll bet a good deal that the hacks it uses for IA64 are a result -of misdiagnosis of a similar problem, so remove them. +as 64K. This patch also documents the IA64 situation a bit better. -It is not at this point entirely clear whether mysql is wrong in ignoring -the guard page, or whether this is a RHEL bug (see our bz#435337). So not -reporting this upstream yet. But we need the patch now, so we can build mysql -in rawhide (the build machines are using RHEL5 kernels). +Note: there are quite a few other setstacksize calls besides the two in +mysqld.cc; is it important to fix any of the others? diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc --- mysql-5.0.45.orig/sql/mysqld.cc 2007-07-04 09:06:03.000000000 -0400 -+++ mysql-5.0.45/sql/mysqld.cc 2008-02-28 15:17:20.000000000 -0500 -@@ -2286,6 +2286,7 @@ - { - int error; - pthread_attr_t thr_attr; -+ size_t guard_size = 0; - DBUG_ENTER("start_signal_handler"); ++++ mysql-5.0.45/sql/mysqld.cc 2008-03-03 17:16:25.000000000 -0500 +@@ -2281,6 +2281,68 @@ + DBUG_VOID_RETURN; + } - (void) pthread_attr_init(&thr_attr); -@@ -2294,15 +2295,9 @@ ++/* pthread_attr_setstacksize without so much platform-dependency */ ++/* returns the actual stack size if possible */ ++static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize) ++{ ++ size_t guard_size = 0; ++ ++#if defined(__ia64__) || defined(__ia64) ++ /* ++ On IA64, half of the requested stack size is used for "normal stack" ++ and half for "register stack". The space measured by check_stack_overrun ++ is the "normal stack", so double the request to make sure we have the ++ caller-expected amount of normal stack. ++ ++ NOTE: there is no guarantee that the register stack can't grow faster ++ than normal stack, so it's very unclear that we won't dump core due to ++ stack overrun despite check_stack_overrun's efforts. Experimentation ++ shows that in the execution_constants test, the register stack grows ++ less than half as fast as normal stack, but perhaps other scenarios are ++ less forgiving. If it turns out that more space is needed for the ++ register stack, that could be forced (rather inefficiently) by using a ++ multiplier higher than 2 here. ++ */ ++ stacksize *= 2; ++#endif ++ ++ /* ++ On many machines, the "guard space" is subtracted from the requested ++ stack size, and that space is quite large on some platforms. So add ++ it to our request, if we can find out what it is. ++ ++ FIXME: autoconfiscate use of pthread_attr_getguardsize ++ */ ++ if (pthread_attr_getguardsize(attr, &guard_size)) ++ guard_size = 0; /* if can't find it out, treat as 0 */ ++ ++ pthread_attr_setstacksize(attr, stacksize + guard_size); ++ ++ /* Retrieve actual stack size if possible */ ++#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE ++ { ++ size_t real_stack_size= 0; ++ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */ ++ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 && ++ real_stack_size > guard_size) ++ { ++ real_stack_size -= guard_size; ++ if (real_stack_size < stacksize) ++ { ++ if (global_system_variables.log_warnings) ++ sql_print_warning("Asked for %ld thread stack, but got %ld", ++ (long) stacksize, (long) real_stack_size); ++ stacksize= real_stack_size; ++ } ++ } ++ } ++#endif ++ ++#if defined(__ia64__) || defined(__ia64) ++ stacksize /= 2; ++#endif ++ return stacksize; ++} + + static void start_signal_handler(void) + { +@@ -2294,15 +2356,7 @@ (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); if (!(opt_specialflag & SPECIAL_NO_PRIOR)) my_pthread_attr_setprio(&thr_attr,INTERRUPT_PRIOR); @@ -33,13 +91,11 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc -#else - pthread_attr_setstacksize(&thr_attr,thread_stack); -#endif -+ -+ pthread_attr_getguardsize(&thr_attr, &guard_size); -+ pthread_attr_setstacksize(&thr_attr, thread_stack + guard_size); ++ (void) my_setstacksize(&thr_attr,thread_stack); #endif (void) pthread_mutex_lock(&LOCK_thread_count); -@@ -3499,37 +3494,29 @@ +@@ -3499,41 +3553,12 @@ init_signals(); if (!(opt_specialflag & SPECIAL_NO_PRIOR)) my_pthread_setprio(pthread_self(),CONNECT_PRIOR); @@ -53,27 +109,17 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc - pthread_attr_setstacksize(&connection_attrib,thread_stack); -#endif -#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE -+ - { -+ size_t guard_size = 0; -+ size_t stack_size = 0; -+ -+ pthread_attr_getguardsize(&connection_attrib, &guard_size); -+ -+ pthread_attr_setstacksize(&connection_attrib, thread_stack + guard_size); -+ -+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE - /* Retrieve used stack size; Needed for checking stack overflows */ +- { +- /* Retrieve used stack size; Needed for checking stack overflows */ - size_t stack_size= 0; - pthread_attr_getstacksize(&connection_attrib, &stack_size); +- pthread_attr_getstacksize(&connection_attrib, &stack_size); -#if defined(__ia64__) || defined(__ia64) - stack_size/= 2; -#endif - /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ +- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ - if (stack_size && stack_size < thread_stack) -+ if (stack_size && stack_size < thread_stack + guard_size) - { - if (global_system_variables.log_warnings) +- { +- if (global_system_variables.log_warnings) - sql_print_warning("Asked for %lu thread stack, but got %ld", - thread_stack, (long) stack_size); -#if defined(__ia64__) || defined(__ia64) @@ -81,14 +127,16 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc -#else - thread_stack= stack_size; -#endif -+ sql_print_warning("Asked for %lu+%lu thread stack, but got %ld", -+ thread_stack, (long) guard_size, (long) stack_size); -+ thread_stack= stack_size - guard_size; - } +- } - } - #endif -+ } +-#endif + #ifdef __NETWARE__ /* Increasing stacksize of threads on NetWare */ +- + pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE); ++#else ++ thread_stack = my_setstacksize(&connection_attrib,thread_stack); + #endif + (void) thr_setconcurrency(concurrency); // 10 by default diff --git a/mysql.init b/mysql.init index 76c29f2..4524690 100644 --- a/mysql.init +++ b/mysql.init @@ -68,7 +68,7 @@ start(){ if [ $ret -eq 0 ]; then STARTTIMEOUT=30 while [ $STARTTIMEOUT -gt 0 ]; do - RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break + RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break echo "$RESPONSE" | grep -q "Access denied for user" && break sleep 1 let STARTTIMEOUT=${STARTTIMEOUT}-1 diff --git a/mysql.spec b/mysql.spec index 19b7705..76bfd92 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.45 -Release: 10%{?dist} +Release: 11%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -484,8 +484,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Mar 3 2008 Tom Lane 5.0.45-11 +- Fix mysql-stack-guard patch to work correctly on IA64 +- Fix mysql.init to wait correctly when socket is not in default place +Related: #435494 + * Mon Mar 03 2008 Dennis Gilmore 5.0.45-10 -- add sparc64 to 64 bit arches for test suite checking +- add sparc64 to 64 bit arches for test suite checking - add sparc, sparcv9 and sparc64 to multilib handling * Thu Feb 28 2008 Tom Lane 5.0.45-9 From 1986462cd1ec24fd0a05627b52c7af1d412c4cef Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 4 Mar 2008 00:44:31 +0000 Subject: [PATCH 119/616] Add link to upstream bug report --- mysql-stack-guard.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql-stack-guard.patch b/mysql-stack-guard.patch index 76ef7ea..d1e9e78 100644 --- a/mysql-stack-guard.patch +++ b/mysql-stack-guard.patch @@ -5,6 +5,8 @@ as 64K. This patch also documents the IA64 situation a bit better. Note: there are quite a few other setstacksize calls besides the two in mysqld.cc; is it important to fix any of the others? +Filed upstream at http://bugs.mysql.com/bug.php?id=35019 + diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc --- mysql-5.0.45.orig/sql/mysqld.cc 2007-07-04 09:06:03.000000000 -0400 From 20564e52c03008dd1692a317a0213b1d47fb2b4f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 4 Mar 2008 02:46:54 +0000 Subject: [PATCH 120/616] Update to mysql version 5.0.51a --- .cvsignore | 2 +- mysql-rename-bug.patch | 75 ------------------- mysql-ssl.patch | 75 +++++++++++++++++++ mysql-view-bug.patch | 160 ----------------------------------------- mysql.spec | 12 ++-- sources | 2 +- 6 files changed, 84 insertions(+), 242 deletions(-) delete mode 100644 mysql-rename-bug.patch create mode 100644 mysql-ssl.patch delete mode 100644 mysql-view-bug.patch diff --git a/.cvsignore b/.cvsignore index 5628d11..e0f842b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.45.tar.gz +mysql-5.0.51a.tar.gz diff --git a/mysql-rename-bug.patch b/mysql-rename-bug.patch deleted file mode 100644 index cd5058d..0000000 --- a/mysql-rename-bug.patch +++ /dev/null @@ -1,75 +0,0 @@ -Back-port upstream fix for CVE-2007-5969. - -diff -Naur mysql-5.0.45.orig/mysql-test/r/symlink.result mysql-5.0.45/mysql-test/r/symlink.result ---- mysql-5.0.45.orig/mysql-test/r/symlink.result 2007-07-04 09:49:09.000000000 -0400 -+++ mysql-5.0.45/mysql-test/r/symlink.result 2007-12-13 12:28:59.000000000 -0500 -@@ -99,6 +99,12 @@ - `b` int(11) default NULL - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 - drop table t1; -+CREATE TABLE t1(a INT) -+DATA DIRECTORY='TEST_DIR/master-data/mysql' -+INDEX DIRECTORY='TEST_DIR/master-data/mysql'; -+RENAME TABLE t1 TO user; -+ERROR HY000: Can't create/write to file 'TEST_DIR/master-data/mysql/user.MYI' (Errcode: 17) -+DROP TABLE t1; - show create table t1; - Table Create Table - t1 CREATE TABLE `t1` ( -diff -Naur mysql-5.0.45.orig/mysql-test/t/symlink.test mysql-5.0.45/mysql-test/t/symlink.test ---- mysql-5.0.45.orig/mysql-test/t/symlink.test 2007-07-04 09:49:09.000000000 -0400 -+++ mysql-5.0.45/mysql-test/t/symlink.test 2007-12-13 12:28:59.000000000 -0500 -@@ -125,6 +125,18 @@ - drop table t1; - - # -+# BUG#32111 - Security Breach via DATA/INDEX DIRECORY and RENAME TABLE -+# -+--replace_result $MYSQLTEST_VARDIR TEST_DIR -+eval CREATE TABLE t1(a INT) -+DATA DIRECTORY='$MYSQLTEST_VARDIR/master-data/mysql' -+INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data/mysql'; -+--replace_result $MYSQLTEST_VARDIR TEST_DIR -+--error 1 -+RENAME TABLE t1 TO user; -+DROP TABLE t1; -+ -+# - # Test specifying DATA DIRECTORY that is the same as what would normally - # have been chosen. (Bug #8707) - # -diff -Naur mysql-5.0.45.orig/mysys/my_symlink2.c mysql-5.0.45/mysys/my_symlink2.c ---- mysql-5.0.45.orig/mysys/my_symlink2.c 2007-07-04 09:06:25.000000000 -0400 -+++ mysql-5.0.45/mysys/my_symlink2.c 2007-12-13 12:28:59.000000000 -0500 -@@ -124,6 +124,7 @@ - int was_symlink= (!my_disable_symlinks && - !my_readlink(link_name, from, MYF(0))); - int result=0; -+ int name_is_different; - DBUG_ENTER("my_rename_with_symlink"); - - if (!was_symlink) -@@ -132,6 +133,14 @@ - /* Change filename that symlink pointed to */ - strmov(tmp_name, to); - fn_same(tmp_name,link_name,1); /* Copy dir */ -+ name_is_different= strcmp(link_name, tmp_name); -+ if (name_is_different && !access(tmp_name, F_OK)) -+ { -+ my_errno= EEXIST; -+ if (MyFlags & MY_WME) -+ my_error(EE_CANTCREATEFILE, MYF(0), tmp_name, EEXIST); -+ DBUG_RETURN(1); -+ } - - /* Create new symlink */ - if (my_symlink(tmp_name, to, MyFlags)) -@@ -143,7 +152,7 @@ - the same basename and different directories. - */ - -- if (strcmp(link_name, tmp_name) && my_rename(link_name, tmp_name, MyFlags)) -+ if (name_is_different && my_rename(link_name, tmp_name, MyFlags)) - { - int save_errno=my_errno; - my_delete(to, MyFlags); /* Remove created symlink */ diff --git a/mysql-ssl.patch b/mysql-ssl.patch new file mode 100644 index 0000000..5fbbe4f --- /dev/null +++ b/mysql-ssl.patch @@ -0,0 +1,75 @@ +Repair 5.0.50 SSL breakage, per upstream bug +http://bugs.mysql.com/bug.php?id=33050 + + +diff -Naur mysql-5.0.54a.orig/vio/viossl.c mysql-5.0.54a/vio/viossl.c +--- mysql-5.0.54a.orig/vio/viossl.c 2008-01-11 09:08:38.000000000 -0500 ++++ mysql-5.0.54a/vio/viossl.c 2008-02-12 15:30:42.000000000 -0500 +@@ -172,20 +172,15 @@ + vio_delete(vio); + } + +-int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout) +-{ +- DBUG_ENTER("sslaccept"); +- DBUG_RETURN(sslconnect(ptr, vio, timeout)); +-} +- + +-int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout) ++static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, ++ int (*connect_accept_func)(SSL*)) + { + SSL *ssl; + my_bool unused; + my_bool was_blocking; + +- DBUG_ENTER("sslconnect"); ++ DBUG_ENTER("ssl_do"); + DBUG_PRINT("enter", ("ptr: 0x%lx, sd: %d ctx: 0x%lx", + (long) ptr, vio->sd, (long) ptr->ssl_context)); + +@@ -204,13 +199,9 @@ + SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout); + SSL_set_fd(ssl, vio->sd); + +- /* +- SSL_do_handshake will select between SSL_connect +- or SSL_accept depending on server or client side +- */ +- if (SSL_do_handshake(ssl) < 1) ++ if (connect_accept_func(ssl) < 1) + { +- DBUG_PRINT("error", ("SSL_do_handshake failure")); ++ DBUG_PRINT("error", ("SSL_connect/accept failure")); + report_errors(ssl); + SSL_free(ssl); + vio_blocking(vio, was_blocking, &unused); +@@ -259,6 +250,20 @@ + } + + ++int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout) ++{ ++ DBUG_ENTER("sslaccept"); ++ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_accept)); ++} ++ ++ ++int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout) ++{ ++ DBUG_ENTER("sslconnect"); ++ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_connect)); ++} ++ ++ + int vio_ssl_blocking(Vio *vio __attribute__((unused)), + my_bool set_blocking_mode, + my_bool *old_mode) +@@ -269,4 +274,6 @@ + return (set_blocking_mode ? 0 : 1); + } + ++ ++ + #endif /* HAVE_OPENSSL */ diff --git a/mysql-view-bug.patch b/mysql-view-bug.patch deleted file mode 100644 index 93d8b82..0000000 --- a/mysql-view-bug.patch +++ /dev/null @@ -1,160 +0,0 @@ -Back-port upstream fix for CVE-2007-6303. - -diff -Naur mysql-5.0.45.orig/mysql-test/r/view_grant.result mysql-5.0.45/mysql-test/r/view_grant.result ---- mysql-5.0.45.orig/mysql-test/r/view_grant.result 2007-07-04 09:49:09.000000000 -0400 -+++ mysql-5.0.45/mysql-test/r/view_grant.result 2007-12-13 14:20:02.000000000 -0500 -@@ -776,15 +776,60 @@ - GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813@localhost; - GRANT SELECT ON db26813.t1 TO u26813@localhost; - ALTER VIEW v1 AS SELECT f2 FROM t1; --ERROR 42000: CREATE VIEW command denied to user 'u26813'@'localhost' for table 'v1' -+ERROR 42000: Access denied; you need the SUPER privilege for this operation - ALTER VIEW v2 AS SELECT f2 FROM t1; --ERROR 42000: DROP command denied to user 'u26813'@'localhost' for table 'v2' -+ERROR 42000: Access denied; you need the SUPER privilege for this operation - ALTER VIEW v3 AS SELECT f2 FROM t1; -+ERROR 42000: Access denied; you need the SUPER privilege for this operation - SHOW CREATE VIEW v3; - View Create View --v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f2` AS `f2` from `t1` -+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1` - DROP USER u26813@localhost; - DROP DATABASE db26813; -+# -+# Bug#29908: A user can gain additional access through the ALTER VIEW. -+# -+CREATE DATABASE mysqltest_29908; -+USE mysqltest_29908; -+CREATE TABLE t1(f1 INT, f2 INT); -+CREATE USER u29908_1@localhost; -+CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1; -+CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS -+SELECT f1 FROM t1; -+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost; -+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost; -+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost; -+CREATE USER u29908_2@localhost; -+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost; -+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost; -+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost; -+ALTER VIEW v1 AS SELECT f2 FROM t1; -+ERROR 42000: Access denied; you need the SUPER privilege for this operation -+ALTER VIEW v2 AS SELECT f2 FROM t1; -+ERROR 42000: Access denied; you need the SUPER privilege for this operation -+SHOW CREATE VIEW v2; -+View Create View -+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` -+ALTER VIEW v1 AS SELECT f2 FROM t1; -+SHOW CREATE VIEW v1; -+View Create View -+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1` -+ALTER VIEW v2 AS SELECT f2 FROM t1; -+SHOW CREATE VIEW v2; -+View Create View -+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1` -+ALTER VIEW v1 AS SELECT f1 FROM t1; -+SHOW CREATE VIEW v1; -+View Create View -+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` -+ALTER VIEW v2 AS SELECT f1 FROM t1; -+SHOW CREATE VIEW v2; -+View Create View -+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` -+DROP USER u29908_1@localhost; -+DROP USER u29908_2@localhost; -+DROP DATABASE mysqltest_29908; -+####################################################################### - DROP DATABASE IF EXISTS mysqltest1; - DROP DATABASE IF EXISTS mysqltest2; - CREATE DATABASE mysqltest1; -diff -Naur mysql-5.0.45.orig/mysql-test/t/view_grant.test mysql-5.0.45/mysql-test/t/view_grant.test ---- mysql-5.0.45.orig/mysql-test/t/view_grant.test 2007-07-04 09:49:09.000000000 -0400 -+++ mysql-5.0.45/mysql-test/t/view_grant.test 2007-12-13 14:19:43.000000000 -0500 -@@ -1034,10 +1034,11 @@ - - connect (u1,localhost,u26813,,db26813); - connection u1; ----error 1142 -+--error ER_SPECIFIC_ACCESS_DENIED_ERROR - ALTER VIEW v1 AS SELECT f2 FROM t1; ----error 1142 -+--error ER_SPECIFIC_ACCESS_DENIED_ERROR - ALTER VIEW v2 AS SELECT f2 FROM t1; -+--error ER_SPECIFIC_ACCESS_DENIED_ERROR - ALTER VIEW v3 AS SELECT f2 FROM t1; - - connection root; -@@ -1047,6 +1048,51 @@ - DROP DATABASE db26813; - disconnect u1; - -+--echo # -+--echo # Bug#29908: A user can gain additional access through the ALTER VIEW. -+--echo # -+connection root; -+CREATE DATABASE mysqltest_29908; -+USE mysqltest_29908; -+CREATE TABLE t1(f1 INT, f2 INT); -+CREATE USER u29908_1@localhost; -+CREATE DEFINER = u29908_1@localhost VIEW v1 AS SELECT f1 FROM t1; -+CREATE DEFINER = u29908_1@localhost SQL SECURITY INVOKER VIEW v2 AS -+ SELECT f1 FROM t1; -+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1@localhost; -+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1@localhost; -+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1@localhost; -+CREATE USER u29908_2@localhost; -+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost; -+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost; -+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost; -+ -+connect (u2,localhost,u29908_2,,mysqltest_29908); -+--error ER_SPECIFIC_ACCESS_DENIED_ERROR -+ALTER VIEW v1 AS SELECT f2 FROM t1; -+--error ER_SPECIFIC_ACCESS_DENIED_ERROR -+ALTER VIEW v2 AS SELECT f2 FROM t1; -+SHOW CREATE VIEW v2; -+ -+connect (u1,localhost,u29908_1,,mysqltest_29908); -+ALTER VIEW v1 AS SELECT f2 FROM t1; -+SHOW CREATE VIEW v1; -+ALTER VIEW v2 AS SELECT f2 FROM t1; -+SHOW CREATE VIEW v2; -+ -+connection root; -+ALTER VIEW v1 AS SELECT f1 FROM t1; -+SHOW CREATE VIEW v1; -+ALTER VIEW v2 AS SELECT f1 FROM t1; -+SHOW CREATE VIEW v2; -+ -+DROP USER u29908_1@localhost; -+DROP USER u29908_2@localhost; -+DROP DATABASE mysqltest_29908; -+disconnect u1; -+disconnect u2; -+--echo ####################################################################### -+ - # - # BUG#24040: Create View don't succed with "all privileges" on a database. - # -diff -Naur mysql-5.0.45.orig/sql/sql_view.cc mysql-5.0.45/sql/sql_view.cc ---- mysql-5.0.45.orig/sql/sql_view.cc 2007-07-04 09:06:03.000000000 -0400 -+++ mysql-5.0.45/sql/sql_view.cc 2007-12-13 13:30:29.000000000 -0500 -@@ -224,9 +224,6 @@ - { - LEX *lex= thd->lex; - bool link_to_local; --#ifndef NO_EMBEDDED_ACCESS_CHECKS -- bool definer_check_is_needed= mode != VIEW_ALTER || lex->definer; --#endif - /* first table in list is target VIEW name => cut off it */ - TABLE_LIST *view= lex->unlink_first_table(&link_to_local); - TABLE_LIST *tables= lex->query_tables; -@@ -281,7 +278,7 @@ - - same as current user - - current user has SUPER_ACL - */ -- if (definer_check_is_needed && -+ if (lex->definer && - (strcmp(lex->definer->user.str, thd->security_ctx->priv_user) != 0 || - my_strcasecmp(system_charset_info, - lex->definer->host.str, diff --git a/mysql.spec b/mysql.spec index 76bfd92..a15ca2b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.45 -Release: 11%{?dist} +Version: 5.0.51a +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -29,8 +29,7 @@ Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch Patch10: mysql-bdb-open.patch Patch11: mysql-innodb-crash.patch -Patch12: mysql-rename-bug.patch -Patch13: mysql-view-bug.patch +Patch12: mysql-ssl.patch Patch14: mysql-ss-test.patch Patch15: mysql-stack-guard.patch @@ -140,7 +139,6 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -254,6 +252,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall @@ -484,6 +483,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Mar 3 2008 Tom Lane 5.0.51a-1 +- Update to mysql version 5.0.51a + * Mon Mar 3 2008 Tom Lane 5.0.45-11 - Fix mysql-stack-guard patch to work correctly on IA64 - Fix mysql.init to wait correctly when socket is not in default place diff --git a/sources b/sources index 111ada4..7c17839 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a2a1c5a82bb22b45ab76a8ecab94e10d mysql-5.0.45.tar.gz +a83dbdbb91267daf73d2297a9c283dd1 mysql-5.0.51a.tar.gz From e9e34fccd8e792e9c225df56b86121670ec05969 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 27 Jul 2008 17:54:30 +0000 Subject: [PATCH 121/616] Enable ndbcluster support, fix a couple of small issues --- my.cnf | 15 +++++ mysql-install-test.patch | 9 ++- mysql-no-dbug.patch | 17 ++++++ mysql.init | 4 +- mysql.spec | 126 ++++++++++++++++++++++++++++++++++++--- ndb_mgmd.init | 116 +++++++++++++++++++++++++++++++++++ ndb_types.h | 25 ++++++++ ndbd.init | 111 ++++++++++++++++++++++++++++++++++ 8 files changed, 411 insertions(+), 12 deletions(-) create mode 100644 mysql-no-dbug.patch create mode 100644 ndb_mgmd.init create mode 100644 ndb_types.h create mode 100644 ndbd.init diff --git a/my.cnf b/my.cnf index 2e035c8..a76b9c6 100644 --- a/my.cnf +++ b/my.cnf @@ -6,6 +6,21 @@ user=mysql # clients (those using the mysqlclient10 compatibility package). old_passwords=1 +# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment +# these lines and adjust the connectstring as needed. +#ndbcluster +#ndb-connectstring="nodeid=4;host=localhost:1186" + [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid + +[ndbd] +# If you are running a MySQL Cluster storage daemon (ndbd) on this machine, +# adjust its connection to the management daemon here. +# Note: ndbd init script requires this to include nodeid! +connect-string="nodeid=2;host=localhost:1186" + +[ndb_mgm] +# connection string for MySQL Cluster management tool +connect-string="host=localhost:1186" diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 1cacf7b..130cabb 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -7,7 +7,7 @@ This patch also improves the documentation a tad. diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README --- mysql-5.0.40.orig/mysql-test/README 2007-04-20 10:14:42.000000000 -0400 +++ mysql-5.0.40/mysql-test/README 2007-05-23 14:41:03.000000000 -0400 -@@ -6,6 +6,14 @@ +@@ -6,6 +6,17 @@ actually have a co-existing MySQL installation. The tests will not conflict with it. @@ -17,12 +17,15 @@ diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README + sudo -u mysql ./mysql-test-run +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), -+so you need not start the mysqld service beforehand. ++so you need not start the mysqld service beforehand. If you have not ++installed mysql-cluster, use ++ sudo -u mysql ./mysql-test-run --skip-ndbcluster ++to skip the cluster-related tests. + All tests must pass. If one or more of them fail on your system, please read the following manual section for instructions on how to report the problem: -@@ -25,7 +33,8 @@ +@@ -25,7 +36,8 @@ With no test cases named on the command line, mysql-test-run falls back to the normal "non-extern" behavior. The reason for this is that some diff --git a/mysql-no-dbug.patch b/mysql-no-dbug.patch new file mode 100644 index 0000000..72b672d --- /dev/null +++ b/mysql-no-dbug.patch @@ -0,0 +1,17 @@ +Don't build the dbug manual. We aren't going to install it anyway, so +there's no need to do so. Attempting to build it causes crashes if one +has built with -DDBUG_OFF, as we do by default. Per bug #437053. + + +diff -Naur mysql-5.0.51a.orig/dbug/Makefile.am mysql-5.0.51a/dbug/Makefile.am +--- mysql-5.0.51a.orig/dbug/Makefile.am 2008-01-11 09:43:29.000000000 -0500 ++++ mysql-5.0.51a/dbug/Makefile.am 2008-07-27 12:21:56.000000000 -0400 +@@ -35,7 +35,7 @@ + factorial_SOURCES = my_main.c factorial.c + dbug_analyze_SOURCES = dbug_analyze.c + +-all: user.t user.ps ++all: + + user.t: user.r $(NROFF_INC) + -nroff -mm user.r > $@ diff --git a/mysql.init b/mysql.init index 4524690..84422a1 100644 --- a/mysql.init +++ b/mysql.init @@ -46,7 +46,7 @@ start(){ chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" if [ ! -d "$datadir/mysql" ] ; then - action $"Initializing MySQL database: " /usr/bin/mysql_install_db + action $"Initializing MySQL database: " /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql ret=$? chown -R mysql:mysql "$datadir" if [ $ret -ne 0 ] ; then @@ -60,7 +60,7 @@ start(){ # but we need to be sure. /usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \ --log-error="$errlogfile" --pid-file="$mypidfile" \ - >/dev/null 2>&1 & + --user=mysql >/dev/null 2>&1 & ret=$? # 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 diff --git a/mysql.spec b/mysql.spec index a15ca2b..e2d8b92 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.51a -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -16,6 +16,9 @@ Source1: mysql.init Source3: my.cnf Source4: scriptstub.c Source5: my_config.h +Source6: ndbd.init +Source7: ndb_mgmd.init +Source8: ndb_types.h # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh Patch1: mysql-libdir.patch @@ -30,6 +33,7 @@ Patch9: mysql-bdb-link.patch Patch10: mysql-bdb-open.patch Patch11: mysql-innodb-crash.patch Patch12: mysql-ssl.patch +Patch13: mysql-no-dbug.patch Patch14: mysql-ss-test.patch Patch15: mysql-stack-guard.patch @@ -86,6 +90,22 @@ client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. +%package cluster + +Summary: MySQL Cluster daemons and related files +Group: Applications/Databases +Requires: %{name} = %{version}-%{release} +Conflicts: MySQL-storage-cluster +Conflicts: MySQL-management-cluster +Conflicts: MySQL-tools-cluster +Conflicts: MySQL-extra-cluster + +%description cluster +MySQL is a multi-user, multi-threaded SQL database server. +MySQL Cluster is a distributed in-memory data store that can be accessed +by a MySQL server. This package contains the programs needed to run a MySQL +Cluster installation. + %package devel Summary: Files for development of MySQL applications @@ -139,6 +159,7 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -172,6 +193,7 @@ export CFLAGS CXXFLAGS --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-innodb \ + --with-ndbcluster \ --with-berkeley-db \ --enable-local-infile \ --enable-largefile \ @@ -206,12 +228,14 @@ rm -rf $RPM_BUILD_ROOT %makeinstall -# multilib header hack +# multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 ) - install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h + mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ + mv $RPM_BUILD_ROOT/usr/include/mysql/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/ndb/ndb_types_`uname -i`.h + install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/usr/include/mysql/ndb/ ;; *) ;; @@ -228,8 +252,11 @@ gzip ${RPM_BUILD_ROOT}%{_infodir}/* mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql +install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql-cluster install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf +install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndbd +install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndb_mgmd rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test @@ -246,11 +273,11 @@ rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libndbclient.la rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec @@ -261,8 +288,12 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndbd.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_*.1* +rm -f ${RPM_BUILD_ROOT}/usr/libexec/ndb_cpcd +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_cpcd.1* +# for the moment, remove ndb_size because of dependency on HTML::Template +rm -f ${RPM_BUILD_ROOT}%{_bindir}/ndb_size.pl +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_size.pl.1* +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb_size.tmpl mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -274,6 +305,10 @@ rm -rf $RPM_BUILD_ROOT /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : +%pre cluster +/usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ + -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : + %post /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir @@ -287,6 +322,13 @@ fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log +%post cluster +if [ $1 = 1 ]; then + /sbin/chkconfig --add ndbd + /sbin/chkconfig --add ndb_mgmd +fi +/bin/chmod 0755 /var/lib/mysql-cluster + %preun if [ $1 = 0 ]; then /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir || : @@ -297,6 +339,12 @@ if [ $1 = 0 ]; then /sbin/chkconfig --del mysqld fi +%preun cluster +if [ $1 = 0 ]; then + /sbin/chkconfig --del ndb_mgmd + /sbin/chkconfig --del ndbd +fi + %postun libs if [ $1 = 0 ] ; then /sbin/ldconfig @@ -308,6 +356,12 @@ if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : fi +%postun cluster +if [ $1 -ge 1 ]; then + /sbin/service ndb_mgmd condrestart >/dev/null 2>&1 || : + /sbin/service ndbd condrestart >/dev/null 2>&1 || : +fi + %files %defattr(-,root,root) @@ -331,7 +385,6 @@ fi %{_infodir}/* %{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_tableinfo.1* %{_mandir}/man1/mysql_waitpid.1* @@ -353,6 +406,7 @@ fi %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* +%{_libdir}/mysql/libndbclient.so.* /etc/ld.so.conf.d/* %dir %{_datadir}/mysql @@ -425,6 +479,7 @@ fi %{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_explain_log.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_fix_privilege_tables.1* @@ -465,11 +520,58 @@ fi %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log +%files cluster +%defattr(-,root,root) + +%{_bindir}/ndb_config +%{_bindir}/ndb_delete_all +%{_bindir}/ndb_desc +%{_bindir}/ndb_drop_index +%{_bindir}/ndb_drop_table +%{_bindir}/ndb_error_reporter +%{_bindir}/ndb_mgm +%{_bindir}/ndb_restore +%{_bindir}/ndb_select_all +%{_bindir}/ndb_select_count +%{_bindir}/ndb_show_tables +#%{_bindir}/ndb_size.pl +%{_bindir}/ndb_test_platform +%{_bindir}/ndb_waiter + +/usr/libexec/ndb_mgmd +/usr/libexec/ndbd + +%{_datadir}/mysql/ndb-*.ini +#%{_datadir}/mysql/ndb_size.tmpl +/etc/rc.d/init.d/ndbd +/etc/rc.d/init.d/ndb_mgmd +%attr(0755,mysql,mysql) %dir /var/lib/mysql-cluster + +%{_mandir}/man1/ndb_config.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* + %files devel %defattr(-,root,root) /usr/include/mysql %{_libdir}/mysql/*.a %{_libdir}/mysql/libmysqlclient*.so +%{_libdir}/mysql/libndbclient.so %files bench %defattr(-,root,root) @@ -483,6 +585,16 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Jul 27 2008 Tom Lane 5.0.51a-2 +- Enable ndbcluster support +Resolves: #163758 +- Suppress odd crash messages during package build, caused by trying to + build dbug manual (which we don't install anyway) with dbug disabled +Resolves: #437053 +- Improve mysql.init to pass configured datadir to mysql_install_db, + and to force user=mysql for both mysql_install_db and mysqld_safe. +Related: #450178 + * Mon Mar 3 2008 Tom Lane 5.0.51a-1 - Update to mysql version 5.0.51a diff --git a/ndb_mgmd.init b/ndb_mgmd.init new file mode 100644 index 0000000..52e057b --- /dev/null +++ b/ndb_mgmd.init @@ -0,0 +1,116 @@ +#!/bin/bash +# +# ndb_mgmd This shell script takes care of starting and stopping +# the MySQL Cluster management daemon (ndb_mgmd). +# +# chkconfig: - 62 38 +# description: MySQL Cluster management daemon. +# processname: ndb_mgmd +# config: /var/lib/mysql-cluster/config.ini +# pidfile: /var/lib/mysql-cluster/ndb_${node_id}.pid + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + + +prog="ndb_mgmd" + +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT +# result is returned in $result +# 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(){ + result=`/usr/bin/my_print_defaults --extra-file=/var/lib/mysql-cluster/config.ini "$1" | sed -n "s/^--$2=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="$3" + fi +} + +get_mysql_option ndb_mgmd id "1" +node_id="$result" +errlogfile="/var/lib/mysql-cluster/ndb_${node_id}_out.log" +pidfile="/var/lib/mysql-cluster/ndb_${node_id}.pid" + +# For SELinux we need to use 'runuser' not 'su' +if [ -x /sbin/runuser ] +then + SU=runuser +else + SU=su +fi + +start(){ + touch "$errlogfile" + chown mysql:mysql "$errlogfile" + chmod 0640 "$errlogfile" + [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" + + # all options are expected to be specified in + # /var/lib/mysql-cluster/config.ini. + $SU -l mysql -c "cd /var/lib/mysql-cluster; /usr/libexec/ndb_mgmd" >> "$errlogfile" 2>&1 < /dev/null + ret=$? + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + else + action $"Starting $prog: " /bin/false + fi + [ $ret -eq 0 ] && touch /var/lock/subsys/ndb_mgmd + return $ret +} + +stop(){ + NDB_MGMD_PID=`cat "$pidfile" 2>/dev/null ` + if [ -n "$NDB_MGMD_PID" ]; then + /usr/bin/ndb_mgm -e shutdown >/dev/null + ret=$? + if [ $ret -eq 0 ]; then + rm -f /var/lock/subsys/ndb_mgmd + rm -f "$pidfile" + action $"Stopping $prog: " /bin/true + else + action $"Stopping $prog: " /bin/false + fi + else + ret=1 + action $"Stopping $prog: " /bin/false + fi + return $ret +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e /var/lock/subsys/ndb_mgmd ] && restart || : +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status ndb_mgmd + ;; + restart) + restart + ;; + condrestart) + condrestart + ;; + *) + echo $"Usage: $0 {start|stop|status|condrestart|restart}" + exit 1 +esac + +exit $? diff --git a/ndb_types.h b/ndb_types.h new file mode 100644 index 0000000..f6c1230 --- /dev/null +++ b/ndb_types.h @@ -0,0 +1,25 @@ +/* + * Kluge to support multilib installation of both 32- and 64-bit RPMS: + * we need to arrange that header files that appear in both RPMs are + * identical. Hence, this file is architecture-independent and calls + * in an arch-dependent file that will appear in just one RPM. + * + * To avoid breaking arches not explicitly supported by Red Hat, we + * use this indirection file *only* on known multilib arches. + * + * Note: this may well fail if user tries to use gcc's -I- option. + * But that option is deprecated anyway. + */ +#if defined(__x86_64__) +#include "ndb_types_x86_64.h" +#elif defined(__i386__) +#include "ndb_types_i386.h" +#elif defined(__ppc64__) || defined(__powerpc64__) +#include "ndb_types_ppc64.h" +#elif defined(__ppc__) || defined(__powerpc__) +#include "ndb_types_ppc.h" +#elif defined(__s390x__) +#include "ndb_types_s390x.h" +#elif defined(__s390__) +#include "ndb_types_s390.h" +#endif diff --git a/ndbd.init b/ndbd.init new file mode 100644 index 0000000..4f5ee17 --- /dev/null +++ b/ndbd.init @@ -0,0 +1,111 @@ +#!/bin/bash +# +# ndbd This shell script takes care of starting and stopping +# the MySQL Cluster data node daemon (ndbd). +# +# chkconfig: - 63 37 +# description: MySQL Cluster data node daemon. +# processname: ndbd +# config: /etc/my.cnf +# pidfile: /var/lib/mysql-cluster/ndb_${node_id}.pid + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + + +prog="ndbd" + +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT +# result is returned in $result +# 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(){ + result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="$3" + fi +} + +get_mysql_option ndbd connect-string "nodeid=2;host=localhost:1186" +ndbd_connect_string="$result" +node_id=`echo "$result" | sed 's/^nodeid=\([0-9]*\);.*$/\1/'` +connect_string=`echo "$result" | sed 's/^.*host=//'` +pidfile="/var/lib/mysql-cluster/ndb_${node_id}.pid" + +# For SELinux we need to use 'runuser' not 'su' +if [ -x /sbin/runuser ] +then + SU=runuser +else + SU=su +fi + +start(){ + # all options are expected to be specified in /etc/my.cnf + $SU -l mysql -c "/usr/libexec/ndbd" >/dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + else + action $"Starting $prog: " /bin/false + fi + [ $ret -eq 0 ] && touch /var/lock/subsys/ndbd + return $ret +} + +stop(){ + NDBD_PID=`cat "$pidfile" 2>/dev/null ` + if [ -n "$NDBD_PID" ]; then + /usr/bin/ndb_mgm -e "$node_id STOP" "$connect_string" >/dev/null + ret=$? + if [ $ret -eq 0 ]; then + rm -f /var/lock/subsys/ndbd + rm -f "$pidfile" + action $"Stopping $prog: " /bin/true + else + action $"Stopping $prog: " /bin/false + fi + else + ret=1 + action $"Stopping $prog: " /bin/false + fi + return $ret +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e /var/lock/subsys/ndbd ] && restart || : +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status ndbd + ;; + restart) + restart + ;; + condrestart) + condrestart + ;; + *) + echo $"Usage: $0 {start|stop|status|condrestart|restart}" + exit 1 +esac + +exit $? From 92b7d42add8ac6a7fe4381d7a3fa06052787837d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 27 Jul 2008 18:46:14 +0000 Subject: [PATCH 122/616] De-fuzz patch to make new rpm happy. --- mysql-innodb-crash.patch | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/mysql-innodb-crash.patch b/mysql-innodb-crash.patch index c2c6de5..89dd454 100644 --- a/mysql-innodb-crash.patch +++ b/mysql-innodb-crash.patch @@ -1,8 +1,8 @@ Back-port upstream fix for CVE-2007-5925. -diff -Naur mysql-5.0.45.orig/innobase/include/db0err.h mysql-5.0.45/innobase/include/db0err.h ---- mysql-5.0.45.orig/innobase/include/db0err.h 2007-07-04 09:06:59.000000000 -0400 -+++ mysql-5.0.45/innobase/include/db0err.h 2007-12-13 12:44:05.000000000 -0500 +diff -Naur mysql-5.0.51a.orig/innobase/include/db0err.h mysql-5.0.51a/innobase/include/db0err.h +--- mysql-5.0.51a.orig/innobase/include/db0err.h 2008-01-11 09:43:41.000000000 -0500 ++++ mysql-5.0.51a/innobase/include/db0err.h 2008-07-27 14:40:23.000000000 -0400 @@ -57,6 +57,18 @@ buffer pool (for big transactions, InnoDB stores the lock structs in the @@ -22,9 +22,9 @@ diff -Naur mysql-5.0.45.orig/innobase/include/db0err.h mysql-5.0.45/innobase/inc /* The following are partial failure codes */ #define DB_FAIL 1000 -diff -Naur mysql-5.0.45.orig/innobase/include/page0cur.h mysql-5.0.45/innobase/include/page0cur.h ---- mysql-5.0.45.orig/innobase/include/page0cur.h 2007-07-04 09:06:10.000000000 -0400 -+++ mysql-5.0.45/innobase/include/page0cur.h 2007-12-13 12:44:05.000000000 -0500 +diff -Naur mysql-5.0.51a.orig/innobase/include/page0cur.h mysql-5.0.51a/innobase/include/page0cur.h +--- mysql-5.0.51a.orig/innobase/include/page0cur.h 2008-01-11 09:43:26.000000000 -0500 ++++ mysql-5.0.51a/innobase/include/page0cur.h 2008-07-27 14:40:23.000000000 -0400 @@ -22,6 +22,7 @@ /* Page cursor search modes; the values must be in this order! */ @@ -33,11 +33,11 @@ diff -Naur mysql-5.0.45.orig/innobase/include/page0cur.h mysql-5.0.45/innobase/i #define PAGE_CUR_G 1 #define PAGE_CUR_GE 2 #define PAGE_CUR_L 3 -diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc ---- mysql-5.0.45.orig/sql/ha_innodb.cc 2007-07-04 09:06:48.000000000 -0400 -+++ mysql-5.0.45/sql/ha_innodb.cc 2007-12-13 12:44:05.000000000 -0500 -@@ -526,6 +526,9 @@ - } +diff -Naur mysql-5.0.51a.orig/sql/ha_innodb.cc mysql-5.0.51a/sql/ha_innodb.cc +--- mysql-5.0.51a.orig/sql/ha_innodb.cc 2008-01-11 09:43:39.000000000 -0500 ++++ mysql-5.0.51a/sql/ha_innodb.cc 2008-07-27 14:40:23.000000000 -0400 +@@ -521,6 +521,9 @@ + mark_transaction_to_rollback(thd, TRUE); return(HA_ERR_LOCK_TABLE_FULL); + } else if (error == DB_UNSUPPORTED) { @@ -46,7 +46,7 @@ diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc } else { return(-1); // Unknown error } -@@ -3689,11 +3692,21 @@ +@@ -3710,11 +3713,21 @@ and comparison of non-latin1 char type fields in innobase_mysql_cmp() to get PAGE_CUR_LE_OR_EXTENDS to work correctly. */ @@ -71,7 +71,7 @@ diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc } /* -@@ -3831,11 +3844,18 @@ +@@ -3852,11 +3865,18 @@ last_match_mode = (uint) match_mode; @@ -93,7 +93,7 @@ diff -Naur mysql-5.0.45.orig/sql/ha_innodb.cc mysql-5.0.45/sql/ha_innodb.cc if (ret == DB_SUCCESS) { error = 0; -@@ -5150,8 +5170,16 @@ +@@ -5171,8 +5191,16 @@ mode2 = convert_search_mode_to_innobase(max_key ? max_key->flag : HA_READ_KEY_EXACT); From 67c46965b4bd225c3c2c719a3292b390dad5e0e4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 23 Aug 2008 20:31:19 +0000 Subject: [PATCH 123/616] Update to mysql version 5.0.67 --- .cvsignore | 2 +- mysql-errno.patch | 29 ++++++---- mysql-innodb-crash.patch | 114 --------------------------------------- mysql-install-test.patch | 20 +++---- mysql-ss-test.patch | 39 -------------- mysql-ssl.patch | 75 -------------------------- mysql-testing.patch | 36 ++++++------- mysql.spec | 22 ++++---- sources | 2 +- 9 files changed, 60 insertions(+), 279 deletions(-) delete mode 100644 mysql-innodb-crash.patch delete mode 100644 mysql-ss-test.patch delete mode 100644 mysql-ssl.patch diff --git a/.cvsignore b/.cvsignore index e0f842b..df38cb2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.51a.tar.gz +mysql-5.0.67.tar.gz diff --git a/mysql-errno.patch b/mysql-errno.patch index ad8531e..2d0bf2b 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,14 +1,21 @@ -diff -Naur mysql-5.0.15.orig/include/my_global.h mysql-5.0.15/include/my_global.h ---- mysql-5.0.15.orig/include/my_global.h 2005-10-16 21:27:27.000000000 -0400 -+++ mysql-5.0.15/include/my_global.h 2005-11-02 16:16:37.000000000 -0500 -@@ -107,6 +107,10 @@ - #define _GNU_SOURCE 1 +"extern int errno" is just a really bad idea. + + +diff -Naur mysql-5.0.67.orig/include/my_sys.h mysql-5.0.67/include/my_sys.h +--- mysql-5.0.67.orig/include/my_sys.h 2008-08-04 08:19:12.000000000 -0400 ++++ mysql-5.0.67/include/my_sys.h 2008-08-23 14:39:08.000000000 -0400 +@@ -208,13 +208,8 @@ #endif + #endif /* MSDOS */ -+#ifdef __linux__ -+#define HAVE_ERRNO_AS_DEFINE -+#endif +-#ifndef errno /* did we already get it? */ +-#ifdef HAVE_ERRNO_AS_DEFINE + #include /* errno is a define */ +-#else +-extern int errno; /* declare errno */ +-#endif +-#endif /* #ifndef errno */ + - /* - Temporary solution to solve bug#7156. Include "sys/types.h" before - the thread headers, else the function madvise() will not be defined + extern char NEAR errbuff[NRERRBUFFS][ERRMSGSIZE]; + extern char *home_dir; /* Home directory for user */ + extern const char *my_progname; /* program-name (printed in errors) */ diff --git a/mysql-innodb-crash.patch b/mysql-innodb-crash.patch deleted file mode 100644 index 89dd454..0000000 --- a/mysql-innodb-crash.patch +++ /dev/null @@ -1,114 +0,0 @@ -Back-port upstream fix for CVE-2007-5925. - -diff -Naur mysql-5.0.51a.orig/innobase/include/db0err.h mysql-5.0.51a/innobase/include/db0err.h ---- mysql-5.0.51a.orig/innobase/include/db0err.h 2008-01-11 09:43:41.000000000 -0500 -+++ mysql-5.0.51a/innobase/include/db0err.h 2008-07-27 14:40:23.000000000 -0400 -@@ -57,6 +57,18 @@ - buffer pool (for big transactions, - InnoDB stores the lock structs in the - buffer pool) */ -+#define DB_FOREIGN_DUPLICATE_KEY 46 /* foreign key constraints -+ activated by the operation would -+ lead to a duplicate key in some -+ table */ -+#define DB_TOO_MANY_CONCURRENT_TRXS 47 /* when InnoDB runs out of the -+ preconfigured undo slots, this can -+ only happen when there are too many -+ concurrent transactions */ -+#define DB_UNSUPPORTED 48 /* when InnoDB sees any artefact or -+ a feature that it can't recoginize or -+ work with e.g., FT indexes created by -+ a later version of the engine. */ - - /* The following are partial failure codes */ - #define DB_FAIL 1000 -diff -Naur mysql-5.0.51a.orig/innobase/include/page0cur.h mysql-5.0.51a/innobase/include/page0cur.h ---- mysql-5.0.51a.orig/innobase/include/page0cur.h 2008-01-11 09:43:26.000000000 -0500 -+++ mysql-5.0.51a/innobase/include/page0cur.h 2008-07-27 14:40:23.000000000 -0400 -@@ -22,6 +22,7 @@ - - /* Page cursor search modes; the values must be in this order! */ - -+#define PAGE_CUR_UNSUPP 0 - #define PAGE_CUR_G 1 - #define PAGE_CUR_GE 2 - #define PAGE_CUR_L 3 -diff -Naur mysql-5.0.51a.orig/sql/ha_innodb.cc mysql-5.0.51a/sql/ha_innodb.cc ---- mysql-5.0.51a.orig/sql/ha_innodb.cc 2008-01-11 09:43:39.000000000 -0500 -+++ mysql-5.0.51a/sql/ha_innodb.cc 2008-07-27 14:40:23.000000000 -0400 -@@ -521,6 +521,9 @@ - mark_transaction_to_rollback(thd, TRUE); - - return(HA_ERR_LOCK_TABLE_FULL); -+ } else if (error == DB_UNSUPPORTED) { -+ -+ return(HA_ERR_UNSUPPORTED); - } else { - return(-1); // Unknown error - } -@@ -3710,11 +3713,21 @@ - and comparison of non-latin1 char type fields in - innobase_mysql_cmp() to get PAGE_CUR_LE_OR_EXTENDS to - work correctly. */ -- -- default: assert(0); -+ case HA_READ_MBR_CONTAIN: -+ case HA_READ_MBR_INTERSECT: -+ case HA_READ_MBR_WITHIN: -+ case HA_READ_MBR_DISJOINT: -+ my_error(ER_TABLE_CANT_HANDLE_SPKEYS, MYF(0)); -+ return(PAGE_CUR_UNSUPP); -+ /* do not use "default:" in order to produce a gcc warning: -+ enumeration value '...' not handled in switch -+ (if -Wswitch or -Wall is used) -+ */ - } - -- return(0); -+ my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "this functionality"); -+ -+ return(PAGE_CUR_UNSUPP); - } - - /* -@@ -3852,11 +3865,18 @@ - - last_match_mode = (uint) match_mode; - -- innodb_srv_conc_enter_innodb(prebuilt->trx); -+ if (mode != PAGE_CUR_UNSUPP) { - -- ret = row_search_for_mysql((byte*) buf, mode, prebuilt, match_mode, 0); -+ innodb_srv_conc_enter_innodb(prebuilt->trx); - -- innodb_srv_conc_exit_innodb(prebuilt->trx); -+ ret = row_search_for_mysql((byte*) buf, mode, prebuilt, -+ match_mode, 0); -+ -+ innodb_srv_conc_exit_innodb(prebuilt->trx); -+ } else { -+ -+ ret = DB_UNSUPPORTED; -+ } - - if (ret == DB_SUCCESS) { - error = 0; -@@ -5171,8 +5191,16 @@ - mode2 = convert_search_mode_to_innobase(max_key ? max_key->flag : - HA_READ_KEY_EXACT); - -- n_rows = btr_estimate_n_rows_in_range(index, range_start, -- mode1, range_end, mode2); -+ if (mode1 != PAGE_CUR_UNSUPP && mode2 != PAGE_CUR_UNSUPP) { -+ -+ n_rows = btr_estimate_n_rows_in_range(index, range_start, -+ mode1, range_end, -+ mode2); -+ } else { -+ -+ n_rows = 0; -+ } -+ - dtuple_free_for_mysql(heap1); - dtuple_free_for_mysql(heap2); - diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 130cabb..635a428 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -4,10 +4,10 @@ like /usr/share/mysql-test, we have to hack up the paths in install_test_db. This patch also improves the documentation a tad. -diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README ---- mysql-5.0.40.orig/mysql-test/README 2007-04-20 10:14:42.000000000 -0400 -+++ mysql-5.0.40/mysql-test/README 2007-05-23 14:41:03.000000000 -0400 -@@ -6,6 +6,17 @@ +diff -Naur mysql-5.0.67.orig/mysql-test/README mysql-5.0.67/mysql-test/README +--- mysql-5.0.67.orig/mysql-test/README 2008-08-04 08:19:20.000000000 -0400 ++++ mysql-5.0.67/mysql-test/README 2008-08-23 16:25:14.000000000 -0400 +@@ -6,6 +6,19 @@ actually have a co-existing MySQL installation. The tests will not conflict with it. @@ -20,12 +20,14 @@ diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README +so you need not start the mysqld service beforehand. If you have not +installed mysql-cluster, use + sudo -u mysql ./mysql-test-run --skip-ndbcluster -+to skip the cluster-related tests. ++to skip the cluster-related tests. To clean up afterwards, remove the ++created "var" subdirectory, eg ++ sudo -u mysql rm -rf /usr/share/mysql-test/var + All tests must pass. If one or more of them fail on your system, please read the following manual section for instructions on how to report the problem: -@@ -25,7 +36,8 @@ +@@ -25,7 +38,8 @@ With no test cases named on the command line, mysql-test-run falls back to the normal "non-extern" behavior. The reason for this is that some @@ -35,9 +37,9 @@ diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.0.40.orig/mysql-test/install_test_db.sh mysql-5.0.40/mysql-test/install_test_db.sh ---- mysql-5.0.40.orig/mysql-test/install_test_db.sh 2007-04-20 10:14:31.000000000 -0400 -+++ mysql-5.0.40/mysql-test/install_test_db.sh 2007-05-23 14:39:44.000000000 -0400 +diff -Naur mysql-5.0.67.orig/mysql-test/install_test_db.sh mysql-5.0.67/mysql-test/install_test_db.sh +--- mysql-5.0.67.orig/mysql-test/install_test_db.sh 2008-08-04 08:19:21.000000000 -0400 ++++ mysql-5.0.67/mysql-test/install_test_db.sh 2008-08-23 16:21:59.000000000 -0400 @@ -26,18 +26,15 @@ libexecdir=../libexec diff --git a/mysql-ss-test.patch b/mysql-ss-test.patch deleted file mode 100644 index 30b4b71..0000000 --- a/mysql-ss-test.patch +++ /dev/null @@ -1,39 +0,0 @@ -You'd think MySQL AB would have learned last year that a test that's designed -to fail next January 1st isn't a good idea. Short-sightedness seems to still -reign supreme over there, however. We will dike out this test, and we will -not put it back as long as it's designed to depend on the value of now(). -Whatever bit of testing coverage we might lose here is not worth packages -that break annually. - - -diff -Naur mysql-5.0.45.orig/mysql-test/r/view.result mysql-5.0.45/mysql-test/r/view.result ---- mysql-5.0.45.orig/mysql-test/r/view.result 2007-07-04 09:49:09.000000000 -0400 -+++ mysql-5.0.45/mysql-test/r/view.result 2008-01-07 22:26:00.000000000 -0500 -@@ -2709,14 +2709,6 @@ - SHOW CREATE VIEW v1; - View Create View - v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (year(now()) - year(`t1`.`DOB`)) AS `Age` from `t1` having (`Age` < 75) --SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75; --Age --43 --39 --SELECT * FROM v1; --Age --43 --39 - DROP VIEW v1; - DROP TABLE t1; - CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a char(6) DEFAULT 'xxx'); -diff -Naur mysql-5.0.45.orig/mysql-test/t/view.test mysql-5.0.45/mysql-test/t/view.test ---- mysql-5.0.45.orig/mysql-test/t/view.test 2007-07-04 09:49:09.000000000 -0400 -+++ mysql-5.0.45/mysql-test/t/view.test 2008-01-07 22:25:44.000000000 -0500 -@@ -2560,9 +2560,6 @@ - FROM t1 HAVING Age < 75; - SHOW CREATE VIEW v1; - --SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75; --SELECT * FROM v1; -- - DROP VIEW v1; - DROP TABLE t1; - diff --git a/mysql-ssl.patch b/mysql-ssl.patch deleted file mode 100644 index 5fbbe4f..0000000 --- a/mysql-ssl.patch +++ /dev/null @@ -1,75 +0,0 @@ -Repair 5.0.50 SSL breakage, per upstream bug -http://bugs.mysql.com/bug.php?id=33050 - - -diff -Naur mysql-5.0.54a.orig/vio/viossl.c mysql-5.0.54a/vio/viossl.c ---- mysql-5.0.54a.orig/vio/viossl.c 2008-01-11 09:08:38.000000000 -0500 -+++ mysql-5.0.54a/vio/viossl.c 2008-02-12 15:30:42.000000000 -0500 -@@ -172,20 +172,15 @@ - vio_delete(vio); - } - --int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout) --{ -- DBUG_ENTER("sslaccept"); -- DBUG_RETURN(sslconnect(ptr, vio, timeout)); --} -- - --int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout) -+static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, -+ int (*connect_accept_func)(SSL*)) - { - SSL *ssl; - my_bool unused; - my_bool was_blocking; - -- DBUG_ENTER("sslconnect"); -+ DBUG_ENTER("ssl_do"); - DBUG_PRINT("enter", ("ptr: 0x%lx, sd: %d ctx: 0x%lx", - (long) ptr, vio->sd, (long) ptr->ssl_context)); - -@@ -204,13 +199,9 @@ - SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout); - SSL_set_fd(ssl, vio->sd); - -- /* -- SSL_do_handshake will select between SSL_connect -- or SSL_accept depending on server or client side -- */ -- if (SSL_do_handshake(ssl) < 1) -+ if (connect_accept_func(ssl) < 1) - { -- DBUG_PRINT("error", ("SSL_do_handshake failure")); -+ DBUG_PRINT("error", ("SSL_connect/accept failure")); - report_errors(ssl); - SSL_free(ssl); - vio_blocking(vio, was_blocking, &unused); -@@ -259,6 +250,20 @@ - } - - -+int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout) -+{ -+ DBUG_ENTER("sslaccept"); -+ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_accept)); -+} -+ -+ -+int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout) -+{ -+ DBUG_ENTER("sslconnect"); -+ DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_connect)); -+} -+ -+ - int vio_ssl_blocking(Vio *vio __attribute__((unused)), - my_bool set_blocking_mode, - my_bool *old_mode) -@@ -269,4 +274,6 @@ - return (set_blocking_mode ? 0 : 1); - } - -+ -+ - #endif /* HAVE_OPENSSL */ diff --git a/mysql-testing.patch b/mysql-testing.patch index e208e29..a5060b7 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -9,27 +9,27 @@ Also, tweak the Perl test script to find some files where we install them; without this, the build-time test works but the mysql-test RPM doesn't. -diff -Naur mysql-5.0.40.orig/Makefile.am mysql-5.0.40/Makefile.am ---- mysql-5.0.40.orig/Makefile.am 2007-04-20 10:14:34.000000000 -0400 -+++ mysql-5.0.40/Makefile.am 2007-05-23 12:59:49.000000000 -0400 -@@ -126,11 +126,11 @@ +diff -Naur mysql-5.0.67.orig/Makefile.am mysql-5.0.67/Makefile.am +--- mysql-5.0.67.orig/Makefile.am 2008-08-04 08:18:47.000000000 -0400 ++++ mysql-5.0.67/Makefile.am 2008-08-23 13:49:56.000000000 -0400 +@@ -127,11 +127,11 @@ test-ps: cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol -+ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --ps-protocol +- @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol ++ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --ps-protocol test-ns: cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) $(mem) -+ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl +- @PERL@ ./mysql-test-run.pl $(force) $(mem) ++ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl test: test-ns test-ps -diff -Naur mysql-5.0.40.orig/mysql-test/lib/mtr_process.pl mysql-5.0.40/mysql-test/lib/mtr_process.pl ---- mysql-5.0.40.orig/mysql-test/lib/mtr_process.pl 2007-04-20 10:39:41.000000000 -0400 -+++ mysql-5.0.40/mysql-test/lib/mtr_process.pl 2007-05-23 12:59:49.000000000 -0400 -@@ -148,6 +148,9 @@ +diff -Naur mysql-5.0.67.orig/mysql-test/lib/mtr_process.pl mysql-5.0.67/mysql-test/lib/mtr_process.pl +--- mysql-5.0.67.orig/mysql-test/lib/mtr_process.pl 2008-08-04 08:32:17.000000000 -0400 ++++ mysql-5.0.67/mysql-test/lib/mtr_process.pl 2008-08-23 13:48:23.000000000 -0400 +@@ -150,6 +150,9 @@ { # Child, redirect output and exec @@ -39,10 +39,10 @@ diff -Naur mysql-5.0.40.orig/mysql-test/lib/mtr_process.pl mysql-5.0.40/mysql-te $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't my $log_file_open_mode = '>'; -diff -Naur mysql-5.0.40.orig/mysql-test/mysql-test-run.pl mysql-5.0.40/mysql-test/mysql-test-run.pl ---- mysql-5.0.40.orig/mysql-test/mysql-test-run.pl 2007-04-20 10:14:30.000000000 -0400 -+++ mysql-5.0.40/mysql-test/mysql-test-run.pl 2007-05-23 13:02:12.000000000 -0400 -@@ -1465,13 +1465,15 @@ +diff -Naur mysql-5.0.67.orig/mysql-test/mysql-test-run.pl mysql-5.0.67/mysql-test/mysql-test-run.pl +--- mysql-5.0.67.orig/mysql-test/mysql-test-run.pl 2008-08-04 08:19:21.000000000 -0400 ++++ mysql-5.0.67/mysql-test/mysql-test-run.pl 2008-08-23 13:48:23.000000000 -0400 +@@ -1510,13 +1510,15 @@ $exe_ndbd= mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd", @@ -60,7 +60,7 @@ diff -Naur mysql-5.0.40.orig/mysql-test/mysql-test-run.pl mysql-5.0.40/mysql-tes $exe_ndb_waiter= mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter", "$ndb_path/ndb_waiter"); -@@ -1572,7 +1574,8 @@ +@@ -1617,7 +1619,8 @@ # Look for mysql_fix_privilege_tables.sql script $file_mysql_fix_privilege_tables= mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql", @@ -70,7 +70,7 @@ diff -Naur mysql-5.0.40.orig/mysql-test/mysql-test-run.pl mysql-5.0.40/mysql-tes if ( ! $opt_skip_ndbcluster and executable_setup_ndb()) { mtr_warning("Could not find all required ndb binaries, " . -@@ -3999,7 +4002,7 @@ +@@ -4094,7 +4097,7 @@ if ( defined $exe ) { diff --git a/mysql.spec b/mysql.spec index e2d8b92..7dae86a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.51a -Release: 2%{?dist} +Version: 5.0.67 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -31,10 +31,7 @@ Patch7: mysql-rpl-test.patch Patch8: mysql-install-test.patch Patch9: mysql-bdb-link.patch Patch10: mysql-bdb-open.patch -Patch11: mysql-innodb-crash.patch -Patch12: mysql-ssl.patch Patch13: mysql-no-dbug.patch -Patch14: mysql-ss-test.patch Patch15: mysql-stack-guard.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -157,10 +154,7 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -%patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 libtoolize --force @@ -385,6 +379,7 @@ fi %{_infodir}/* %{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_tableinfo.1* %{_mandir}/man1/mysql_waitpid.1* @@ -479,7 +474,6 @@ fi %{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_explain_log.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_fix_privilege_tables.1* @@ -487,6 +481,7 @@ fi %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* +%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqld_multi.1* @@ -554,7 +549,6 @@ fi %{_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* @@ -564,7 +558,8 @@ fi %{_mandir}/man1/ndb_show_tables.1* #%{_mandir}/man1/ndb_size.pl.1* %{_mandir}/man1/ndb_waiter.1* -%{_mandir}/man1/ndbd.1* +%{_mandir}/man8/ndbd.8* +%{_mandir}/man8/ndb_mgmd.8* %files devel %defattr(-,root,root) @@ -585,6 +580,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 23 2008 Tom Lane 5.0.67-1 +- Update to mysql version 5.0.67 +- Move mysql_config's man page to base package, again (apparently I synced + that change the wrong way while importing specfile changes for ndbcluster) + * Sun Jul 27 2008 Tom Lane 5.0.51a-2 - Enable ndbcluster support Resolves: #163758 diff --git a/sources b/sources index 7c17839..bd67edf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a83dbdbb91267daf73d2297a9c283dd1 mysql-5.0.51a.tar.gz +7164483a5ffb8f7aa59b761c13cdbd6e mysql-5.0.67.tar.gz From 2dceb7c1c5323edfac2ab767badf133e5fed556c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 1 Oct 2008 23:17:59 +0000 Subject: [PATCH 124/616] Build mysql's embedded server library. --- mysql.spec | 62 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/mysql.spec b/mysql.spec index 7dae86a..af2d97f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.0.67 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -116,6 +116,28 @@ MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. +%package embedded + +Summary: MySQL as an embeddable library +Group: Applications/Databases + +%description embedded +MySQL is a multi-user, multi-threaded SQL database server. This +package contains a version of the MySQL server that can be embedded +into a client application instead of running as a separate process. + +%package embedded-devel + +Summary: Development files for MySQL as an embeddable library +Group: Applications/Databases +Requires: %{name}-embedded = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} + +%description embedded-devel +MySQL is a multi-user, multi-threaded SQL database server. This +package contains files needed for developing and testing with +the embedded version of the MySQL server. + %package bench Summary: MySQL benchmark scripts and data @@ -168,11 +190,8 @@ CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # MySQL 4.1.10 definitely doesn't work under strict aliasing; also, # gcc 4.1 breaks MySQL 5.0.16 without -fwrapv CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" -%ifarch alpha -# Can't link C++ objects into an executable without this. Odd! -# -ECL 2002-12-19 +# force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -%endif CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS @@ -182,6 +201,7 @@ export CFLAGS CXXFLAGS --without-debug \ --enable-shared \ --with-bench \ + --with-embedded-server \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ @@ -200,6 +220,16 @@ gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} # Not enabling assembler make %{?_smp_mflags} + +# regular build will make libmysqld.a but not libmysqld.so :-( +mkdir libmysqld/work +cd libmysqld/work +ar -x ../libmysqld.a +gcc -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 *.o \ + ../../bdb/build_unix/libdb.a -lpthread -lcrypt -lnsl -lssl -lcrypto -lrt -lstdc++ -lm -lc +cd ../.. + +%check make check %if %runselftest @@ -260,6 +290,11 @@ install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a +install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1 +ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0 +ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so + rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution @@ -568,6 +603,18 @@ fi %{_libdir}/mysql/libmysqlclient*.so %{_libdir}/mysql/libndbclient.so +%files embedded +%defattr(-,root,root) +%{_libdir}/mysql/libmysqld.so.* + +%files embedded-devel +%defattr(-,root,root) +%{_libdir}/mysql/libmysqld.so +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest_embedded +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest_embedded.1* + %files bench %defattr(-,root,root) %{_datadir}/sql-bench @@ -580,6 +627,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Oct 1 2008 Tom Lane 5.0.67-2 +- Build the "embedded server" library, and package it in a new sub-RPM + mysql-embedded, along with mysql-embedded-devel for devel support files. +Resolves: #149829 + * Sat Aug 23 2008 Tom Lane 5.0.67-1 - Update to mysql version 5.0.67 - Move mysql_config's man page to base package, again (apparently I synced From f74a10ff4d365cc13c3e2713e41fbe767fc7343b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 14 Jan 2009 17:10:05 +0000 Subject: [PATCH 125/616] Update to MySQL 5.1.30 --- .cvsignore | 2 +- mysql-bdb-link.patch | 31 -- mysql-bdb-open.patch | 619 ------------------------------------- mysql-bogus-ssl-test.patch | 34 ++ mysql-embedded-check.c | 26 ++ mysql-errno.patch | 12 +- mysql-install-test.patch | 14 +- mysql-libdir.patch | 11 - mysql-no-atomic.patch | 58 ---- mysql-no-dbug.patch | 17 - mysql-plugin-bug.patch | 13 + mysql-rpl-test.patch | 24 -- mysql-rpl_ddl.patch | 25 -- mysql-ssl-multilib.patch | 20 ++ mysql-stack-guard.patch | 39 +-- mysql-stack.patch | 14 +- mysql-testing.patch | 66 +--- mysql.spec | 88 +++--- sources | 2 +- 19 files changed, 199 insertions(+), 916 deletions(-) delete mode 100644 mysql-bdb-link.patch delete mode 100644 mysql-bdb-open.patch create mode 100644 mysql-bogus-ssl-test.patch create mode 100644 mysql-embedded-check.c delete mode 100644 mysql-libdir.patch delete mode 100644 mysql-no-atomic.patch delete mode 100644 mysql-no-dbug.patch create mode 100644 mysql-plugin-bug.patch delete mode 100644 mysql-rpl-test.patch delete mode 100644 mysql-rpl_ddl.patch create mode 100644 mysql-ssl-multilib.patch diff --git a/.cvsignore b/.cvsignore index df38cb2..995a7dc 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.0.67.tar.gz +mysql-5.1.30.tar.gz diff --git a/mysql-bdb-link.patch b/mysql-bdb-link.patch deleted file mode 100644 index 736a588..0000000 --- a/mysql-bdb-link.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix link flags, per RH bug #199368. - -Probably no point in filing this upstream, since MySQL AB is dropping BDB -support; we won't need it ourselves when we move to mysql 5.1. - - -diff -Naur mysql-5.0.27.orig/bdb/dist/Makefile.in mysql-5.0.27/bdb/dist/Makefile.in ---- mysql-5.0.27.orig/bdb/dist/Makefile.in 2006-10-20 20:22:38.000000000 -0400 -+++ mysql-5.0.27/bdb/dist/Makefile.in 2006-11-08 19:25:24.000000000 -0500 -@@ -52,8 +52,9 @@ - ################################################## - CPPFLAGS= -I$(builddir) -I$(srcdir) -I$(srcdir)/dbinc @CPPFLAGS@ - CFLAGS= -c $(CPPFLAGS) @CFLAGS@ -+LOPTFLAGS= $(CPPFLAGS) @CFLAGS@ - CC= @MAKEFILE_CC@ --CCLINK= @MAKEFILE_CCLINK@ -+CCLINK= @MAKEFILE_CCLINK@ $(LOPTFLAGS) - - LDFLAGS= @LDFLAGS@ - LIBS= @LIBS@ -@@ -74,8 +75,8 @@ - ################################################## - CXXFLAGS= -c $(CPPFLAGS) @CXXFLAGS@ - CXX= @MAKEFILE_CXX@ --CXXLINK= @MAKEFILE_CXXLINK@ --XSOLINK= @MAKEFILE_XSOLINK@ -+CXXLINK= @MAKEFILE_CXXLINK@ $(LOPTFLAGS) -+XSOLINK= @MAKEFILE_XSOLINK@ $(LOPTFLAGS) - LIBXSO_LIBS= @LIBXSO_LIBS@ - - libcxx= libdb_cxx.a diff --git a/mysql-bdb-open.patch b/mysql-bdb-open.patch deleted file mode 100644 index 4985f7a..0000000 --- a/mysql-bdb-open.patch +++ /dev/null @@ -1,619 +0,0 @@ -Work around recent Fedora change that makes "open" a macro name. - -Unlikely that upstream would consider fixing this since they're deprecating -BDB anyway. At some point we should probably just remove --with-berkeley-db -from our configuration, but I'll hold the line a little longer. - - -diff -Naur mysql-5.0.45.orig/bdb/db/db.c mysql-5.0.45/bdb/db/db.c ---- mysql-5.0.45.orig/bdb/db/db.c 2007-07-04 09:06:08.000000000 -0400 -+++ mysql-5.0.45/bdb/db/db.c 2007-08-02 20:22:31.000000000 -0400 -@@ -431,7 +431,7 @@ - dbenv, 0, dbp->pgsize * DB_MINPAGECACHE, 0)) != 0) - return (ret); - -- if ((ret = dbenv->open(dbenv, NULL, DB_CREATE | -+ if ((ret = dbenv->open_(dbenv, NULL, DB_CREATE | - DB_INIT_MPOOL | DB_PRIVATE | LF_ISSET(DB_THREAD), 0)) != 0) - return (ret); - } -@@ -517,7 +517,7 @@ - pgcookie.size = sizeof(DB_PGINFO); - (void)mpf->set_pgcookie(mpf, &pgcookie); - -- if ((ret = mpf->open(mpf, name, -+ if ((ret = mpf->open_(mpf, name, - LF_ISSET(DB_RDONLY | DB_NOMMAP | DB_ODDFILESIZE | DB_TRUNCATE) | - (F_ISSET(dbenv, DB_ENV_DIRECT_DB) ? DB_DIRECT : 0), - 0, dbp->pgsize)) != 0) -diff -Naur mysql-5.0.45.orig/bdb/db/db_method.c mysql-5.0.45/bdb/db/db_method.c ---- mysql-5.0.45.orig/bdb/db/db_method.c 2007-07-04 09:05:56.000000000 -0400 -+++ mysql-5.0.45/bdb/db/db_method.c 2007-08-02 20:22:31.000000000 -0400 -@@ -168,7 +168,7 @@ - dbp->get_type = __db_get_type; - dbp->join = __db_join; - dbp->key_range = __db_key_range; -- dbp->open = __db_open; -+ dbp->open_ = __db_open; - dbp->pget = __db_pget; - dbp->put = __db_put; - dbp->remove = __db_remove; -diff -Naur mysql-5.0.45.orig/bdb/db/db_vrfyutil.c mysql-5.0.45/bdb/db/db_vrfyutil.c ---- mysql-5.0.45.orig/bdb/db/db_vrfyutil.c 2007-07-04 09:05:39.000000000 -0400 -+++ mysql-5.0.45/bdb/db/db_vrfyutil.c 2007-08-02 20:22:31.000000000 -0400 -@@ -61,7 +61,7 @@ - goto err; - - if ((ret = -- cdbp->open(cdbp, NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) -+ cdbp->open_(cdbp, NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) - goto err; - - if ((ret = db_create(&pgdbp, dbenv, 0)) != 0) -@@ -70,7 +70,7 @@ - if ((ret = pgdbp->set_pagesize(pgdbp, pgsize)) != 0) - goto err; - -- if ((ret = pgdbp->open(pgdbp, -+ if ((ret = pgdbp->open_(pgdbp, - NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) - goto err; - -@@ -284,7 +284,7 @@ - return (ret); - if ((ret = dbp->set_pagesize(dbp, pgsize)) != 0) - goto err; -- if ((ret = dbp->open(dbp, -+ if ((ret = dbp->open_(dbp, - NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0600)) == 0) - *dbpp = dbp; - else -@@ -648,7 +648,7 @@ - if ((ret = dbp->set_pagesize(dbp, 1024)) != 0) - goto err; - -- if ((ret = dbp->open(dbp, -+ if ((ret = dbp->open_(dbp, - NULL, NULL, NULL, DB_BTREE, DB_CREATE, 0)) != 0) - goto err; - -diff -Naur mysql-5.0.45.orig/bdb/db_archive/db_archive.c mysql-5.0.45/bdb/db_archive/db_archive.c ---- mysql-5.0.45.orig/bdb/db_archive/db_archive.c 2007-07-04 09:06:10.000000000 -0400 -+++ mysql-5.0.45/bdb/db_archive/db_archive.c 2007-08-02 20:22:31.000000000 -0400 -@@ -116,9 +116,9 @@ - * If attaching to a pre-existing environment fails, create a - * private one and try again. - */ -- if ((ret = dbenv->open(dbenv, -+ if ((ret = dbenv->open_(dbenv, - home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 && -- (ret = dbenv->open(dbenv, home, DB_CREATE | -+ (ret = dbenv->open_(dbenv, home, DB_CREATE | - DB_INIT_LOG | DB_INIT_TXN | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; -diff -Naur mysql-5.0.45.orig/bdb/db_checkpoint/db_checkpoint.c mysql-5.0.45/bdb/db_checkpoint/db_checkpoint.c ---- mysql-5.0.45.orig/bdb/db_checkpoint/db_checkpoint.c 2007-07-04 09:06:16.000000000 -0400 -+++ mysql-5.0.45/bdb/db_checkpoint/db_checkpoint.c 2007-08-02 20:22:31.000000000 -0400 -@@ -155,7 +155,7 @@ - goto shutdown; - } - /* Initialize the environment. */ -- if ((ret = dbenv->open(dbenv, -+ if ((ret = dbenv->open_(dbenv, - home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; -diff -Naur mysql-5.0.45.orig/bdb/db_deadlock/db_deadlock.c mysql-5.0.45/bdb/db_deadlock/db_deadlock.c ---- mysql-5.0.45.orig/bdb/db_deadlock/db_deadlock.c 2007-07-04 09:06:57.000000000 -0400 -+++ mysql-5.0.45/bdb/db_deadlock/db_deadlock.c 2007-08-02 20:22:31.000000000 -0400 -@@ -161,7 +161,7 @@ - } - - /* An environment is required. */ -- if ((ret = dbenv->open(dbenv, home, -+ if ((ret = dbenv->open_(dbenv, home, - DB_JOINENV | DB_USE_ENVIRON, 0)) != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; -diff -Naur mysql-5.0.45.orig/bdb/db_dump/db_dump.c mysql-5.0.45/bdb/db_dump/db_dump.c ---- mysql-5.0.45.orig/bdb/db_dump/db_dump.c 2007-07-04 09:06:56.000000000 -0400 -+++ mysql-5.0.45/bdb/db_dump/db_dump.c 2007-08-02 20:22:31.000000000 -0400 -@@ -204,7 +204,7 @@ - goto done; - } - -- if ((ret = dbp->open(dbp, NULL, -+ if ((ret = dbp->open_(dbp, NULL, - argv[0], subname, DB_UNKNOWN, DB_RDONLY, 0)) != 0) { - dbp->err(dbp, ret, "open: %s", argv[0]); - goto err; -@@ -303,7 +303,7 @@ - * before we create our own. - */ - *is_privatep = 0; -- if (dbenv->open(dbenv, home, -+ if (dbenv->open_(dbenv, home, - DB_USE_ENVIRON | (is_salvage ? DB_INIT_MPOOL : DB_JOINENV), 0) == 0) - return (0); - -@@ -319,7 +319,7 @@ - */ - *is_privatep = 1; - if ((ret = dbenv->set_cachesize(dbenv, 0, cache, 1)) == 0 && -- (ret = dbenv->open(dbenv, home, -+ (ret = dbenv->open_(dbenv, home, - DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) == 0) - return (0); - -@@ -411,7 +411,7 @@ - free(subdb); - return (1); - } -- if ((ret = dbp->open(dbp, NULL, -+ if ((ret = dbp->open_(dbp, NULL, - parent_name, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0) - dbp->err(dbp, ret, - "DB->open: %s:%s", parent_name, subdb); -diff -Naur mysql-5.0.45.orig/bdb/db_load/db_load.c mysql-5.0.45/bdb/db_load/db_load.c ---- mysql-5.0.45.orig/bdb/db_load/db_load.c 2007-07-04 09:05:56.000000000 -0400 -+++ mysql-5.0.45/bdb/db_load/db_load.c 2007-08-02 20:22:31.000000000 -0400 -@@ -329,7 +329,7 @@ - } - - /* Open the DB file. */ -- if ((ret = dbp->open(dbp, NULL, name, subdb, dbtype, -+ if ((ret = dbp->open_(dbp, NULL, name, subdb, dbtype, - DB_CREATE | (TXN_ON(dbenv) ? DB_AUTO_COMMIT : 0), - __db_omode("rwrwrw"))) != 0) { - dbp->err(dbp, ret, "DB->open: %s", name); -@@ -517,7 +517,7 @@ - /* We may be loading into a live environment. Try and join. */ - flags = DB_USE_ENVIRON | - DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN; -- if (dbenv->open(dbenv, home, flags, 0) == 0) -+ if (dbenv->open_(dbenv, home, flags, 0) == 0) - return (0); - - /* -@@ -539,7 +539,7 @@ - dbenv->err(dbenv, ret, "set_cachesize"); - return (1); - } -- if ((ret = dbenv->open(dbenv, home, flags, 0)) == 0) -+ if ((ret = dbenv->open_(dbenv, home, flags, 0)) == 0) - return (0); - - /* An environment is required. */ -diff -Naur mysql-5.0.45.orig/bdb/db_printlog/db_printlog.c mysql-5.0.45/bdb/db_printlog/db_printlog.c ---- mysql-5.0.45.orig/bdb/db_printlog/db_printlog.c 2007-07-04 09:06:08.000000000 -0400 -+++ mysql-5.0.45/bdb/db_printlog/db_printlog.c 2007-08-02 20:22:31.000000000 -0400 -@@ -156,17 +156,17 @@ - * with logging, because we don't want to log the opens. - */ - if (repflag) { -- if ((ret = dbenv->open(dbenv, home, -+ if ((ret = dbenv->open_(dbenv, home, - DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0 && -- (ret = dbenv->open(dbenv, home, -+ (ret = dbenv->open_(dbenv, home, - DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) - != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; - } -- } else if ((ret = dbenv->open(dbenv, home, -+ } else if ((ret = dbenv->open_(dbenv, home, - DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 && -- (ret = dbenv->open(dbenv, home, -+ (ret = dbenv->open_(dbenv, home, - DB_CREATE | DB_INIT_LOG | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; -@@ -342,7 +342,7 @@ - - dbp = *dbpp; - if ((ret = -- dbp->open(dbp, NULL, "__db.rep.db", NULL, DB_BTREE, 0, 0)) != 0) { -+ dbp->open_(dbp, NULL, "__db.rep.db", NULL, DB_BTREE, 0, 0)) != 0) { - dbenv->err(dbenv, ret, "DB->open"); - goto err; - } -diff -Naur mysql-5.0.45.orig/bdb/db_recover/db_recover.c mysql-5.0.45/bdb/db_recover/db_recover.c ---- mysql-5.0.45.orig/bdb/db_recover/db_recover.c 2007-07-04 09:06:40.000000000 -0400 -+++ mysql-5.0.45/bdb/db_recover/db_recover.c 2007-08-02 20:22:31.000000000 -0400 -@@ -150,7 +150,7 @@ - DB_INIT_MPOOL | DB_INIT_TXN | DB_USE_ENVIRON); - LF_SET(fatal_recover ? DB_RECOVER_FATAL : DB_RECOVER); - LF_SET(retain_env ? 0 : DB_PRIVATE); -- if ((ret = dbenv->open(dbenv, home, flags, 0)) != 0) { -+ if ((ret = dbenv->open_(dbenv, home, flags, 0)) != 0) { - dbenv->err(dbenv, ret, "DB_ENV->open"); - goto shutdown; - } -diff -Naur mysql-5.0.45.orig/bdb/db_stat/db_stat.c mysql-5.0.45/bdb/db_stat/db_stat.c ---- mysql-5.0.45.orig/bdb/db_stat/db_stat.c 2007-07-04 09:06:09.000000000 -0400 -+++ mysql-5.0.45/bdb/db_stat/db_stat.c 2007-08-02 20:22:31.000000000 -0400 -@@ -245,7 +245,7 @@ - } - d_close = 1; - -- if ((ret = dbp->open(dbp, -+ if ((ret = dbp->open_(dbp, - NULL, db, subdb, DB_UNKNOWN, DB_RDONLY, 0)) != 0) { - dbp->err(dbp, ret, "DB->open: %s", db); - goto shutdown; -@@ -287,7 +287,7 @@ - dbenv->err(dbenv, ret, "db_create"); - goto shutdown; - } -- if ((ret = dbp->open(alt_dbp, NULL, -+ if ((ret = dbp->open_(alt_dbp, NULL, - db, subdb, DB_UNKNOWN, 0, 0)) != 0) { - dbenv->err(dbenv, - ret, "DB->open: %s:%s", db, subdb); -@@ -1187,7 +1187,7 @@ - */ - *is_private = 0; - if ((ret = -- dbenv->open(dbenv, home, DB_JOINENV | DB_USE_ENVIRON, 0)) == 0) -+ dbenv->open_(dbenv, home, DB_JOINENV | DB_USE_ENVIRON, 0)) == 0) - return (0); - if (ttype != T_DB && ttype != T_LOG) { - dbenv->err(dbenv, ret, "DB_ENV->open%s%s", -@@ -1215,7 +1215,7 @@ - oflags |= DB_INIT_MPOOL; - if (ttype == T_LOG) - oflags |= DB_INIT_LOG; -- if ((ret = dbenv->open(dbenv, home, oflags, 0)) == 0) -+ if ((ret = dbenv->open_(dbenv, home, oflags, 0)) == 0) - return (0); - - /* An environment is required. */ -diff -Naur mysql-5.0.45.orig/bdb/db_upgrade/db_upgrade.c mysql-5.0.45/bdb/db_upgrade/db_upgrade.c ---- mysql-5.0.45.orig/bdb/db_upgrade/db_upgrade.c 2007-07-04 09:06:09.000000000 -0400 -+++ mysql-5.0.45/bdb/db_upgrade/db_upgrade.c 2007-08-02 20:22:31.000000000 -0400 -@@ -121,9 +121,9 @@ - * If attaching to a pre-existing environment fails, create a - * private one and try again. - */ -- if ((ret = dbenv->open(dbenv, -+ if ((ret = dbenv->open_(dbenv, - home, DB_JOINENV | DB_USE_ENVIRON, 0)) != 0 && -- (ret = dbenv->open(dbenv, home, -+ (ret = dbenv->open_(dbenv, home, - DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; -diff -Naur mysql-5.0.45.orig/bdb/db_verify/db_verify.c mysql-5.0.45/bdb/db_verify/db_verify.c ---- mysql-5.0.45.orig/bdb/db_verify/db_verify.c 2007-07-04 09:06:26.000000000 -0400 -+++ mysql-5.0.45/bdb/db_verify/db_verify.c 2007-08-02 20:22:31.000000000 -0400 -@@ -129,13 +129,13 @@ - */ - private = 0; - if ((ret = -- dbenv->open(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) { -+ dbenv->open_(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) { - if ((ret = dbenv->set_cachesize(dbenv, 0, cache, 1)) != 0) { - dbenv->err(dbenv, ret, "set_cachesize"); - goto shutdown; - } - private = 1; -- if ((ret = dbenv->open(dbenv, home, -+ if ((ret = dbenv->open_(dbenv, home, - DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_USE_ENVIRON, 0)) != 0) { - dbenv->err(dbenv, ret, "open"); - goto shutdown; -@@ -160,7 +160,7 @@ - goto shutdown; - } - -- if ((ret = dbp1->open(dbp1, NULL, -+ if ((ret = dbp1->open_(dbp1, NULL, - argv[0], NULL, DB_UNKNOWN, DB_RDONLY, 0)) != 0) { - dbenv->err(dbenv, ret, "DB->open: %s", argv[0]); - (void)dbp1->close(dbp1, 0); -diff -Naur mysql-5.0.45.orig/bdb/dbinc/db.in mysql-5.0.45/bdb/dbinc/db.in ---- mysql-5.0.45.orig/bdb/dbinc/db.in 2007-07-04 09:06:33.000000000 -0400 -+++ mysql-5.0.45/bdb/dbinc/db.in 2007-08-02 20:00:58.000000000 -0400 -@@ -187,10 +187,10 @@ - * interface specific flags in this range. - * - * DB_AUTO_COMMIT: -- * DB_ENV->set_flags, DB->associate, DB->del, DB->put, DB->open, -+ * DB_ENV->set_flags, DB->associate, DB->del, DB->put, DB->open_, - * DB->remove, DB->rename, DB->truncate - * DB_DIRTY_READ: -- * DB->cursor, DB->get, DB->join, DB->open, DBcursor->c_get, -+ * DB->cursor, DB->get, DB->join, DB->open_, DBcursor->c_get, - * DB_ENV->txn_begin - * - * Shared flags up to 0x000400 */ -@@ -208,7 +208,7 @@ - #define DB_XA_CREATE 0x000001 /* Open in an XA environment. */ - - /* -- * Flags private to DB_ENV->open. -+ * Flags private to DB_ENV->open_. - * Shared flags up to 0x000400 */ - #define DB_INIT_CDB 0x000800 /* Concurrent Access Methods. */ - #define DB_INIT_LOCK 0x001000 /* Initialize locking. */ -@@ -222,7 +222,7 @@ - #define DB_SYSTEM_MEM 0x100000 /* Use system-backed memory. */ - - /* -- * Flags private to DB->open. -+ * Flags private to DB->open_. - * Shared flags up to 0x000400 */ - #define DB_EXCL 0x000800 /* Exclusive open (O_EXCL). */ - #define DB_FCNTL_LOCKING 0x001000 /* UNDOC: fcntl(2) locking. */ -@@ -261,7 +261,7 @@ - #define DB_VERIFY 0x000002 /* Verifying. */ - - /* -- * Flags private to DB_MPOOLFILE->open. -+ * Flags private to DB_MPOOLFILE->open_. - * Shared flags up to 0x000400 */ - #define DB_DIRECT 0x000800 /* Don't buffer the file in the OS. */ - #define DB_EXTENT 0x001000 /* UNDOC: dealing with an extent. */ -@@ -614,7 +614,7 @@ - int (*get) __P((DB_MPOOLFILE *, db_pgno_t *, u_int32_t, void *)); - void (*get_fileid) __P((DB_MPOOLFILE *, u_int8_t *)); - void (*last_pgno) __P((DB_MPOOLFILE *, db_pgno_t *)); -- int (*open)__P((DB_MPOOLFILE *, const char *, u_int32_t, int, size_t)); -+ int (*open_)__P((DB_MPOOLFILE *, const char *, u_int32_t, int, size_t)); - int (*put) __P((DB_MPOOLFILE *, void *, u_int32_t)); - void (*refcnt) __P((DB_MPOOLFILE *, db_pgno_t *)); - int (*set) __P((DB_MPOOLFILE *, void *, u_int32_t)); -@@ -1079,10 +1079,10 @@ - * Some applications use DB but implement their own locking outside of - * DB. If they're using fcntl(2) locking on the underlying database - * file, and we open and close a file descriptor for that file, we will -- * discard their locks. The DB_FCNTL_LOCKING flag to DB->open is an -+ * discard their locks. The DB_FCNTL_LOCKING flag to DB->open_ is an - * undocumented interface to support this usage which leaves any file - * descriptors we open until DB->close. This will only work with the -- * DB->open interface and simple caches, e.g., creating a transaction -+ * DB->open_ interface and simple caches, e.g., creating a transaction - * thread may open/close file descriptors this flag doesn't protect. - * Locking with fcntl(2) on a file that you don't own is a very, very - * unsafe thing to do. 'Nuff said. -@@ -1186,7 +1186,7 @@ - int (*join) __P((DB *, DBC **, DBC **, u_int32_t)); - int (*key_range) __P((DB *, - DB_TXN *, DBT *, DB_KEY_RANGE *, u_int32_t)); -- int (*open) __P((DB *, DB_TXN *, -+ int (*open_) __P((DB *, DB_TXN *, - const char *, const char *, DBTYPE, u_int32_t, int)); - int (*put) __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t)); - int (*remove) __P((DB *, const char *, const char *, u_int32_t)); -@@ -1266,7 +1266,7 @@ - #define DB_AM_FIXEDLEN 0x00001000 /* Fixed-length records. */ - #define DB_AM_INMEM 0x00002000 /* In-memory; no sync on close. */ - #define DB_AM_IN_RENAME 0x00004000 /* File is being renamed. */ --#define DB_AM_OPEN_CALLED 0x00008000 /* DB->open called. */ -+#define DB_AM_OPEN_CALLED 0x00008000 /* DB->open_ called. */ - #define DB_AM_PAD 0x00010000 /* Fixed-length record pad. */ - #define DB_AM_PGDEF 0x00020000 /* Page size was defaulted. */ - #define DB_AM_RDONLY 0x00040000 /* Database is readonly. */ -@@ -1653,7 +1653,7 @@ - const char *, const char *, const char *, u_int32_t)); - void (*err) __P((const DB_ENV *, int, const char *, ...)); - void (*errx) __P((const DB_ENV *, const char *, ...)); -- int (*open) __P((DB_ENV *, const char *, u_int32_t, int)); -+ int (*open_) __P((DB_ENV *, const char *, u_int32_t, int)); - int (*remove) __P((DB_ENV *, const char *, u_int32_t)); - int (*set_data_dir) __P((DB_ENV *, const char *)); - int (*set_alloc) __P((DB_ENV *, void *(*)(size_t), -@@ -1777,7 +1777,7 @@ - #define DB_ENV_NOLOCKING 0x0000200 /* DB_NOLOCKING set. */ - #define DB_ENV_NOMMAP 0x0000400 /* DB_NOMMAP set. */ - #define DB_ENV_NOPANIC 0x0000800 /* Okay if panic set. */ --#define DB_ENV_OPEN_CALLED 0x0001000 /* DB_ENV->open called. */ -+#define DB_ENV_OPEN_CALLED 0x0001000 /* DB_ENV->open_ called. */ - #define DB_ENV_OVERWRITE 0x0002000 /* DB_OVERWRITE set. */ - #define DB_ENV_PRIVATE 0x0004000 /* DB_PRIVATE set. */ - #define DB_ENV_REGION_INIT 0x0008000 /* DB_REGION_INIT set. */ -diff -Naur mysql-5.0.45.orig/bdb/dbm/dbm.c mysql-5.0.45/bdb/dbm/dbm.c ---- mysql-5.0.45.orig/bdb/dbm/dbm.c 2007-07-04 09:06:27.000000000 -0400 -+++ mysql-5.0.45/bdb/dbm/dbm.c 2007-08-02 20:22:31.000000000 -0400 -@@ -240,7 +240,7 @@ - if ((ret = dbp->set_pagesize(dbp, 4096)) != 0 || - (ret = dbp->set_h_ffactor(dbp, 40)) != 0 || - (ret = dbp->set_h_nelem(dbp, 1)) != 0 || -- (ret = dbp->open(dbp, NULL, -+ (ret = dbp->open_(dbp, NULL, - path, NULL, DB_HASH, __db_oflags(oflags), mode)) != 0) { - __os_set_errno(ret); - return (NULL); -diff -Naur mysql-5.0.45.orig/bdb/env/env_method.c mysql-5.0.45/bdb/env/env_method.c ---- mysql-5.0.45.orig/bdb/env/env_method.c 2007-07-04 09:05:37.000000000 -0400 -+++ mysql-5.0.45/bdb/env/env_method.c 2007-08-02 20:22:31.000000000 -0400 -@@ -161,7 +161,7 @@ - dbenv->close = __dbenv_close; - dbenv->dbremove = __dbenv_dbremove; - dbenv->dbrename = __dbenv_dbrename; -- dbenv->open = __dbenv_open; -+ dbenv->open_ = __dbenv_open; - dbenv->remove = __dbenv_remove; - dbenv->set_alloc = __dbenv_set_alloc; - dbenv->set_app_dispatch = __dbenv_set_app_dispatch; -diff -Naur mysql-5.0.45.orig/bdb/hsearch/hsearch.c mysql-5.0.45/bdb/hsearch/hsearch.c ---- mysql-5.0.45.orig/bdb/hsearch/hsearch.c 2007-07-04 09:05:34.000000000 -0400 -+++ mysql-5.0.45/bdb/hsearch/hsearch.c 2007-08-02 20:22:31.000000000 -0400 -@@ -84,7 +84,7 @@ - if ((ret = dbp->set_pagesize(dbp, 512)) != 0 || - (ret = dbp->set_h_ffactor(dbp, 16)) != 0 || - (ret = dbp->set_h_nelem(dbp, (u_int32_t)nel)) != 0 || -- (ret = dbp->open(dbp, -+ (ret = dbp->open_(dbp, - NULL, NULL, NULL, DB_HASH, DB_CREATE, __db_omode("rw----"))) != 0) - __os_set_errno(ret); - -diff -Naur mysql-5.0.45.orig/bdb/mp/mp_fopen.c mysql-5.0.45/bdb/mp/mp_fopen.c ---- mysql-5.0.45.orig/bdb/mp/mp_fopen.c 2007-07-04 09:06:04.000000000 -0400 -+++ mysql-5.0.45/bdb/mp/mp_fopen.c 2007-08-02 20:22:31.000000000 -0400 -@@ -86,7 +86,7 @@ - dbmfp->get = __memp_fget; - dbmfp->get_fileid = __memp_get_fileid; - dbmfp->last_pgno = __memp_last_pgno; -- dbmfp->open = __memp_fopen; -+ dbmfp->open_ = __memp_fopen; - dbmfp->put = __memp_fput; - dbmfp->refcnt = __memp_refcnt; - dbmfp->set = __memp_fset; -diff -Naur mysql-5.0.45.orig/bdb/qam/qam_files.c mysql-5.0.45/bdb/qam/qam_files.c ---- mysql-5.0.45.orig/bdb/qam/qam_files.c 2007-07-04 09:06:26.000000000 -0400 -+++ mysql-5.0.45/bdb/qam/qam_files.c 2007-08-02 20:22:31.000000000 -0400 -@@ -207,7 +207,7 @@ - openflags |= DB_RDONLY; - if (F_ISSET(dbenv, DB_ENV_DIRECT_DB)) - openflags |= DB_DIRECT; -- if ((ret = mpf->open( -+ if ((ret = mpf->open_( - mpf, buf, openflags, qp->mode, dbp->pgsize)) != 0) { - array->mpfarray[offset].mpf = NULL; - (void)mpf->close(mpf, 0); -diff -Naur mysql-5.0.45.orig/bdb/qam/qam_method.c mysql-5.0.45/bdb/qam/qam_method.c ---- mysql-5.0.45.orig/bdb/qam/qam_method.c 2007-07-04 09:05:55.000000000 -0400 -+++ mysql-5.0.45/bdb/qam/qam_method.c 2007-08-02 20:22:31.000000000 -0400 -@@ -260,7 +260,7 @@ - */ - if (txn == NULL) - needclose = 1; -- if ((ret = tmpdbp->open(tmpdbp, -+ if ((ret = tmpdbp->open_(tmpdbp, - txn, name, NULL, DB_QUEUE, 0, 0)) != 0) - goto err; - needclose = 1; -@@ -362,7 +362,7 @@ - /* Copy the incoming locker so we don't self-deadlock. */ - tmpdbp->lid = dbp->lid; - needclose = 1; -- if ((ret = tmpdbp->open(tmpdbp, txn, filename, NULL, -+ if ((ret = tmpdbp->open_(tmpdbp, txn, filename, NULL, - DB_QUEUE, 0, 0)) != 0) - goto err; - } -diff -Naur mysql-5.0.45.orig/bdb/rep/rep_method.c mysql-5.0.45/bdb/rep/rep_method.c ---- mysql-5.0.45.orig/bdb/rep/rep_method.c 2007-07-04 09:05:35.000000000 -0400 -+++ mysql-5.0.45/bdb/rep/rep_method.c 2007-08-02 20:22:31.000000000 -0400 -@@ -327,7 +327,7 @@ - - flags = (F_ISSET(dbenv, DB_ENV_THREAD) ? DB_THREAD : 0) | - (startup ? DB_CREATE : 0); -- if ((ret = dbp->open(dbp, NULL, -+ if ((ret = dbp->open_(dbp, NULL, - "__db.rep.db", NULL, DB_BTREE, flags, 0)) != 0) - goto err; - -diff -Naur mysql-5.0.45.orig/bdb/xa/xa.c mysql-5.0.45/bdb/xa/xa.c ---- mysql-5.0.45.orig/bdb/xa/xa.c 2007-07-04 09:06:41.000000000 -0400 -+++ mysql-5.0.45/bdb/xa/xa.c 2007-08-02 20:22:31.000000000 -0400 -@@ -97,7 +97,7 @@ - DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN - if (db_env_create(&env, 0) != 0) - return (XAER_RMERR); -- if (env->open(env, xa_info, XA_FLAGS, 0) != 0) -+ if (env->open_(env, xa_info, XA_FLAGS, 0) != 0) - goto err; - - /* Create the mapping. */ -diff -Naur mysql-5.0.45.orig/bdb/xa/xa_db.c mysql-5.0.45/bdb/xa/xa_db.c ---- mysql-5.0.45.orig/bdb/xa/xa_db.c 2007-07-04 09:06:26.000000000 -0400 -+++ mysql-5.0.45/bdb/xa/xa_db.c 2007-08-02 20:22:31.000000000 -0400 -@@ -32,7 +32,7 @@ - int (*cursor) __P((DB *, DB_TXN *, DBC **, u_int32_t)); - int (*del) __P((DB *, DB_TXN *, DBT *, u_int32_t)); - int (*get) __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t)); -- int (*open) __P((DB *, DB_TXN *, -+ int (*open_) __P((DB *, DB_TXN *, - const char *, const char *, DBTYPE, u_int32_t, int)); - int (*put) __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t)); - } XA_METHODS; -@@ -58,8 +58,8 @@ - return (ret); - - dbp->xa_internal = xam; -- xam->open = dbp->open; -- dbp->open = __xa_open; -+ xam->open_ = dbp->open_; -+ dbp->open_ = __xa_open; - xam->close = dbp->close; - dbp->close = __xa_close; - -@@ -85,7 +85,7 @@ - - xam = (XA_METHODS *)dbp->xa_internal; - -- if ((ret = xam->open(dbp, txn, name, subdb, type, flags, mode)) != 0) -+ if ((ret = xam->open_(dbp, txn, name, subdb, type, flags, mode)) != 0) - return (ret); - - xam->cursor = dbp->cursor; -diff -Naur mysql-5.0.45.orig/sql/ha_berkeley.cc mysql-5.0.45/sql/ha_berkeley.cc ---- mysql-5.0.45.orig/sql/ha_berkeley.cc 2007-07-04 09:06:39.000000000 -0400 -+++ mysql-5.0.45/sql/ha_berkeley.cc 2007-08-02 20:36:06.000000000 -0400 -@@ -192,7 +192,7 @@ - if (berkeley_max_lock) - db_env->set_lk_max(db_env, berkeley_max_lock); - -- if (db_env->open(db_env, -+ if (db_env->open_(db_env, - berkeley_home, - berkeley_init_flags | DB_INIT_LOCK | - DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN | -@@ -633,7 +633,7 @@ - if (!hidden_primary_key) - file->app_private= (void*) (table->key_info + table_share->primary_key); - if ((error= txn_begin(db_env, 0, (DB_TXN**) &transaction, 0)) || -- (error= (file->open(file, transaction, -+ (error= (file->open_(file, transaction, - fn_format(name_buff, name, "", ha_berkeley_ext, - 2 | 4), - "main", DB_BTREE, open_mode, 0))) || -@@ -672,7 +672,7 @@ - (*ptr)->set_flags(*ptr, DB_DUP); - } - if ((error= txn_begin(db_env, 0, (DB_TXN**) &transaction, 0)) || -- (error=((*ptr)->open(*ptr, transaction, name_buff, part, DB_BTREE, -+ (error=((*ptr)->open_(*ptr, transaction, name_buff, part, DB_BTREE, - open_mode, 0))) || - (error= transaction->commit(transaction, 0))) - { -@@ -1996,7 +1996,7 @@ - if (!(error=db_create(&file, db_env, 0))) - { - file->set_flags(file, flags); -- error=(file->open(file, NULL, table_name, sub_name, type, -+ error=(file->open_(file, NULL, table_name, sub_name, type, - DB_THREAD | DB_CREATE, my_umask)); - if (error) - { -@@ -2052,7 +2052,7 @@ - DB *status_block; - if (!(error=(db_create(&status_block, db_env, 0)))) - { -- if (!(error=(status_block->open(status_block, NULL, name_buff, -+ if (!(error=(status_block->open_(status_block, NULL, name_buff, - "status", DB_BTREE, DB_CREATE, 0)))) - { - char rec_buff[4+MAX_KEY*4]; -@@ -2529,7 +2529,7 @@ - fn_format(name_buff, share->table_name,"", ha_berkeley_ext, 2 | 4); - if (!db_create(&share->status_block, db_env, 0)) - { -- if (share->status_block->open(share->status_block, NULL, name_buff, -+ if (share->status_block->open_(share->status_block, NULL, name_buff, - "status", DB_BTREE, open_mode, 0)) - { - share->status_block->close(share->status_block, 0); /* purecov: inspected */ -@@ -2606,7 +2606,7 @@ - if (db_create(&share->status_block, db_env, 0)) /* purecov: inspected */ - goto end; /* purecov: inspected */ - share->status_block->set_flags(share->status_block,0); /* purecov: inspected */ -- if (share->status_block->open(share->status_block, NULL, -+ if (share->status_block->open_(share->status_block, NULL, - fn_format(name_buff,share->table_name,"", - ha_berkeley_ext,2 | 4), - "status", DB_BTREE, diff --git a/mysql-bogus-ssl-test.patch b/mysql-bogus-ssl-test.patch new file mode 100644 index 0000000..79c6905 --- /dev/null +++ b/mysql-bogus-ssl-test.patch @@ -0,0 +1,34 @@ +AFAICT this test is simply guaranteed to fail if run with SSL connections +enabled. Remove the part that depends on the SSL connection history. + + +diff -Naur mysql-5.1.30.orig/mysql-test/r/openssl_1.result mysql-5.1.30/mysql-test/r/openssl_1.result +--- mysql-5.1.30.orig/mysql-test/r/openssl_1.result 2008-11-14 12:30:53.000000000 -0500 ++++ mysql-5.1.30/mysql-test/r/openssl_1.result 2009-01-13 12:57:01.000000000 -0500 +@@ -68,12 +68,10 @@ + CREATE TABLE thread_status + SELECT variable_name, variable_value + FROM information_schema.session_status +-WHERE variable_name LIKE 'SSL_ACCEPTS' OR +-variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; ++WHERE variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; + END$$ + SELECT variable_name, variable_value FROM thread_status; + variable_name variable_value +-SSL_ACCEPTS 0 + SSL_CALLBACK_CACHE_HITS 0 + DROP TABLE thread_status; + SET GLOBAL event_scheduler=0; +diff -Naur mysql-5.1.30.orig/mysql-test/t/openssl_1.test mysql-5.1.30/mysql-test/t/openssl_1.test +--- mysql-5.1.30.orig/mysql-test/t/openssl_1.test 2008-11-14 12:30:15.000000000 -0500 ++++ mysql-5.1.30/mysql-test/t/openssl_1.test 2009-01-13 12:56:42.000000000 -0500 +@@ -136,8 +136,7 @@ + CREATE TABLE thread_status + SELECT variable_name, variable_value + FROM information_schema.session_status +- WHERE variable_name LIKE 'SSL_ACCEPTS' OR +- variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; ++ WHERE variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; + END$$ + + DELIMITER ;$$ diff --git a/mysql-embedded-check.c b/mysql-embedded-check.c new file mode 100644 index 0000000..8bf8ca5 --- /dev/null +++ b/mysql-embedded-check.c @@ -0,0 +1,26 @@ +/* simple test program to see if we can link the embedded server library */ + +#include +#include +#include + +#include "mysql.h" + +MYSQL *mysql; + +static char *server_options[] = \ + { "mysql_test", "--defaults-file=my.cnf", NULL }; +int num_elements = (sizeof(server_options) / sizeof(char *)) - 1; + +static char *server_groups[] = { "libmysqld_server", + "libmysqld_client", NULL }; + +int main(int argc, char **argv) +{ + mysql_library_init(num_elements, server_options, server_groups); + mysql = mysql_init(NULL); + mysql_close(mysql); + mysql_library_end(); + + return 0; +} diff --git a/mysql-errno.patch b/mysql-errno.patch index 2d0bf2b..39377a9 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,12 +1,12 @@ "extern int errno" is just a really bad idea. -diff -Naur mysql-5.0.67.orig/include/my_sys.h mysql-5.0.67/include/my_sys.h ---- mysql-5.0.67.orig/include/my_sys.h 2008-08-04 08:19:12.000000000 -0400 -+++ mysql-5.0.67/include/my_sys.h 2008-08-23 14:39:08.000000000 -0400 -@@ -208,13 +208,8 @@ - #endif - #endif /* MSDOS */ +diff -Naur mysql-5.1.30.orig/include/my_sys.h mysql-5.1.30/include/my_sys.h +--- mysql-5.1.30.orig/include/my_sys.h 2008-11-14 11:34:35.000000000 -0500 ++++ mysql-5.1.30/include/my_sys.h 2009-01-13 11:04:15.000000000 -0500 +@@ -201,13 +201,8 @@ + #define my_afree(PTR) my_free(PTR,MYF(MY_WME)) + #endif /* HAVE_ALLOCA */ -#ifndef errno /* did we already get it? */ -#ifdef HAVE_ERRNO_AS_DEFINE diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 635a428..b572102 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -4,9 +4,9 @@ like /usr/share/mysql-test, we have to hack up the paths in install_test_db. This patch also improves the documentation a tad. -diff -Naur mysql-5.0.67.orig/mysql-test/README mysql-5.0.67/mysql-test/README ---- mysql-5.0.67.orig/mysql-test/README 2008-08-04 08:19:20.000000000 -0400 -+++ mysql-5.0.67/mysql-test/README 2008-08-23 16:25:14.000000000 -0400 +diff -Naur mysql-5.1.30.orig/mysql-test/README mysql-5.1.30/mysql-test/README +--- mysql-5.1.30.orig/mysql-test/README 2008-11-14 11:34:38.000000000 -0500 ++++ mysql-5.1.30/mysql-test/README 2009-01-13 11:30:00.000000000 -0500 @@ -6,6 +6,19 @@ actually have a co-existing MySQL installation. The tests will not conflict with it. @@ -37,9 +37,9 @@ diff -Naur mysql-5.0.67.orig/mysql-test/README mysql-5.0.67/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.0.67.orig/mysql-test/install_test_db.sh mysql-5.0.67/mysql-test/install_test_db.sh ---- mysql-5.0.67.orig/mysql-test/install_test_db.sh 2008-08-04 08:19:21.000000000 -0400 -+++ mysql-5.0.67/mysql-test/install_test_db.sh 2008-08-23 16:21:59.000000000 -0400 +diff -Naur mysql-5.1.30.orig/mysql-test/install_test_db.sh mysql-5.1.30/mysql-test/install_test_db.sh +--- mysql-5.1.30.orig/mysql-test/install_test_db.sh 2008-11-14 11:34:47.000000000 -0500 ++++ mysql-5.1.30/mysql-test/install_test_db.sh 2009-01-13 11:30:00.000000000 -0500 @@ -26,18 +26,15 @@ libexecdir=../libexec @@ -65,7 +65,7 @@ diff -Naur mysql-5.0.67.orig/mysql-test/install_test_db.sh mysql-5.0.67/mysql-te fix_bin=mysql-test else execdir=../sql -@@ -97,7 +94,8 @@ +@@ -96,7 +93,8 @@ #for error messages if [ x$BINARY_DIST = x1 ] ; then diff --git a/mysql-libdir.patch b/mysql-libdir.patch deleted file mode 100644 index 27c26e1..0000000 --- a/mysql-libdir.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur mysql-5.0.28.orig/scripts/mysql_config.sh mysql-5.0.28/scripts/mysql_config.sh ---- mysql-5.0.28.orig/scripts/mysql_config.sh 2006-10-24 17:04:01.000000000 -0400 -+++ mysql-5.0.28/scripts/mysql_config.sh 2006-11-29 17:36:42.000000000 -0500 -@@ -86,7 +86,6 @@ - # If installed, search for the compiled in directory first (might be "lib64") - pkglibdir='@pkglibdir@' - pkglibdir_rel=`echo $pkglibdir | sed -e "s;^$basedir/;;"` --fix_path pkglibdir $pkglibdir_rel lib/mysql lib - - pkgincludedir='@pkgincludedir@' - fix_path pkgincludedir include/mysql include diff --git a/mysql-no-atomic.patch b/mysql-no-atomic.patch deleted file mode 100644 index 321f965..0000000 --- a/mysql-no-atomic.patch +++ /dev/null @@ -1,58 +0,0 @@ -The idea of userland using has our kernel hackers all bent -out of shape, so don't do it. Suppressing this has another benefit too, -which is we avoid the 4-vs-8-byte problem in BDB that formerly required -mysql-threads.patch. - - -diff -Naur mysql-5.0.28.orig/configure.in mysql-5.0.28/configure.in ---- mysql-5.0.28.orig/configure.in 2006-10-24 17:03:51.000000000 -0400 -+++ mysql-5.0.28/configure.in 2006-11-29 17:39:39.000000000 -0500 -@@ -814,48 +814,6 @@ - AC_SUBST(WRAPLIBS) - - if test "$TARGET_LINUX" = "true"; then -- AC_MSG_CHECKING([for atomic operations]) -- -- AC_LANG_SAVE -- AC_LANG_CPLUSPLUS -- -- atom_ops= -- AC_TRY_RUN([ --#include --int main() --{ -- atomic_t v; -- -- atomic_set(&v, 23); -- atomic_add(5, &v); -- return atomic_read(&v) == 28 ? 0 : -1; --} -- ], -- [AC_DEFINE([HAVE_ATOMIC_ADD], [1], -- [atomic_add() from (Linux only)]) -- atom_ops="${atom_ops}atomic_add "], -- ) -- AC_TRY_RUN([ --#include --int main() --{ -- atomic_t v; -- -- atomic_set(&v, 23); -- atomic_sub(5, &v); -- return atomic_read(&v) == 18 ? 0 : -1; --} -- ], -- [AC_DEFINE([HAVE_ATOMIC_SUB], [1], -- [atomic_sub() from (Linux only)]) -- atom_ops="${atom_ops}atomic_sub "], -- ) -- -- if test -z "$atom_ops"; then atom_ops="no"; fi -- AC_MSG_RESULT($atom_ops) -- -- AC_LANG_RESTORE -- - AC_ARG_WITH(pstack, - [ --with-pstack Use the pstack backtrace library], - [ USE_PSTACK=$withval ], diff --git a/mysql-no-dbug.patch b/mysql-no-dbug.patch deleted file mode 100644 index 72b672d..0000000 --- a/mysql-no-dbug.patch +++ /dev/null @@ -1,17 +0,0 @@ -Don't build the dbug manual. We aren't going to install it anyway, so -there's no need to do so. Attempting to build it causes crashes if one -has built with -DDBUG_OFF, as we do by default. Per bug #437053. - - -diff -Naur mysql-5.0.51a.orig/dbug/Makefile.am mysql-5.0.51a/dbug/Makefile.am ---- mysql-5.0.51a.orig/dbug/Makefile.am 2008-01-11 09:43:29.000000000 -0500 -+++ mysql-5.0.51a/dbug/Makefile.am 2008-07-27 12:21:56.000000000 -0400 -@@ -35,7 +35,7 @@ - factorial_SOURCES = my_main.c factorial.c - dbug_analyze_SOURCES = dbug_analyze.c - --all: user.t user.ps -+all: - - user.t: user.r $(NROFF_INC) - -nroff -mm user.r > $@ diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch new file mode 100644 index 0000000..2c3e348 --- /dev/null +++ b/mysql-plugin-bug.patch @@ -0,0 +1,13 @@ +The plugins stuff has got obscure problems on PPC64 ... figure it out +another day ... + + +diff -Naur mysql-5.1.30.orig/mysql-test/t/disabled.def mysql-5.1.30/mysql-test/t/disabled.def +--- mysql-5.1.30.orig/mysql-test/t/disabled.def 2008-11-14 12:30:00.000000000 -0500 ++++ mysql-5.1.30/mysql-test/t/disabled.def 2009-01-14 01:15:24.000000000 -0500 +@@ -15,3 +15,5 @@ + log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows + slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions + events-bugs.test : Bug #39848, Bug #39863, Bug #39569, Bug #37774 ++# ++plugin_load : gives wrong answer on PPC64 diff --git a/mysql-rpl-test.patch b/mysql-rpl-test.patch deleted file mode 100644 index 8415800..0000000 --- a/mysql-rpl-test.patch +++ /dev/null @@ -1,24 +0,0 @@ -This patch improves the stability of the mysql regression tests on Red Hat's -build servers. I really have no idea why ... it is probably masking a -bug in mysqld, but without a better handle on how to reproduce the problem, -it's tough to make a bug report. Worth noting is that rpl000001 passes -fine when run by itself, or with the immediately preceding tests; but fails -when the complete test series is run. - - -diff -Naur mysql-5.0.18.orig/mysql-test/r/rpl000001.result mysql-5.0.18/mysql-test/r/rpl000001.result ---- mysql-5.0.18.orig/mysql-test/r/rpl000001.result 2005-12-21 14:50:25.000000000 -0500 -+++ mysql-5.0.18/mysql-test/r/rpl000001.result 2006-01-05 01:57:17.000000000 -0500 -@@ -1,3 +1,4 @@ -+flush privileges; - stop slave; - drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; - reset master; -diff -Naur mysql-5.0.18.orig/mysql-test/t/rpl000001.test mysql-5.0.18/mysql-test/t/rpl000001.test ---- mysql-5.0.18.orig/mysql-test/t/rpl000001.test 2005-12-21 14:50:25.000000000 -0500 -+++ mysql-5.0.18/mysql-test/t/rpl000001.test 2006-01-05 01:57:15.000000000 -0500 -@@ -1,3 +1,4 @@ -+flush privileges; - source include/master-slave.inc; - - create table t1 (word char(20) not null); diff --git a/mysql-rpl_ddl.patch b/mysql-rpl_ddl.patch deleted file mode 100644 index b760c0e..0000000 --- a/mysql-rpl_ddl.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -Naur mysql-5.0.15.orig/mysql-test/r/rpl_ddl.result mysql-5.0.15/mysql-test/r/rpl_ddl.result ---- mysql-5.0.15.orig/mysql-test/r/rpl_ddl.result 2005-10-16 21:37:08.000000000 -0400 -+++ mysql-5.0.15/mysql-test/r/rpl_ddl.result 2005-11-03 17:28:30.000000000 -0500 -@@ -1688,6 +1688,7 @@ - -------- switch to slave ------- - SELECT user FROM mysql.user WHERE user = 'rename1'; - user -+flush privileges; - DROP DATABASE IF EXISTS mysqltest1; - DROP DATABASE IF EXISTS mysqltest2; - DROP DATABASE IF EXISTS mysqltest3; -diff -Naur mysql-5.0.15.orig/mysql-test/t/rpl_ddl.test mysql-5.0.15/mysql-test/t/rpl_ddl.test ---- mysql-5.0.15.orig/mysql-test/t/rpl_ddl.test 2005-10-16 21:37:08.000000000 -0400 -+++ mysql-5.0.15/mysql-test/t/rpl_ddl.test 2005-11-03 17:28:28.000000000 -0500 -@@ -498,6 +498,10 @@ - SELECT user FROM mysql.user WHERE user = 'rename1'; - connection master; - -+# Needed to avoid failure in next test on some platforms ... -+# this probably indicates an underlying MySQL bug ... -+flush privileges; -+ - ############################################################### - # Cleanup - ############################################################### diff --git a/mysql-ssl-multilib.patch b/mysql-ssl-multilib.patch new file mode 100644 index 0000000..845984b --- /dev/null +++ b/mysql-ssl-multilib.patch @@ -0,0 +1,20 @@ +We can do without -L/usr/lib/, especially in 64-bit builds ... + + +diff -Naur mysql-5.1.30.orig/config/ac-macros/ssl.m4 mysql-5.1.30/config/ac-macros/ssl.m4 +--- mysql-5.1.30.orig/config/ac-macros/ssl.m4 2008-11-14 11:34:23.000000000 -0500 ++++ mysql-5.1.30/config/ac-macros/ssl.m4 2009-01-13 19:17:09.000000000 -0500 +@@ -102,7 +102,12 @@ + # + # Try to link with openSSL libs in + # +- openssl_libs="-L$location/lib/ -lssl -lcrypto" ++ if test "$location" != "/usr" ++ then ++ openssl_libs="-L$location/lib/ -lssl -lcrypto" ++ else ++ openssl_libs="-lssl -lcrypto" ++ fi + MYSQL_CHECK_SSL_DIR([$openssl_includes], [$openssl_libs]) + + if test "$mysql_ssl_found" == "no" diff --git a/mysql-stack-guard.patch b/mysql-stack-guard.patch index d1e9e78..d1e3a3f 100644 --- a/mysql-stack-guard.patch +++ b/mysql-stack-guard.patch @@ -8,13 +8,13 @@ mysqld.cc; is it important to fix any of the others? Filed upstream at http://bugs.mysql.com/bug.php?id=35019 -diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc ---- mysql-5.0.45.orig/sql/mysqld.cc 2007-07-04 09:06:03.000000000 -0400 -+++ mysql-5.0.45/sql/mysqld.cc 2008-03-03 17:16:25.000000000 -0500 -@@ -2281,6 +2281,68 @@ - DBUG_VOID_RETURN; +diff -Naur mysql-5.1.30.orig/sql/mysqld.cc mysql-5.1.30/sql/mysqld.cc +--- mysql-5.1.30.orig/sql/mysqld.cc 2008-11-14 11:37:13.000000000 -0500 ++++ mysql-5.1.30/sql/mysqld.cc 2009-01-13 12:08:35.000000000 -0500 +@@ -2602,6 +2602,70 @@ } + +/* pthread_attr_setstacksize without so much platform-dependency */ +/* returns the actual stack size if possible */ +static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize) @@ -77,10 +77,12 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc +#endif + return stacksize; +} - ++ ++ static void start_signal_handler(void) { -@@ -2294,15 +2356,7 @@ + int error; +@@ -2614,15 +2678,7 @@ (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); if (!(opt_specialflag & SPECIAL_NO_PRIOR)) my_pthread_attr_setprio(&thr_attr,INTERRUPT_PRIOR); @@ -89,15 +91,15 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc - Peculiar things with ia64 platforms - it seems we only have half the - stack size in reality, so we have to double it here - */ -- pthread_attr_setstacksize(&thr_attr,thread_stack*2); +- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2); -#else -- pthread_attr_setstacksize(&thr_attr,thread_stack); +- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size); -#endif -+ (void) my_setstacksize(&thr_attr,thread_stack); ++ (void) my_setstacksize(&thr_attr,my_thread_stack_size); #endif (void) pthread_mutex_lock(&LOCK_thread_count); -@@ -3499,41 +3553,12 @@ +@@ -4176,40 +4232,12 @@ init_signals(); if (!(opt_specialflag & SPECIAL_NO_PRIOR)) my_pthread_setprio(pthread_self(),CONNECT_PRIOR); @@ -106,9 +108,9 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc - Peculiar things with ia64 platforms - it seems we only have half the - stack size in reality, so we have to double it here - */ -- pthread_attr_setstacksize(&connection_attrib,thread_stack*2); +- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2); -#else -- pthread_attr_setstacksize(&connection_attrib,thread_stack); +- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size); -#endif -#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE - { @@ -119,15 +121,15 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc - stack_size/= 2; -#endif - /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ -- if (stack_size && stack_size < thread_stack) +- if (stack_size && stack_size < my_thread_stack_size) - { - if (global_system_variables.log_warnings) - sql_print_warning("Asked for %lu thread stack, but got %ld", -- thread_stack, (long) stack_size); +- my_thread_stack_size, (long) stack_size); -#if defined(__ia64__) || defined(__ia64) -- thread_stack= stack_size*2; +- my_thread_stack_size= stack_size*2; -#else -- thread_stack= stack_size; +- my_thread_stack_size= stack_size; -#endif - } - } @@ -135,10 +137,9 @@ diff -Naur mysql-5.0.45.orig/sql/mysqld.cc mysql-5.0.45/sql/mysqld.cc + #ifdef __NETWARE__ /* Increasing stacksize of threads on NetWare */ -- pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE); +#else -+ thread_stack = my_setstacksize(&connection_attrib,thread_stack); ++ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size); #endif (void) thr_setconcurrency(concurrency); // 10 by default diff --git a/mysql-stack.patch b/mysql-stack.patch index 5928cbf..b93d8db 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -9,15 +9,15 @@ to provide some headroom, which means that its value can't be raised too much further without increasing the latter as well. -diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h ---- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400 -+++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 17:32:22.000000000 -0500 -@@ -173,7 +173,7 @@ +diff -Naur mysql-5.1.30.orig/sql/mysql_priv.h mysql-5.1.30/sql/mysql_priv.h +--- mysql-5.1.30.orig/sql/mysql_priv.h 2008-11-14 11:37:13.000000000 -0500 ++++ mysql-5.1.30/sql/mysql_priv.h 2009-01-13 11:07:35.000000000 -0500 +@@ -286,7 +286,7 @@ Feel free to raise this by the smallest amount you can to get the "execution_constants" test to pass. */ --#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. -+#define STACK_MIN_SIZE 16384 // Abort if less stack during eval. +-#define STACK_MIN_SIZE 12000 ///< Abort if less stack during eval. ++#define STACK_MIN_SIZE 16384 ///< Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 - #define STACK_BUFF_ALLOC 352 // For stack overrun checks + #define STACK_BUFF_ALLOC 352 ///< For stack overrun checks diff --git a/mysql-testing.patch b/mysql-testing.patch index a5060b7..c0c0ac2 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -5,30 +5,22 @@ Also, tweak the Perl test script so that the mysqld daemon gets detached from the calling terminal session. Without this, the ssl_des test hangs up because OpenSSL tries to read a PEM key from /dev/tty. -Also, tweak the Perl test script to find some files where we install them; -without this, the build-time test works but the mysql-test RPM doesn't. - -diff -Naur mysql-5.0.67.orig/Makefile.am mysql-5.0.67/Makefile.am ---- mysql-5.0.67.orig/Makefile.am 2008-08-04 08:18:47.000000000 -0400 -+++ mysql-5.0.67/Makefile.am 2008-08-23 13:49:56.000000000 -0400 -@@ -127,11 +127,11 @@ - - test-ps: - cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol -+ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --ps-protocol +diff -Naur mysql-5.1.30.orig/Makefile.am mysql-5.1.30/Makefile.am +--- mysql-5.1.30.orig/Makefile.am 2008-11-14 11:34:15.000000000 -0500 ++++ mysql-5.1.30/Makefile.am 2009-01-13 11:13:12.000000000 -0500 +@@ -98,7 +98,7 @@ test-ns: cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) $(mem) -+ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl +- @PERL@ ./mysql-test-run.pl $(force) $(mem) --mysqld=--binlog-format=mixed ++ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --mysqld=--binlog-format=mixed - test: test-ns test-ps - -diff -Naur mysql-5.0.67.orig/mysql-test/lib/mtr_process.pl mysql-5.0.67/mysql-test/lib/mtr_process.pl ---- mysql-5.0.67.orig/mysql-test/lib/mtr_process.pl 2008-08-04 08:32:17.000000000 -0400 -+++ mysql-5.0.67/mysql-test/lib/mtr_process.pl 2008-08-23 13:48:23.000000000 -0400 + test-binlog-statement: + cd mysql-test ; \ +diff -Naur mysql-5.1.30.orig/mysql-test/lib/mtr_process.pl mysql-5.1.30/mysql-test/lib/mtr_process.pl +--- mysql-5.1.30.orig/mysql-test/lib/mtr_process.pl 2008-11-14 12:31:10.000000000 -0500 ++++ mysql-5.1.30/mysql-test/lib/mtr_process.pl 2009-01-13 11:14:25.000000000 -0500 @@ -150,6 +150,9 @@ { # Child, redirect output and exec @@ -39,38 +31,10 @@ diff -Naur mysql-5.0.67.orig/mysql-test/lib/mtr_process.pl mysql-5.0.67/mysql-te $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't my $log_file_open_mode = '>'; -diff -Naur mysql-5.0.67.orig/mysql-test/mysql-test-run.pl mysql-5.0.67/mysql-test/mysql-test-run.pl ---- mysql-5.0.67.orig/mysql-test/mysql-test-run.pl 2008-08-04 08:19:21.000000000 -0400 -+++ mysql-5.0.67/mysql-test/mysql-test-run.pl 2008-08-23 13:48:23.000000000 -0400 -@@ -1510,13 +1510,15 @@ - - $exe_ndbd= - mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd", -- "$ndb_path/ndbd"); -+ "$ndb_path/ndbd", -+ "/usr/libexec/ndbd"); - $exe_ndb_mgm= - mtr_exe_maybe_exists("$ndb_path/src/mgmclient/ndb_mgm", - "$ndb_path/ndb_mgm"); - $exe_ndb_mgmd= - mtr_exe_maybe_exists("$ndb_path/src/mgmsrv/ndb_mgmd", -- "$ndb_path/ndb_mgmd"); -+ "$ndb_path/ndb_mgmd", -+ "/usr/libexec/ndb_mgmd"); - $exe_ndb_waiter= - mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter", - "$ndb_path/ndb_waiter"); -@@ -1617,7 +1619,8 @@ - # Look for mysql_fix_privilege_tables.sql script - $file_mysql_fix_privilege_tables= - mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql", -- "$glob_basedir/share/mysql_fix_privilege_tables.sql"); -+ "$glob_basedir/share/mysql_fix_privilege_tables.sql", -+ "$path_share/mysql_fix_privilege_tables.sql"); - - if ( ! $opt_skip_ndbcluster and executable_setup_ndb()) { - mtr_warning("Could not find all required ndb binaries, " . -@@ -4094,7 +4097,7 @@ +diff -Naur mysql-5.1.30.orig/mysql-test/mysql-test-run.pl mysql-5.1.30/mysql-test/mysql-test-run.pl +--- mysql-5.1.30.orig/mysql-test/mysql-test-run.pl 2008-11-14 11:34:48.000000000 -0500 ++++ mysql-5.1.30/mysql-test/mysql-test-run.pl 2009-01-13 11:17:52.000000000 -0500 +@@ -4204,7 +4204,7 @@ if ( defined $exe ) { diff --git a/mysql.spec b/mysql.spec index af2d97f..b415d59 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.0.67 -Release: 2%{?dist} +Version: 5.1.30 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -11,7 +11,7 @@ License: GPLv2 with exceptions # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%define runselftest 1} -Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz +Source0: http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-%{version}.tar.gz Source1: mysql.init Source3: my.cnf Source4: scriptstub.c @@ -19,20 +19,18 @@ Source5: my_config.h Source6: ndbd.init Source7: ndb_mgmd.init Source8: ndb_types.h +Source9: mysql-embedded-check.c # Working around perl dependency checking bug in rpm FTTB. Remove later. -Source999: filter-requires-mysql.sh -Patch1: mysql-libdir.patch +Source999: filter-requires-mysql.sh + +Patch1: mysql-ssl-multilib.patch Patch2: mysql-errno.patch Patch3: mysql-stack.patch Patch4: mysql-testing.patch -Patch5: mysql-no-atomic.patch -Patch6: mysql-rpl_ddl.patch -Patch7: mysql-rpl-test.patch -Patch8: mysql-install-test.patch -Patch9: mysql-bdb-link.patch -Patch10: mysql-bdb-open.patch -Patch13: mysql-no-dbug.patch -Patch15: mysql-stack-guard.patch +Patch5: mysql-install-test.patch +Patch6: mysql-stack-guard.patch +Patch7: mysql-bogus-ssl-test.patch +Patch8: mysql-plugin-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -43,7 +41,7 @@ BuildRequires: time procps # Socket is needed to run regression tests BuildRequires: perl(Socket) -Prereq: /sbin/install-info, grep, fileutils +Requires: /sbin/install-info, grep, fileutils Requires: %{name}-libs = %{version}-%{release} Requires: bash Conflicts: MySQL @@ -62,7 +60,7 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Prereq: /sbin/ldconfig +Requires: /sbin/ldconfig %description libs The mysql-libs package provides the essential shared libraries for any @@ -74,7 +72,7 @@ MySQL server. Summary: The MySQL server and related files Group: Applications/Databases -Prereq: /sbin/chkconfig, /usr/sbin/useradd +Requires: /sbin/chkconfig, /usr/sbin/useradd Requires: %{name} = %{version}-%{release} Requires: sh-utils # mysqlhotcopy needs DBI/DBD support @@ -174,10 +172,6 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch13 -p1 -%patch15 -p1 libtoolize --force aclocal @@ -192,12 +186,15 @@ CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions" +# extra C++ flags as per recommendations in mysql's INSTALL-SOURCE doc +CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS +# mysql 5.1.30 fails regression tests on x86 unless we use --with-big-tables, +# suggesting that upstream doesn't bother to test the other case ... %configure \ --with-readline \ - --with-openssl \ + --with-ssl=/usr \ --without-debug \ --enable-shared \ --with-bench \ @@ -206,9 +203,9 @@ export CFLAGS CXXFLAGS --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ + --with-big-tables \ --with-innodb \ --with-ndbcluster \ - --with-berkeley-db \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ @@ -226,10 +223,14 @@ mkdir libmysqld/work cd libmysqld/work ar -x ../libmysqld.a gcc -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 *.o \ - ../../bdb/build_unix/libdb.a -lpthread -lcrypt -lnsl -lssl -lcrypto -lrt -lstdc++ -lm -lc + -lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc +# this is to check that we built a complete library +cp %{SOURCE9} . +ln -s libmysqld.so.0.0.1 libmysqld.so.0 +gcc -I../../include mysql-embedded-check.c libmysqld.so.0 +LD_LIBRARY_PATH=. ldd ./a.out cd ../.. -%check make check %if %runselftest @@ -244,7 +245,9 @@ make check esac export MTR_BUILD_THREAD - make test + # note: "make test" invokes two largely-duplicate sets of tests, + # which makes the runtime really unacceptably long ... + make test-ns %endif %install @@ -258,8 +261,8 @@ case `uname -i` in i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 ) mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ - mv $RPM_BUILD_ROOT/usr/include/mysql/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/ndb/ndb_types_`uname -i`.h - install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/usr/include/mysql/ndb/ + mv $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types_`uname -i`.h + install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ ;; *) ;; @@ -303,6 +306,8 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libndbclient.la +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.la +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.a rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution @@ -315,6 +320,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall 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-log-rotate +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ChangeLog rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* rm -f ${RPM_BUILD_ROOT}/usr/libexec/ndb_cpcd @@ -400,7 +406,6 @@ fi %{_bindir}/mysql %{_bindir}/mysql_config %{_bindir}/mysql_find_rows -%{_bindir}/mysql_tableinfo %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess %{_bindir}/mysqladmin @@ -409,6 +414,7 @@ fi %{_bindir}/mysqldump %{_bindir}/mysqlimport %{_bindir}/mysqlshow +%{_bindir}/mysqlslap %{_bindir}/my_print_defaults %{_infodir}/* @@ -416,12 +422,12 @@ fi %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_tableinfo.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* %{_libdir}/mysql/mysqlbug @@ -474,7 +480,6 @@ fi %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_explain_log %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_fix_privilege_tables %{_bindir}/mysql_install_db @@ -482,16 +487,12 @@ fi %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%{_bindir}/mysql_upgrade_shell %{_bindir}/mysql_zap %{_bindir}/mysqlbug %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe %{_bindir}/mysqlhotcopy -%{_bindir}/mysqltestmanager -%{_bindir}/mysqltestmanager-pwgen -%{_bindir}/mysqltestmanagerc %{_bindir}/mysqltest %{_bindir}/innochecksum %{_bindir}/perror @@ -502,6 +503,8 @@ fi /usr/libexec/mysqld /usr/libexec/mysqlmanager +%{_libdir}/mysql/plugin + %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* @@ -509,7 +512,6 @@ fi %{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_explain_log.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man1/mysql_install_db.1* @@ -531,10 +533,7 @@ fi %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* -%{_mandir}/man1/safe_mysqld.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/mysqlmanager-pwgen.1* -%{_mandir}/man1/mysqlmanagerc.1* %{_mandir}/man8/mysqld.8* %{_mandir}/man8/mysqlmanager.8* @@ -545,6 +544,8 @@ fi %{_datadir}/mysql/mysql_system_tables_data.sql %{_datadir}/mysql/mysql_test_data_timezone.sql %{_datadir}/mysql/my-*.cnf +%{_datadir}/mysql/config.*.ini + /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql @@ -560,6 +561,9 @@ fi %{_bindir}/ndb_drop_table %{_bindir}/ndb_error_reporter %{_bindir}/ndb_mgm +%{_bindir}/ndb_print_backup_file +%{_bindir}/ndb_print_schema_file +%{_bindir}/ndb_print_sys_file %{_bindir}/ndb_restore %{_bindir}/ndb_select_all %{_bindir}/ndb_select_count @@ -593,12 +597,14 @@ fi %{_mandir}/man1/ndb_show_tables.1* #%{_mandir}/man1/ndb_size.pl.1* %{_mandir}/man1/ndb_waiter.1* +%{_mandir}/man1/ndbd_redo_log_reader.1* %{_mandir}/man8/ndbd.8* %{_mandir}/man8/ndb_mgmd.8* %files devel %defattr(-,root,root) /usr/include/mysql +/usr/share/aclocal/mysql.m4 %{_libdir}/mysql/*.a %{_libdir}/mysql/libmysqlclient*.so %{_libdir}/mysql/libndbclient.so @@ -627,6 +633,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 14 2009 Tom Lane 5.1.30-1 +- Update to MySQL 5.1.30. Note that this includes an ABI break for + libmysqlclient (it's now got .so major version 16). + * Wed Oct 1 2008 Tom Lane 5.0.67-2 - Build the "embedded server" library, and package it in a new sub-RPM mysql-embedded, along with mysql-embedded-devel for devel support files. diff --git a/sources b/sources index bd67edf..4f20ef3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7164483a5ffb8f7aa59b761c13cdbd6e mysql-5.0.67.tar.gz +b658e58887a74dce65224ae0fc8ee06a mysql-5.1.30.tar.gz From a7a5ccf313f1d6d43d2b70fef65d9a344926e9aa Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 16 Jan 2009 00:52:53 +0000 Subject: [PATCH 126/616] Update status of patched-around problem, add link to upstream bug report. --- mysql-plugin-bug.patch | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 2c3e348..fe83cda 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -1,5 +1,10 @@ -The plugins stuff has got obscure problems on PPC64 ... figure it out -another day ... +The plugin_load test fails on PPC64 (maybe not always, but at least in the +several tries I've made so far). It doesn't fail on x86, x86_64, or ppc, +at least not in a similarly small number of tries. My best theory at the +moment is that the test itself is wrong. Reported upstream at +http://bugs.mysql.com/bug.php?id=42144 + +For the moment, just disable this test. diff -Naur mysql-5.1.30.orig/mysql-test/t/disabled.def mysql-5.1.30/mysql-test/t/disabled.def From 01fe2f40c55e189c7dd956434cacdbd1d9199d38 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 16 Jan 2009 00:56:11 +0000 Subject: [PATCH 127/616] Remove no-longer-accepted configure arguments; add CFLAGS/LDFLAGS to link test so that it works when CFLAGS is different from platform default (eg ppc64 vs ppc) --- mysql.spec | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mysql.spec b/mysql.spec index b415d59..27a4a1b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -197,15 +197,12 @@ export CFLAGS CXXFLAGS --with-ssl=/usr \ --without-debug \ --enable-shared \ - --with-bench \ --with-embedded-server \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-big-tables \ - --with-innodb \ - --with-ndbcluster \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ @@ -222,12 +219,13 @@ make %{?_smp_mflags} mkdir libmysqld/work cd libmysqld/work ar -x ../libmysqld.a -gcc -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 *.o \ +gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \ + *.o \ -lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc # this is to check that we built a complete library cp %{SOURCE9} . ln -s libmysqld.so.0.0.1 libmysqld.so.0 -gcc -I../../include mysql-embedded-check.c libmysqld.so.0 +gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 LD_LIBRARY_PATH=. ldd ./a.out cd ../.. From 20f4d060624ed19d69bc7c214ae71f6c0dd6cadf Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 22 Jan 2009 15:24:17 +0000 Subject: [PATCH 128/616] Add note that this rebuild also fixes openssl dependency --- mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 27a4a1b..25f3d98 100644 --- a/mysql.spec +++ b/mysql.spec @@ -631,9 +631,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Wed Jan 14 2009 Tom Lane 5.1.30-1 +* Thu Jan 22 2009 Tom Lane 5.1.30-1 - Update to MySQL 5.1.30. Note that this includes an ABI break for libmysqlclient (it's now got .so major version 16). +- This also updates mysql for new openssl build * Wed Oct 1 2008 Tom Lane 5.0.67-2 - Build the "embedded server" library, and package it in a new sub-RPM From 72104158d692885f75bb8d0de7576fc725a991df Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 22 Jan 2009 18:00:24 +0000 Subject: [PATCH 129/616] Fix mistaken removal of --with-innodb and --with-ndbcluster --- mysql.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 25f3d98..8f8346d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.30 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -203,6 +203,8 @@ export CFLAGS CXXFLAGS --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-big-tables \ + --with-innodb \ + --with-ndbcluster \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ @@ -631,6 +633,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 22 2009 Tom Lane 5.1.30-2 +- hm, apparently --with-innodb and --with-ndbcluster are still needed + even though no longer documented ... + * Thu Jan 22 2009 Tom Lane 5.1.30-1 - Update to MySQL 5.1.30. Note that this includes an ABI break for libmysqlclient (it's now got .so major version 16). From 0fe8ff9055a17349327034f42815d0ad835b8667 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 13 Feb 2009 21:22:22 +0000 Subject: [PATCH 130/616] Update to MySQL 5.1.31 --- .cvsignore | 2 +- mysql-bogus-ssl-test.patch | 34 -- mysql-expired-certs.patch | 754 +++++++++++++++++++++++++++++++++++++ mysql-plugin-bug.patch | 14 +- mysql.spec | 11 +- sources | 2 +- 6 files changed, 771 insertions(+), 46 deletions(-) delete mode 100644 mysql-bogus-ssl-test.patch create mode 100644 mysql-expired-certs.patch diff --git a/.cvsignore b/.cvsignore index 995a7dc..760c255 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.30.tar.gz +mysql-5.1.31.tar.gz diff --git a/mysql-bogus-ssl-test.patch b/mysql-bogus-ssl-test.patch deleted file mode 100644 index 79c6905..0000000 --- a/mysql-bogus-ssl-test.patch +++ /dev/null @@ -1,34 +0,0 @@ -AFAICT this test is simply guaranteed to fail if run with SSL connections -enabled. Remove the part that depends on the SSL connection history. - - -diff -Naur mysql-5.1.30.orig/mysql-test/r/openssl_1.result mysql-5.1.30/mysql-test/r/openssl_1.result ---- mysql-5.1.30.orig/mysql-test/r/openssl_1.result 2008-11-14 12:30:53.000000000 -0500 -+++ mysql-5.1.30/mysql-test/r/openssl_1.result 2009-01-13 12:57:01.000000000 -0500 -@@ -68,12 +68,10 @@ - CREATE TABLE thread_status - SELECT variable_name, variable_value - FROM information_schema.session_status --WHERE variable_name LIKE 'SSL_ACCEPTS' OR --variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; -+WHERE variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; - END$$ - SELECT variable_name, variable_value FROM thread_status; - variable_name variable_value --SSL_ACCEPTS 0 - SSL_CALLBACK_CACHE_HITS 0 - DROP TABLE thread_status; - SET GLOBAL event_scheduler=0; -diff -Naur mysql-5.1.30.orig/mysql-test/t/openssl_1.test mysql-5.1.30/mysql-test/t/openssl_1.test ---- mysql-5.1.30.orig/mysql-test/t/openssl_1.test 2008-11-14 12:30:15.000000000 -0500 -+++ mysql-5.1.30/mysql-test/t/openssl_1.test 2009-01-13 12:56:42.000000000 -0500 -@@ -136,8 +136,7 @@ - CREATE TABLE thread_status - SELECT variable_name, variable_value - FROM information_schema.session_status -- WHERE variable_name LIKE 'SSL_ACCEPTS' OR -- variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; -+ WHERE variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; - END$$ - - DELIMITER ;$$ diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch new file mode 100644 index 0000000..084cec3 --- /dev/null +++ b/mysql-expired-certs.patch @@ -0,0 +1,754 @@ +Replace expired SSL certificates so that the regression tests can be run +with SSL enabled. This shouldn't be needed anymore in 5.1.32 or later. + + +From: Date: January 28 2009 4:01pm +Subject: bzr commit into mysql-5.1-bugteam branch (joro:2752) +List-Archive: http://lists.mysql.com/commits/64313 +Message-Id: <200901281501.n0SF1gUk028353@magare.gmz> +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit + +#At file:///home/kgeorge/mysql/work/B42366-merge-5.1-bugteam/ based on revid:satya.bn@mysql.com + + 2752 Georgi Kodinov 2009-01-28 [merge] + merged bug 42366 to 5.1-bugteam +removed: + mysql-test/std_data/server-cert-des.pem + mysql-test/std_data/server-key-des.pem +modified: + mysql-test/r/openssl_1.result + mysql-test/std_data/cacert.pem + mysql-test/std_data/client-cert.pem + mysql-test/std_data/client-key.pem + mysql-test/std_data/server-cert.pem + mysql-test/std_data/server-key.pem + mysql-test/std_data/server8k-cert.pem + mysql-test/std_data/server8k-key.pem + mysql-test/t/openssl_1.test + +=== modified file 'mysql-test/r/openssl_1.result' +--- a/mysql-test/r/openssl_1.result 2008-11-18 16:45:44 +0000 ++++ b/mysql-test/r/openssl_1.result 2009-01-28 15:00:28 +0000 +@@ -3,8 +3,8 @@ create table t1(f1 int); + insert into t1 values (5); + grant select on test.* to ssl_user1@localhost require SSL; + grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; +-grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; +-grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; ++grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; + grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; + flush privileges; + connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); + +=== modified file 'mysql-test/std_data/cacert.pem' +--- a/mysql-test/std_data/cacert.pem 2007-07-30 19:45:06 +0000 ++++ b/mysql-test/std_data/cacert.pem 2009-01-28 15:00:28 +0000 +@@ -1,17 +1,17 @@ + -----BEGIN CERTIFICATE----- +-MIICrTCCAhagAwIBAgIJAIAO/Ybiptv1MA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV ++MIICrTCCAhagAwIBAgIJAJXpePU0UOTVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV + BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD +-VQQKEwhNeVNRTCBBQjAeFw0wNjA1MDMwODQ4NTRaFw0wOTAxMjcwODQ4NTRaMEQx ++VQQKEwhNeVNRTCBBQjAeFw0wOTAxMjgxMDQ5NDZaFw0xNDAxMjcxMDQ5NDZaMEQx + CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh + MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA +-+C46EQl1u7tQ6gb9eqc8V079gr8YmDPCEqtjO8bCIbchpjOpDITx0WZz36Sn9E72 +-GPJwNip4FxLaPRIA3xNQHM5cE5U53qznlRx1Fc4O3hcWCvyCqNDl/vzPAh3pI6Bl +-Ku9hfHXpp93W812smVPe9haShEXGgbEPYGzvOfVdu/MCAwEAAaOBpjCBozAdBgNV +-HQ4EFgQUjIy/6OCTmqtPHBFha6/qzVk3yTcwdAYDVR0jBG0wa4AUjIy/6OCTmqtP +-HBFha6/qzVk3yTehSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh +-MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAIAO/Ybiptv1 +-MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEA8lD9zyB820Oq1aj7ZafX +-De/hbdt9RIl2tzgw2K3r1KZGdXJVL0vSt5fZ51Nq9lg7OPJy3iXf+caBJEp0IJpB +-uf4Gfr6zfXw+UlY6ZthRtHQHoXKcbskECjH5/ps/Uaa+dpVQ9O+Ii1rPzmgo6ztM +-s+xZ46ESBt4WiHXm8kwbU9Y= ++4XQHAe5R1+TXC8noZtWf+d5E0v1C59FWpn9SWEUCBjE5UiIwuJvi4Y+7xWGOXLAI ++/JzJx5gNXLBiTsE/zh0uX9fKlajLhxB0GN+QU0ZlpQ1BeYipEcNXeI/7cT499f6v ++XWabnTflivdCgHSWUOQ20/Lzs6kP6/e6OoZd/DPSjPECAwEAAaOBpjCBozAdBgNV ++HQ4EFgQU8uLqVWWkmuKsnZf1RWz294wRrd8wdAYDVR0jBG0wa4AU8uLqVWWkmuKs ++nZf1RWz294wRrd+hSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh ++MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTV ++MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMMTE5sDN+Z0ZlV7KvH3g ++6+aKvql8dTpRT3hYukeQlWua0nq74WPGVw0c4e/M/vbiMwmJcCYpB9pd4+dHqzSw ++aPyoenjY6UF8n7B4quWy3SIUk2LSHeJLW+kzJn2afN9gvipFhdVh/uU2TIyLGOur ++Z/vmJX2W7hF1uqPnbfa8Lrw= + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/client-cert.pem' +--- a/mysql-test/std_data/client-cert.pem 2007-07-30 19:45:06 +0000 ++++ b/mysql-test/std_data/client-cert.pem 2009-01-28 15:00:28 +0000 +@@ -1,42 +1,55 @@ + Certificate: + Data: +- Version: 1 (0x0) +- Serial Number: 1 (0x1) +- Signature Algorithm: md5WithRSAEncryption ++ Version: 3 (0x2) ++ Serial Number: 3 (0x3) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: May 3 08:55:39 2006 GMT +- Not After : Jan 27 08:55:39 2009 GMT +- Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com ++ Not Before: Jan 28 11:04:39 2009 GMT ++ Not After : Jan 28 11:04:39 2010 GMT ++ Subject: C=SE, ST=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (512 bit) + Modulus (512 bit): +- 00:d8:db:68:28:49:84:4d:d6:0f:5c:bc:3d:9a:ab: +- 70:d5:3e:f5:b5:17:ba:ef:e1:f8:87:54:30:22:1f: +- 81:07:bf:f9:24:7f:8a:54:10:e9:5f:e6:99:50:04: +- d4:3b:55:a9:f1:52:ad:12:2b:5a:da:5c:be:8c:3e: +- 5b:9e:b0:5a:19 ++ 00:e1:52:30:2c:d9:be:64:28:91:5d:7a:fd:d9:e9: ++ 14:35:7a:d2:94:4e:91:46:e0:db:9f:6b:79:f4:4c: ++ ac:6e:07:61:34:86:74:62:a7:a8:44:af:fa:87:87: ++ a8:7d:42:61:ff:ab:50:d4:7b:bf:75:fa:d5:d5:b3: ++ 74:fb:56:1e:37 + Exponent: 65537 (0x10001) +- Signature Algorithm: md5WithRSAEncryption +- 07:57:bf:07:92:c2:8e:86:24:6b:0a:bf:e5:31:21:44:c3:60: +- 02:a6:ac:9e:f7:db:7a:6e:fc:4f:d4:7b:54:18:80:47:d2:4a: +- 63:0e:e3:f8:af:6e:58:e3:97:5a:2b:82:5d:76:20:d1:33:a0: +- f5:43:a1:d1:51:f4:ca:c8:b3:1a:66:4e:0e:55:df:d2:e8:fa: +- 83:18:42:f5:ec:66:40:f0:39:e8:f9:d7:cf:f6:dd:e4:7b:69: +- dd:0c:92:d8:52:95:43:6f:29:3d:f0:8d:4c:dd:52:ea:6b:a0: +- 39:0f:dc:59:a7:5c:37:6b:8b:05:44:b7:69:ea:a3:58:e0:4e: +- ce:d6 ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ 58:30:B5:9B:2C:05:94:06:BA:3D:3C:F0:B2:CD:1D:67:65:E3:7F:85 ++ X509v3 Authority Key Identifier: ++ keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:95:E9:78:F5:34:50:E4:D5 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ 05:19:e3:13:14:fc:c5:28:bf:69:f8:00:b3:25:cb:bd:ca:9f: ++ 2f:4c:b3:a8:04:11:f0:74:27:bd:82:2c:b4:49:9b:a7:59:f0: ++ f7:87:d1:e0:ba:99:a2:fe:4b:1d:10:6f:e4:a2:b3:cd:7f:8b: ++ 68:31:46:ee:cd:9e:e2:47:e1:4c:fa:74:d1:e2:8b:cc:a0:4b: ++ a8:24:d1:a4:c3:6b:2a:c6:28:cd:41:e0:06:48:e6:cf:f2:3c: ++ ca:37:95:d7:29:64:6b:91:91:83:e7:ac:c8:0b:87:bc:da:a6: ++ aa:f1:44:43:c8:74:7b:15:26:91:2e:03:c4:71:50:6c:f8:68: ++ dc:8c + -----BEGIN CERTIFICATE----- +-MIIB5jCCAU8CAQEwDQYJKoZIhvcNAQEEBQAwRDELMAkGA1UEBhMCU0UxEDAOBgNV +-BAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFC +-MB4XDTA2MDUwMzA4NTUzOVoXDTA5MDEyNzA4NTUzOVowdzELMAkGA1UEBhMCU0Ux +-EDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15 +-U1FMIEFCMTEwLwYJKoZIhvcNAQkBFiJhYnN0cmFjdC5teXNxbC5kZXZlbG9wZXJA +-bXlzcWwuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANjbaChJhE3WD1y8PZqr +-cNU+9bUXuu/h+IdUMCIfgQe/+SR/ilQQ6V/mmVAE1DtVqfFSrRIrWtpcvow+W56w +-WhkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAHV78HksKOhiRrCr/lMSFEw2ACpqye +-99t6bvxP1HtUGIBH0kpjDuP4r25Y45daK4JddiDRM6D1Q6HRUfTKyLMaZk4OVd/S +-6PqDGEL17GZA8Dno+dfP9t3ke2ndDJLYUpVDbyk98I1M3VLqa6A5D9xZp1w3a4sF +-RLdp6qNY4E7O1g== ++MIICfzCCAeigAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMDkwMTI4MTEwNDM5WhcNMTAwMTI4MTEwNDM5WjBlMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxMTAvBgkq ++hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wXDAN ++BgkqhkiG9w0BAQEFAANLADBIAkEA4VIwLNm+ZCiRXXr92ekUNXrSlE6RRuDbn2t5 ++9EysbgdhNIZ0YqeoRK/6h4eofUJh/6tQ1Hu/dfrV1bN0+1YeNwIDAQABo4GjMIGg ++MAkGA1UdEwQCMAAwHQYDVR0OBBYEFFgwtZssBZQGuj088LLNHWdl43+FMHQGA1Ud ++IwRtMGuAFPLi6lVlpJrirJ2X9UVs9veMEa3foUikRjBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUKCCQCV6Xj1NFDk1TANBgkqhkiG9w0BAQUFAAOBgQAFGeMTFPzFKL9p+ACz ++Jcu9yp8vTLOoBBHwdCe9giy0SZunWfD3h9Hgupmi/ksdEG/korPNf4toMUbuzZ7i ++R+FM+nTR4ovMoEuoJNGkw2sqxijNQeAGSObP8jzKN5XXKWRrkZGD56zIC4e82qaq ++8URDyHR7FSaRLgPEcVBs+GjcjA== + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/client-key.pem' +--- a/mysql-test/std_data/client-key.pem 2007-07-30 19:45:06 +0000 ++++ b/mysql-test/std_data/client-key.pem 2009-01-28 15:00:28 +0000 +@@ -1,9 +1,9 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIBOgIBAAJBANjbaChJhE3WD1y8PZqrcNU+9bUXuu/h+IdUMCIfgQe/+SR/ilQQ +-6V/mmVAE1DtVqfFSrRIrWtpcvow+W56wWhkCAwEAAQJAK27WT6tZylUjQomZNQ89 +-TBiOEbUtBbqWklQ0R8FTkH9uKV+8KYQ+k+tMkoAEGFfChB0YfofNQ2KZYWWw4yOB +-WQIhAPXXDQt73aou10s+cmKM3C3WzLmIZtrvm9wNBXWDGxgTAiEA4dG4cXrZfa1M +-TTbjzNU1/Jf50/M8SvZDWMPQWxJ8oqMCIH6zBpYUkHlVCsBMvsbrsc4uFfTIx7mu +-I7WVQGr/1sbhAiBf4uFirjtztgZUMx5/d3k5DH80lG/hlLf8FQl/4lWx6QIhAPHw +-CXfPUbUFl4r/i9Br5+exGol50qX4F3aP5Sh5EnZT ++MIIBOQIBAAJBAOFSMCzZvmQokV16/dnpFDV60pROkUbg259refRMrG4HYTSGdGKn ++qESv+oeHqH1CYf+rUNR7v3X61dWzdPtWHjcCAwEAAQJAXYooM8ZlcuEgj+VKU1ee ++qyEFIMqJJxqcMk+E/nWCM96WxCP3zHNSrqNfSpI3ld7QzMwhdRz+gFLxT2gGNpIw ++MQIhAPxzM/lDihe67X3ADYtDl9ZjA8Pm430x9sXlcxI17tCZAiEA5H1SyFl4mUee ++9VnfSC2XGW7lwz72ZygfVX+b7tLWF08CIEh40gzW5MfXM+KLxdea+fXjyursV5ZT ++R6KcMiKiNQLRAiAcmHqlzFzFgisotai2Fc6VRkXHG7gmzOSvBJt1VjmpDQIge6jf ++2N7whTdvC4ferB+zUlgWQdyvx1c3T4gnt6PYdaY= + -----END RSA PRIVATE KEY----- + +=== removed file 'mysql-test/std_data/server-cert-des.pem' +--- a/mysql-test/std_data/server-cert-des.pem 2006-09-25 14:44:15 +0000 ++++ b/mysql-test/std_data/server-cert-des.pem 1970-01-01 00:00:00 +0000 +@@ -1,16 +0,0 @@ +------BEGIN CERTIFICATE----- +-MIICljCCAX4CAQEwDQYJKoZIhvcNAQEEBQAwUTELMAkGA1UEBhMCU0UxEDAOBgNV +-BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMRAwDgYDVQQLEwdTdXBwb3J0 +-MQswCQYDVQQDEwJDQTAeFw0wNjA4MjgxMTA4NTlaFw0wOTA1MjQxMTA4NTlaMFUx +-CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBB +-QjEQMA4GA1UECxMHU3VwcG9ydDEPMA0GA1UEAxMGc2VydmVyMIGfMA0GCSqGSIb3 +-DQEBAQUAA4GNADCBiQKBgQDEiOVZcWYzZe7I8xhhUwCzvmkZifAXeMTH+8XKGLHX +-NWF3FLduAmeAad9oOZgBKb+oWTdRDWXqwu6nYYUBfrUpaY27/wLkgWRgewL3LZnw +-W2FjhNsjx3gI2NK+Pix47q9d+a+5T4AW5+lK499l0K0k2cvyFdIerhDW8R0t8Uru +-twIDAQABMA0GCSqGSIb3DQEBBAUAA4IBAQC2LQcqLg52RbelWrKutlJ5E6rzugnJ +-ZAlbN9sM98O2xFiIGDA3tb5j9LAEjE0E+RqdptEYnvy9b3szhLYXtIILZTkClf9r +-Uwu1nUYPTyp+9ZYCa4fovOU5h1Ogv+9UZPds/LPDwWEn8K+lvscB4X57wJyuoEck +-1Mu41OA6h77181MydSdgZo0oquJDWhdCsYHXVFVs0F6naMm2uPMCTDiQVlhHJuTO +-VQMNIwxRFtvsv2tpsXsaP/8sT32d5CFebfxxSVnqQvJ4ZdIrphl6L43XU01rsEcE +-K8KYujZQ6SKws+HVcGqsr7TPgJfJE6D+5RazvvIQISPvx4eduebqzqdC +------END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/server-cert.pem' +--- a/mysql-test/std_data/server-cert.pem 2007-07-30 19:45:06 +0000 ++++ b/mysql-test/std_data/server-cert.pem 2009-01-28 15:00:28 +0000 +@@ -1,42 +1,55 @@ + Certificate: + Data: +- Version: 1 (0x0) ++ Version: 3 (0x2) + Serial Number: 1 (0x1) +- Signature Algorithm: md5WithRSAEncryption ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: May 3 08:54:13 2006 GMT +- Not After : Jan 27 08:54:13 2009 GMT +- Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com ++ Not Before: Jan 28 10:55:13 2009 GMT ++ Not After : Jan 28 10:55:13 2010 GMT ++ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (512 bit) + Modulus (512 bit): +- 00:d9:fd:da:b3:fb:7c:e0:b0:03:be:97:c6:a4:36: +- ac:71:af:bb:2d:e5:84:ed:f3:8f:2b:eb:11:e5:aa: +- 66:ed:bf:62:6b:e3:ce:fa:80:ed:90:ff:b9:4a:39: +- 20:40:b6:f2:99:bf:2f:33:b5:f2:ec:3a:90:60:1d: +- 9e:94:7e:a4:1b ++ 00:b6:8f:e5:b7:b4:86:83:13:8a:f9:bf:63:cb:64: ++ 2d:b9:51:d1:de:ab:7b:45:1f:aa:b5:66:73:13:f9: ++ a6:07:d5:ba:7c:fa:92:bd:37:e2:ad:87:db:3e:b6: ++ 6a:12:64:f8:ee:17:e3:15:06:2f:a8:82:68:bf:57: ++ 8d:c3:04:98:27 + Exponent: 65537 (0x10001) +- Signature Algorithm: md5WithRSAEncryption +- de:5e:35:cd:7b:11:e6:7c:c5:7c:d6:27:4e:72:12:49:42:eb: +- 6f:2c:96:f3:f4:00:78:a7:4f:9f:2d:7b:d7:30:39:af:49:4d: +- df:b1:55:0d:30:be:23:6f:06:67:fd:dd:ba:98:66:36:c6:32: +- b7:ed:63:fc:aa:49:cd:4f:72:98:3b:13:0e:f6:28:d7:d4:eb: +- 04:6b:dc:e8:c7:04:80:92:e4:04:86:0b:ed:32:25:76:1d:a9: +- 5c:a9:2c:18:2c:bd:bc:15:ed:e1:76:96:4d:bb:0d:41:44:06: +- 2c:ad:45:bb:db:61:ad:17:11:cb:49:70:67:eb:c6:27:d3:91: +- c8:f2 ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ D9:9A:B8:5F:22:EA:04:10:C8:25:7D:82:57:E6:2E:FD:19:29:E7:DA ++ X509v3 Authority Key Identifier: ++ keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:95:E9:78:F5:34:50:E4:D5 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ 54:07:2d:21:0b:a5:af:3b:58:23:32:5e:56:7f:ab:58:63:48: ++ 91:aa:38:90:89:16:f9:cc:bf:a4:0e:78:2b:9f:c5:1b:58:a6: ++ e6:08:8f:2e:ae:97:03:21:9b:f1:cd:c0:26:8f:1d:d7:28:27: ++ a0:8e:81:09:1b:1c:0f:c9:a5:41:3a:2d:44:3f:9c:fa:87:ff: ++ c8:4c:2b:44:f7:1b:c1:3e:4f:01:7f:e9:26:cc:9f:1c:06:b5: ++ 0b:27:d1:10:90:be:93:0c:9c:e7:b0:d1:ea:27:99:4e:06:14: ++ 0c:7a:e9:c1:52:c5:33:68:bc:61:0d:db:81:3b:57:48:57:bf: ++ 42:9a + -----BEGIN CERTIFICATE----- +-MIIB+zCCAWQCAQEwDQYJKoZIhvcNAQEEBQAwRDELMAkGA1UEBhMCU0UxEDAOBgNV +-BAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFC +-MB4XDTA2MDUwMzA4NTQxM1oXDTA5MDEyNzA4NTQxM1owgYsxCzAJBgNVBAYTAlNF +-MRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhN +-eVNRTCBBQjESMBAGA1UEAxMJbG9jYWxob3N0MTEwLwYJKoZIhvcNAQkBFiJhYnN0 +-cmFjdC5teXNxbC5kZXZlbG9wZXJAbXlzcWwuY29tMFwwDQYJKoZIhvcNAQEBBQAD +-SwAwSAJBANn92rP7fOCwA76XxqQ2rHGvuy3lhO3zjyvrEeWqZu2/YmvjzvqA7ZD/ +-uUo5IEC28pm/LzO18uw6kGAdnpR+pBsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDe +-XjXNexHmfMV81idOchJJQutvLJbz9AB4p0+fLXvXMDmvSU3fsVUNML4jbwZn/d26 +-mGY2xjK37WP8qknNT3KYOxMO9ijX1OsEa9zoxwSAkuQEhgvtMiV2HalcqSwYLL28 +-Fe3hdpZNuw1BRAYsrUW722GtFxHLSXBn68Yn05HI8g== ++MIICkzCCAfygAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMDkwMTI4MTA1NTEzWhcNMTAwMTI4MTA1NTEzWjB5MQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV ++BAMTCWxvY2FsaG9zdDExMC8GCSqGSIb3DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2 ++ZWxvcGVyQG15c3FsLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC2j+W3tIaD ++E4r5v2PLZC25UdHeq3tFH6q1ZnMT+aYH1bp8+pK9N+Kth9s+tmoSZPjuF+MVBi+o ++gmi/V43DBJgnAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQU2Zq4XyLq ++BBDIJX2CV+Yu/Rkp59owdAYDVR0jBG0wa4AU8uLqVWWkmuKsnZf1RWz294wRrd+h ++SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV ++cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTVMA0GCSqGSIb3DQEB ++BQUAA4GBAFQHLSELpa87WCMyXlZ/q1hjSJGqOJCJFvnMv6QOeCufxRtYpuYIjy6u ++lwMhm/HNwCaPHdcoJ6COgQkbHA/JpUE6LUQ/nPqH/8hMK0T3G8E+TwF/6SbMnxwG ++tQsn0RCQvpMMnOew0eonmU4GFAx66cFSxTNovGEN24E7V0hXv0Ka + -----END CERTIFICATE----- + +=== removed file 'mysql-test/std_data/server-key-des.pem' +--- a/mysql-test/std_data/server-key-des.pem 2006-09-25 14:44:15 +0000 ++++ b/mysql-test/std_data/server-key-des.pem 1970-01-01 00:00:00 +0000 +@@ -1,18 +0,0 @@ +------BEGIN RSA PRIVATE KEY----- +-Proc-Type: 4,ENCRYPTED +-DEK-Info: DES-EDE3-CBC,D2BE7598C7E3BDA5 +- +-1W3qPgw5ut80OhaAGVZZe/tfFiBAlwpX1SohdApWj+QYP+dK/mdEBhgI3BXTFNLW +-pJqDTzGlKtft7hHN6QDFEdZMKxej5+2iLu14V62o+5yQgUoqswoXcmmqJCJ7AvyJ +-yMBmGAzxRFlQsT8lf6o5TS1/efBvjvWhh3NG2Zq2LpyhWRRqA3kNhzktzt2WjDZe +-ZkKmZJJnArr/Aw7jEBC4sH+nmgxoR18GzDddRG12hv1AWyHc3+VisTBpyNzeBy17 +-rxuQtqLzkAJmId723ddw83RVNSvBUUS3G0rx5O3HPobvZK89UqVxcXtIgc11WTVU +-N3DbcJq5it43Loo0W3gAngtESDm2E3rTadrmdUSDGv2wQ5dNFl6cQ1f397Sdd/WC +-A0grn1tKjJ6COp80Ymdyvn+stjv/+Rl1/KHSeG0lNeZxqjPPOJ7NHaKv7qjYsJ6W +-LT35/Xc3oCo5qk9FOlq/0tGjHxf6RcFr5U7k5ILKZs+RmvJ4Sv/VYShLfLTcfGbJ +-wBNfRKvcHZBQJQBb1+s/kRrjFFtvhrUwLz4+c9kskp+t4qRVYywUAnGGGsMs/GPm +-wYsLQZO6Bs5/taaVUyaJQW015J7FGGv+/7/A1dIhu73S/Xl/YcFbX/CMEVq2Lxxd +-hZdFIuaZ7LE+0MDQWsvYMYPDPLDH11diczb/jeKBdLPOzk/FUqVx3Fin1PpcaBxY +-b+7oZJhYdg/rAWDeQ/nji9qnEG8waK6x1hdkYPOrqqWQPfgM/LPsSrgWeuTSdx2B +-Ixi01UlBb5UP4K7UrjyddPobmcVjXaQLNe7zaq0+OS3UnIG85GtHrQ== +------END RSA PRIVATE KEY----- + +=== modified file 'mysql-test/std_data/server-key.pem' +--- a/mysql-test/std_data/server-key.pem 2007-07-30 19:45:06 +0000 ++++ b/mysql-test/std_data/server-key.pem 2009-01-28 15:00:28 +0000 +@@ -1,9 +1,9 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIBOgIBAAJBANn92rP7fOCwA76XxqQ2rHGvuy3lhO3zjyvrEeWqZu2/YmvjzvqA +-7ZD/uUo5IEC28pm/LzO18uw6kGAdnpR+pBsCAwEAAQJBAMieYdpmRoUaODf9wqh6 +-ULXH/sG8i1vaXRcUHcJ50oRVfVK8/tGGvUuTDu6MeINTdahNDlYfjwOjKWVXys1w +-h6ECIQDs6s7DfczK2bKCLt0zqg24mZL3rOpGmDU+TatwN1yVgwIhAOuMzdVTX39p +-328+5WxJvBOFfxmSmqdDhIFpnRMvgguJAiByvKjT/km+970+1OllyvaIL0AA2OpA +-tBgdC0p6tyUMdwIgKuHAWzTJbu28UolVxQgLaFZmVCZ/ZzIAfnrWsLZ2a1kCIBq/ +-ywJ2cpyFlgazu8AH6KCQa0ok9s70ElaB6FEC85Al ++MIIBOQIBAAJBALaP5be0hoMTivm/Y8tkLblR0d6re0UfqrVmcxP5pgfVunz6kr03 ++4q2H2z62ahJk+O4X4xUGL6iCaL9XjcMEmCcCAwEAAQJASA5VwgNb0CKHiPm0ntOk ++hG+54SRX3DmafEy6gRjZIl/bZ/asSLhXUZ+CeohyrQh7BZgYWvykd8pRISL9eKsU ++GQIhAOXkUrOtP/EtjyqNluEqZdG+RZi/7p61JS3Ce13Myu+LAiEAy0uMlV34AJpM ++b40FPKqlHxw8DD/Dt1iKhNVAg8+LDVUCIFjv7fbJDbW2VG63/Cj8CAwOukoP5rbL ++iaicVrHBKrllAiB9+MiaXeopZXNrxDS0jQFYr8Q9yt1aJVFgUkxx4Q9HKQIgZPs0 ++KlF3NNNWw78INaAEkyf0IEssnLMsuoCWw0DIOak= + -----END RSA PRIVATE KEY----- + +=== modified file 'mysql-test/std_data/server8k-cert.pem' +--- a/mysql-test/std_data/server8k-cert.pem 2007-07-17 18:43:56 +0000 ++++ b/mysql-test/std_data/server8k-cert.pem 2009-01-28 14:18:50 +0000 +@@ -1,51 +1,138 @@ ++Certificate: ++ Data: ++ Version: 3 (0x2) ++ Serial Number: 4 (0x4) ++ Signature Algorithm: sha1WithRSAEncryption ++ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB ++ Validity ++ Not Before: Jan 28 11:12:27 2009 GMT ++ Not After : Jan 28 11:12:27 2010 GMT ++ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server ++ Subject Public Key Info: ++ Public Key Algorithm: rsaEncryption ++ RSA Public Key: (8192 bit) ++ Modulus (8192 bit): ++ 00:c0:8f:22:03:24:59:67:46:14:d6:8f:60:09:58: ++ 06:07:45:f1:78:71:55:f1:ea:b9:30:8a:cd:c3:3c: ++ b9:bf:65:6e:18:ed:a0:b8:c9:19:56:6f:c4:90:19: ++ c8:65:09:db:ff:bf:82:a1:08:ad:01:4f:5a:a3:d4: ++ 3d:78:7e:4b:4a:01:a4:7d:e8:7b:05:3e:7d:d8:b9: ++ 55:58:60:d6:1c:ce:e8:32:62:2c:19:60:f3:ed:05: ++ 99:6d:c9:77:07:2e:11:6d:0b:9a:c7:68:38:46:e8: ++ fa:31:80:df:e8:79:f0:f1:fd:a9:94:c3:fa:0d:f5: ++ 78:ac:49:7e:d5:17:fd:e1:ee:44:f3:c7:0e:30:32: ++ 5d:a9:19:25:e4:bb:21:1d:fe:3c:84:48:40:f5:58: ++ f4:bf:13:8c:85:68:bb:ec:f5:dd:c6:38:d1:b0:77: ++ 1f:a6:8e:4f:8d:e2:6f:49:74:f5:3f:90:65:8e:99: ++ 1e:59:9c:1c:b5:26:24:c4:b1:de:1e:fb:96:65:c4: ++ 31:14:1a:53:b8:5e:62:8a:c7:04:f7:b4:36:a4:af: ++ 07:c8:27:06:ed:dd:e6:f4:8c:62:f1:65:40:d0:9f: ++ 9f:a9:14:c8:8e:8b:74:d6:67:5a:d0:c9:4d:35:a1: ++ d5:7b:39:3a:42:9f:e4:d0:f4:c6:0f:2e:42:30:4b: ++ 56:b2:3d:6d:8e:2d:58:c5:69:99:35:49:95:95:99: ++ b6:87:29:2b:32:d1:50:08:cd:25:14:48:6d:10:99: ++ 85:61:3c:41:26:21:55:cc:1f:cf:ad:b0:2f:b9:89: ++ d8:4e:a0:18:ff:75:1d:b6:97:7c:c5:fa:8b:dc:93: ++ 17:86:0a:64:d4:09:35:d5:83:34:6d:5c:6d:c6:8c: ++ cd:b9:ec:c2:93:c6:c1:b7:cc:04:6f:22:e0:07:bf: ++ e0:d9:9b:2f:d5:a0:50:cc:f9:f0:95:83:8f:f4:30: ++ 83:72:94:d7:b5:4b:da:cc:9f:54:3b:8d:78:77:0b: ++ 24:6c:0f:c2:96:61:96:2f:b8:5f:b5:7a:ab:7a:5b: ++ 97:7a:a9:ad:40:8b:f2:d6:c6:8d:81:d9:94:61:8f: ++ 9d:03:c5:b9:10:03:68:83:bf:04:81:cc:ac:bd:34: ++ 89:e8:d4:8d:43:20:e2:b6:a4:11:3d:15:2a:82:0c: ++ d6:3a:6a:8c:62:d4:93:bc:c3:80:bf:1b:b4:2b:0a: ++ 7a:34:f0:cd:1e:82:3f:25:0f:d1:04:a8:0a:05:19: ++ b0:d6:16:83:39:af:0b:45:7d:cb:14:7e:4d:aa:aa: ++ c2:39:a8:46:38:ab:bd:ab:2a:bd:34:43:7f:da:25: ++ de:2b:fb:69:3b:fe:3b:87:fd:98:94:76:4a:bf:04: ++ a3:31:e3:3a:ff:6f:04:fa:fa:24:e4:2a:89:e9:0e: ++ bf:44:4c:72:85:82:3c:89:4a:03:63:01:41:92:53: ++ d0:82:60:6e:d8:ff:8c:a2:b4:1a:3b:20:6d:ae:74: ++ 92:30:4e:48:e3:51:a6:cb:73:97:06:13:03:32:23: ++ 9b:7d:a2:c7:3a:a9:af:97:8c:51:ed:fe:fa:b4:b4: ++ 1a:a3:87:fc:cf:8c:8e:e6:80:15:03:fd:fe:7d:bd: ++ b1:76:f1:5f:b3:09:2b:4c:4d:a7:7c:b5:72:b1:d6: ++ db:38:c0:67:a4:54:bc:87:09:a5:39:ba:1a:7e:3f: ++ 74:60:ad:3d:4b:be:94:53:f3:64:16:c7:33:35:ec: ++ 41:00:95:b6:de:99:62:a2:7a:28:9a:45:4d:fa:cd: ++ a6:77:f6:de:58:72:50:c8:7d:69:38:db:07:04:84: ++ d8:4d:39:f7:50:13:43:ae:2d:af:45:a4:2a:39:56: ++ 3c:b8:b7:d8:26:a4:36:c9:23:aa:aa:b8:49:0b:21: ++ ba:9e:7a:2b:7f:4d:29:9f:0e:00:1e:b4:5e:a6:fa: ++ 49:fe:8d:e5:74:57:d8:ba:d9:92:2c:d2:ac:84:1d: ++ f2:a6:a4:44:1c:bf:88:41:32:7e:d1:c3:2f:6e:bc: ++ 0f:5d:19:a6:8f:74:2b:67:ba:dd:a9:db:68:b5:ce: ++ 9d:25:48:df:54:08:d0:1d:4f:2e:5b:24:bc:05:0f: ++ fb:58:46:fa:02:ca:53:93:29:cf:10:27:c2:a0:18: ++ d0:f5:d4:b9:3c:5e:df:8e:6c:f5:7c:b9:b4:54:cc: ++ 39:16:5d:3c:da:96:b3:c3:6c:d4:70:5d:d3:30:a7: ++ a6:bd:6f:dd:41:bc:a8:de:42:60:59:9a:85:25:0d: ++ 2a:45:c3:05:b4:6e:7a:4a:4d:ca:8c:0a:e5:6c:34: ++ bc:20:9b:6d:4a:ca:ca:b6:a6:3a:a0:db:c3:0e:20: ++ 1a:12:1b:77:dd:cb:1d:7f:c3:0d:0d:e7:c1:fd:96: ++ d2:c7:68:80:99:a0:d9:8a:33:21:a3:8b:a2:5a:a7: ++ 7e:27:06:02:7f:ed:60:11:37:34:54:17:7f:4d:90: ++ 14:1e:69:37:0d:ba:f0:2b:f0:a3:2d:62:79:c8:76: ++ a8:ea:c8:e7:3b:1f:c6:4f:c2:0c:d7:ac:f0:77:53: ++ 5d:f0:50:b4:df:9b:03:ca:4d:41:e1:18:b2:25:30: ++ 86:1d:63:e5:67:b1:53:cd:6b:4e:83:1a:b9:5e:2d: ++ 05:15:6b:d4:8e:b1:97:fc:31:03:57:cb:bf:27:7f: ++ cd:5f:27:7e:66:e7:3c:17:09:b6:11:2a:4f:33:cd: ++ eb:1a:d3:6f:d5:15:8b:8b:ce:68:6b:7e:9a:95:e5: ++ 74:7f:17:57:d9 ++ Exponent: 65537 (0x10001) ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ 58:12:24:59:A7:3C:29:15:89:5A:C2:12:DB:E7:A5:42:10:21:B7:BA ++ X509v3 Authority Key Identifier: ++ keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:95:E9:78:F5:34:50:E4:D5 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ cd:cb:5c:83:35:ea:cb:cb:c3:a8:c3:95:e2:e6:6f:4d:d8:e4: ++ ee:41:dd:3f:35:82:ac:2f:fd:63:89:4f:3a:19:d7:81:75:b3: ++ a3:fc:36:b2:12:d5:c6:56:bc:13:60:37:33:6e:a0:d8:ae:7c: ++ 88:f9:4b:ee:7b:1f:c8:f0:56:19:07:4d:bb:45:52:1c:78:81: ++ 07:7c:13:86:b8:86:70:85:e4:71:25:58:78:d1:be:de:22:82: ++ 6d:1a:4b:06:ac:f0:e8:50:87:c7:69:64:c2:61:43:cd:96:06: ++ a6:7e:09:a9:02:01:2a:a2:40:f3:cd:10:80:48:d0:34:55:40: ++ b9:ce + -----BEGIN CERTIFICATE----- +-MIIJHDCCBQQCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV +-BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw +-CQYDVQQDEwJDQTAeFw0wNzA3MTMwNzU2MjVaFw0xMDA0MDgwNzU2MjVaMFoxCzAJ +-BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRkwFwYDVQQKFBBNeVNRTCAgIAog +-ICAgIEFCMQ0wCwYDVQQLEwRUZXN0MQ8wDQYDVQQDEwZzZXJ2ZXIwggQiMA0GCSqG +-SIb3DQEBAQUAA4IEDwAwggQKAoIEAQDUFlh/3mwov5YaICFXOdJXgHV/uDkTjXB6 +-9oxlipshQaYPX8LDT5vhI3gPciS1Z1sRE2dTcC4Mk2K4LDUIjp3WkeTfFAHZPV3E +-Y+3OH/ftH4N6SEIBTKE4EY6ah0nJtU98M0JhxOh5zHje6zQp1SkBnhEOQYexYRqj +-OtGloZ9RyF0iFAXcyu2Ap14u37l5Yla0cyPzvZqP4mFYlcXwaRfAacJmqMM1vuQv +-Fx1JITUTBugMF3VGZ1F0tw63EIUH/FW/WWncPqvG18na40qlv9ZkBw0FhZeKS8cK +-JIY5y4J30jn/eV8p1lTO7K+ASTuGZWmdRDgjUG0Y9OGuKsPPoaE6ml0HTnMBsBSQ +-fXUq9XkwGt8DTgPioAKHBHjLbILEy4FMYWrlTZlPTzNqyhayec/2T15oDladNSt7 +-JpDLpX70UECXFhdEGxsGxtXdKbIBvNm2yT4X2nxW9ItsECjSSgD+94TgGoa8QKDw +-rpmgq+Wqpm54CZ1vN1oqyMUw1sjNEX/iLByHAjSALby2Kffk5cl5mnsR6d/k4jsi +-c3Qsciwkd+rQt/8VMhS2ns3nkez/BK3FvQA2Ms8xJhFLfszVrBhnjcFRTNT2+/KM +-lr1oT5Q1XZKL7qVXTpabPL51JlVBL5CSHl1QRkffsqfqcgJkcHBq+kKjUiFs4lad +-hTrvNBCXYa5+NkA2QqIfdOpNwl62/gdE7/7zU1uh40vkVKyzL+APkLPywPEXBOpQ +-yIDNkgoXmS10+JMD44K7uZyUmxZL7W7Xbi30NuEFrVOzoUmVXhapPbpQnkQHxn8n +-tqKPYXdBcvXcCKyJ6i79H2Vk9fM6rBYiwNcE7QyWqfd2QMjzr76veF04sXkPR+tG +-5Y1lrF9Zp3vabFXQg2RJuGA3rV6MR2GFNXuChIYu410vhIhPNtmdKEVoIVZsFsug +-+dtn0PDCFrR8VEd/sshp0naNa9Ad1lY+marJkOJOVpPgCs2yJDPAUB/YdvSJ4avW +-6ZdvNTwhBL8fEJMS2DSqkaa6A3+i/SqITpU8ToJxsMGagBsLieXgvJALFysSRfR/ +-2dmEu9/J0PPc28inHXwjiLb99VKlkuEz8wX9UkuoqFl0pLa8jrlM8hzdPQ9QHb3k +-9c5knfgPCYkOIWwGXH+NwANHdQRK7CmGAFV24k9+P3q0g5ikabVHr+4ZQ3WPd+1H +-K0+Msbb/vv53vFJWa+pYeNeFcwNCyW2kJBTMiI6qmlL4IWCcX+QDzpRLalbAWWHj +-l5Zk39QEaCL024DYK948IDXCqDg6utEs7YnMdaIF0meYMKjehZFp0fVQ8e8Od+rp +-bbjdj/w60wMgBpSOeYxVrs3QKNZd/if4Az3LggoVHB09SjXKiWpvAgMBAAEwDQYJ +-KoZIhvcNAQEEBQADggQBABncOBW0wQwJdEB6W3d9CrhFp40q1OM54GPfX0/0aUfP +-aOQPxS1uCKcFhxAmR4OT9RiJx+0bhDctekkuMkj5yy3u0a/4PxHIhnVxXTyB0/Hj +-N1gLz6cQricunl6Q4Ldi54gR5/KUehKLBWnqsfxhgzWBHosvhlJC0xh/uio7JTqz +-ns60djyL7R4wGbSqiGdhT9L2HfpJo3dmmWLDxe02jaHkbL1Z6NQMxrRgs3+gctp/ +-Wd5UxNl4BHbNsSbzaK9V9gXUcj4TjZGGSqVki0+pEZ3dmksGZdoW9cSKtzKvgUQ6 +-vhhqO4dcopxkY2zYeVOpspgTm0XLZSbNPXv5rSFwa4cpWSfD7u8o8KhHvkkSMahw +-cMuH17W4voHHFDtWP8Oq9rA7uE/4/LKCl0JmJl2RWM+G6PMH8w4X4auHPssgRvb/ +-Ge1AvgqQJrvi7zWx3XYKKJ0ISBy7fi5Jo/wYgLagRYcG3mwdm1+gAdw+77C/ZGmG +-FbWFIPB1+Mc6azhhk9m/vqP7o/Wuncc99mp2zPMzdAEzuzp/IJ9UJNat0edA7jiC +-bQ7JSRJ1DSzdJZSWWHdardLNKipPfrEHVm7f5QvL5DQLnGpt+rCWL361KsGtvETC +-o+Ph7+kDJsJLokUYfs/BEZopzspNPy/NQ2ECwQp7T4Yq/PBE6Ce/dFaoZysMUOrG +-TcALtJW6It98dRmTJPiqjlrlHNTrfoV3Aiy+tK4rpyGuApSHc+1Y+t7YvWotRlQ4 +-GEboBqR8evjDPJ1xAaUZqwLkebf3mlpl4MzHM9uNWBkQdJilkQs/IrAaApG3Ayt0 +-nIymNHmDslBEdrRGmT4aNWAWYvVYzyKDy3H0fzYdWwuA9goJUL4tj3eMJa8pgEU/ +-rG3HfflVi+xuwm1UnLXPSIE8hixgV8ebnwcCnEjlUBvwpl7f5Ub40jKcdycdGvVu +-gcTUzuRl1+Ikfk/MXKPbdi4A5Pjtz6AG4Ez9q5j7X77JqskTI5Z/f1RPiKwFBJHg +-cN4+BPnEuSWGcjiNDOfQxhk5exlWRf/gpEhnQpGHe3a7tZgfxHUb/pWU9BYpf8OH +-vtV3WSDXlUqsEEH6/bmvj8lmFWJLmeZv+qLy1wHxcXR9/GJ6TwCF8niQIl3MrBAL +-sKPLft1drmpqdIQpZQIJxtN/AQuD9mxEdW7XA6rkvFySKcswJpS1QjkSWpafCBWE +-wu+SPxZL8oFrnNMTU3JloUjcRp70FkNXLLm/Dy+MjW2qFBtIoBgNptVGp94L1uZS +-amd2XJMcOQ+X9fcH3wAdM3IHGn3NiLf6eTW92JNNA0IN6aNtyVaJKmFJ1JfXOl9r +-ujr4SorRSesaerjIcuzW1u1YE5RlgeI4kizV2/D5kYc= ++MIIGJTCCBY6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMDkwMTI4MTExMjI3WhcNMTAwMTI4MTExMjI3WjBDMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV ++BAMTBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMCPIgMk ++WWdGFNaPYAlYBgdF8XhxVfHquTCKzcM8ub9lbhjtoLjJGVZvxJAZyGUJ2/+/gqEI ++rQFPWqPUPXh+S0oBpH3oewU+fdi5VVhg1hzO6DJiLBlg8+0FmW3JdwcuEW0Lmsdo ++OEbo+jGA3+h58PH9qZTD+g31eKxJftUX/eHuRPPHDjAyXakZJeS7IR3+PIRIQPVY ++9L8TjIVou+z13cY40bB3H6aOT43ib0l09T+QZY6ZHlmcHLUmJMSx3h77lmXEMRQa ++U7heYorHBPe0NqSvB8gnBu3d5vSMYvFlQNCfn6kUyI6LdNZnWtDJTTWh1Xs5OkKf ++5ND0xg8uQjBLVrI9bY4tWMVpmTVJlZWZtocpKzLRUAjNJRRIbRCZhWE8QSYhVcwf ++z62wL7mJ2E6gGP91HbaXfMX6i9yTF4YKZNQJNdWDNG1cbcaMzbnswpPGwbfMBG8i ++4Ae/4NmbL9WgUMz58JWDj/Qwg3KU17VL2syfVDuNeHcLJGwPwpZhli+4X7V6q3pb ++l3qprUCL8tbGjYHZlGGPnQPFuRADaIO/BIHMrL00iejUjUMg4rakET0VKoIM1jpq ++jGLUk7zDgL8btCsKejTwzR6CPyUP0QSoCgUZsNYWgzmvC0V9yxR+TaqqwjmoRjir ++vasqvTRDf9ol3iv7aTv+O4f9mJR2Sr8EozHjOv9vBPr6JOQqiekOv0RMcoWCPIlK ++A2MBQZJT0IJgbtj/jKK0Gjsgba50kjBOSONRpstzlwYTAzIjm32ixzqpr5eMUe3+ +++rS0GqOH/M+MjuaAFQP9/n29sXbxX7MJK0xNp3y1crHW2zjAZ6RUvIcJpTm6Gn4/ ++dGCtPUu+lFPzZBbHMzXsQQCVtt6ZYqJ6KJpFTfrNpnf23lhyUMh9aTjbBwSE2E05 ++91ATQ64tr0WkKjlWPLi32CakNskjqqq4SQshup56K39NKZ8OAB60Xqb6Sf6N5XRX ++2LrZkizSrIQd8qakRBy/iEEyftHDL268D10Zpo90K2e63anbaLXOnSVI31QI0B1P ++LlskvAUP+1hG+gLKU5MpzxAnwqAY0PXUuTxe345s9Xy5tFTMORZdPNqWs8Ns1HBd ++0zCnpr1v3UG8qN5CYFmahSUNKkXDBbRuekpNyowK5Ww0vCCbbUrKyramOqDbww4g ++GhIbd93LHX/DDQ3nwf2W0sdogJmg2YozIaOLolqnficGAn/tYBE3NFQXf02QFB5p ++Nw268Cvwoy1iech2qOrI5zsfxk/CDNes8HdTXfBQtN+bA8pNQeEYsiUwhh1j5Wex ++U81rToMauV4tBRVr1I6xl/wxA1fLvyd/zV8nfmbnPBcJthEqTzPN6xrTb9UVi4vO ++aGt+mpXldH8XV9kCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0GA1UdDgQWBBRYEiRZ ++pzwpFYlawhLb56VCECG3ujB0BgNVHSMEbTBrgBTy4upVZaSa4qydl/VFbPb3jBGt ++36FIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcT ++B1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAlel49TRQ5NUwDQYJKoZIhvcN ++AQEFBQADgYEAzctcgzXqy8vDqMOV4uZvTdjk7kHdPzWCrC/9Y4lPOhnXgXWzo/w2 ++shLVxla8E2A3M26g2K58iPlL7nsfyPBWGQdNu0VSHHiBB3wThriGcIXkcSVYeNG+ ++3iKCbRpLBqzw6FCHx2lkwmFDzZYGpn4JqQIBKqJA880QgEjQNFVAuc4= + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/server8k-key.pem' +--- a/mysql-test/std_data/server8k-key.pem 2007-07-17 18:43:56 +0000 ++++ b/mysql-test/std_data/server8k-key.pem 2009-01-28 14:18:50 +0000 +@@ -1,99 +1,99 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIISKQIBAAKCBAEA1BZYf95sKL+WGiAhVznSV4B1f7g5E41wevaMZYqbIUGmD1/C +-w0+b4SN4D3IktWdbERNnU3AuDJNiuCw1CI6d1pHk3xQB2T1dxGPtzh/37R+DekhC +-AUyhOBGOmodJybVPfDNCYcToecx43us0KdUpAZ4RDkGHsWEaozrRpaGfUchdIhQF +-3MrtgKdeLt+5eWJWtHMj872aj+JhWJXF8GkXwGnCZqjDNb7kLxcdSSE1EwboDBd1 +-RmdRdLcOtxCFB/xVv1lp3D6rxtfJ2uNKpb/WZAcNBYWXikvHCiSGOcuCd9I5/3lf +-KdZUzuyvgEk7hmVpnUQ4I1BtGPThrirDz6GhOppdB05zAbAUkH11KvV5MBrfA04D +-4qAChwR4y2yCxMuBTGFq5U2ZT08zasoWsnnP9k9eaA5WnTUreyaQy6V+9FBAlxYX +-RBsbBsbV3SmyAbzZtsk+F9p8VvSLbBAo0koA/veE4BqGvECg8K6ZoKvlqqZueAmd +-bzdaKsjFMNbIzRF/4iwchwI0gC28tin35OXJeZp7Eenf5OI7InN0LHIsJHfq0Lf/ +-FTIUtp7N55Hs/wStxb0ANjLPMSYRS37M1awYZ43BUUzU9vvyjJa9aE+UNV2Si+6l +-V06Wmzy+dSZVQS+Qkh5dUEZH37Kn6nICZHBwavpCo1IhbOJWnYU67zQQl2GufjZA +-NkKiH3TqTcJetv4HRO/+81NboeNL5FSssy/gD5Cz8sDxFwTqUMiAzZIKF5ktdPiT +-A+OCu7mclJsWS+1u124t9DbhBa1Ts6FJlV4WqT26UJ5EB8Z/J7aij2F3QXL13Ais +-ieou/R9lZPXzOqwWIsDXBO0Mlqn3dkDI86++r3hdOLF5D0frRuWNZaxfWad72mxV +-0INkSbhgN61ejEdhhTV7goSGLuNdL4SITzbZnShFaCFWbBbLoPnbZ9Dwwha0fFRH +-f7LIadJ2jWvQHdZWPpmqyZDiTlaT4ArNsiQzwFAf2Hb0ieGr1umXbzU8IQS/HxCT +-Etg0qpGmugN/ov0qiE6VPE6CcbDBmoAbC4nl4LyQCxcrEkX0f9nZhLvfydDz3NvI +-px18I4i2/fVSpZLhM/MF/VJLqKhZdKS2vI65TPIc3T0PUB295PXOZJ34DwmJDiFs +-Blx/jcADR3UESuwphgBVduJPfj96tIOYpGm1R6/uGUN1j3ftRytPjLG2/77+d7xS +-VmvqWHjXhXMDQsltpCQUzIiOqppS+CFgnF/kA86US2pWwFlh45eWZN/UBGgi9NuA +-2CvePCA1wqg4OrrRLO2JzHWiBdJnmDCo3oWRadH1UPHvDnfq6W243Y/8OtMDIAaU +-jnmMVa7N0CjWXf4n+AM9y4IKFRwdPUo1yolqbwIDAQABAoIEAQDI3u0tFoWMRoCs +-99d8HLiaxYED2YC9gw2QeKjal198LQhRsVnu0ByMLKLOxkX8RgrbbmxDe5Exufob +-A0urciAOFJoXqoRhs5x2oEqgGmkf/ePx0jQptOFREFfnBdGeKIpC0O3DWdLxYPbt +-8wixwkEXVhVDUk9pcdXf2ZqsbBpQRBvpZdtzlgNCAcLTVHP/gmMqf48CkIauVjPq +-ydfybibfx4sm3hodclH+Q78p/zicb8MhiKo7ZymgCKz4N743pQe1tsLrpbPeHY0C +-MpoFyF8O2Bq+KxwvELxQX+19GcHVKJhj3hmCr4wde9BxCWtGTBCusekVkVvy8iQ5 +-aCmTIrtonMEVZXjJlXK0sw5hBKOmKx0jrSVC5FfgdxzNVlW4fCJXLEEpMsjMc+/3 +-6bV7jqGn4N5CYaopNS2ccxdaucE3NjcmofahO6bqUTJHSPFecfYmCA42W2m+ldjj +-HZ78JLkyw03nT1hjPjbwHf5FTem1KfKg4EJrDprowMT7D8KZb0SW+z59pFoDOM5u +-Heu6sOSUtvpvKfozdw2ZAI58dhpW4/jTfCEtewRhPqE3/V7g3haTnQFxU8gm/a4N +-uefZTCjFE16QWNuvnUrJWw/DlvOBY8GjpQCWY0mDeBHPNOI0Xg9oRTgOCrKSLUya +-YSbg6BmhSKwKsYQU834jrQb3fXFlXZVIxlcNePOWMhHFFNAHucHF822Nr7u/3FOT +-twcbBIOXCGfDT6ed8d4dNum1L7k9Blju16CWkfuciL8PGXY4mGAmF4nZMXGZgK8B +-Cz9cxhtvFLe8gz5615DtBAsuVm7Q4AAHiULAMg6t6auyxCb8pXbAL0Ec5X4zS3+f +-I2riODYiyHCh/qTtjawOzUZZEtjZRMSDi+jk8wjjDdkFU8McOaYoPyqT3TDy2v6m +-NiPJs8GWQ2NCNo9CNoGbEIIFFP5iSz18XLFAOF+2dN/KHHl9nKyi7kOhYbbzoNku +-2wQV40yVsrS4E/hd/7+2IB2Muduxiu7NxCUSUXsw6p0hZTYMpIoduEfRSk1al0lS +-862GD8JgJ4RhJ0uIOTDJS52MQmO8zFIL86emdjjV1CzVvadYSQLTX7ZgR0i8g46A +-y0muCFAC8EJpnEtHzqtQ/z22zB8TCJShFuUK9KF6K8nOlbc6ShcUXU2J6r1sc8aT +-Dx0yzRXfCL15fpCJBP49EYaKhArTNmFRa2GaLiJP0OYkTrrwVOGuS6x2+kRVoP/8 +-BcNMZ5x8mXP1LgotHCztgMKX30Hn5CLxbH8QfcWKemGva1jBmhCWxS17Gh3Ld9T3 +-/WKkBa6JDq83rlO84x/iF3mB3tYkZPfcYtYURn5wwm/BmVV/9G1VwAatJdxmfCSy +-5JwC9WDBAoICAQD7xStPk3lq+qYHAtLZidujmzSNv7XG+E8UC9yvMRFuBwSM5ZE4 +-YGD2LDev2nghB+7OSR8KJIkxeaNjP91Zf3s8wjCuxLg/cLGI6mf6uWy9+zypFg3i +-J+ylDKa6NBuqYyY75W7Pj63xvGQlw5kX5+mB3ulQbActT4cUiVdEkyDytzubqLzY +-s15QGFrL9gqLow+C+7LKQKdeXq8OavFV1PWkMDAJUki6cIir9m+f5Mqr2cQCLKgx +-38aX8c9UWJv6pI5zQQuBjpaBOwz07WnyTXiFpc71x/8i85uLGDM0e3VO5ZPGeRBj +-jZ0ucHatOHJ3i/nPRG16rsPR+q97QiDHoLF0quHEG+ND+rwTBzNGIwzYRE16p1o3 +-UdzFk1RzlDCfOX7QgszCwK6mf8TbCK9f/FxJ5e6TCkt3iHXSrlLS4op6k9nEpKFH +-KHf4nPtCy9GriP+A8+dA6K1s+DgejoIojBMBTsnl4TEf+m8BaenTXGuU7KYyc8dR +-JqmpmDggDRT/ImHRhXirY7lIIYXnI7tRjN5gmnKpEiHScT1r848zpQ4gWH1Dx/ks +-mKT6NZ8nF45saQCYbKEYc0RH9Kw0O7vr1kVtNPc2dEZtVgt4bC5fnl7xX1/YTk3m +-+h1qfzbku/+MX5rRjHLR2l8a71UltlnnnpP5NKBBgtxll6aCIkk6CdH8YQKCAgEA +-16aBaVa0cOZmiOQwPQkpuXIbV7msz1ttWEAHElCy6waniOCON89PYFCb7F0NjV3Q +-i+pGaRgG1iZGbjjHwyqTrHhMloFm+IsSWZqOZzrHgSJgA4bgTJFgp+5b31sQXGfJ +-14QQSqMJLC61/M+CnrNtiuI3IVHx6BFRxI42uE7PfTyUMaFhL9F0/SLl0Mw0oMPj +-S5kmarduuKpRn1tN9WO+ywEvYwopvH3e9PBssZzPpttlLiE/Wulb0iEtlVXYB9DS +-Vzc94N2dzFMIvWUDF9BQ+IBMRzXRm15Psy6LfzoK+9S6w38Dx3BVV8ykSMKeW1UR +-ZwTajjdnIBLdE3onD5XMmrSOPw/WtV5zXEYY4DObhIPoN2iD8GJP0IubPb6fonH5 +-VHmuVZoXrroFEe7rdt2wgmBdPPl6fqvBKVhjJOpYQctrFLgWh63bXZKaBWqbQM9W +-fECq8We1VN3fzqwfwJQit3z5R/DjQNk8eQx7SnnkOzAY6ZgpysHCwaoPOnPVuiYF +-ZU0+X3iwfsdeefWmGEDIzoZk6nYaljs61lOhhEoWHngZHDkMOp5kg0n9f8BUP02+ +-WJ4QhwzZ73hr4FPBuPHHXECw9TCAgCBHBFrnrXg5QalDhRXz4F+3tCY7UUpD/ikZ +-L6Daxm5zGJ5u3rXs6WwKy2EHVVS9zfqs4Q259pQdWM8CggIAcIKpGzOVM+h033c0 +-kIBZxeAq+Rlt+0+lzxiJ80RjPJ8oOmqwndf8HKaf8BcaTfCEmGz20QqIwLJSAJ1e +-posgoINLTB6fE8Kho8TU2KeaX7/xWMKBS8p5pzxjGZ0Fq/wI7wVVoq3blsaQnout +-U5CQujfKXeUYw/fhLp09gWiadbzKh4I9ej2V7QclNDZsegBRg0BForqH0NVRN4k0 +-9h1n9IqQPOonlCGMAgTr1zFgHLIBNNOOClOtJOOruk6qzbRR8FFl+eyld3TTEnUy +-PlS+gkMZnJ5WduEUZnFXGKH/R1Wy1yPs3gA/+KvLbRdnl+LWrPgwUH3fBmwXlWZ0 +-zaETDEb9Ay1PP2bCO2KhWDt7lv3W/fPhjg0oMqbnO4tCuzTvZfC93l5K7h708skL +-zkIxX9i/57fXB8DUnmTGoHUaWzLNQ2IqrGj6TACjDDOXLCfZvl/AvTH9pk+6jHU0 +-1zfZmmECOpeK43Z/ussA8jI/5Vpn3u38aVh0w1RB6JjQBD/yJLaXuUekWgaZFzTR +-ldz014jNqp5uvONcBmzeVr7w9CV3PR4VTQed2i6yQ770J6A44uTQjOOd5OYDOohj +-Lz4e4nGj9BK8Eko8cAEwLAzS8tyjMT+08n5dPOVCu68DwVBMGE7CVONYUuoXS/YU +-cTxddiU9ZGk9Yq0FfOwjeys+SqECggIAdn3M2b6Egwx2Bn2ra74fKQBjub4SEBWi +-bT0xJYUl6jHL2E/alRvZ94gTRLqUebq0nkxpx9El4IFDbcjRKpG4dqnbG0+a7rIr +-sQRVfq8zc+cZbparpCa1P1CfNojo4n080KiF8xzGK3q3EGRM1zqr1AYcWLiX/PWX +-QjMKKhdTtvKUUvjjV8z1RSnpsOKjgDpiJ+XM0BJeSiV7l94pZc4axZyvFvI8oI9g +-9KEueCE7j+k5HTGziBZ1F26Xh1iVzSWWjcmSvH3I+L4fLUHVgz45X3HPd8lAlOgr +-Tr8icxPHeTwYKtcdknZMzmNpWXlmXbTOTRbDqCUVCvCSfOM/lzauJ8tR5aCkTx/I +-r0js3jQ9HYEFFXzeEjVSubob4L9fI3kQkLQTcIGsxZr8si/fPX7uP5UHZjuGbRee +-mUMxptUFDZHiEo5cAs0qna2x54v+JoxGbxtxUhez8R/Am+TDxaMfuEZ5Cmh31egH +-bFPJYtC68TKqXZ/4RqpUgukYWPvQ0emWSWU6AmdkQyT06nppeyYNsDz0MkgWr7l3 +-yNBHDVNP+Anxcip+Z68kd2cuXQWmxOnIzxR67FnJXeWDEM20whRHgI8jLHYsBTq3 +-CtOQPSaz/zosGXJIgF7Xp6riKPZvibW3Ww49Z47EuyBCtyirNk7hV4LG7sITUJyO +-ZVKPfcdAoM0CggIBANz3EBZGyt3af2UjFFKbazV01KcHF8OxqdQzsLqHCXWb98V6 +-PggQnrF76U7DvqOWho9djDBPrbQU55HG5nXq+eZKPwhsOdwQ8bxOhaVxQcATZOI7 +-FtJYnjM1/+zMzzS0iPR5DA2pbB3AKH2Z+wODmF23CK2XTwoJyPKxvlyGKrIqq3gN +-kOmocNu2Qm5bJf+D/hYPm5Ust2wzD52NnvJU536bZ0ZMo1/kaK2idqSAzqo4TkR1 +-j9U0fdW2rIBDo/qFmBBdJhYVjYLj4qR8CEEoIjshD4Nztf1xRM5C8irE/gJcT5+r +-4bPJJ5TjAtHxPiQqZruSprSEUbMsPqBap64ow0SmbNNWSgyaz2ha1rG0p52NBzH4 +-XM52LBqS9QHPHvB0ooYfBTfPpDM3CePuuNyzjPAw86ncUo38FKXuc2oViJJ6C5I7 +-v2sKhLK5gu3uPBB2ludDEXSpWBqiraynolOT/o52r+taYp9YY2WU3GrhOiV/A1FV +-Nl118xiF6FOFpEeTbhHvy27A8kZEKXgeSs+f4aC0XG9kLVD1CiCbQiqHTDcDS4nV +-O1N1eQxhP81X+YKE4Lgufh07REqYVwtCj2lQcMp73WDyfBLKTEFlmHusoqmT5JCH +-X0BWNjk5Dn1g5h63/lQb+EjNRILBhDFYhrDRDQtw5p0/7IY3AcNKDUHv+XGn ++MIISKAIBAAKCBAEAwI8iAyRZZ0YU1o9gCVgGB0XxeHFV8eq5MIrNwzy5v2VuGO2g ++uMkZVm/EkBnIZQnb/7+CoQitAU9ao9Q9eH5LSgGkfeh7BT592LlVWGDWHM7oMmIs ++GWDz7QWZbcl3By4RbQuax2g4Ruj6MYDf6Hnw8f2plMP6DfV4rEl+1Rf94e5E88cO ++MDJdqRkl5LshHf48hEhA9Vj0vxOMhWi77PXdxjjRsHcfpo5PjeJvSXT1P5Bljpke ++WZwctSYkxLHeHvuWZcQxFBpTuF5iiscE97Q2pK8HyCcG7d3m9Ixi8WVA0J+fqRTI ++jot01mda0MlNNaHVezk6Qp/k0PTGDy5CMEtWsj1tji1YxWmZNUmVlZm2hykrMtFQ ++CM0lFEhtEJmFYTxBJiFVzB/PrbAvuYnYTqAY/3Udtpd8xfqL3JMXhgpk1Ak11YM0 ++bVxtxozNuezCk8bBt8wEbyLgB7/g2Zsv1aBQzPnwlYOP9DCDcpTXtUvazJ9UO414 ++dwskbA/ClmGWL7hftXqreluXeqmtQIvy1saNgdmUYY+dA8W5EANog78EgcysvTSJ ++6NSNQyDitqQRPRUqggzWOmqMYtSTvMOAvxu0Kwp6NPDNHoI/JQ/RBKgKBRmw1haD ++Oa8LRX3LFH5NqqrCOahGOKu9qyq9NEN/2iXeK/tpO/47h/2YlHZKvwSjMeM6/28E +++vok5CqJ6Q6/RExyhYI8iUoDYwFBklPQgmBu2P+MorQaOyBtrnSSME5I41Gmy3OX ++BhMDMiObfaLHOqmvl4xR7f76tLQao4f8z4yO5oAVA/3+fb2xdvFfswkrTE2nfLVy ++sdbbOMBnpFS8hwmlOboafj90YK09S76UU/NkFsczNexBAJW23plionoomkVN+s2m ++d/beWHJQyH1pONsHBITYTTn3UBNDri2vRaQqOVY8uLfYJqQ2ySOqqrhJCyG6nnor ++f00pnw4AHrRepvpJ/o3ldFfYutmSLNKshB3ypqREHL+IQTJ+0cMvbrwPXRmmj3Qr ++Z7rdqdtotc6dJUjfVAjQHU8uWyS8BQ/7WEb6AspTkynPECfCoBjQ9dS5PF7fjmz1 ++fLm0VMw5Fl082pazw2zUcF3TMKemvW/dQbyo3kJgWZqFJQ0qRcMFtG56Sk3KjArl ++bDS8IJttSsrKtqY6oNvDDiAaEht33csdf8MNDefB/ZbSx2iAmaDZijMho4uiWqd+ ++JwYCf+1gETc0VBd/TZAUHmk3DbrwK/CjLWJ5yHao6sjnOx/GT8IM16zwd1Nd8FC0 ++35sDyk1B4RiyJTCGHWPlZ7FTzWtOgxq5Xi0FFWvUjrGX/DEDV8u/J3/NXyd+Zuc8 ++Fwm2ESpPM83rGtNv1RWLi85oa36aleV0fxdX2QIDAQABAoIEAGv5ltvmLQ/A93xc ++x0BWEINRkBa2jrfpo9B5dOnuikWtza/Cx+X2NfQHFlSrcHhfr/JX5BsCb2iVo8DM ++CXAgeX1VMHS9wQXuxciaHCZDnqxmxUNDU3EjsYQOKLusRcdL6M+Zuz/ny+7PQ0Qw ++/N0yS46Wa9oUjon3RKRvTeSV4HIpFpcP3n/eLjDc/ielWuujnTGcBnjNWegvQROp ++5/7221YElGh8U84kbK2l9DtfjwoGoTv11lPvOxXE/scg6em7r9j+y3p3TMzMeDtT ++YBC6CA4Oa7GrWLJXROOKOQ0ddtvFNlUsZ02vG2QCbqU2y8mwJrJDI80qNbeKGel3 ++SfwkssedtGoOOYHxNczwpyVNHVHrHuMPBe75gbo+5pFxVJ5ymCGWfbLJf73oVsqW ++ZimoknvkozW4+mlVlcmo3X73IxTW2U4RlXthYdj9KXsBLRaKVCQJDc934eHWkXHU ++GF2U2NonqOVd8YG/FmZQ2ig6EcW97hC6wnsWT2Uc7UNAE2RM4bY0xCUHaQiKTrEs ++CI6wpbbTV+XhDu2HmL9G+fsuSIu0RoSOCmr5jQDAVwCNPXFgBgcIxbPZ/UCJ7RHj ++GrWPBldAN8ip4osiA+B3XwBabcvwXP2fgBP/eLWN1St3q3tw5xpHpqCuhNuPSqsc ++0ntz0oIdJyRR6fXWmRFex4kXQ597z5ozm0uyg8arV3HJFxDC3DI6kKfs86/oqMSW ++l+9g+d4x6VrUOCTDk0bjN3T8HQ9ASfy9JVacqk6yuXX7a0WeeT+x9JsvFAjg2KmG ++CJUtm5w5siItMDSPpcRE4hlfgh+M7ZKS3PFgH3vvwfPMbC/IC93QoSaFzRJMyobX ++ei6PNwqJvL+HADlMfLmehE2w9ycp4Fe1Gw/NW0Ed1S6Ajo45hgXQJSIrzla6eglg ++JPsPpQ8b+weZNQ8zvc0KvfRJmZKKEb9dHvFdi68I1kV8aapQsjrMOjwHC2pnCFh/ ++axkVc7a59fKUs7L6nAJhCs2sSixTorZz5PvJ6mXhWu72TCzu+kThNnEORrlWPHQl ++RFEAFpDDaGSzOMlhb92CWUMPyZU2qtzMzv4QGbP5YqTy121hXuT5OBKCF3eNLihV ++aje16k0RMFqqW3Olbm7Mp2P1C6DuwzsUJBnNwB5JzhC79Po88zNAl2d1h+qysKU1 ++jxF316nhpWJ2dGJ/sbJ+XpUMd/tVrNFQMA254GFfXycsfBoQOSY5d6GfRwKUDOou ++xImbIzGUAaIYdsGKDuKtqs5S21JMJjJ/J5CwjLu9tbpP/jsp22KHCpraHAQCupSp +++SFwWI7tRUXzREuxJixfUOnJFQYOATnMFvvtk1d6v4xoPYCVEhHq8gHqJkTyTi3Y ++BPVwT1UCggIBAOEy5gThTrEqSVFUcFJm9bJxtWZt/YhOIJWNNxeaxExHzy5hPpsw ++fZXtN4MUCeMSWI4isgIujmltwgOHMjQqsJPISn/1gVrqLmrZ2PnFzko/WA8rMUfd ++EUnOOpj2bKpChlRGHi76ZV4XGgoTXyO6mrVUcUgf3reSImdcdQ5IHa7J+lWhCQGb ++neZIyDOk41LX1TxjcYkY7vuUgmbBYComXPm2UaY3HN4E/3ElXntj6PrlozL33A56 ++z4UPfv2Vv9kl0ydkTJe/WcUN2htqLFCYygF2XLlwbv2SYDCT31PkJUORbScUM46A ++DOhlxvLBFcpF+l0RtCtvnrKyFy9yZJKrcLh9x6xVChZ/aQqSptSHjll5IEcVm54Y ++Z1TjWizCI4txnaBFV0UCLt1CZrllXnyIksZLS4/dVqUIKmkxPBQUpiD5dmgDcmPB ++/LdWzS6k4MH3J3Y3tu3MNPHDwgUtnifSZrsWSYPK0F8J0dMU/mLaS9eOplAH7Eo1 ++t7OrrImvitM6tUdErRYilIaoS/6YPmsPST5gY1N4n8Lf4sAE/tY8fwaWRpTVSrIw ++CoFwLtHESUOhqfuAOdr1EkDfo/RQTUVdnmWZ+D0j3du8MmsMje4x3f2CjBDXqArl ++gNnBQELDmrdif8KELNjlEpTIz0T7wEfquhVQ2dzhFpL7RLAgggD+oEBLAoICAQDa ++5WOWrAtaI1cC5C7LFxM2qXTHGRttfAtVxuigJapLqNASJuu59GGRxsCVwhthbNFh ++aCMSj+fZK7QNFkaoPwuZCEtzy0ErkVZzxYp3cP6b99mzGoCcuqiHiW5qhEkbxwdC ++f3YEsSGqE6j8TPW8feiziqo8q+QPSudI9ngkH1gjgbIrTu9iaxKJcF2CwBxe5tfB ++uFBNPIgJAaLPejRKQu17MAV2jDnBDIsZUZnm53IxQ+giIYUBay3cfC1KMJu/AnZ/ ++CxETjgqqnzqdFW0b0o49Q6YQa6QXAiSjs+lL/BhjbdA5quVdFmA3CoASFQbihYfM ++4vilUg7Y4wXfzS7DyBZdfppIn+HI8PPSMv/lfdsQXecl5TU1fBDPRWYPpTZqm1II ++HDCkmGRKet/j4/oobabNRrJ6PJcxNjqeMVv/a72pypDRPIXzNxLb1BkfWDGfgu2R ++YAdRNBSJSpdoHDZ+1VO2A+/8gz9Zuiv1WxoX7+u3pCAd+0vCfHiaXiFVc7fI8F+m ++rtDmN5p3DD9l1+/v7yd+7eUezwxYecElw5E5MyAJRTYGrim8g7XvF/u9rXvH09VP ++TeIE8oJ7XzrxCmtGIxlJs6FmgUbUblOyfPZDUqPnzlo8Ru1H2iKRo2FPiMfij8mh ++H3wgFTnZpGDQjw/xop51bxVueXrmOeguS0wmk/8Z6wKCAgEA0y+bPApadJRWS1nn ++N69sTBqMZfFR6Eh0ECts9criuTJCXZk+T+SqcTYTb+4T04k52Jk63Aby8HXIkuxv ++LTK3gu86xkLiOvMP8o43Bwz0BvbeSuNThLQQ6Wjn1NiLUSOvu0pCNgYFl7YMalR+ ++TRBK0y/MSDny762wa8Pt1iXVCDxLcY/h1UstSW8JqDzCHcdgJhCPwWTLgMxleZ1w ++5DYzzM2oRjq67I49Sssjjo1ESD2fzUVZbY7IG11L1t1fG3F4UiGiHlCJC92Qo1Lv ++Geoezj5EeHay70Mcx5F0xsRWGcZAWXx9WO5GrI39g1uFZro3Lp5SmsVDSwrt6UXa ++gR0bSThTTw40tqJnTE34+6ff25JWrbLay+jQxm+q+fxZvwQeMNW2IHYKot4JXWVt ++tVWSZzjnNJP6FCvTMfDFCYPPw26OFr7cwCaEKx7QriRazitMK3XWK6zsHalZwudj ++wK50PpCJAnno7KdVySCP6v4ST6Rr3POBKJq1ml2tITWo96u/ooUJ2I83QAyFr8zw ++BBBCvKdBnl6pW+P/TdmhbiEvcmrs59gaA34/6+DbV0Y++piZwswd9XML2iCgLZY8 ++0IcZ6uf4PsXq4Yzcrz0HwM+tAXcyiPzkjstpCUxMShALgFxzuWOgdwpjYXnrviJk ++0EyUkzbOCHBhbhcK9CyYHfyrJX8CggIAdWwgJC9eV5glkPN+9osGT4hPkI4zXGPy ++YK03FNGfrL59/37JbRNfU6fen3dk4LpTB4Gpbserg6AiEfMlLBPF0O3WK+OYrhpk ++2e3Z/YCr1Fb8fUt2Op0W0r4ycQlNfo0ho9ZkJNgwSuAJAm72U4rnTYjREYLT8DAq ++KcWtZRM7YLCuNvU9DPqLExcn0n/juDT1AIIy8XvLLamnAM15R2znn/F+vL00Lg7g ++f1B60pbNdwgKemSoyL4J+ADU+rtgkPJtRnFVU7walLSd6K4ZvZcRnmOvrZdQitcn ++eHmGaLBvFMdPr9+w8mKScnQ7h3eoHdOrqYkIAQcn18jQ2eFjeLrY5IaJlPPPVs+K ++u/OHuj/tR7ZXzMhL5skK62U6/qGNs1pmgts8bM8i3aFUgRdGlnFbzTpje5cNM+T3 ++RO0NgNL3ByIW1Wc2I+YjQ7FfWKUi2YKOljGBO1pIue09kyevRBKDuVwbXMW7MhLg ++idm5AaY+OGDeqbaoSUgkGgrsrr5IlI39gZi9jwG85qe3Spavq3ILKdfL1N8UrFGD ++/xIN0TVPtilede7vjKTK79tZu8JYaDWGc+g/mo/M1wmawLrqGNGzOwoVRruKl2In ++m9PU9wBZ1HuphDQ4DRdC/AU8qkGhmDOx4bDWEQ/R3KKFHNvhnamyfyR7xqt79gyS ++NGNIElnJuskCggIARFaK6yAVmaL74Qu3iiELj8FU9Cw8kPP5HeWUfGxCjlegdH3R ++FBtoQlDcQjYzO2uZR94Itg3yk3Dt+xbf7KxUsODwlgLj1UhV4eOXUDTosBFTrbTG ++v9gnRVH0Eyu9tF+CMUcCXhq6tnIrQOVv1ozcdXfIpk9gvIbfh4rlo6X0iM8Xge2t ++Vo7awq05t4wJBkO1xUtOaw9HabaszK/CU1iNV7cIBmaFF3AEP/KVfOs+kjubc9AF ++mqC+LVVClvJPNzm1YA5JZlxmQ0u1xXFqZv0OMoibgY+gSzaiAQz3eKB6vEv4Xv4U ++kaF9nEUTEjowpTE6uX9X0mGkXXT2wXmlTjosZFnxRX5IIrRNug30plRra5CNYPGp ++3uTmD/D7Nzi1iYitJg3yhrTQmCWiJY3x4Z0xophLkio2nlJ9WoTKf1AwTIATY7fa ++pX9bxEKldYXrYZNFlbqBPFgA/36v+JDVfMf2E9yRMCt0LAJ0HUM6zP0ngMv+S1TP ++Pu6X0WXR9JeuoaF4uJSty/xwdpST/CkHflFLVsk5n3tNQfWGjqoTSOJMgL9NRY9e ++Pc/OshHZHeCVFUSXtcf1pfmmBtT6FHX0L4cgVqA5xO8RYapnLDAFLXq2/dRv3NwW ++W9CzZcZKh7jmJw4iSIY5IU1+ThgugWoxlkcmjs/egjBclL8BBfqRIwx/vOE= + -----END RSA PRIVATE KEY----- + +=== modified file 'mysql-test/t/openssl_1.test' +--- a/mysql-test/t/openssl_1.test 2008-11-18 16:45:44 +0000 ++++ b/mysql-test/t/openssl_1.test 2009-01-28 15:00:28 +0000 +@@ -11,8 +11,8 @@ insert into t1 values (5); + + grant select on test.* to ssl_user1@localhost require SSL; + grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; +-grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; +-grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; ++grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; + grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; + flush privileges; + + diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index fe83cda..16a73dc 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,12 +7,12 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.30.orig/mysql-test/t/disabled.def mysql-5.1.30/mysql-test/t/disabled.def ---- mysql-5.1.30.orig/mysql-test/t/disabled.def 2008-11-14 12:30:00.000000000 -0500 -+++ mysql-5.1.30/mysql-test/t/disabled.def 2009-01-14 01:15:24.000000000 -0500 -@@ -15,3 +15,5 @@ - log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows - slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions - events-bugs.test : Bug #39848, Bug #39863, Bug #39569, Bug #37774 +diff -Naur mysql-5.1.31.orig/mysql-test/t/disabled.def mysql-5.1.31/mysql-test/t/disabled.def +--- mysql-5.1.31.orig/mysql-test/t/disabled.def 2009-01-19 12:11:19.000000000 -0500 ++++ mysql-5.1.31/mysql-test/t/disabled.def 2009-02-13 14:23:55.000000000 -0500 +@@ -14,3 +14,5 @@ + wait_timeout_func : Bug #41225 joro wait_timeout_func fails + kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. + query_cache_28249 : Bug#41098 Query Cache returns wrong result with concurrent insert +# +plugin_load : gives wrong answer on PPC64 diff --git a/mysql.spec b/mysql.spec index 8f8346d..b1c2d96 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.30 -Release: 2%{?dist} +Version: 5.1.31 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -29,7 +29,7 @@ Patch3: mysql-stack.patch Patch4: mysql-testing.patch Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch -Patch7: mysql-bogus-ssl-test.patch +Patch7: mysql-expired-certs.patch Patch8: mysql-plugin-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -519,6 +519,7 @@ fi %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbug.1* +%{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqld_multi.1* @@ -599,6 +600,7 @@ fi %{_mandir}/man1/ndb_waiter.1* %{_mandir}/man1/ndbd_redo_log_reader.1* %{_mandir}/man8/ndbd.8* +%{_mandir}/man8/ndbmtd.8* %{_mandir}/man8/ndb_mgmd.8* %files devel @@ -633,6 +635,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Feb 13 2009 Tom Lane 5.1.31-1 +- Update to MySQL 5.1.31. + * Thu Jan 22 2009 Tom Lane 5.1.30-2 - hm, apparently --with-innodb and --with-ndbcluster are still needed even though no longer documented ... diff --git a/sources b/sources index 4f20ef3..38b105a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b658e58887a74dce65224ae0fc8ee06a mysql-5.1.30.tar.gz +a077387e04ea24e67a93cff5f05bc3ba mysql-5.1.31.tar.gz From d51988505e52b21b6562579fc8b7ed16522aa122 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 14 Feb 2009 01:18:00 +0000 Subject: [PATCH 131/616] no-op whitespace change to test CVS commit mail sending --- mysql-expired-certs.patch | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch index 084cec3..0355e8d 100644 --- a/mysql-expired-certs.patch +++ b/mysql-expired-certs.patch @@ -2,6 +2,7 @@ Replace expired SSL certificates so that the regression tests can be run with SSL enabled. This shouldn't be needed anymore in 5.1.32 or later. + From: Date: January 28 2009 4:01pm Subject: bzr commit into mysql-5.1-bugteam branch (joro:2752) List-Archive: http://lists.mysql.com/commits/64313 From 7ac9dab9ffbaec55cce4f75aeabe0410c6b230bc Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 14 Feb 2009 02:25:50 +0000 Subject: [PATCH 132/616] no-op whitespace change to test CVS commit mail sending --- mysql-expired-certs.patch | 1 - 1 file changed, 1 deletion(-) diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch index 0355e8d..084cec3 100644 --- a/mysql-expired-certs.patch +++ b/mysql-expired-certs.patch @@ -2,7 +2,6 @@ Replace expired SSL certificates so that the regression tests can be run with SSL enabled. This shouldn't be needed anymore in 5.1.32 or later. - From: Date: January 28 2009 4:01pm Subject: bzr commit into mysql-5.1-bugteam branch (joro:2752) List-Archive: http://lists.mysql.com/commits/64313 From a18fe7694205eaeb7b82cc4d44ab9d49dcdda735 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Thu, 26 Feb 2009 03:36:50 +0000 Subject: [PATCH 133/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index b1c2d96..57eff0e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.31 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -635,6 +635,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Feb 25 2009 Fedora Release Engineering - 5.1.31-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Fri Feb 13 2009 Tom Lane 5.1.31-1 - Update to MySQL 5.1.31. From ed2c5b94988260b7ad83362fc788cff9772efd20 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 5 Mar 2009 02:50:07 +0000 Subject: [PATCH 134/616] Update to MySQL 5.1.32 --- .cvsignore | 2 +- filter-requires-mysql.sh | 2 +- mysql-errno.patch | 10 +- mysql-expired-certs.patch | 754 -------------------------------------- mysql-install-test.patch | 54 +-- mysql-plugin-bug.patch | 10 +- mysql-testing.patch | 35 +- mysql.spec | 13 +- sources | 2 +- 9 files changed, 39 insertions(+), 843 deletions(-) delete mode 100644 mysql-expired-certs.patch diff --git a/.cvsignore b/.cvsignore index 760c255..63a57e7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.31.tar.gz +mysql-5.1.32.tar.gz diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh index 4e75ff6..d435062 100755 --- a/filter-requires-mysql.sh +++ b/filter-requires-mysql.sh @@ -1,3 +1,3 @@ #!/bin/sh -/usr/lib/rpm/perl.req $* | grep -v -e "perl(th" -e "perl(lib::mtr" +/usr/lib/rpm/perl.req $* | grep -v -e "perl(th" -e "perl(lib::mtr" -e "perl(mtr" diff --git a/mysql-errno.patch b/mysql-errno.patch index 39377a9..30cb09b 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,10 +1,10 @@ "extern int errno" is just a really bad idea. -diff -Naur mysql-5.1.30.orig/include/my_sys.h mysql-5.1.30/include/my_sys.h ---- mysql-5.1.30.orig/include/my_sys.h 2008-11-14 11:34:35.000000000 -0500 -+++ mysql-5.1.30/include/my_sys.h 2009-01-13 11:04:15.000000000 -0500 -@@ -201,13 +201,8 @@ +diff -Naur mysql-5.1.32.orig/include/my_sys.h mysql-5.1.32/include/my_sys.h +--- mysql-5.1.32.orig/include/my_sys.h 2009-02-13 19:52:19.000000000 -0500 ++++ mysql-5.1.32/include/my_sys.h 2009-03-04 18:08:40.000000000 -0500 +@@ -199,13 +199,8 @@ #define my_afree(PTR) my_free(PTR,MYF(MY_WME)) #endif /* HAVE_ALLOCA */ @@ -16,6 +16,6 @@ diff -Naur mysql-5.1.30.orig/include/my_sys.h mysql-5.1.30/include/my_sys.h -#endif -#endif /* #ifndef errno */ + - extern char NEAR errbuff[NRERRBUFFS][ERRMSGSIZE]; extern char *home_dir; /* Home directory for user */ extern const char *my_progname; /* program-name (printed in errors) */ + extern char NEAR curr_dir[]; /* Current directory for user */ diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch deleted file mode 100644 index 084cec3..0000000 --- a/mysql-expired-certs.patch +++ /dev/null @@ -1,754 +0,0 @@ -Replace expired SSL certificates so that the regression tests can be run -with SSL enabled. This shouldn't be needed anymore in 5.1.32 or later. - - -From: Date: January 28 2009 4:01pm -Subject: bzr commit into mysql-5.1-bugteam branch (joro:2752) -List-Archive: http://lists.mysql.com/commits/64313 -Message-Id: <200901281501.n0SF1gUk028353@magare.gmz> -MIME-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Content-Transfer-Encoding: 7bit - -#At file:///home/kgeorge/mysql/work/B42366-merge-5.1-bugteam/ based on revid:satya.bn@mysql.com - - 2752 Georgi Kodinov 2009-01-28 [merge] - merged bug 42366 to 5.1-bugteam -removed: - mysql-test/std_data/server-cert-des.pem - mysql-test/std_data/server-key-des.pem -modified: - mysql-test/r/openssl_1.result - mysql-test/std_data/cacert.pem - mysql-test/std_data/client-cert.pem - mysql-test/std_data/client-key.pem - mysql-test/std_data/server-cert.pem - mysql-test/std_data/server-key.pem - mysql-test/std_data/server8k-cert.pem - mysql-test/std_data/server8k-key.pem - mysql-test/t/openssl_1.test - -=== modified file 'mysql-test/r/openssl_1.result' ---- a/mysql-test/r/openssl_1.result 2008-11-18 16:45:44 +0000 -+++ b/mysql-test/r/openssl_1.result 2009-01-28 15:00:28 +0000 -@@ -3,8 +3,8 @@ create table t1(f1 int); - insert into t1 values (5); - grant select on test.* to ssl_user1@localhost require SSL; - grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; --grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; --grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; -+grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); - -=== modified file 'mysql-test/std_data/cacert.pem' ---- a/mysql-test/std_data/cacert.pem 2007-07-30 19:45:06 +0000 -+++ b/mysql-test/std_data/cacert.pem 2009-01-28 15:00:28 +0000 -@@ -1,17 +1,17 @@ - -----BEGIN CERTIFICATE----- --MIICrTCCAhagAwIBAgIJAIAO/Ybiptv1MA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV -+MIICrTCCAhagAwIBAgIJAJXpePU0UOTVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV - BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD --VQQKEwhNeVNRTCBBQjAeFw0wNjA1MDMwODQ4NTRaFw0wOTAxMjcwODQ4NTRaMEQx -+VQQKEwhNeVNRTCBBQjAeFw0wOTAxMjgxMDQ5NDZaFw0xNDAxMjcxMDQ5NDZaMEQx - CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh - MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA --+C46EQl1u7tQ6gb9eqc8V079gr8YmDPCEqtjO8bCIbchpjOpDITx0WZz36Sn9E72 --GPJwNip4FxLaPRIA3xNQHM5cE5U53qznlRx1Fc4O3hcWCvyCqNDl/vzPAh3pI6Bl --Ku9hfHXpp93W812smVPe9haShEXGgbEPYGzvOfVdu/MCAwEAAaOBpjCBozAdBgNV --HQ4EFgQUjIy/6OCTmqtPHBFha6/qzVk3yTcwdAYDVR0jBG0wa4AUjIy/6OCTmqtP --HBFha6/qzVk3yTehSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh --MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAIAO/Ybiptv1 --MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEA8lD9zyB820Oq1aj7ZafX --De/hbdt9RIl2tzgw2K3r1KZGdXJVL0vSt5fZ51Nq9lg7OPJy3iXf+caBJEp0IJpB --uf4Gfr6zfXw+UlY6ZthRtHQHoXKcbskECjH5/ps/Uaa+dpVQ9O+Ii1rPzmgo6ztM --s+xZ46ESBt4WiHXm8kwbU9Y= -+4XQHAe5R1+TXC8noZtWf+d5E0v1C59FWpn9SWEUCBjE5UiIwuJvi4Y+7xWGOXLAI -+/JzJx5gNXLBiTsE/zh0uX9fKlajLhxB0GN+QU0ZlpQ1BeYipEcNXeI/7cT499f6v -+XWabnTflivdCgHSWUOQ20/Lzs6kP6/e6OoZd/DPSjPECAwEAAaOBpjCBozAdBgNV -+HQ4EFgQU8uLqVWWkmuKsnZf1RWz294wRrd8wdAYDVR0jBG0wa4AU8uLqVWWkmuKs -+nZf1RWz294wRrd+hSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh -+MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTV -+MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMMTE5sDN+Z0ZlV7KvH3g -+6+aKvql8dTpRT3hYukeQlWua0nq74WPGVw0c4e/M/vbiMwmJcCYpB9pd4+dHqzSw -+aPyoenjY6UF8n7B4quWy3SIUk2LSHeJLW+kzJn2afN9gvipFhdVh/uU2TIyLGOur -+Z/vmJX2W7hF1uqPnbfa8Lrw= - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/client-cert.pem' ---- a/mysql-test/std_data/client-cert.pem 2007-07-30 19:45:06 +0000 -+++ b/mysql-test/std_data/client-cert.pem 2009-01-28 15:00:28 +0000 -@@ -1,42 +1,55 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1 (0x1) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 3 (0x3) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: May 3 08:55:39 2006 GMT -- Not After : Jan 27 08:55:39 2009 GMT -- Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com -+ Not Before: Jan 28 11:04:39 2009 GMT -+ Not After : Jan 28 11:04:39 2010 GMT -+ Subject: C=SE, ST=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (512 bit) - Modulus (512 bit): -- 00:d8:db:68:28:49:84:4d:d6:0f:5c:bc:3d:9a:ab: -- 70:d5:3e:f5:b5:17:ba:ef:e1:f8:87:54:30:22:1f: -- 81:07:bf:f9:24:7f:8a:54:10:e9:5f:e6:99:50:04: -- d4:3b:55:a9:f1:52:ad:12:2b:5a:da:5c:be:8c:3e: -- 5b:9e:b0:5a:19 -+ 00:e1:52:30:2c:d9:be:64:28:91:5d:7a:fd:d9:e9: -+ 14:35:7a:d2:94:4e:91:46:e0:db:9f:6b:79:f4:4c: -+ ac:6e:07:61:34:86:74:62:a7:a8:44:af:fa:87:87: -+ a8:7d:42:61:ff:ab:50:d4:7b:bf:75:fa:d5:d5:b3: -+ 74:fb:56:1e:37 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 07:57:bf:07:92:c2:8e:86:24:6b:0a:bf:e5:31:21:44:c3:60: -- 02:a6:ac:9e:f7:db:7a:6e:fc:4f:d4:7b:54:18:80:47:d2:4a: -- 63:0e:e3:f8:af:6e:58:e3:97:5a:2b:82:5d:76:20:d1:33:a0: -- f5:43:a1:d1:51:f4:ca:c8:b3:1a:66:4e:0e:55:df:d2:e8:fa: -- 83:18:42:f5:ec:66:40:f0:39:e8:f9:d7:cf:f6:dd:e4:7b:69: -- dd:0c:92:d8:52:95:43:6f:29:3d:f0:8d:4c:dd:52:ea:6b:a0: -- 39:0f:dc:59:a7:5c:37:6b:8b:05:44:b7:69:ea:a3:58:e0:4e: -- ce:d6 -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 58:30:B5:9B:2C:05:94:06:BA:3D:3C:F0:B2:CD:1D:67:65:E3:7F:85 -+ X509v3 Authority Key Identifier: -+ keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:95:E9:78:F5:34:50:E4:D5 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 05:19:e3:13:14:fc:c5:28:bf:69:f8:00:b3:25:cb:bd:ca:9f: -+ 2f:4c:b3:a8:04:11:f0:74:27:bd:82:2c:b4:49:9b:a7:59:f0: -+ f7:87:d1:e0:ba:99:a2:fe:4b:1d:10:6f:e4:a2:b3:cd:7f:8b: -+ 68:31:46:ee:cd:9e:e2:47:e1:4c:fa:74:d1:e2:8b:cc:a0:4b: -+ a8:24:d1:a4:c3:6b:2a:c6:28:cd:41:e0:06:48:e6:cf:f2:3c: -+ ca:37:95:d7:29:64:6b:91:91:83:e7:ac:c8:0b:87:bc:da:a6: -+ aa:f1:44:43:c8:74:7b:15:26:91:2e:03:c4:71:50:6c:f8:68: -+ dc:8c - -----BEGIN CERTIFICATE----- --MIIB5jCCAU8CAQEwDQYJKoZIhvcNAQEEBQAwRDELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFC --MB4XDTA2MDUwMzA4NTUzOVoXDTA5MDEyNzA4NTUzOVowdzELMAkGA1UEBhMCU0Ux --EDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15 --U1FMIEFCMTEwLwYJKoZIhvcNAQkBFiJhYnN0cmFjdC5teXNxbC5kZXZlbG9wZXJA --bXlzcWwuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANjbaChJhE3WD1y8PZqr --cNU+9bUXuu/h+IdUMCIfgQe/+SR/ilQQ6V/mmVAE1DtVqfFSrRIrWtpcvow+W56w --WhkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAHV78HksKOhiRrCr/lMSFEw2ACpqye --99t6bvxP1HtUGIBH0kpjDuP4r25Y45daK4JddiDRM6D1Q6HRUfTKyLMaZk4OVd/S --6PqDGEL17GZA8Dno+dfP9t3ke2ndDJLYUpVDbyk98I1M3VLqa6A5D9xZp1w3a4sF --RLdp6qNY4E7O1g== -+MIICfzCCAeigAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMDkwMTI4MTEwNDM5WhcNMTAwMTI4MTEwNDM5WjBlMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxMTAvBgkq -+hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wXDAN -+BgkqhkiG9w0BAQEFAANLADBIAkEA4VIwLNm+ZCiRXXr92ekUNXrSlE6RRuDbn2t5 -+9EysbgdhNIZ0YqeoRK/6h4eofUJh/6tQ1Hu/dfrV1bN0+1YeNwIDAQABo4GjMIGg -+MAkGA1UdEwQCMAAwHQYDVR0OBBYEFFgwtZssBZQGuj088LLNHWdl43+FMHQGA1Ud -+IwRtMGuAFPLi6lVlpJrirJ2X9UVs9veMEa3foUikRjBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUKCCQCV6Xj1NFDk1TANBgkqhkiG9w0BAQUFAAOBgQAFGeMTFPzFKL9p+ACz -+Jcu9yp8vTLOoBBHwdCe9giy0SZunWfD3h9Hgupmi/ksdEG/korPNf4toMUbuzZ7i -+R+FM+nTR4ovMoEuoJNGkw2sqxijNQeAGSObP8jzKN5XXKWRrkZGD56zIC4e82qaq -+8URDyHR7FSaRLgPEcVBs+GjcjA== - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/client-key.pem' ---- a/mysql-test/std_data/client-key.pem 2007-07-30 19:45:06 +0000 -+++ b/mysql-test/std_data/client-key.pem 2009-01-28 15:00:28 +0000 -@@ -1,9 +1,9 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOgIBAAJBANjbaChJhE3WD1y8PZqrcNU+9bUXuu/h+IdUMCIfgQe/+SR/ilQQ --6V/mmVAE1DtVqfFSrRIrWtpcvow+W56wWhkCAwEAAQJAK27WT6tZylUjQomZNQ89 --TBiOEbUtBbqWklQ0R8FTkH9uKV+8KYQ+k+tMkoAEGFfChB0YfofNQ2KZYWWw4yOB --WQIhAPXXDQt73aou10s+cmKM3C3WzLmIZtrvm9wNBXWDGxgTAiEA4dG4cXrZfa1M --TTbjzNU1/Jf50/M8SvZDWMPQWxJ8oqMCIH6zBpYUkHlVCsBMvsbrsc4uFfTIx7mu --I7WVQGr/1sbhAiBf4uFirjtztgZUMx5/d3k5DH80lG/hlLf8FQl/4lWx6QIhAPHw --CXfPUbUFl4r/i9Br5+exGol50qX4F3aP5Sh5EnZT -+MIIBOQIBAAJBAOFSMCzZvmQokV16/dnpFDV60pROkUbg259refRMrG4HYTSGdGKn -+qESv+oeHqH1CYf+rUNR7v3X61dWzdPtWHjcCAwEAAQJAXYooM8ZlcuEgj+VKU1ee -+qyEFIMqJJxqcMk+E/nWCM96WxCP3zHNSrqNfSpI3ld7QzMwhdRz+gFLxT2gGNpIw -+MQIhAPxzM/lDihe67X3ADYtDl9ZjA8Pm430x9sXlcxI17tCZAiEA5H1SyFl4mUee -+9VnfSC2XGW7lwz72ZygfVX+b7tLWF08CIEh40gzW5MfXM+KLxdea+fXjyursV5ZT -+R6KcMiKiNQLRAiAcmHqlzFzFgisotai2Fc6VRkXHG7gmzOSvBJt1VjmpDQIge6jf -+2N7whTdvC4ferB+zUlgWQdyvx1c3T4gnt6PYdaY= - -----END RSA PRIVATE KEY----- - -=== removed file 'mysql-test/std_data/server-cert-des.pem' ---- a/mysql-test/std_data/server-cert-des.pem 2006-09-25 14:44:15 +0000 -+++ b/mysql-test/std_data/server-cert-des.pem 1970-01-01 00:00:00 +0000 -@@ -1,16 +0,0 @@ -------BEGIN CERTIFICATE----- --MIICljCCAX4CAQEwDQYJKoZIhvcNAQEEBQAwUTELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMRAwDgYDVQQLEwdTdXBwb3J0 --MQswCQYDVQQDEwJDQTAeFw0wNjA4MjgxMTA4NTlaFw0wOTA1MjQxMTA4NTlaMFUx --CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBB --QjEQMA4GA1UECxMHU3VwcG9ydDEPMA0GA1UEAxMGc2VydmVyMIGfMA0GCSqGSIb3 --DQEBAQUAA4GNADCBiQKBgQDEiOVZcWYzZe7I8xhhUwCzvmkZifAXeMTH+8XKGLHX --NWF3FLduAmeAad9oOZgBKb+oWTdRDWXqwu6nYYUBfrUpaY27/wLkgWRgewL3LZnw --W2FjhNsjx3gI2NK+Pix47q9d+a+5T4AW5+lK499l0K0k2cvyFdIerhDW8R0t8Uru --twIDAQABMA0GCSqGSIb3DQEBBAUAA4IBAQC2LQcqLg52RbelWrKutlJ5E6rzugnJ --ZAlbN9sM98O2xFiIGDA3tb5j9LAEjE0E+RqdptEYnvy9b3szhLYXtIILZTkClf9r --Uwu1nUYPTyp+9ZYCa4fovOU5h1Ogv+9UZPds/LPDwWEn8K+lvscB4X57wJyuoEck --1Mu41OA6h77181MydSdgZo0oquJDWhdCsYHXVFVs0F6naMm2uPMCTDiQVlhHJuTO --VQMNIwxRFtvsv2tpsXsaP/8sT32d5CFebfxxSVnqQvJ4ZdIrphl6L43XU01rsEcE --K8KYujZQ6SKws+HVcGqsr7TPgJfJE6D+5RazvvIQISPvx4eduebqzqdC -------END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/server-cert.pem' ---- a/mysql-test/std_data/server-cert.pem 2007-07-30 19:45:06 +0000 -+++ b/mysql-test/std_data/server-cert.pem 2009-01-28 15:00:28 +0000 -@@ -1,42 +1,55 @@ - Certificate: - Data: -- Version: 1 (0x0) -+ Version: 3 (0x2) - Serial Number: 1 (0x1) -- Signature Algorithm: md5WithRSAEncryption -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: May 3 08:54:13 2006 GMT -- Not After : Jan 27 08:54:13 2009 GMT -- Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com -+ Not Before: Jan 28 10:55:13 2009 GMT -+ Not After : Jan 28 10:55:13 2010 GMT -+ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (512 bit) - Modulus (512 bit): -- 00:d9:fd:da:b3:fb:7c:e0:b0:03:be:97:c6:a4:36: -- ac:71:af:bb:2d:e5:84:ed:f3:8f:2b:eb:11:e5:aa: -- 66:ed:bf:62:6b:e3:ce:fa:80:ed:90:ff:b9:4a:39: -- 20:40:b6:f2:99:bf:2f:33:b5:f2:ec:3a:90:60:1d: -- 9e:94:7e:a4:1b -+ 00:b6:8f:e5:b7:b4:86:83:13:8a:f9:bf:63:cb:64: -+ 2d:b9:51:d1:de:ab:7b:45:1f:aa:b5:66:73:13:f9: -+ a6:07:d5:ba:7c:fa:92:bd:37:e2:ad:87:db:3e:b6: -+ 6a:12:64:f8:ee:17:e3:15:06:2f:a8:82:68:bf:57: -+ 8d:c3:04:98:27 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- de:5e:35:cd:7b:11:e6:7c:c5:7c:d6:27:4e:72:12:49:42:eb: -- 6f:2c:96:f3:f4:00:78:a7:4f:9f:2d:7b:d7:30:39:af:49:4d: -- df:b1:55:0d:30:be:23:6f:06:67:fd:dd:ba:98:66:36:c6:32: -- b7:ed:63:fc:aa:49:cd:4f:72:98:3b:13:0e:f6:28:d7:d4:eb: -- 04:6b:dc:e8:c7:04:80:92:e4:04:86:0b:ed:32:25:76:1d:a9: -- 5c:a9:2c:18:2c:bd:bc:15:ed:e1:76:96:4d:bb:0d:41:44:06: -- 2c:ad:45:bb:db:61:ad:17:11:cb:49:70:67:eb:c6:27:d3:91: -- c8:f2 -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ D9:9A:B8:5F:22:EA:04:10:C8:25:7D:82:57:E6:2E:FD:19:29:E7:DA -+ X509v3 Authority Key Identifier: -+ keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:95:E9:78:F5:34:50:E4:D5 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 54:07:2d:21:0b:a5:af:3b:58:23:32:5e:56:7f:ab:58:63:48: -+ 91:aa:38:90:89:16:f9:cc:bf:a4:0e:78:2b:9f:c5:1b:58:a6: -+ e6:08:8f:2e:ae:97:03:21:9b:f1:cd:c0:26:8f:1d:d7:28:27: -+ a0:8e:81:09:1b:1c:0f:c9:a5:41:3a:2d:44:3f:9c:fa:87:ff: -+ c8:4c:2b:44:f7:1b:c1:3e:4f:01:7f:e9:26:cc:9f:1c:06:b5: -+ 0b:27:d1:10:90:be:93:0c:9c:e7:b0:d1:ea:27:99:4e:06:14: -+ 0c:7a:e9:c1:52:c5:33:68:bc:61:0d:db:81:3b:57:48:57:bf: -+ 42:9a - -----BEGIN CERTIFICATE----- --MIIB+zCCAWQCAQEwDQYJKoZIhvcNAQEEBQAwRDELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFC --MB4XDTA2MDUwMzA4NTQxM1oXDTA5MDEyNzA4NTQxM1owgYsxCzAJBgNVBAYTAlNF --MRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhN --eVNRTCBBQjESMBAGA1UEAxMJbG9jYWxob3N0MTEwLwYJKoZIhvcNAQkBFiJhYnN0 --cmFjdC5teXNxbC5kZXZlbG9wZXJAbXlzcWwuY29tMFwwDQYJKoZIhvcNAQEBBQAD --SwAwSAJBANn92rP7fOCwA76XxqQ2rHGvuy3lhO3zjyvrEeWqZu2/YmvjzvqA7ZD/ --uUo5IEC28pm/LzO18uw6kGAdnpR+pBsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDe --XjXNexHmfMV81idOchJJQutvLJbz9AB4p0+fLXvXMDmvSU3fsVUNML4jbwZn/d26 --mGY2xjK37WP8qknNT3KYOxMO9ijX1OsEa9zoxwSAkuQEhgvtMiV2HalcqSwYLL28 --Fe3hdpZNuw1BRAYsrUW722GtFxHLSXBn68Yn05HI8g== -+MIICkzCCAfygAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMDkwMTI4MTA1NTEzWhcNMTAwMTI4MTA1NTEzWjB5MQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV -+BAMTCWxvY2FsaG9zdDExMC8GCSqGSIb3DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2 -+ZWxvcGVyQG15c3FsLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC2j+W3tIaD -+E4r5v2PLZC25UdHeq3tFH6q1ZnMT+aYH1bp8+pK9N+Kth9s+tmoSZPjuF+MVBi+o -+gmi/V43DBJgnAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQU2Zq4XyLq -+BBDIJX2CV+Yu/Rkp59owdAYDVR0jBG0wa4AU8uLqVWWkmuKsnZf1RWz294wRrd+h -+SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV -+cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTVMA0GCSqGSIb3DQEB -+BQUAA4GBAFQHLSELpa87WCMyXlZ/q1hjSJGqOJCJFvnMv6QOeCufxRtYpuYIjy6u -+lwMhm/HNwCaPHdcoJ6COgQkbHA/JpUE6LUQ/nPqH/8hMK0T3G8E+TwF/6SbMnxwG -+tQsn0RCQvpMMnOew0eonmU4GFAx66cFSxTNovGEN24E7V0hXv0Ka - -----END CERTIFICATE----- - -=== removed file 'mysql-test/std_data/server-key-des.pem' ---- a/mysql-test/std_data/server-key-des.pem 2006-09-25 14:44:15 +0000 -+++ b/mysql-test/std_data/server-key-des.pem 1970-01-01 00:00:00 +0000 -@@ -1,18 +0,0 @@ -------BEGIN RSA PRIVATE KEY----- --Proc-Type: 4,ENCRYPTED --DEK-Info: DES-EDE3-CBC,D2BE7598C7E3BDA5 -- --1W3qPgw5ut80OhaAGVZZe/tfFiBAlwpX1SohdApWj+QYP+dK/mdEBhgI3BXTFNLW --pJqDTzGlKtft7hHN6QDFEdZMKxej5+2iLu14V62o+5yQgUoqswoXcmmqJCJ7AvyJ --yMBmGAzxRFlQsT8lf6o5TS1/efBvjvWhh3NG2Zq2LpyhWRRqA3kNhzktzt2WjDZe --ZkKmZJJnArr/Aw7jEBC4sH+nmgxoR18GzDddRG12hv1AWyHc3+VisTBpyNzeBy17 --rxuQtqLzkAJmId723ddw83RVNSvBUUS3G0rx5O3HPobvZK89UqVxcXtIgc11WTVU --N3DbcJq5it43Loo0W3gAngtESDm2E3rTadrmdUSDGv2wQ5dNFl6cQ1f397Sdd/WC --A0grn1tKjJ6COp80Ymdyvn+stjv/+Rl1/KHSeG0lNeZxqjPPOJ7NHaKv7qjYsJ6W --LT35/Xc3oCo5qk9FOlq/0tGjHxf6RcFr5U7k5ILKZs+RmvJ4Sv/VYShLfLTcfGbJ --wBNfRKvcHZBQJQBb1+s/kRrjFFtvhrUwLz4+c9kskp+t4qRVYywUAnGGGsMs/GPm --wYsLQZO6Bs5/taaVUyaJQW015J7FGGv+/7/A1dIhu73S/Xl/YcFbX/CMEVq2Lxxd --hZdFIuaZ7LE+0MDQWsvYMYPDPLDH11diczb/jeKBdLPOzk/FUqVx3Fin1PpcaBxY --b+7oZJhYdg/rAWDeQ/nji9qnEG8waK6x1hdkYPOrqqWQPfgM/LPsSrgWeuTSdx2B --Ixi01UlBb5UP4K7UrjyddPobmcVjXaQLNe7zaq0+OS3UnIG85GtHrQ== -------END RSA PRIVATE KEY----- - -=== modified file 'mysql-test/std_data/server-key.pem' ---- a/mysql-test/std_data/server-key.pem 2007-07-30 19:45:06 +0000 -+++ b/mysql-test/std_data/server-key.pem 2009-01-28 15:00:28 +0000 -@@ -1,9 +1,9 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOgIBAAJBANn92rP7fOCwA76XxqQ2rHGvuy3lhO3zjyvrEeWqZu2/YmvjzvqA --7ZD/uUo5IEC28pm/LzO18uw6kGAdnpR+pBsCAwEAAQJBAMieYdpmRoUaODf9wqh6 --ULXH/sG8i1vaXRcUHcJ50oRVfVK8/tGGvUuTDu6MeINTdahNDlYfjwOjKWVXys1w --h6ECIQDs6s7DfczK2bKCLt0zqg24mZL3rOpGmDU+TatwN1yVgwIhAOuMzdVTX39p --328+5WxJvBOFfxmSmqdDhIFpnRMvgguJAiByvKjT/km+970+1OllyvaIL0AA2OpA --tBgdC0p6tyUMdwIgKuHAWzTJbu28UolVxQgLaFZmVCZ/ZzIAfnrWsLZ2a1kCIBq/ --ywJ2cpyFlgazu8AH6KCQa0ok9s70ElaB6FEC85Al -+MIIBOQIBAAJBALaP5be0hoMTivm/Y8tkLblR0d6re0UfqrVmcxP5pgfVunz6kr03 -+4q2H2z62ahJk+O4X4xUGL6iCaL9XjcMEmCcCAwEAAQJASA5VwgNb0CKHiPm0ntOk -+hG+54SRX3DmafEy6gRjZIl/bZ/asSLhXUZ+CeohyrQh7BZgYWvykd8pRISL9eKsU -+GQIhAOXkUrOtP/EtjyqNluEqZdG+RZi/7p61JS3Ce13Myu+LAiEAy0uMlV34AJpM -+b40FPKqlHxw8DD/Dt1iKhNVAg8+LDVUCIFjv7fbJDbW2VG63/Cj8CAwOukoP5rbL -+iaicVrHBKrllAiB9+MiaXeopZXNrxDS0jQFYr8Q9yt1aJVFgUkxx4Q9HKQIgZPs0 -+KlF3NNNWw78INaAEkyf0IEssnLMsuoCWw0DIOak= - -----END RSA PRIVATE KEY----- - -=== modified file 'mysql-test/std_data/server8k-cert.pem' ---- a/mysql-test/std_data/server8k-cert.pem 2007-07-17 18:43:56 +0000 -+++ b/mysql-test/std_data/server8k-cert.pem 2009-01-28 14:18:50 +0000 -@@ -1,51 +1,138 @@ -+Certificate: -+ Data: -+ Version: 3 (0x2) -+ Serial Number: 4 (0x4) -+ Signature Algorithm: sha1WithRSAEncryption -+ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB -+ Validity -+ Not Before: Jan 28 11:12:27 2009 GMT -+ Not After : Jan 28 11:12:27 2010 GMT -+ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server -+ Subject Public Key Info: -+ Public Key Algorithm: rsaEncryption -+ RSA Public Key: (8192 bit) -+ Modulus (8192 bit): -+ 00:c0:8f:22:03:24:59:67:46:14:d6:8f:60:09:58: -+ 06:07:45:f1:78:71:55:f1:ea:b9:30:8a:cd:c3:3c: -+ b9:bf:65:6e:18:ed:a0:b8:c9:19:56:6f:c4:90:19: -+ c8:65:09:db:ff:bf:82:a1:08:ad:01:4f:5a:a3:d4: -+ 3d:78:7e:4b:4a:01:a4:7d:e8:7b:05:3e:7d:d8:b9: -+ 55:58:60:d6:1c:ce:e8:32:62:2c:19:60:f3:ed:05: -+ 99:6d:c9:77:07:2e:11:6d:0b:9a:c7:68:38:46:e8: -+ fa:31:80:df:e8:79:f0:f1:fd:a9:94:c3:fa:0d:f5: -+ 78:ac:49:7e:d5:17:fd:e1:ee:44:f3:c7:0e:30:32: -+ 5d:a9:19:25:e4:bb:21:1d:fe:3c:84:48:40:f5:58: -+ f4:bf:13:8c:85:68:bb:ec:f5:dd:c6:38:d1:b0:77: -+ 1f:a6:8e:4f:8d:e2:6f:49:74:f5:3f:90:65:8e:99: -+ 1e:59:9c:1c:b5:26:24:c4:b1:de:1e:fb:96:65:c4: -+ 31:14:1a:53:b8:5e:62:8a:c7:04:f7:b4:36:a4:af: -+ 07:c8:27:06:ed:dd:e6:f4:8c:62:f1:65:40:d0:9f: -+ 9f:a9:14:c8:8e:8b:74:d6:67:5a:d0:c9:4d:35:a1: -+ d5:7b:39:3a:42:9f:e4:d0:f4:c6:0f:2e:42:30:4b: -+ 56:b2:3d:6d:8e:2d:58:c5:69:99:35:49:95:95:99: -+ b6:87:29:2b:32:d1:50:08:cd:25:14:48:6d:10:99: -+ 85:61:3c:41:26:21:55:cc:1f:cf:ad:b0:2f:b9:89: -+ d8:4e:a0:18:ff:75:1d:b6:97:7c:c5:fa:8b:dc:93: -+ 17:86:0a:64:d4:09:35:d5:83:34:6d:5c:6d:c6:8c: -+ cd:b9:ec:c2:93:c6:c1:b7:cc:04:6f:22:e0:07:bf: -+ e0:d9:9b:2f:d5:a0:50:cc:f9:f0:95:83:8f:f4:30: -+ 83:72:94:d7:b5:4b:da:cc:9f:54:3b:8d:78:77:0b: -+ 24:6c:0f:c2:96:61:96:2f:b8:5f:b5:7a:ab:7a:5b: -+ 97:7a:a9:ad:40:8b:f2:d6:c6:8d:81:d9:94:61:8f: -+ 9d:03:c5:b9:10:03:68:83:bf:04:81:cc:ac:bd:34: -+ 89:e8:d4:8d:43:20:e2:b6:a4:11:3d:15:2a:82:0c: -+ d6:3a:6a:8c:62:d4:93:bc:c3:80:bf:1b:b4:2b:0a: -+ 7a:34:f0:cd:1e:82:3f:25:0f:d1:04:a8:0a:05:19: -+ b0:d6:16:83:39:af:0b:45:7d:cb:14:7e:4d:aa:aa: -+ c2:39:a8:46:38:ab:bd:ab:2a:bd:34:43:7f:da:25: -+ de:2b:fb:69:3b:fe:3b:87:fd:98:94:76:4a:bf:04: -+ a3:31:e3:3a:ff:6f:04:fa:fa:24:e4:2a:89:e9:0e: -+ bf:44:4c:72:85:82:3c:89:4a:03:63:01:41:92:53: -+ d0:82:60:6e:d8:ff:8c:a2:b4:1a:3b:20:6d:ae:74: -+ 92:30:4e:48:e3:51:a6:cb:73:97:06:13:03:32:23: -+ 9b:7d:a2:c7:3a:a9:af:97:8c:51:ed:fe:fa:b4:b4: -+ 1a:a3:87:fc:cf:8c:8e:e6:80:15:03:fd:fe:7d:bd: -+ b1:76:f1:5f:b3:09:2b:4c:4d:a7:7c:b5:72:b1:d6: -+ db:38:c0:67:a4:54:bc:87:09:a5:39:ba:1a:7e:3f: -+ 74:60:ad:3d:4b:be:94:53:f3:64:16:c7:33:35:ec: -+ 41:00:95:b6:de:99:62:a2:7a:28:9a:45:4d:fa:cd: -+ a6:77:f6:de:58:72:50:c8:7d:69:38:db:07:04:84: -+ d8:4d:39:f7:50:13:43:ae:2d:af:45:a4:2a:39:56: -+ 3c:b8:b7:d8:26:a4:36:c9:23:aa:aa:b8:49:0b:21: -+ ba:9e:7a:2b:7f:4d:29:9f:0e:00:1e:b4:5e:a6:fa: -+ 49:fe:8d:e5:74:57:d8:ba:d9:92:2c:d2:ac:84:1d: -+ f2:a6:a4:44:1c:bf:88:41:32:7e:d1:c3:2f:6e:bc: -+ 0f:5d:19:a6:8f:74:2b:67:ba:dd:a9:db:68:b5:ce: -+ 9d:25:48:df:54:08:d0:1d:4f:2e:5b:24:bc:05:0f: -+ fb:58:46:fa:02:ca:53:93:29:cf:10:27:c2:a0:18: -+ d0:f5:d4:b9:3c:5e:df:8e:6c:f5:7c:b9:b4:54:cc: -+ 39:16:5d:3c:da:96:b3:c3:6c:d4:70:5d:d3:30:a7: -+ a6:bd:6f:dd:41:bc:a8:de:42:60:59:9a:85:25:0d: -+ 2a:45:c3:05:b4:6e:7a:4a:4d:ca:8c:0a:e5:6c:34: -+ bc:20:9b:6d:4a:ca:ca:b6:a6:3a:a0:db:c3:0e:20: -+ 1a:12:1b:77:dd:cb:1d:7f:c3:0d:0d:e7:c1:fd:96: -+ d2:c7:68:80:99:a0:d9:8a:33:21:a3:8b:a2:5a:a7: -+ 7e:27:06:02:7f:ed:60:11:37:34:54:17:7f:4d:90: -+ 14:1e:69:37:0d:ba:f0:2b:f0:a3:2d:62:79:c8:76: -+ a8:ea:c8:e7:3b:1f:c6:4f:c2:0c:d7:ac:f0:77:53: -+ 5d:f0:50:b4:df:9b:03:ca:4d:41:e1:18:b2:25:30: -+ 86:1d:63:e5:67:b1:53:cd:6b:4e:83:1a:b9:5e:2d: -+ 05:15:6b:d4:8e:b1:97:fc:31:03:57:cb:bf:27:7f: -+ cd:5f:27:7e:66:e7:3c:17:09:b6:11:2a:4f:33:cd: -+ eb:1a:d3:6f:d5:15:8b:8b:ce:68:6b:7e:9a:95:e5: -+ 74:7f:17:57:d9 -+ Exponent: 65537 (0x10001) -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 58:12:24:59:A7:3C:29:15:89:5A:C2:12:DB:E7:A5:42:10:21:B7:BA -+ X509v3 Authority Key Identifier: -+ keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:95:E9:78:F5:34:50:E4:D5 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ cd:cb:5c:83:35:ea:cb:cb:c3:a8:c3:95:e2:e6:6f:4d:d8:e4: -+ ee:41:dd:3f:35:82:ac:2f:fd:63:89:4f:3a:19:d7:81:75:b3: -+ a3:fc:36:b2:12:d5:c6:56:bc:13:60:37:33:6e:a0:d8:ae:7c: -+ 88:f9:4b:ee:7b:1f:c8:f0:56:19:07:4d:bb:45:52:1c:78:81: -+ 07:7c:13:86:b8:86:70:85:e4:71:25:58:78:d1:be:de:22:82: -+ 6d:1a:4b:06:ac:f0:e8:50:87:c7:69:64:c2:61:43:cd:96:06: -+ a6:7e:09:a9:02:01:2a:a2:40:f3:cd:10:80:48:d0:34:55:40: -+ b9:ce - -----BEGIN CERTIFICATE----- --MIIJHDCCBQQCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw --CQYDVQQDEwJDQTAeFw0wNzA3MTMwNzU2MjVaFw0xMDA0MDgwNzU2MjVaMFoxCzAJ --BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRkwFwYDVQQKFBBNeVNRTCAgIAog --ICAgIEFCMQ0wCwYDVQQLEwRUZXN0MQ8wDQYDVQQDEwZzZXJ2ZXIwggQiMA0GCSqG --SIb3DQEBAQUAA4IEDwAwggQKAoIEAQDUFlh/3mwov5YaICFXOdJXgHV/uDkTjXB6 --9oxlipshQaYPX8LDT5vhI3gPciS1Z1sRE2dTcC4Mk2K4LDUIjp3WkeTfFAHZPV3E --Y+3OH/ftH4N6SEIBTKE4EY6ah0nJtU98M0JhxOh5zHje6zQp1SkBnhEOQYexYRqj --OtGloZ9RyF0iFAXcyu2Ap14u37l5Yla0cyPzvZqP4mFYlcXwaRfAacJmqMM1vuQv --Fx1JITUTBugMF3VGZ1F0tw63EIUH/FW/WWncPqvG18na40qlv9ZkBw0FhZeKS8cK --JIY5y4J30jn/eV8p1lTO7K+ASTuGZWmdRDgjUG0Y9OGuKsPPoaE6ml0HTnMBsBSQ --fXUq9XkwGt8DTgPioAKHBHjLbILEy4FMYWrlTZlPTzNqyhayec/2T15oDladNSt7 --JpDLpX70UECXFhdEGxsGxtXdKbIBvNm2yT4X2nxW9ItsECjSSgD+94TgGoa8QKDw --rpmgq+Wqpm54CZ1vN1oqyMUw1sjNEX/iLByHAjSALby2Kffk5cl5mnsR6d/k4jsi --c3Qsciwkd+rQt/8VMhS2ns3nkez/BK3FvQA2Ms8xJhFLfszVrBhnjcFRTNT2+/KM --lr1oT5Q1XZKL7qVXTpabPL51JlVBL5CSHl1QRkffsqfqcgJkcHBq+kKjUiFs4lad --hTrvNBCXYa5+NkA2QqIfdOpNwl62/gdE7/7zU1uh40vkVKyzL+APkLPywPEXBOpQ --yIDNkgoXmS10+JMD44K7uZyUmxZL7W7Xbi30NuEFrVOzoUmVXhapPbpQnkQHxn8n --tqKPYXdBcvXcCKyJ6i79H2Vk9fM6rBYiwNcE7QyWqfd2QMjzr76veF04sXkPR+tG --5Y1lrF9Zp3vabFXQg2RJuGA3rV6MR2GFNXuChIYu410vhIhPNtmdKEVoIVZsFsug --+dtn0PDCFrR8VEd/sshp0naNa9Ad1lY+marJkOJOVpPgCs2yJDPAUB/YdvSJ4avW --6ZdvNTwhBL8fEJMS2DSqkaa6A3+i/SqITpU8ToJxsMGagBsLieXgvJALFysSRfR/ --2dmEu9/J0PPc28inHXwjiLb99VKlkuEz8wX9UkuoqFl0pLa8jrlM8hzdPQ9QHb3k --9c5knfgPCYkOIWwGXH+NwANHdQRK7CmGAFV24k9+P3q0g5ikabVHr+4ZQ3WPd+1H --K0+Msbb/vv53vFJWa+pYeNeFcwNCyW2kJBTMiI6qmlL4IWCcX+QDzpRLalbAWWHj --l5Zk39QEaCL024DYK948IDXCqDg6utEs7YnMdaIF0meYMKjehZFp0fVQ8e8Od+rp --bbjdj/w60wMgBpSOeYxVrs3QKNZd/if4Az3LggoVHB09SjXKiWpvAgMBAAEwDQYJ --KoZIhvcNAQEEBQADggQBABncOBW0wQwJdEB6W3d9CrhFp40q1OM54GPfX0/0aUfP --aOQPxS1uCKcFhxAmR4OT9RiJx+0bhDctekkuMkj5yy3u0a/4PxHIhnVxXTyB0/Hj --N1gLz6cQricunl6Q4Ldi54gR5/KUehKLBWnqsfxhgzWBHosvhlJC0xh/uio7JTqz --ns60djyL7R4wGbSqiGdhT9L2HfpJo3dmmWLDxe02jaHkbL1Z6NQMxrRgs3+gctp/ --Wd5UxNl4BHbNsSbzaK9V9gXUcj4TjZGGSqVki0+pEZ3dmksGZdoW9cSKtzKvgUQ6 --vhhqO4dcopxkY2zYeVOpspgTm0XLZSbNPXv5rSFwa4cpWSfD7u8o8KhHvkkSMahw --cMuH17W4voHHFDtWP8Oq9rA7uE/4/LKCl0JmJl2RWM+G6PMH8w4X4auHPssgRvb/ --Ge1AvgqQJrvi7zWx3XYKKJ0ISBy7fi5Jo/wYgLagRYcG3mwdm1+gAdw+77C/ZGmG --FbWFIPB1+Mc6azhhk9m/vqP7o/Wuncc99mp2zPMzdAEzuzp/IJ9UJNat0edA7jiC --bQ7JSRJ1DSzdJZSWWHdardLNKipPfrEHVm7f5QvL5DQLnGpt+rCWL361KsGtvETC --o+Ph7+kDJsJLokUYfs/BEZopzspNPy/NQ2ECwQp7T4Yq/PBE6Ce/dFaoZysMUOrG --TcALtJW6It98dRmTJPiqjlrlHNTrfoV3Aiy+tK4rpyGuApSHc+1Y+t7YvWotRlQ4 --GEboBqR8evjDPJ1xAaUZqwLkebf3mlpl4MzHM9uNWBkQdJilkQs/IrAaApG3Ayt0 --nIymNHmDslBEdrRGmT4aNWAWYvVYzyKDy3H0fzYdWwuA9goJUL4tj3eMJa8pgEU/ --rG3HfflVi+xuwm1UnLXPSIE8hixgV8ebnwcCnEjlUBvwpl7f5Ub40jKcdycdGvVu --gcTUzuRl1+Ikfk/MXKPbdi4A5Pjtz6AG4Ez9q5j7X77JqskTI5Z/f1RPiKwFBJHg --cN4+BPnEuSWGcjiNDOfQxhk5exlWRf/gpEhnQpGHe3a7tZgfxHUb/pWU9BYpf8OH --vtV3WSDXlUqsEEH6/bmvj8lmFWJLmeZv+qLy1wHxcXR9/GJ6TwCF8niQIl3MrBAL --sKPLft1drmpqdIQpZQIJxtN/AQuD9mxEdW7XA6rkvFySKcswJpS1QjkSWpafCBWE --wu+SPxZL8oFrnNMTU3JloUjcRp70FkNXLLm/Dy+MjW2qFBtIoBgNptVGp94L1uZS --amd2XJMcOQ+X9fcH3wAdM3IHGn3NiLf6eTW92JNNA0IN6aNtyVaJKmFJ1JfXOl9r --ujr4SorRSesaerjIcuzW1u1YE5RlgeI4kizV2/D5kYc= -+MIIGJTCCBY6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMDkwMTI4MTExMjI3WhcNMTAwMTI4MTExMjI3WjBDMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV -+BAMTBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMCPIgMk -+WWdGFNaPYAlYBgdF8XhxVfHquTCKzcM8ub9lbhjtoLjJGVZvxJAZyGUJ2/+/gqEI -+rQFPWqPUPXh+S0oBpH3oewU+fdi5VVhg1hzO6DJiLBlg8+0FmW3JdwcuEW0Lmsdo -+OEbo+jGA3+h58PH9qZTD+g31eKxJftUX/eHuRPPHDjAyXakZJeS7IR3+PIRIQPVY -+9L8TjIVou+z13cY40bB3H6aOT43ib0l09T+QZY6ZHlmcHLUmJMSx3h77lmXEMRQa -+U7heYorHBPe0NqSvB8gnBu3d5vSMYvFlQNCfn6kUyI6LdNZnWtDJTTWh1Xs5OkKf -+5ND0xg8uQjBLVrI9bY4tWMVpmTVJlZWZtocpKzLRUAjNJRRIbRCZhWE8QSYhVcwf -+z62wL7mJ2E6gGP91HbaXfMX6i9yTF4YKZNQJNdWDNG1cbcaMzbnswpPGwbfMBG8i -+4Ae/4NmbL9WgUMz58JWDj/Qwg3KU17VL2syfVDuNeHcLJGwPwpZhli+4X7V6q3pb -+l3qprUCL8tbGjYHZlGGPnQPFuRADaIO/BIHMrL00iejUjUMg4rakET0VKoIM1jpq -+jGLUk7zDgL8btCsKejTwzR6CPyUP0QSoCgUZsNYWgzmvC0V9yxR+TaqqwjmoRjir -+vasqvTRDf9ol3iv7aTv+O4f9mJR2Sr8EozHjOv9vBPr6JOQqiekOv0RMcoWCPIlK -+A2MBQZJT0IJgbtj/jKK0Gjsgba50kjBOSONRpstzlwYTAzIjm32ixzqpr5eMUe3+ -++rS0GqOH/M+MjuaAFQP9/n29sXbxX7MJK0xNp3y1crHW2zjAZ6RUvIcJpTm6Gn4/ -+dGCtPUu+lFPzZBbHMzXsQQCVtt6ZYqJ6KJpFTfrNpnf23lhyUMh9aTjbBwSE2E05 -+91ATQ64tr0WkKjlWPLi32CakNskjqqq4SQshup56K39NKZ8OAB60Xqb6Sf6N5XRX -+2LrZkizSrIQd8qakRBy/iEEyftHDL268D10Zpo90K2e63anbaLXOnSVI31QI0B1P -+LlskvAUP+1hG+gLKU5MpzxAnwqAY0PXUuTxe345s9Xy5tFTMORZdPNqWs8Ns1HBd -+0zCnpr1v3UG8qN5CYFmahSUNKkXDBbRuekpNyowK5Ww0vCCbbUrKyramOqDbww4g -+GhIbd93LHX/DDQ3nwf2W0sdogJmg2YozIaOLolqnficGAn/tYBE3NFQXf02QFB5p -+Nw268Cvwoy1iech2qOrI5zsfxk/CDNes8HdTXfBQtN+bA8pNQeEYsiUwhh1j5Wex -+U81rToMauV4tBRVr1I6xl/wxA1fLvyd/zV8nfmbnPBcJthEqTzPN6xrTb9UVi4vO -+aGt+mpXldH8XV9kCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0GA1UdDgQWBBRYEiRZ -+pzwpFYlawhLb56VCECG3ujB0BgNVHSMEbTBrgBTy4upVZaSa4qydl/VFbPb3jBGt -+36FIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcT -+B1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAlel49TRQ5NUwDQYJKoZIhvcN -+AQEFBQADgYEAzctcgzXqy8vDqMOV4uZvTdjk7kHdPzWCrC/9Y4lPOhnXgXWzo/w2 -+shLVxla8E2A3M26g2K58iPlL7nsfyPBWGQdNu0VSHHiBB3wThriGcIXkcSVYeNG+ -+3iKCbRpLBqzw6FCHx2lkwmFDzZYGpn4JqQIBKqJA880QgEjQNFVAuc4= - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/server8k-key.pem' ---- a/mysql-test/std_data/server8k-key.pem 2007-07-17 18:43:56 +0000 -+++ b/mysql-test/std_data/server8k-key.pem 2009-01-28 14:18:50 +0000 -@@ -1,99 +1,99 @@ - -----BEGIN RSA PRIVATE KEY----- --MIISKQIBAAKCBAEA1BZYf95sKL+WGiAhVznSV4B1f7g5E41wevaMZYqbIUGmD1/C --w0+b4SN4D3IktWdbERNnU3AuDJNiuCw1CI6d1pHk3xQB2T1dxGPtzh/37R+DekhC --AUyhOBGOmodJybVPfDNCYcToecx43us0KdUpAZ4RDkGHsWEaozrRpaGfUchdIhQF --3MrtgKdeLt+5eWJWtHMj872aj+JhWJXF8GkXwGnCZqjDNb7kLxcdSSE1EwboDBd1 --RmdRdLcOtxCFB/xVv1lp3D6rxtfJ2uNKpb/WZAcNBYWXikvHCiSGOcuCd9I5/3lf --KdZUzuyvgEk7hmVpnUQ4I1BtGPThrirDz6GhOppdB05zAbAUkH11KvV5MBrfA04D --4qAChwR4y2yCxMuBTGFq5U2ZT08zasoWsnnP9k9eaA5WnTUreyaQy6V+9FBAlxYX --RBsbBsbV3SmyAbzZtsk+F9p8VvSLbBAo0koA/veE4BqGvECg8K6ZoKvlqqZueAmd --bzdaKsjFMNbIzRF/4iwchwI0gC28tin35OXJeZp7Eenf5OI7InN0LHIsJHfq0Lf/ --FTIUtp7N55Hs/wStxb0ANjLPMSYRS37M1awYZ43BUUzU9vvyjJa9aE+UNV2Si+6l --V06Wmzy+dSZVQS+Qkh5dUEZH37Kn6nICZHBwavpCo1IhbOJWnYU67zQQl2GufjZA --NkKiH3TqTcJetv4HRO/+81NboeNL5FSssy/gD5Cz8sDxFwTqUMiAzZIKF5ktdPiT --A+OCu7mclJsWS+1u124t9DbhBa1Ts6FJlV4WqT26UJ5EB8Z/J7aij2F3QXL13Ais --ieou/R9lZPXzOqwWIsDXBO0Mlqn3dkDI86++r3hdOLF5D0frRuWNZaxfWad72mxV --0INkSbhgN61ejEdhhTV7goSGLuNdL4SITzbZnShFaCFWbBbLoPnbZ9Dwwha0fFRH --f7LIadJ2jWvQHdZWPpmqyZDiTlaT4ArNsiQzwFAf2Hb0ieGr1umXbzU8IQS/HxCT --Etg0qpGmugN/ov0qiE6VPE6CcbDBmoAbC4nl4LyQCxcrEkX0f9nZhLvfydDz3NvI --px18I4i2/fVSpZLhM/MF/VJLqKhZdKS2vI65TPIc3T0PUB295PXOZJ34DwmJDiFs --Blx/jcADR3UESuwphgBVduJPfj96tIOYpGm1R6/uGUN1j3ftRytPjLG2/77+d7xS --VmvqWHjXhXMDQsltpCQUzIiOqppS+CFgnF/kA86US2pWwFlh45eWZN/UBGgi9NuA --2CvePCA1wqg4OrrRLO2JzHWiBdJnmDCo3oWRadH1UPHvDnfq6W243Y/8OtMDIAaU --jnmMVa7N0CjWXf4n+AM9y4IKFRwdPUo1yolqbwIDAQABAoIEAQDI3u0tFoWMRoCs --99d8HLiaxYED2YC9gw2QeKjal198LQhRsVnu0ByMLKLOxkX8RgrbbmxDe5Exufob --A0urciAOFJoXqoRhs5x2oEqgGmkf/ePx0jQptOFREFfnBdGeKIpC0O3DWdLxYPbt --8wixwkEXVhVDUk9pcdXf2ZqsbBpQRBvpZdtzlgNCAcLTVHP/gmMqf48CkIauVjPq --ydfybibfx4sm3hodclH+Q78p/zicb8MhiKo7ZymgCKz4N743pQe1tsLrpbPeHY0C --MpoFyF8O2Bq+KxwvELxQX+19GcHVKJhj3hmCr4wde9BxCWtGTBCusekVkVvy8iQ5 --aCmTIrtonMEVZXjJlXK0sw5hBKOmKx0jrSVC5FfgdxzNVlW4fCJXLEEpMsjMc+/3 --6bV7jqGn4N5CYaopNS2ccxdaucE3NjcmofahO6bqUTJHSPFecfYmCA42W2m+ldjj --HZ78JLkyw03nT1hjPjbwHf5FTem1KfKg4EJrDprowMT7D8KZb0SW+z59pFoDOM5u --Heu6sOSUtvpvKfozdw2ZAI58dhpW4/jTfCEtewRhPqE3/V7g3haTnQFxU8gm/a4N --uefZTCjFE16QWNuvnUrJWw/DlvOBY8GjpQCWY0mDeBHPNOI0Xg9oRTgOCrKSLUya --YSbg6BmhSKwKsYQU834jrQb3fXFlXZVIxlcNePOWMhHFFNAHucHF822Nr7u/3FOT --twcbBIOXCGfDT6ed8d4dNum1L7k9Blju16CWkfuciL8PGXY4mGAmF4nZMXGZgK8B --Cz9cxhtvFLe8gz5615DtBAsuVm7Q4AAHiULAMg6t6auyxCb8pXbAL0Ec5X4zS3+f --I2riODYiyHCh/qTtjawOzUZZEtjZRMSDi+jk8wjjDdkFU8McOaYoPyqT3TDy2v6m --NiPJs8GWQ2NCNo9CNoGbEIIFFP5iSz18XLFAOF+2dN/KHHl9nKyi7kOhYbbzoNku --2wQV40yVsrS4E/hd/7+2IB2Muduxiu7NxCUSUXsw6p0hZTYMpIoduEfRSk1al0lS --862GD8JgJ4RhJ0uIOTDJS52MQmO8zFIL86emdjjV1CzVvadYSQLTX7ZgR0i8g46A --y0muCFAC8EJpnEtHzqtQ/z22zB8TCJShFuUK9KF6K8nOlbc6ShcUXU2J6r1sc8aT --Dx0yzRXfCL15fpCJBP49EYaKhArTNmFRa2GaLiJP0OYkTrrwVOGuS6x2+kRVoP/8 --BcNMZ5x8mXP1LgotHCztgMKX30Hn5CLxbH8QfcWKemGva1jBmhCWxS17Gh3Ld9T3 --/WKkBa6JDq83rlO84x/iF3mB3tYkZPfcYtYURn5wwm/BmVV/9G1VwAatJdxmfCSy --5JwC9WDBAoICAQD7xStPk3lq+qYHAtLZidujmzSNv7XG+E8UC9yvMRFuBwSM5ZE4 --YGD2LDev2nghB+7OSR8KJIkxeaNjP91Zf3s8wjCuxLg/cLGI6mf6uWy9+zypFg3i --J+ylDKa6NBuqYyY75W7Pj63xvGQlw5kX5+mB3ulQbActT4cUiVdEkyDytzubqLzY --s15QGFrL9gqLow+C+7LKQKdeXq8OavFV1PWkMDAJUki6cIir9m+f5Mqr2cQCLKgx --38aX8c9UWJv6pI5zQQuBjpaBOwz07WnyTXiFpc71x/8i85uLGDM0e3VO5ZPGeRBj --jZ0ucHatOHJ3i/nPRG16rsPR+q97QiDHoLF0quHEG+ND+rwTBzNGIwzYRE16p1o3 --UdzFk1RzlDCfOX7QgszCwK6mf8TbCK9f/FxJ5e6TCkt3iHXSrlLS4op6k9nEpKFH --KHf4nPtCy9GriP+A8+dA6K1s+DgejoIojBMBTsnl4TEf+m8BaenTXGuU7KYyc8dR --JqmpmDggDRT/ImHRhXirY7lIIYXnI7tRjN5gmnKpEiHScT1r848zpQ4gWH1Dx/ks --mKT6NZ8nF45saQCYbKEYc0RH9Kw0O7vr1kVtNPc2dEZtVgt4bC5fnl7xX1/YTk3m --+h1qfzbku/+MX5rRjHLR2l8a71UltlnnnpP5NKBBgtxll6aCIkk6CdH8YQKCAgEA --16aBaVa0cOZmiOQwPQkpuXIbV7msz1ttWEAHElCy6waniOCON89PYFCb7F0NjV3Q --i+pGaRgG1iZGbjjHwyqTrHhMloFm+IsSWZqOZzrHgSJgA4bgTJFgp+5b31sQXGfJ --14QQSqMJLC61/M+CnrNtiuI3IVHx6BFRxI42uE7PfTyUMaFhL9F0/SLl0Mw0oMPj --S5kmarduuKpRn1tN9WO+ywEvYwopvH3e9PBssZzPpttlLiE/Wulb0iEtlVXYB9DS --Vzc94N2dzFMIvWUDF9BQ+IBMRzXRm15Psy6LfzoK+9S6w38Dx3BVV8ykSMKeW1UR --ZwTajjdnIBLdE3onD5XMmrSOPw/WtV5zXEYY4DObhIPoN2iD8GJP0IubPb6fonH5 --VHmuVZoXrroFEe7rdt2wgmBdPPl6fqvBKVhjJOpYQctrFLgWh63bXZKaBWqbQM9W --fECq8We1VN3fzqwfwJQit3z5R/DjQNk8eQx7SnnkOzAY6ZgpysHCwaoPOnPVuiYF --ZU0+X3iwfsdeefWmGEDIzoZk6nYaljs61lOhhEoWHngZHDkMOp5kg0n9f8BUP02+ --WJ4QhwzZ73hr4FPBuPHHXECw9TCAgCBHBFrnrXg5QalDhRXz4F+3tCY7UUpD/ikZ --L6Daxm5zGJ5u3rXs6WwKy2EHVVS9zfqs4Q259pQdWM8CggIAcIKpGzOVM+h033c0 --kIBZxeAq+Rlt+0+lzxiJ80RjPJ8oOmqwndf8HKaf8BcaTfCEmGz20QqIwLJSAJ1e --posgoINLTB6fE8Kho8TU2KeaX7/xWMKBS8p5pzxjGZ0Fq/wI7wVVoq3blsaQnout --U5CQujfKXeUYw/fhLp09gWiadbzKh4I9ej2V7QclNDZsegBRg0BForqH0NVRN4k0 --9h1n9IqQPOonlCGMAgTr1zFgHLIBNNOOClOtJOOruk6qzbRR8FFl+eyld3TTEnUy --PlS+gkMZnJ5WduEUZnFXGKH/R1Wy1yPs3gA/+KvLbRdnl+LWrPgwUH3fBmwXlWZ0 --zaETDEb9Ay1PP2bCO2KhWDt7lv3W/fPhjg0oMqbnO4tCuzTvZfC93l5K7h708skL --zkIxX9i/57fXB8DUnmTGoHUaWzLNQ2IqrGj6TACjDDOXLCfZvl/AvTH9pk+6jHU0 --1zfZmmECOpeK43Z/ussA8jI/5Vpn3u38aVh0w1RB6JjQBD/yJLaXuUekWgaZFzTR --ldz014jNqp5uvONcBmzeVr7w9CV3PR4VTQed2i6yQ770J6A44uTQjOOd5OYDOohj --Lz4e4nGj9BK8Eko8cAEwLAzS8tyjMT+08n5dPOVCu68DwVBMGE7CVONYUuoXS/YU --cTxddiU9ZGk9Yq0FfOwjeys+SqECggIAdn3M2b6Egwx2Bn2ra74fKQBjub4SEBWi --bT0xJYUl6jHL2E/alRvZ94gTRLqUebq0nkxpx9El4IFDbcjRKpG4dqnbG0+a7rIr --sQRVfq8zc+cZbparpCa1P1CfNojo4n080KiF8xzGK3q3EGRM1zqr1AYcWLiX/PWX --QjMKKhdTtvKUUvjjV8z1RSnpsOKjgDpiJ+XM0BJeSiV7l94pZc4axZyvFvI8oI9g --9KEueCE7j+k5HTGziBZ1F26Xh1iVzSWWjcmSvH3I+L4fLUHVgz45X3HPd8lAlOgr --Tr8icxPHeTwYKtcdknZMzmNpWXlmXbTOTRbDqCUVCvCSfOM/lzauJ8tR5aCkTx/I --r0js3jQ9HYEFFXzeEjVSubob4L9fI3kQkLQTcIGsxZr8si/fPX7uP5UHZjuGbRee --mUMxptUFDZHiEo5cAs0qna2x54v+JoxGbxtxUhez8R/Am+TDxaMfuEZ5Cmh31egH --bFPJYtC68TKqXZ/4RqpUgukYWPvQ0emWSWU6AmdkQyT06nppeyYNsDz0MkgWr7l3 --yNBHDVNP+Anxcip+Z68kd2cuXQWmxOnIzxR67FnJXeWDEM20whRHgI8jLHYsBTq3 --CtOQPSaz/zosGXJIgF7Xp6riKPZvibW3Ww49Z47EuyBCtyirNk7hV4LG7sITUJyO --ZVKPfcdAoM0CggIBANz3EBZGyt3af2UjFFKbazV01KcHF8OxqdQzsLqHCXWb98V6 --PggQnrF76U7DvqOWho9djDBPrbQU55HG5nXq+eZKPwhsOdwQ8bxOhaVxQcATZOI7 --FtJYnjM1/+zMzzS0iPR5DA2pbB3AKH2Z+wODmF23CK2XTwoJyPKxvlyGKrIqq3gN --kOmocNu2Qm5bJf+D/hYPm5Ust2wzD52NnvJU536bZ0ZMo1/kaK2idqSAzqo4TkR1 --j9U0fdW2rIBDo/qFmBBdJhYVjYLj4qR8CEEoIjshD4Nztf1xRM5C8irE/gJcT5+r --4bPJJ5TjAtHxPiQqZruSprSEUbMsPqBap64ow0SmbNNWSgyaz2ha1rG0p52NBzH4 --XM52LBqS9QHPHvB0ooYfBTfPpDM3CePuuNyzjPAw86ncUo38FKXuc2oViJJ6C5I7 --v2sKhLK5gu3uPBB2ludDEXSpWBqiraynolOT/o52r+taYp9YY2WU3GrhOiV/A1FV --Nl118xiF6FOFpEeTbhHvy27A8kZEKXgeSs+f4aC0XG9kLVD1CiCbQiqHTDcDS4nV --O1N1eQxhP81X+YKE4Lgufh07REqYVwtCj2lQcMp73WDyfBLKTEFlmHusoqmT5JCH --X0BWNjk5Dn1g5h63/lQb+EjNRILBhDFYhrDRDQtw5p0/7IY3AcNKDUHv+XGn -+MIISKAIBAAKCBAEAwI8iAyRZZ0YU1o9gCVgGB0XxeHFV8eq5MIrNwzy5v2VuGO2g -+uMkZVm/EkBnIZQnb/7+CoQitAU9ao9Q9eH5LSgGkfeh7BT592LlVWGDWHM7oMmIs -+GWDz7QWZbcl3By4RbQuax2g4Ruj6MYDf6Hnw8f2plMP6DfV4rEl+1Rf94e5E88cO -+MDJdqRkl5LshHf48hEhA9Vj0vxOMhWi77PXdxjjRsHcfpo5PjeJvSXT1P5Bljpke -+WZwctSYkxLHeHvuWZcQxFBpTuF5iiscE97Q2pK8HyCcG7d3m9Ixi8WVA0J+fqRTI -+jot01mda0MlNNaHVezk6Qp/k0PTGDy5CMEtWsj1tji1YxWmZNUmVlZm2hykrMtFQ -+CM0lFEhtEJmFYTxBJiFVzB/PrbAvuYnYTqAY/3Udtpd8xfqL3JMXhgpk1Ak11YM0 -+bVxtxozNuezCk8bBt8wEbyLgB7/g2Zsv1aBQzPnwlYOP9DCDcpTXtUvazJ9UO414 -+dwskbA/ClmGWL7hftXqreluXeqmtQIvy1saNgdmUYY+dA8W5EANog78EgcysvTSJ -+6NSNQyDitqQRPRUqggzWOmqMYtSTvMOAvxu0Kwp6NPDNHoI/JQ/RBKgKBRmw1haD -+Oa8LRX3LFH5NqqrCOahGOKu9qyq9NEN/2iXeK/tpO/47h/2YlHZKvwSjMeM6/28E -++vok5CqJ6Q6/RExyhYI8iUoDYwFBklPQgmBu2P+MorQaOyBtrnSSME5I41Gmy3OX -+BhMDMiObfaLHOqmvl4xR7f76tLQao4f8z4yO5oAVA/3+fb2xdvFfswkrTE2nfLVy -+sdbbOMBnpFS8hwmlOboafj90YK09S76UU/NkFsczNexBAJW23plionoomkVN+s2m -+d/beWHJQyH1pONsHBITYTTn3UBNDri2vRaQqOVY8uLfYJqQ2ySOqqrhJCyG6nnor -+f00pnw4AHrRepvpJ/o3ldFfYutmSLNKshB3ypqREHL+IQTJ+0cMvbrwPXRmmj3Qr -+Z7rdqdtotc6dJUjfVAjQHU8uWyS8BQ/7WEb6AspTkynPECfCoBjQ9dS5PF7fjmz1 -+fLm0VMw5Fl082pazw2zUcF3TMKemvW/dQbyo3kJgWZqFJQ0qRcMFtG56Sk3KjArl -+bDS8IJttSsrKtqY6oNvDDiAaEht33csdf8MNDefB/ZbSx2iAmaDZijMho4uiWqd+ -+JwYCf+1gETc0VBd/TZAUHmk3DbrwK/CjLWJ5yHao6sjnOx/GT8IM16zwd1Nd8FC0 -+35sDyk1B4RiyJTCGHWPlZ7FTzWtOgxq5Xi0FFWvUjrGX/DEDV8u/J3/NXyd+Zuc8 -+Fwm2ESpPM83rGtNv1RWLi85oa36aleV0fxdX2QIDAQABAoIEAGv5ltvmLQ/A93xc -+x0BWEINRkBa2jrfpo9B5dOnuikWtza/Cx+X2NfQHFlSrcHhfr/JX5BsCb2iVo8DM -+CXAgeX1VMHS9wQXuxciaHCZDnqxmxUNDU3EjsYQOKLusRcdL6M+Zuz/ny+7PQ0Qw -+/N0yS46Wa9oUjon3RKRvTeSV4HIpFpcP3n/eLjDc/ielWuujnTGcBnjNWegvQROp -+5/7221YElGh8U84kbK2l9DtfjwoGoTv11lPvOxXE/scg6em7r9j+y3p3TMzMeDtT -+YBC6CA4Oa7GrWLJXROOKOQ0ddtvFNlUsZ02vG2QCbqU2y8mwJrJDI80qNbeKGel3 -+SfwkssedtGoOOYHxNczwpyVNHVHrHuMPBe75gbo+5pFxVJ5ymCGWfbLJf73oVsqW -+ZimoknvkozW4+mlVlcmo3X73IxTW2U4RlXthYdj9KXsBLRaKVCQJDc934eHWkXHU -+GF2U2NonqOVd8YG/FmZQ2ig6EcW97hC6wnsWT2Uc7UNAE2RM4bY0xCUHaQiKTrEs -+CI6wpbbTV+XhDu2HmL9G+fsuSIu0RoSOCmr5jQDAVwCNPXFgBgcIxbPZ/UCJ7RHj -+GrWPBldAN8ip4osiA+B3XwBabcvwXP2fgBP/eLWN1St3q3tw5xpHpqCuhNuPSqsc -+0ntz0oIdJyRR6fXWmRFex4kXQ597z5ozm0uyg8arV3HJFxDC3DI6kKfs86/oqMSW -+l+9g+d4x6VrUOCTDk0bjN3T8HQ9ASfy9JVacqk6yuXX7a0WeeT+x9JsvFAjg2KmG -+CJUtm5w5siItMDSPpcRE4hlfgh+M7ZKS3PFgH3vvwfPMbC/IC93QoSaFzRJMyobX -+ei6PNwqJvL+HADlMfLmehE2w9ycp4Fe1Gw/NW0Ed1S6Ajo45hgXQJSIrzla6eglg -+JPsPpQ8b+weZNQ8zvc0KvfRJmZKKEb9dHvFdi68I1kV8aapQsjrMOjwHC2pnCFh/ -+axkVc7a59fKUs7L6nAJhCs2sSixTorZz5PvJ6mXhWu72TCzu+kThNnEORrlWPHQl -+RFEAFpDDaGSzOMlhb92CWUMPyZU2qtzMzv4QGbP5YqTy121hXuT5OBKCF3eNLihV -+aje16k0RMFqqW3Olbm7Mp2P1C6DuwzsUJBnNwB5JzhC79Po88zNAl2d1h+qysKU1 -+jxF316nhpWJ2dGJ/sbJ+XpUMd/tVrNFQMA254GFfXycsfBoQOSY5d6GfRwKUDOou -+xImbIzGUAaIYdsGKDuKtqs5S21JMJjJ/J5CwjLu9tbpP/jsp22KHCpraHAQCupSp -++SFwWI7tRUXzREuxJixfUOnJFQYOATnMFvvtk1d6v4xoPYCVEhHq8gHqJkTyTi3Y -+BPVwT1UCggIBAOEy5gThTrEqSVFUcFJm9bJxtWZt/YhOIJWNNxeaxExHzy5hPpsw -+fZXtN4MUCeMSWI4isgIujmltwgOHMjQqsJPISn/1gVrqLmrZ2PnFzko/WA8rMUfd -+EUnOOpj2bKpChlRGHi76ZV4XGgoTXyO6mrVUcUgf3reSImdcdQ5IHa7J+lWhCQGb -+neZIyDOk41LX1TxjcYkY7vuUgmbBYComXPm2UaY3HN4E/3ElXntj6PrlozL33A56 -+z4UPfv2Vv9kl0ydkTJe/WcUN2htqLFCYygF2XLlwbv2SYDCT31PkJUORbScUM46A -+DOhlxvLBFcpF+l0RtCtvnrKyFy9yZJKrcLh9x6xVChZ/aQqSptSHjll5IEcVm54Y -+Z1TjWizCI4txnaBFV0UCLt1CZrllXnyIksZLS4/dVqUIKmkxPBQUpiD5dmgDcmPB -+/LdWzS6k4MH3J3Y3tu3MNPHDwgUtnifSZrsWSYPK0F8J0dMU/mLaS9eOplAH7Eo1 -+t7OrrImvitM6tUdErRYilIaoS/6YPmsPST5gY1N4n8Lf4sAE/tY8fwaWRpTVSrIw -+CoFwLtHESUOhqfuAOdr1EkDfo/RQTUVdnmWZ+D0j3du8MmsMje4x3f2CjBDXqArl -+gNnBQELDmrdif8KELNjlEpTIz0T7wEfquhVQ2dzhFpL7RLAgggD+oEBLAoICAQDa -+5WOWrAtaI1cC5C7LFxM2qXTHGRttfAtVxuigJapLqNASJuu59GGRxsCVwhthbNFh -+aCMSj+fZK7QNFkaoPwuZCEtzy0ErkVZzxYp3cP6b99mzGoCcuqiHiW5qhEkbxwdC -+f3YEsSGqE6j8TPW8feiziqo8q+QPSudI9ngkH1gjgbIrTu9iaxKJcF2CwBxe5tfB -+uFBNPIgJAaLPejRKQu17MAV2jDnBDIsZUZnm53IxQ+giIYUBay3cfC1KMJu/AnZ/ -+CxETjgqqnzqdFW0b0o49Q6YQa6QXAiSjs+lL/BhjbdA5quVdFmA3CoASFQbihYfM -+4vilUg7Y4wXfzS7DyBZdfppIn+HI8PPSMv/lfdsQXecl5TU1fBDPRWYPpTZqm1II -+HDCkmGRKet/j4/oobabNRrJ6PJcxNjqeMVv/a72pypDRPIXzNxLb1BkfWDGfgu2R -+YAdRNBSJSpdoHDZ+1VO2A+/8gz9Zuiv1WxoX7+u3pCAd+0vCfHiaXiFVc7fI8F+m -+rtDmN5p3DD9l1+/v7yd+7eUezwxYecElw5E5MyAJRTYGrim8g7XvF/u9rXvH09VP -+TeIE8oJ7XzrxCmtGIxlJs6FmgUbUblOyfPZDUqPnzlo8Ru1H2iKRo2FPiMfij8mh -+H3wgFTnZpGDQjw/xop51bxVueXrmOeguS0wmk/8Z6wKCAgEA0y+bPApadJRWS1nn -+N69sTBqMZfFR6Eh0ECts9criuTJCXZk+T+SqcTYTb+4T04k52Jk63Aby8HXIkuxv -+LTK3gu86xkLiOvMP8o43Bwz0BvbeSuNThLQQ6Wjn1NiLUSOvu0pCNgYFl7YMalR+ -+TRBK0y/MSDny762wa8Pt1iXVCDxLcY/h1UstSW8JqDzCHcdgJhCPwWTLgMxleZ1w -+5DYzzM2oRjq67I49Sssjjo1ESD2fzUVZbY7IG11L1t1fG3F4UiGiHlCJC92Qo1Lv -+Geoezj5EeHay70Mcx5F0xsRWGcZAWXx9WO5GrI39g1uFZro3Lp5SmsVDSwrt6UXa -+gR0bSThTTw40tqJnTE34+6ff25JWrbLay+jQxm+q+fxZvwQeMNW2IHYKot4JXWVt -+tVWSZzjnNJP6FCvTMfDFCYPPw26OFr7cwCaEKx7QriRazitMK3XWK6zsHalZwudj -+wK50PpCJAnno7KdVySCP6v4ST6Rr3POBKJq1ml2tITWo96u/ooUJ2I83QAyFr8zw -+BBBCvKdBnl6pW+P/TdmhbiEvcmrs59gaA34/6+DbV0Y++piZwswd9XML2iCgLZY8 -+0IcZ6uf4PsXq4Yzcrz0HwM+tAXcyiPzkjstpCUxMShALgFxzuWOgdwpjYXnrviJk -+0EyUkzbOCHBhbhcK9CyYHfyrJX8CggIAdWwgJC9eV5glkPN+9osGT4hPkI4zXGPy -+YK03FNGfrL59/37JbRNfU6fen3dk4LpTB4Gpbserg6AiEfMlLBPF0O3WK+OYrhpk -+2e3Z/YCr1Fb8fUt2Op0W0r4ycQlNfo0ho9ZkJNgwSuAJAm72U4rnTYjREYLT8DAq -+KcWtZRM7YLCuNvU9DPqLExcn0n/juDT1AIIy8XvLLamnAM15R2znn/F+vL00Lg7g -+f1B60pbNdwgKemSoyL4J+ADU+rtgkPJtRnFVU7walLSd6K4ZvZcRnmOvrZdQitcn -+eHmGaLBvFMdPr9+w8mKScnQ7h3eoHdOrqYkIAQcn18jQ2eFjeLrY5IaJlPPPVs+K -+u/OHuj/tR7ZXzMhL5skK62U6/qGNs1pmgts8bM8i3aFUgRdGlnFbzTpje5cNM+T3 -+RO0NgNL3ByIW1Wc2I+YjQ7FfWKUi2YKOljGBO1pIue09kyevRBKDuVwbXMW7MhLg -+idm5AaY+OGDeqbaoSUgkGgrsrr5IlI39gZi9jwG85qe3Spavq3ILKdfL1N8UrFGD -+/xIN0TVPtilede7vjKTK79tZu8JYaDWGc+g/mo/M1wmawLrqGNGzOwoVRruKl2In -+m9PU9wBZ1HuphDQ4DRdC/AU8qkGhmDOx4bDWEQ/R3KKFHNvhnamyfyR7xqt79gyS -+NGNIElnJuskCggIARFaK6yAVmaL74Qu3iiELj8FU9Cw8kPP5HeWUfGxCjlegdH3R -+FBtoQlDcQjYzO2uZR94Itg3yk3Dt+xbf7KxUsODwlgLj1UhV4eOXUDTosBFTrbTG -+v9gnRVH0Eyu9tF+CMUcCXhq6tnIrQOVv1ozcdXfIpk9gvIbfh4rlo6X0iM8Xge2t -+Vo7awq05t4wJBkO1xUtOaw9HabaszK/CU1iNV7cIBmaFF3AEP/KVfOs+kjubc9AF -+mqC+LVVClvJPNzm1YA5JZlxmQ0u1xXFqZv0OMoibgY+gSzaiAQz3eKB6vEv4Xv4U -+kaF9nEUTEjowpTE6uX9X0mGkXXT2wXmlTjosZFnxRX5IIrRNug30plRra5CNYPGp -+3uTmD/D7Nzi1iYitJg3yhrTQmCWiJY3x4Z0xophLkio2nlJ9WoTKf1AwTIATY7fa -+pX9bxEKldYXrYZNFlbqBPFgA/36v+JDVfMf2E9yRMCt0LAJ0HUM6zP0ngMv+S1TP -+Pu6X0WXR9JeuoaF4uJSty/xwdpST/CkHflFLVsk5n3tNQfWGjqoTSOJMgL9NRY9e -+Pc/OshHZHeCVFUSXtcf1pfmmBtT6FHX0L4cgVqA5xO8RYapnLDAFLXq2/dRv3NwW -+W9CzZcZKh7jmJw4iSIY5IU1+ThgugWoxlkcmjs/egjBclL8BBfqRIwx/vOE= - -----END RSA PRIVATE KEY----- - -=== modified file 'mysql-test/t/openssl_1.test' ---- a/mysql-test/t/openssl_1.test 2008-11-18 16:45:44 +0000 -+++ b/mysql-test/t/openssl_1.test 2009-01-28 15:00:28 +0000 -@@ -11,8 +11,8 @@ insert into t1 values (5); - - grant select on test.* to ssl_user1@localhost require SSL; - grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; --grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; --grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; -+grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - - diff --git a/mysql-install-test.patch b/mysql-install-test.patch index b572102..73c221c 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -1,6 +1,6 @@ mysql's idea of a suitable place to install the regression tests is /usr/mysql-test. To relocate this to a reasonably FHS-compliant place -like /usr/share/mysql-test, we have to hack up the paths in install_test_db. +like /usr/share/mysql-test, we have to hack up the paths in mtr_cases.pm. This patch also improves the documentation a tad. @@ -37,41 +37,17 @@ diff -Naur mysql-5.1.30.orig/mysql-test/README mysql-5.1.30/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.1.30.orig/mysql-test/install_test_db.sh mysql-5.1.30/mysql-test/install_test_db.sh ---- mysql-5.1.30.orig/mysql-test/install_test_db.sh 2008-11-14 11:34:47.000000000 -0500 -+++ mysql-5.1.30/mysql-test/install_test_db.sh 2009-01-13 11:30:00.000000000 -0500 -@@ -26,18 +26,15 @@ - libexecdir=../libexec - - # Check if it's a binary distribution or a 'make install' -- if test -x ../libexec/mysqld -+ if test -x /usr/libexec/mysqld - then -- execdir=../libexec -- elif test -x ../../sbin/mysqld # RPM installation -- then -- execdir=../../sbin -- bindir=../../bin -- scriptdir=../bin -- libexecdir=../../libexec -+ execdir=/usr/libexec - else -- execdir=../bin -+ execdir=/usr/bin - fi -+ bindir=/usr/bin -+ scriptdir=/usr/bin -+ libexecdir=/usr/libexec - fix_bin=mysql-test - else - execdir=../sql -@@ -96,7 +93,8 @@ - - #for error messages - if [ x$BINARY_DIST = x1 ] ; then --basedir=.. -+basedir=/usr/share -+EXTRA_ARG="--language=/usr/share/mysql/english/ --character-sets-dir=/usr/share/mysql/charsets/" - else - basedir=. - EXTRA_ARG="--windows" +diff -Naur mysql-5.1.32.orig/mysql-test/lib/mtr_cases.pm mysql-5.1.32/mysql-test/lib/mtr_cases.pm +--- mysql-5.1.32.orig/mysql-test/lib/mtr_cases.pm 2009-02-13 19:52:34.000000000 -0500 ++++ mysql-5.1.32/mysql-test/lib/mtr_cases.pm 2009-03-04 20:34:23.000000000 -0500 +@@ -228,7 +228,9 @@ + else + { + $suitedir= my_find_dir($::basedir, +- ["mysql-test/suite", ++ ["share/mysql-test/suite", ++ "share/mysql-test", ++ "mysql-test/suite", + "mysql-test", + # Look in storage engine specific suite dirs + "storage/*/mysql-test-suites" diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 16a73dc..0cb2246 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,12 +7,12 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.31.orig/mysql-test/t/disabled.def mysql-5.1.31/mysql-test/t/disabled.def ---- mysql-5.1.31.orig/mysql-test/t/disabled.def 2009-01-19 12:11:19.000000000 -0500 -+++ mysql-5.1.31/mysql-test/t/disabled.def 2009-02-13 14:23:55.000000000 -0500 -@@ -14,3 +14,5 @@ - wait_timeout_func : Bug #41225 joro wait_timeout_func fails +diff -Naur mysql-5.1.32.orig/mysql-test/t/disabled.def mysql-5.1.32/mysql-test/t/disabled.def +--- mysql-5.1.32.orig/mysql-test/t/disabled.def 2009-02-13 20:34:40.000000000 -0500 ++++ mysql-5.1.32/mysql-test/t/disabled.def 2009-03-04 18:48:34.000000000 -0500 +@@ -12,3 +12,5 @@ kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. query_cache_28249 : Bug#41098 Query Cache returns wrong result with concurrent insert + innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" +# +plugin_load : gives wrong answer on PPC64 diff --git a/mysql-testing.patch b/mysql-testing.patch index c0c0ac2..012c7c6 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -1,14 +1,10 @@ Hack the top-level Makefile to enable the openssl regression tests. (Why doesn't this happen automatically given the configure option??) -Also, tweak the Perl test script so that the mysqld daemon gets detached -from the calling terminal session. Without this, the ssl_des test hangs up -because OpenSSL tries to read a PEM key from /dev/tty. - -diff -Naur mysql-5.1.30.orig/Makefile.am mysql-5.1.30/Makefile.am ---- mysql-5.1.30.orig/Makefile.am 2008-11-14 11:34:15.000000000 -0500 -+++ mysql-5.1.30/Makefile.am 2009-01-13 11:13:12.000000000 -0500 +diff -Naur mysql-5.1.32.orig/Makefile.am mysql-5.1.32/Makefile.am +--- mysql-5.1.32.orig/Makefile.am 2009-02-13 19:51:56.000000000 -0500 ++++ mysql-5.1.32/Makefile.am 2009-03-04 18:12:36.000000000 -0500 @@ -98,7 +98,7 @@ test-ns: @@ -18,28 +14,3 @@ diff -Naur mysql-5.1.30.orig/Makefile.am mysql-5.1.30/Makefile.am test-binlog-statement: cd mysql-test ; \ -diff -Naur mysql-5.1.30.orig/mysql-test/lib/mtr_process.pl mysql-5.1.30/mysql-test/lib/mtr_process.pl ---- mysql-5.1.30.orig/mysql-test/lib/mtr_process.pl 2008-11-14 12:31:10.000000000 -0500 -+++ mysql-5.1.30/mysql-test/lib/mtr_process.pl 2009-01-13 11:14:25.000000000 -0500 -@@ -150,6 +150,9 @@ - { - # Child, redirect output and exec - -+ # Needed to become detached from terminal session -+ POSIX::setsid(); -+ - $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't - - my $log_file_open_mode = '>'; -diff -Naur mysql-5.1.30.orig/mysql-test/mysql-test-run.pl mysql-5.1.30/mysql-test/mysql-test-run.pl ---- mysql-5.1.30.orig/mysql-test/mysql-test-run.pl 2008-11-14 11:34:48.000000000 -0500 -+++ mysql-5.1.30/mysql-test/mysql-test-run.pl 2009-01-13 11:17:52.000000000 -0500 -@@ -4204,7 +4204,7 @@ - - if ( defined $exe ) - { -- $pid= mtr_spawn($exe, $args, "", -+ $pid= mtr_spawn($exe, $args, '/dev/null', - $mysqld->{'path_myerr'}, - $mysqld->{'path_myerr'}, - "", diff --git a/mysql.spec b/mysql.spec index 57eff0e..506d35f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.31 -Release: 2%{?dist} +Version: 5.1.32 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -29,8 +29,7 @@ Patch3: mysql-stack.patch Patch4: mysql-testing.patch Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch -Patch7: mysql-expired-certs.patch -Patch8: mysql-plugin-bug.patch +Patch7: mysql-plugin-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -171,7 +170,6 @@ the MySQL sources. %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 libtoolize --force aclocal @@ -287,6 +285,8 @@ install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndb_mgmd rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test +# 5.1.32 forgets to install the mysql-test README file +install -m 0644 mysql-test/README $RPM_BUILD_ROOT%{_datadir}/mysql-test/README mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug @@ -635,6 +635,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Mar 4 2009 Tom Lane 5.1.32-1 +- Update to MySQL 5.1.32. + * Wed Feb 25 2009 Fedora Release Engineering - 5.1.31-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index 38b105a..6e17c26 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a077387e04ea24e67a93cff5f05bc3ba mysql-5.1.31.tar.gz +f2d14b5e3b9d50b809c9b9985e4513b7 mysql-5.1.32.tar.gz From af5d0e52a1f64542b9f6ce11626a97ff9d5ae16d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 7 Apr 2009 23:41:39 +0000 Subject: [PATCH 135/616] Update to MySQL 5.1.33 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 10 +++++----- mysql-setschedparam.patch | 22 ++++++++++++++++++++++ mysql-stack.patch | 4 ++++ mysql.spec | 13 ++++++++++--- sources | 2 +- 6 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 mysql-setschedparam.patch diff --git a/.cvsignore b/.cvsignore index 63a57e7..e982e79 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.32.tar.gz +mysql-5.1.33.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 0cb2246..f05ccd1 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,12 +7,12 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.32.orig/mysql-test/t/disabled.def mysql-5.1.32/mysql-test/t/disabled.def ---- mysql-5.1.32.orig/mysql-test/t/disabled.def 2009-02-13 20:34:40.000000000 -0500 -+++ mysql-5.1.32/mysql-test/t/disabled.def 2009-03-04 18:48:34.000000000 -0500 -@@ -12,3 +12,5 @@ +diff -Naur mysql-5.1.33.orig/mysql-test/t/disabled.def mysql-5.1.33/mysql-test/t/disabled.def +--- mysql-5.1.33.orig/mysql-test/t/disabled.def 2009-03-13 18:39:40.000000000 -0400 ++++ mysql-5.1.33/mysql-test/t/disabled.def 2009-04-07 17:20:13.000000000 -0400 +@@ -11,3 +11,5 @@ + ############################################################################## kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. - query_cache_28249 : Bug#41098 Query Cache returns wrong result with concurrent insert innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" +# +plugin_load : gives wrong answer on PPC64 diff --git a/mysql-setschedparam.patch b/mysql-setschedparam.patch new file mode 100644 index 0000000..3b0e518 --- /dev/null +++ b/mysql-setschedparam.patch @@ -0,0 +1,22 @@ +mysql tries to use pthread_setschedparam() with policy = SCHED_OTHER, +which is not standardized and is not presently supported on Red Hat +platforms; in fact it generates lots of SELinux warnings (bug #477624). +Easiest fix is to disable the configure test for it. + + +diff -Naur mysql-5.1.33.orig/configure.in mysql-5.1.33/configure.in +--- mysql-5.1.33.orig/configure.in 2009-03-13 17:48:52.000000000 -0400 ++++ mysql-5.1.33/configure.in 2009-04-07 19:27:25.000000000 -0400 +@@ -2046,10 +2046,10 @@ + localtime_r gethrtime gmtime_r \ + locking longjmp lrand48 madvise mallinfo memcpy memmove \ + mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \ +- pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \ ++ pthread_attr_getstacksize pthread_attr_setprio \ + pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \ + pthread_key_delete pthread_rwlock_rdlock pthread_setprio \ +- pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \ ++ pthread_setprio_np pthread_sigmask readlink \ + realpath rename rint rwlock_init setupterm \ + shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \ + sighold sigset sigthreadmask port_create sleep \ diff --git a/mysql-stack.patch b/mysql-stack.patch index b93d8db..c4fd437 100644 --- a/mysql-stack.patch +++ b/mysql-stack.patch @@ -8,6 +8,10 @@ Note: STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom, which means that its value can't be raised too much further without increasing the latter as well. +As of 5.1.33 the stock value is 16000, which might be enough ... or maybe +not. For the moment, we keep this patch around for reference, but it's +not being applied. + diff -Naur mysql-5.1.30.orig/sql/mysql_priv.h mysql-5.1.30/sql/mysql_priv.h --- mysql-5.1.30.orig/sql/mysql_priv.h 2008-11-14 11:37:13.000000000 -0500 diff --git a/mysql.spec b/mysql.spec index 506d35f..8e2b572 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.1.32 +Version: 5.1.33 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -25,11 +25,12 @@ Source999: filter-requires-mysql.sh Patch1: mysql-ssl-multilib.patch Patch2: mysql-errno.patch -Patch3: mysql-stack.patch +# Patch3: mysql-stack.patch Patch4: mysql-testing.patch Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch +Patch8: mysql-setschedparam.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -165,11 +166,12 @@ the MySQL sources. %patch1 -p1 %patch2 -p1 -%patch3 -p1 +# %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 libtoolize --force aclocal @@ -635,6 +637,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Apr 7 2009 Tom Lane 5.1.33-1 +- Update to MySQL 5.1.33. +- Disable use of pthread_setschedparam; doesn't work the way code expects. +Related: #477624 + * Wed Mar 4 2009 Tom Lane 5.1.32-1 - Update to MySQL 5.1.32. diff --git a/sources b/sources index 6e17c26..ec8dd62 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f2d14b5e3b9d50b809c9b9985e4513b7 mysql-5.1.32.tar.gz +9c5711e9bea4514df6f2659f283f0aa0 mysql-5.1.33.tar.gz From d87f3fc06cac9750d2f5d6c8f57ed85a6078dd95 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 15 Apr 2009 19:48:31 +0000 Subject: [PATCH 136/616] Increase stack size of ndbd threads for safety's sake. --- mysql-ndb-stacksize.patch | 27 +++++++++++++++++++++++++++ mysql.spec | 8 +++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 mysql-ndb-stacksize.patch diff --git a/mysql-ndb-stacksize.patch b/mysql-ndb-stacksize.patch new file mode 100644 index 0000000..aaf246d --- /dev/null +++ b/mysql-ndb-stacksize.patch @@ -0,0 +1,27 @@ +Raise minimum stack size in ndb code to be a uniform 32K (64K on 64-bit +platforms). This is in response to an episode where glibc needed 8K of +stack to run malloc(), resulting in ndbd crashing at launch. While that +was acknowledged to be a glibc bug (see bz #494631), byte-shaving here +isn't any better an idea than it is in the main mysql server. + +Note: the request gets rounded up to at least PTHREAD_STACK_MIN, which +is 128K on PPC; otherwise we would need to do something about including +the stack guard size explicitly, since it's so much larger on PPC than +elsewhere. At some point we might want to use our my_setstacksize() +hack in NdbThread_Create(). + + +diff -Naur mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp +--- mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-03-13 17:54:07.000000000 -0400 ++++ mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-04-15 14:00:04.000000000 -0400 +@@ -106,8 +106,8 @@ + AsyncFile::doStart() + { + // Stacksize for filesystem threads +- // An 8k stack should be enough +- const NDB_THREAD_STACKSIZE stackSize = 8192; ++ // don't make this too small ++ const NDB_THREAD_STACKSIZE stackSize = 32768; + + char buf[16]; + numAsyncFiles++; diff --git a/mysql.spec b/mysql.spec index 8e2b572..a9cf83e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.33 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -31,6 +31,7 @@ Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch +Patch9: mysql-ndb-stacksize.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -172,6 +173,7 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 libtoolize --force aclocal @@ -637,6 +639,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Apr 15 2009 Tom Lane 5.1.33-2 +- Increase stack size of ndbd threads for safety's sake. +Related: #494631 + * Tue Apr 7 2009 Tom Lane 5.1.33-1 - Update to MySQL 5.1.33. - Disable use of pthread_setschedparam; doesn't work the way code expects. From 82ab89f3ab0c923e39a8ac071bf1549eb3224c43 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 16 May 2009 02:38:15 +0000 Subject: [PATCH 137/616] Update to MySQL 5.1.34 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 12 ++++++------ mysql.init | 2 +- mysql.spec | 9 +++++++-- sources | 2 +- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.cvsignore b/.cvsignore index e982e79..e298609 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.33.tar.gz +mysql-5.1.34.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index f05ccd1..c0a9295 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,12 +7,12 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.33.orig/mysql-test/t/disabled.def mysql-5.1.33/mysql-test/t/disabled.def ---- mysql-5.1.33.orig/mysql-test/t/disabled.def 2009-03-13 18:39:40.000000000 -0400 -+++ mysql-5.1.33/mysql-test/t/disabled.def 2009-04-07 17:20:13.000000000 -0400 -@@ -11,3 +11,5 @@ - ############################################################################## - kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. +diff -Naur mysql-5.1.34.orig/mysql-test/t/disabled.def mysql-5.1.34/mysql-test/t/disabled.def +--- mysql-5.1.34.orig/mysql-test/t/disabled.def 2009-03-31 11:26:07.000000000 -0400 ++++ mysql-5.1.34/mysql-test/t/disabled.def 2009-05-15 20:02:24.000000000 -0400 +@@ -13,3 +13,5 @@ innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" + #concurrent_innodb_safelog: disabled for embedded server due to bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog). + #concurrent_innodb_unsafelog: disabled for embedded server due to bug#43733. +# +plugin_load : gives wrong answer on PPC64 diff --git a/mysql.init b/mysql.init index 84422a1..438f868 100644 --- a/mysql.init +++ b/mysql.init @@ -66,7 +66,7 @@ start(){ # Rather than assuming we know a valid username, accept an "access # denied" response as meaning the server is functioning. if [ $ret -eq 0 ]; then - STARTTIMEOUT=30 + STARTTIMEOUT=60 while [ $STARTTIMEOUT -gt 0 ]; do RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break echo "$RESPONSE" | grep -q "Access denied for user" && break diff --git a/mysql.spec b/mysql.spec index a9cf83e..c8f73a4 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.33 -Release: 2%{?dist} +Version: 5.1.34 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -639,6 +639,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri May 15 2009 Tom Lane 5.1.34-1 +* Update to MySQL 5.1.34, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-34.html +* Increase startup timeout per bug #472222 + * Wed Apr 15 2009 Tom Lane 5.1.33-2 - Increase stack size of ndbd threads for safety's sake. Related: #494631 diff --git a/sources b/sources index ec8dd62..d0d6bc2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9c5711e9bea4514df6f2659f283f0aa0 mysql-5.1.33.tar.gz +42493187729677cf8f77faeeebd5b3c2 mysql-5.1.34.tar.gz From d0bf1dc86d98adecafad40757afa9b4c97f76949 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 16 May 2009 02:40:09 +0000 Subject: [PATCH 138/616] Fix changelog typo --- mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index c8f73a4..8f1fcaf 100644 --- a/mysql.spec +++ b/mysql.spec @@ -640,9 +640,9 @@ fi %changelog * Fri May 15 2009 Tom Lane 5.1.34-1 -* Update to MySQL 5.1.34, for various fixes described at +- Update to MySQL 5.1.34, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-34.html -* Increase startup timeout per bug #472222 +- Increase startup timeout per bug #472222 * Wed Apr 15 2009 Tom Lane 5.1.33-2 - Increase stack size of ndbd threads for safety's sake. From c9d92c21970c71143ddab94836f75cefbcf958cc Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 7 Jun 2009 00:50:06 +0000 Subject: [PATCH 139/616] Update to MySQL 5.1.35. Fix SELinux context when recreating /var/lib/mysql/. --- .cvsignore | 2 +- mysql-plugin-bug.patch | 10 +++++----- mysql.init | 9 +++++++++ mysql.spec | 8 +++++++- sources | 2 +- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index e298609..19af1d3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.34.tar.gz +mysql-5.1.35.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index c0a9295..c86ff5a 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,11 +7,11 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.34.orig/mysql-test/t/disabled.def mysql-5.1.34/mysql-test/t/disabled.def ---- mysql-5.1.34.orig/mysql-test/t/disabled.def 2009-03-31 11:26:07.000000000 -0400 -+++ mysql-5.1.34/mysql-test/t/disabled.def 2009-05-15 20:02:24.000000000 -0400 -@@ -13,3 +13,5 @@ - innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" +diff -Naur mysql-5.1.35.orig/mysql-test/t/disabled.def mysql-5.1.35/mysql-test/t/disabled.def +--- mysql-5.1.35.orig/mysql-test/t/disabled.def 2009-05-14 08:22:26.000000000 -0400 ++++ mysql-5.1.35/mysql-test/t/disabled.def 2009-06-06 18:58:28.000000000 -0400 +@@ -15,3 +15,5 @@ + #concurrent_innodb_safelog: disabled for embedded server due to bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog). #concurrent_innodb_unsafelog: disabled for embedded server due to bug#43733. +# diff --git a/mysql.init b/mysql.init index 438f868..9d400b6 100644 --- a/mysql.init +++ b/mysql.init @@ -46,6 +46,15 @@ start(){ chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" if [ ! -d "$datadir/mysql" ] ; then + # First, make sure $datadir is there with correct permissions + if [ ! -e "$datadir" -a ! -h "$datadir" ] + then + mkdir -p "$datadir" || exit 1 + fi + chown mysql:mysql "$datadir" + chmod 0755 "$datadir" + [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" + # Now create the database action $"Initializing MySQL database: " /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql ret=$? chown -R mysql:mysql "$datadir" diff --git a/mysql.spec b/mysql.spec index 8f1fcaf..fcd5cf8 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.1.34 +Version: 5.1.35 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -639,6 +639,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jun 6 2009 Tom Lane 5.1.35-1 +- Update to MySQL 5.1.35, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-35.html +- Ensure that /var/lib/mysql is created with the right SELinux context +Resolves: #502966 + * Fri May 15 2009 Tom Lane 5.1.34-1 - Update to MySQL 5.1.34, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-34.html diff --git a/sources b/sources index d0d6bc2..f21e3f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -42493187729677cf8f77faeeebd5b3c2 mysql-5.1.34.tar.gz +327bffc7a2a5fd4471fbbaab125275cd mysql-5.1.35.tar.gz From aac391952f579aefcecb8506b4b09c6e2360fa17 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 11 Jul 2009 03:43:11 +0000 Subject: [PATCH 140/616] Update to MySQL 5.1.36 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 14 +++++++------- mysql.spec | 6 +++++- sources | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.cvsignore b/.cvsignore index 19af1d3..d8f489a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.35.tar.gz +mysql-5.1.36.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index c86ff5a..35036eb 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,12 +7,12 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.35.orig/mysql-test/t/disabled.def mysql-5.1.35/mysql-test/t/disabled.def ---- mysql-5.1.35.orig/mysql-test/t/disabled.def 2009-05-14 08:22:26.000000000 -0400 -+++ mysql-5.1.35/mysql-test/t/disabled.def 2009-06-06 18:58:28.000000000 -0400 -@@ -15,3 +15,5 @@ - - #concurrent_innodb_safelog: disabled for embedded server due to bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog). - #concurrent_innodb_unsafelog: disabled for embedded server due to bug#43733. +diff -Naur mysql-5.1.36.orig/mysql-test/t/disabled.def mysql-5.1.36/mysql-test/t/disabled.def +--- mysql-5.1.36.orig/mysql-test/t/disabled.def 2009-06-16 09:43:04.000000000 -0400 ++++ mysql-5.1.36/mysql-test/t/disabled.def 2009-07-10 22:00:42.000000000 -0400 +@@ -12,3 +12,5 @@ + kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. + innodb_bug39438 : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" + query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically +# +plugin_load : gives wrong answer on PPC64 diff --git a/mysql.spec b/mysql.spec index fcd5cf8..1b07050 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.1.35 +Version: 5.1.36 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -639,6 +639,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 10 2009 Tom Lane 5.1.36-1 +- Update to MySQL 5.1.36, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html + * Sat Jun 6 2009 Tom Lane 5.1.35-1 - Update to MySQL 5.1.35, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-35.html diff --git a/sources b/sources index f21e3f6..6ccf51b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -327bffc7a2a5fd4471fbbaab125275cd mysql-5.1.35.tar.gz +18e694c4ecbe851fe8e21e1668116c46 mysql-5.1.36.tar.gz From 33ad180fb72b74b28b1ac4bf71defafd9fefe4dd Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sat, 25 Jul 2009 15:29:59 +0000 Subject: [PATCH 141/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 1b07050..f06a302 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.36 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -639,6 +639,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jul 25 2009 Fedora Release Engineering - 5.1.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Fri Jul 10 2009 Tom Lane 5.1.36-1 - Update to MySQL 5.1.36, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html From 8ac557d4bb6cb21bfe387525299b7da277bf0a00 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 3 Aug 2009 02:23:58 +0000 Subject: [PATCH 142/616] Update to MySQL 5.1.37 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 11 ++++++----- mysql.spec | 8 ++++++-- sources | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.cvsignore b/.cvsignore index d8f489a..335cd2f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.36.tar.gz +mysql-5.1.37.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 35036eb..8830bc7 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -7,12 +7,13 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -diff -Naur mysql-5.1.36.orig/mysql-test/t/disabled.def mysql-5.1.36/mysql-test/t/disabled.def ---- mysql-5.1.36.orig/mysql-test/t/disabled.def 2009-06-16 09:43:04.000000000 -0400 -+++ mysql-5.1.36/mysql-test/t/disabled.def 2009-07-10 22:00:42.000000000 -0400 -@@ -12,3 +12,5 @@ - kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. +diff -Naur mysql-5.1.37.orig/mysql-test/t/disabled.def mysql-5.1.37/mysql-test/t/disabled.def +--- mysql-5.1.37.orig/mysql-test/t/disabled.def 2009-07-13 19:43:47.000000000 -0400 ++++ mysql-5.1.37/mysql-test/t/disabled.def 2009-08-02 20:43:36.000000000 -0400 +@@ -13,4 +13,5 @@ innodb_bug39438 : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically + init_connect : Bug#44920 2009-07-06 pcrews MTR not processing master.opt input properly on Windows. *Must be done this way due to the nature of the bug* +- +# +plugin_load : gives wrong answer on PPC64 diff --git a/mysql.spec b/mysql.spec index f06a302..72ddf57 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.36 -Release: 2%{?dist} +Version: 5.1.37 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -639,6 +639,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Aug 2 2009 Tom Lane 5.1.37-1 +- Update to MySQL 5.1.37, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-37.html + * Sat Jul 25 2009 Fedora Release Engineering - 5.1.36-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild diff --git a/sources b/sources index 6ccf51b..39a7477 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -18e694c4ecbe851fe8e21e1668116c46 mysql-5.1.36.tar.gz +cbdb8783b053019755ee9196f67ea04c mysql-5.1.37.tar.gz From 92b0730cde37bd9930cdfdda42ccdbcbec8b3be5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 14 Aug 2009 23:39:16 +0000 Subject: [PATCH 143/616] Let's see if these changes will persuade the regression tests to pass in koji. --- mysql-no-check-testcases.patch | 20 ++++++++++++++++++++ mysql-testing.patch | 9 ++++++++- mysql.spec | 9 ++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 mysql-no-check-testcases.patch diff --git a/mysql-no-check-testcases.patch b/mysql-no-check-testcases.patch new file mode 100644 index 0000000..0383371 --- /dev/null +++ b/mysql-no-check-testcases.patch @@ -0,0 +1,20 @@ +As of mysql 5.1.x, the --check-testcases option in mysql-test-run was made +the default, although the documentation for it doesn't tell you that. +Unfortunately the check-testcases code frequently fails in koji for +obscure reasons; what's more it slows down the tests materially. +Since it's not really our job to debug the test suite, let's just turn +it back off ... + + +diff -Naur mysql-5.1.37.orig/mysql-test/mysql-test-run.pl mysql-5.1.37/mysql-test/mysql-test-run.pl +--- mysql-5.1.37.orig/mysql-test/mysql-test-run.pl 2009-07-13 19:09:03.000000000 -0400 ++++ mysql-5.1.37/mysql-test/mysql-test-run.pl 2009-08-14 17:40:49.000000000 -0400 +@@ -193,7 +193,7 @@ + + my $opt_skip_core; + +-our $opt_check_testcases= 1; ++our $opt_check_testcases= 0; + my $opt_mark_progress; + + my $opt_sleep; diff --git a/mysql-testing.patch b/mysql-testing.patch index 012c7c6..7438713 100644 --- a/mysql-testing.patch +++ b/mysql-testing.patch @@ -1,6 +1,13 @@ Hack the top-level Makefile to enable the openssl regression tests. (Why doesn't this happen automatically given the configure option??) +Also, increase the overall timeout for the regression tests to 12 hours, +because on a slow or heavily-loaded build machine sometimes the default of +5 hours isn't enough. (This has been demonstrated to fail in mass-rebuild +scenarios, which aren't that uncommon for Fedora.) Similarly increase the +per-testcase timeout to 30 minutes, since the default of 15 hasn't got a +great deal of headroom either. + diff -Naur mysql-5.1.32.orig/Makefile.am mysql-5.1.32/Makefile.am --- mysql-5.1.32.orig/Makefile.am 2009-02-13 19:51:56.000000000 -0500 @@ -10,7 +17,7 @@ diff -Naur mysql-5.1.32.orig/Makefile.am mysql-5.1.32/Makefile.am test-ns: cd mysql-test ; \ - @PERL@ ./mysql-test-run.pl $(force) $(mem) --mysqld=--binlog-format=mixed -+ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --mysqld=--binlog-format=mixed ++ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --mysqld=--binlog-format=mixed --suite-timeout=720 --testcase-timeout=30 test-binlog-statement: cd mysql-test ; \ diff --git a/mysql.spec b/mysql.spec index 72ddf57..73ef82e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.37 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -32,6 +32,7 @@ Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-ndb-stacksize.patch +Patch10: mysql-no-check-testcases.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -174,6 +175,7 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 libtoolize --force aclocal @@ -249,6 +251,7 @@ make check # note: "make test" invokes two largely-duplicate sets of tests, # which makes the runtime really unacceptably long ... + # if you want to change this, look at mysql-testing.patch too. make test-ns %endif @@ -639,6 +642,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Aug 14 2009 Tom Lane 5.1.37-2 +- Add a couple of patches to improve the probability of the regression tests + completing in koji builds + * Sun Aug 2 2009 Tom Lane 5.1.37-1 - Update to MySQL 5.1.37, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-37.html From 8fb87feb6616964e13a5f0a0e85e0452312facbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Mr=C3=A1z?= Date: Fri, 21 Aug 2009 14:34:15 +0000 Subject: [PATCH 144/616] - rebuilt with new openssl --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 73ef82e..3e24cd2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.37 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -642,6 +642,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Aug 21 2009 Tomas Mraz - 5.1.37-3 +- rebuilt with new openssl + * Fri Aug 14 2009 Tom Lane 5.1.37-2 - Add a couple of patches to improve the probability of the regression tests completing in koji builds From abde186633fab2f5eb296ade064a85fec147019c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 29 Aug 2009 06:33:02 +0000 Subject: [PATCH 145/616] Still trying to get mysql to build ... --- mysql-no-check-testcases.patch | 20 -------------------- mysql-plugin-bug.patch | 6 +++++- mysql.spec | 9 ++++++--- 3 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 mysql-no-check-testcases.patch diff --git a/mysql-no-check-testcases.patch b/mysql-no-check-testcases.patch deleted file mode 100644 index 0383371..0000000 --- a/mysql-no-check-testcases.patch +++ /dev/null @@ -1,20 +0,0 @@ -As of mysql 5.1.x, the --check-testcases option in mysql-test-run was made -the default, although the documentation for it doesn't tell you that. -Unfortunately the check-testcases code frequently fails in koji for -obscure reasons; what's more it slows down the tests materially. -Since it's not really our job to debug the test suite, let's just turn -it back off ... - - -diff -Naur mysql-5.1.37.orig/mysql-test/mysql-test-run.pl mysql-5.1.37/mysql-test/mysql-test-run.pl ---- mysql-5.1.37.orig/mysql-test/mysql-test-run.pl 2009-07-13 19:09:03.000000000 -0400 -+++ mysql-5.1.37/mysql-test/mysql-test-run.pl 2009-08-14 17:40:49.000000000 -0400 -@@ -193,7 +193,7 @@ - - my $opt_skip_core; - --our $opt_check_testcases= 1; -+our $opt_check_testcases= 0; - my $opt_mark_progress; - - my $opt_sleep; diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 8830bc7..9432533 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -6,14 +6,18 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. +Also, temporarily disable the "mysql" test --- there's something pretty +broken there, but I haven't figured out what yet ... + diff -Naur mysql-5.1.37.orig/mysql-test/t/disabled.def mysql-5.1.37/mysql-test/t/disabled.def --- mysql-5.1.37.orig/mysql-test/t/disabled.def 2009-07-13 19:43:47.000000000 -0400 +++ mysql-5.1.37/mysql-test/t/disabled.def 2009-08-02 20:43:36.000000000 -0400 -@@ -13,4 +13,5 @@ +@@ -13,4 +13,6 @@ innodb_bug39438 : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically init_connect : Bug#44920 2009-07-06 pcrews MTR not processing master.opt input properly on Windows. *Must be done this way due to the nature of the bug* - +# +plugin_load : gives wrong answer on PPC64 ++mysql : fails for unclear reasons diff --git a/mysql.spec b/mysql.spec index 3e24cd2..d554262 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.37 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -32,7 +32,6 @@ Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-ndb-stacksize.patch -Patch10: mysql-no-check-testcases.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -175,7 +174,6 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 libtoolize --force aclocal @@ -642,6 +640,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 29 2009 Tom Lane 5.1.37-4 +- Remove one misguided patch; turns out I was chasing a glibc bug +- Temporarily disable "main.mysql" test; there's something broken there too, + but we need to get mysql built in rawhide for dependency reasons + * Fri Aug 21 2009 Tomas Mraz - 5.1.37-3 - rebuilt with new openssl From 544d60a817b40f70a2761470831df196599a4152 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 1 Sep 2009 03:35:23 +0000 Subject: [PATCH 146/616] Work around unportable assumptions about stpcpy() --- mysql-plugin-bug.patch | 6 +----- mysql-strmov.patch | 26 ++++++++++++++++++++++++++ mysql.spec | 16 +++++++++++----- 3 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 mysql-strmov.patch diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 9432533..8830bc7 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -6,18 +6,14 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. -Also, temporarily disable the "mysql" test --- there's something pretty -broken there, but I haven't figured out what yet ... - diff -Naur mysql-5.1.37.orig/mysql-test/t/disabled.def mysql-5.1.37/mysql-test/t/disabled.def --- mysql-5.1.37.orig/mysql-test/t/disabled.def 2009-07-13 19:43:47.000000000 -0400 +++ mysql-5.1.37/mysql-test/t/disabled.def 2009-08-02 20:43:36.000000000 -0400 -@@ -13,4 +13,6 @@ +@@ -13,4 +13,5 @@ innodb_bug39438 : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically init_connect : Bug#44920 2009-07-06 pcrews MTR not processing master.opt input properly on Windows. *Must be done this way due to the nature of the bug* - +# +plugin_load : gives wrong answer on PPC64 -+mysql : fails for unclear reasons diff --git a/mysql-strmov.patch b/mysql-strmov.patch new file mode 100644 index 0000000..c136f7a --- /dev/null +++ b/mysql-strmov.patch @@ -0,0 +1,26 @@ +Remove overly optimistic definition of strmov() as stpcpy(). + +mysql uses this macro with overlapping source and destination strings, +which is verboten per spec, and fails on some Red Hat platforms. +Deleting the definition is sufficient to make it fall back to a +byte-at-a-time copy loop, which should consistently give the +expected behavior. + + +diff -Naur mysql-5.1.37.orig/include/m_string.h mysql-5.1.37/include/m_string.h +--- mysql-5.1.37.orig/include/m_string.h 2009-07-13 19:08:50.000000000 -0400 ++++ mysql-5.1.37/include/m_string.h 2009-08-31 21:49:49.000000000 -0400 +@@ -81,13 +81,6 @@ + extern void *(*my_str_malloc)(size_t); + extern void (*my_str_free)(void *); + +-#if defined(HAVE_STPCPY) +-#define strmov(A,B) stpcpy((A),(B)) +-#ifndef stpcpy +-extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */ +-#endif +-#endif +- + /* Declared in int2str() */ + extern char NEAR _dig_vec_upper[]; + extern char NEAR _dig_vec_lower[]; diff --git a/mysql.spec b/mysql.spec index d554262..8f0b1f4 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.37 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -32,6 +32,7 @@ Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-ndb-stacksize.patch +Patch10: mysql-strmov.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -174,6 +175,7 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 libtoolize --force aclocal @@ -205,13 +207,13 @@ export CFLAGS CXXFLAGS --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-big-tables \ - --with-innodb \ - --with-ndbcluster \ + --with-pic \ + --with-plugin-innobase \ + --with-plugin-ndbcluster \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ - --disable-dependency-tracking \ - --with-named-thread-libs="-lpthread" + --disable-dependency-tracking gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} @@ -640,6 +642,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Aug 31 2009 Tom Lane 5.1.37-5 +- Work around unportable assumptions about stpcpy(); re-enable main.mysql test +- Clean up some obsolete parameters to the configure script + * Sat Aug 29 2009 Tom Lane 5.1.37-4 - Remove one misguided patch; turns out I was chasing a glibc bug - Temporarily disable "main.mysql" test; there's something broken there too, From fbfeb21c646c2da5a39818fd752387b56c2c3c51 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 22 Sep 2009 04:29:57 +0000 Subject: [PATCH 147/616] Update to MySQL 5.1.39 --- .cvsignore | 2 +- mysql-ndb-stacksize.patch | 18 +++++++++++------- mysql.spec | 8 ++++++-- sources | 2 +- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.cvsignore b/.cvsignore index 335cd2f..a37cd26 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.37.tar.gz +mysql-5.1.39.tar.gz diff --git a/mysql-ndb-stacksize.patch b/mysql-ndb-stacksize.patch index aaf246d..da4039d 100644 --- a/mysql-ndb-stacksize.patch +++ b/mysql-ndb-stacksize.patch @@ -11,17 +11,21 @@ elsewhere. At some point we might want to use our my_setstacksize() hack in NdbThread_Create(). -diff -Naur mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp ---- mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-03-13 17:54:07.000000000 -0400 -+++ mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-04-15 14:00:04.000000000 -0400 -@@ -106,8 +106,8 @@ +diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp +--- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-09-04 12:21:19.000000000 -0400 ++++ mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-09-21 22:33:08.000000000 -0400 +@@ -106,13 +106,8 @@ AsyncFile::doStart() { // Stacksize for filesystem threads -- // An 8k stack should be enough -- const NDB_THREAD_STACKSIZE stackSize = 8192; +-#if !defined(DBUG_OFF) && defined (__hpux) +- // Empirical evidence indicates at least 32k + // don't make this too small -+ const NDB_THREAD_STACKSIZE stackSize = 32768; + const NDB_THREAD_STACKSIZE stackSize = 32768; +-#else +- // Otherwise an 8k stack should be enough +- const NDB_THREAD_STACKSIZE stackSize = 8192; +-#endif char buf[16]; numAsyncFiles++; diff --git a/mysql.spec b/mysql.spec index 8f0b1f4..77e9872 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.37 -Release: 5%{?dist} +Version: 5.1.39 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -642,6 +642,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Sep 22 2009 Tom Lane 5.1.39-1 +- Update to MySQL 5.1.39, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-39.html + * Mon Aug 31 2009 Tom Lane 5.1.37-5 - Work around unportable assumptions about stpcpy(); re-enable main.mysql test - Clean up some obsolete parameters to the configure script diff --git a/sources b/sources index 39a7477..ee00ff8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cbdb8783b053019755ee9196f67ea04c mysql-5.1.37.tar.gz +55a398daeb69a778fc46573623143268 mysql-5.1.39.tar.gz From 07e69085bc4d8424cead0c007a486350038509a3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 23 Sep 2009 23:32:00 +0000 Subject: [PATCH 148/616] Work around upstream bug 46895 by disabling outfile_loaddata test --- mysql-plugin-bug.patch | 15 ++++++++++----- mysql.spec | 5 ++++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 8830bc7..35e79d4 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -6,14 +6,19 @@ http://bugs.mysql.com/bug.php?id=42144 For the moment, just disable this test. +Also, disable the outfile_loaddata test, which as of 5.1.38 is giving +platform-dependent results, with the "expected" results being arguably the +wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.37.orig/mysql-test/t/disabled.def mysql-5.1.37/mysql-test/t/disabled.def ---- mysql-5.1.37.orig/mysql-test/t/disabled.def 2009-07-13 19:43:47.000000000 -0400 -+++ mysql-5.1.37/mysql-test/t/disabled.def 2009-08-02 20:43:36.000000000 -0400 -@@ -13,4 +13,5 @@ + +diff -Naur mysql-5.1.39.orig/mysql-test/t/disabled.def mysql-5.1.39/mysql-test/t/disabled.def +--- mysql-5.1.39.orig/mysql-test/t/disabled.def 2009-09-04 13:01:56.000000000 -0400 ++++ mysql-5.1.39/mysql-test/t/disabled.def 2009-09-23 19:23:42.000000000 -0400 +@@ -13,4 +13,6 @@ innodb_bug39438 : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically init_connect : Bug#44920 2009-07-06 pcrews MTR not processing master.opt input properly on Windows. *Must be done this way due to the nature of the bug* - +# -+plugin_load : gives wrong answer on PPC64 ++plugin_load : gives wrong answer on PPC64 ++outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index 77e9872..1c0c19a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.39 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -642,6 +642,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Sep 23 2009 Tom Lane 5.1.39-2 +- Work around upstream bug 46895 by disabling outfile_loaddata test + * Tue Sep 22 2009 Tom Lane 5.1.39-1 - Update to MySQL 5.1.39, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-39.html From 996358c08e4398f4f9a63418c19d387aac620af2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 16 Oct 2009 04:26:47 +0000 Subject: [PATCH 149/616] assorted fixes for sparc --- my_config.h | 9 +++++++-- mysql-sparc-gcc-bug.patch | 22 ++++++++++++++++++++++ mysql.spec | 18 ++++++++++++++++-- ndb_types.h | 4 ++++ 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 mysql-sparc-gcc-bug.patch diff --git a/my_config.h b/my_config.h index ad2e3da..435a126 100644 --- a/my_config.h +++ b/my_config.h @@ -4,13 +4,14 @@ * identical. Hence, this file is architecture-independent and calls * in an arch-dependent file that will appear in just one RPM. * + * To avoid breaking arches not explicitly supported by Red Hat, we + * use this indirection file *only* on known multilib arches. + * * Note: this may well fail if user tries to use gcc's -I- option. * But that option is deprecated anyway. */ #if defined(__x86_64__) #include "my_config_x86_64.h" -#elif defined(__ia64__) -#include "my_config_ia64.h" #elif defined(__i386__) #include "my_config_i386.h" #elif defined(__ppc64__) || defined(__powerpc64__) @@ -21,4 +22,8 @@ #include "my_config_s390x.h" #elif defined(__s390__) #include "my_config_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "my_config_sparc64.h" +#elif defined(__sparc__) +#include "my_config_sparc.h" #endif diff --git a/mysql-sparc-gcc-bug.patch b/mysql-sparc-gcc-bug.patch new file mode 100644 index 0000000..4771bdc --- /dev/null +++ b/mysql-sparc-gcc-bug.patch @@ -0,0 +1,22 @@ +This is a temporary workaround for what is surely a gcc bug on Sparc. +Submitted as bz #529299 + + +diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +--- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp 2009-09-04 12:21:16.000000000 -0400 ++++ mysql-5.1.39/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp 2009-10-15 22:19:07.000000000 -0400 +@@ -8538,11 +8538,7 @@ + default: + tmp = 0; + } +- memcpy(signal->theData, &tmp, 8); /* must be memcpy, gives strange results on +- * ithanium gcc (GCC) 3.4.1 smp linux 2.4 +- * otherwise +- */ +- // Uint32 * src = (Uint32*)&tmp; +- // signal->theData[0] = src[0]; +- // signal->theData[1] = src[1]; ++ Uint32 * src = (Uint32*)&tmp; ++ signal->theData[0] = src[0]; ++ signal->theData[1] = src[1]; + } diff --git a/mysql.spec b/mysql.spec index 1c0c19a..6b6c0bb 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.39 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -33,6 +33,7 @@ Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-ndb-stacksize.patch Patch10: mysql-strmov.patch +Patch11: mysql-sparc-gcc-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -176,6 +177,7 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 libtoolize --force aclocal @@ -190,6 +192,11 @@ CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" +# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization +# submitted as bz #529298 +%ifarch sparc sparcv9 sparc64 +CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` +%endif # extra C++ flags as per recommendations in mysql's INSTALL-SOURCE doc CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS @@ -263,7 +270,7 @@ rm -rf $RPM_BUILD_ROOT # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in - i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 ) + i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ mv $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types_`uname -i`.h @@ -642,6 +649,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Oct 15 2009 Tom Lane 5.1.39-3 +- Work around two different compiler bugs on sparc, one by backing off + optimization from -O2 to -O1, and the other with a klugy patch +Related: #529298, #529299 +- Clean up bogosity in multilib stub header support: ia64 should not be + listed (it's not multilib), sparc and sparc64 should be + * Wed Sep 23 2009 Tom Lane 5.1.39-2 - Work around upstream bug 46895 by disabling outfile_loaddata test diff --git a/ndb_types.h b/ndb_types.h index f6c1230..14bc905 100644 --- a/ndb_types.h +++ b/ndb_types.h @@ -22,4 +22,8 @@ #include "ndb_types_s390x.h" #elif defined(__s390__) #include "ndb_types_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "ndb_types_sparc64.h" +#elif defined(__sparc__) +#include "ndb_types_sparc.h" #endif From 2d9b4653c611e26efade179a0d8a1bb9aa6ec584 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 17 Oct 2009 21:26:58 +0000 Subject: [PATCH 150/616] Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132) --- mysql-signal-align.patch | 38 ++++++++++++++++++++++++++++++++++++++ mysql-sparc-gcc-bug.patch | 22 ---------------------- mysql.spec | 7 +++++-- 3 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 mysql-signal-align.patch delete mode 100644 mysql-sparc-gcc-bug.patch diff --git a/mysql-signal-align.patch b/mysql-signal-align.patch new file mode 100644 index 0000000..75fb56e --- /dev/null +++ b/mysql-signal-align.patch @@ -0,0 +1,38 @@ +Fix a bit of silliness; the original coding not only computes the required +size of the temp variable incorrectly, but doesn't guarantee the correct +alignment. This demonstrably leads to ndbd crashing at launch on sparc64, +and is probably bad news for performance on other 64-bit machines even +if they don't give an actual SIGBUS. + +Filed upstream at http://bugs.mysql.com/bug.php?id=48132 + + +diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp +--- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp 2009-09-04 12:21:18.000000000 -0400 ++++ mysql-5.1.39/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp 2009-10-17 14:24:56.000000000 -0400 +@@ -1144,8 +1144,9 @@ + KeyReqStruct *req_struct, + Uint32* outBuffer) + { +- Uint32 tmp[sizeof(SignalHeader)+25]; +- Signal * signal = (Signal*)&tmp; ++ SignalT<25> signalT; ++ Signal *signal= (Signal*)&signalT; ++ + switch(attrId){ + case AttributeHeader::FRAGMENT: + * outBuffer = fragptr.p->fragmentId; +diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp +--- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-09-04 12:21:19.000000000 -0400 ++++ mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-10-17 14:26:21.000000000 -0400 +@@ -529,8 +529,8 @@ + { + off_t off = 0; + const off_t sz = request->par.open.file_size; +- Uint32 tmp[sizeof(SignalHeader)+25]; +- Signal * signal = (Signal*)(&tmp[0]); ++ SignalT<25> signalT; ++ Signal *signal= (Signal*)&signalT; + FsReadWriteReq* req = (FsReadWriteReq*)signal->getDataPtrSend(); + + Uint32 index = 0; diff --git a/mysql-sparc-gcc-bug.patch b/mysql-sparc-gcc-bug.patch deleted file mode 100644 index 4771bdc..0000000 --- a/mysql-sparc-gcc-bug.patch +++ /dev/null @@ -1,22 +0,0 @@ -This is a temporary workaround for what is surely a gcc bug on Sparc. -Submitted as bz #529299 - - -diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp ---- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp 2009-09-04 12:21:16.000000000 -0400 -+++ mysql-5.1.39/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp 2009-10-15 22:19:07.000000000 -0400 -@@ -8538,11 +8538,7 @@ - default: - tmp = 0; - } -- memcpy(signal->theData, &tmp, 8); /* must be memcpy, gives strange results on -- * ithanium gcc (GCC) 3.4.1 smp linux 2.4 -- * otherwise -- */ -- // Uint32 * src = (Uint32*)&tmp; -- // signal->theData[0] = src[0]; -- // signal->theData[1] = src[1]; -+ Uint32 * src = (Uint32*)&tmp; -+ signal->theData[0] = src[0]; -+ signal->theData[1] = src[1]; - } diff --git a/mysql.spec b/mysql.spec index 6b6c0bb..fc46e99 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.39 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -33,7 +33,7 @@ Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-ndb-stacksize.patch Patch10: mysql-strmov.patch -Patch11: mysql-sparc-gcc-bug.patch +Patch11: mysql-signal-align.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -649,6 +649,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Oct 17 2009 Tom Lane 5.1.39-4 +- Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132) + * Thu Oct 15 2009 Tom Lane 5.1.39-3 - Work around two different compiler bugs on sparc, one by backing off optimization from -O2 to -O1, and the other with a klugy patch From 195f2c4413f0ef19d968e5fdaf8da6990fb5978e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 10 Nov 2009 20:04:18 +0000 Subject: [PATCH 151/616] Update to 5.1.40; also fix #533736 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 13 ++++++------- mysql.init | 6 ++++-- mysql.spec | 10 ++++++++-- sources | 2 +- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.cvsignore b/.cvsignore index a37cd26..b89c219 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.39.tar.gz +mysql-5.1.40.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 35e79d4..a1b909a 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,14 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.39.orig/mysql-test/t/disabled.def mysql-5.1.39/mysql-test/t/disabled.def ---- mysql-5.1.39.orig/mysql-test/t/disabled.def 2009-09-04 13:01:56.000000000 -0400 -+++ mysql-5.1.39/mysql-test/t/disabled.def 2009-09-23 19:23:42.000000000 -0400 -@@ -13,4 +13,6 @@ - innodb_bug39438 : Bug#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" +diff -Naur mysql-5.1.40.orig/mysql-test/t/disabled.def mysql-5.1.40/mysql-test/t/disabled.def +--- mysql-5.1.40.orig/mysql-test/t/disabled.def 2009-10-06 14:21:05.000000000 -0400 ++++ mysql-5.1.40/mysql-test/t/disabled.def 2009-11-10 13:01:50.000000000 -0500 +@@ -14,3 +14,6 @@ query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically - init_connect : Bug#44920 2009-07-06 pcrews MTR not processing master.opt input properly on Windows. *Must be done this way due to the nature of the bug* -- + partition_innodb_builtin : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes + partition_innodb_plugin : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql.init b/mysql.init index 9d400b6..327ed8b 100644 --- a/mysql.init +++ b/mysql.init @@ -66,9 +66,11 @@ start(){ chmod 0755 "$datadir" # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway - # but we need to be sure. + # but we need to be sure. (An exception is that we don't force the + # log-error setting, since this script doesn't really depend on that, + # and some users might prefer to configure logging to syslog.) /usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \ - --log-error="$errlogfile" --pid-file="$mypidfile" \ + --pid-file="$mypidfile" \ --user=mysql >/dev/null 2>&1 & ret=$? # Spin for a maximum of N seconds waiting for the server to come up. diff --git a/mysql.spec b/mysql.spec index fc46e99..7e53ba8 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.39 -Release: 4%{?dist} +Version: 5.1.40 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -649,6 +649,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Nov 10 2009 Tom Lane 5.1.40-1 +- Update to MySQL 5.1.40, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-40.html +- Do not force the --log-error setting in mysqld init script +Resolves: #533736 + * Sat Oct 17 2009 Tom Lane 5.1.39-4 - Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132) diff --git a/sources b/sources index ee00ff8..aebe584 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -55a398daeb69a778fc46573623143268 mysql-5.1.39.tar.gz +32e7373c16271606007374396e6742ad mysql-5.1.40.tar.gz From 51519c66b446ad6ac471faf4579db630851855f9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 24 Nov 2009 05:04:04 +0000 Subject: [PATCH 152/616] Update to MySQL 5.1.41, also remove old_passwords=1 --- .cvsignore | 2 +- my.cnf | 3 --- mysql-plugin-bug.patch | 12 ++++++------ mysql.spec | 8 +++++++- sources | 2 +- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.cvsignore b/.cvsignore index b89c219..685b897 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.40.tar.gz +mysql-5.1.41.tar.gz diff --git a/my.cnf b/my.cnf index a76b9c6..fa8e124 100644 --- a/my.cnf +++ b/my.cnf @@ -2,9 +2,6 @@ datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql -# Default to using old password format for compatibility with mysql 3.x -# clients (those using the mysqlclient10 compatibility package). -old_passwords=1 # To allow mysqld to connect to a MySQL Cluster management daemon, uncomment # these lines and adjust the connectstring as needed. diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index a1b909a..865acf5 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,13 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.40.orig/mysql-test/t/disabled.def mysql-5.1.40/mysql-test/t/disabled.def ---- mysql-5.1.40.orig/mysql-test/t/disabled.def 2009-10-06 14:21:05.000000000 -0400 -+++ mysql-5.1.40/mysql-test/t/disabled.def 2009-11-10 13:01:50.000000000 -0500 -@@ -14,3 +14,6 @@ - query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically - partition_innodb_builtin : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes +diff -Naur mysql-5.1.41.orig/mysql-test/t/disabled.def mysql-5.1.41/mysql-test/t/disabled.def +--- mysql-5.1.41.orig/mysql-test/t/disabled.def 2009-11-04 14:00:39.000000000 -0500 ++++ mysql-5.1.41/mysql-test/t/disabled.def 2009-11-23 22:04:14.000000000 -0500 +@@ -15,3 +15,6 @@ partition_innodb_plugin : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes + innodb-autoinc : Bug#48482 2009-11-02 svoj innodb-autoinc.test fails with results difference + rpl_killed_ddl : Bug#45520: rpl_killed_ddl fails sporadically in pb2 +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index 7e53ba8..b8726bd 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.1.40 +Version: 5.1.41 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -649,6 +649,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Nov 23 2009 Tom Lane 5.1.41-1 +- Update to MySQL 5.1.41, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-41.html +- Don't set old_passwords=1; we aren't being bug-compatible with 3.23 anymore +Resolves: #540735 + * Tue Nov 10 2009 Tom Lane 5.1.40-1 - Update to MySQL 5.1.40, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-40.html diff --git a/sources b/sources index aebe584..c9d4caa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -32e7373c16271606007374396e6742ad mysql-5.1.40.tar.gz +b5d39e8789174753f3c782959729e68c mysql-5.1.41.tar.gz From c3774f43035fd68a770c47c817b8d2cd1627fa12 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:19:03 +0000 Subject: [PATCH 153/616] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index be704e8..6b1437e 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: mysql -# $Id: Makefile,v 1.1 2004/09/09 08:53:41 cvsdist Exp $ +# $Id: Makefile,v 1.2 2007/10/15 19:09:57 notting Exp $ NAME := mysql SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 03540746184bced3f16e02cd047b1af97b9ed61b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 17 Dec 2009 19:38:27 +0000 Subject: [PATCH 154/616] Stop waiting during "service mysqld start" if mysqld_safe exits --- mysql.init | 45 +++++++++++++++++++++++++-------------------- mysql.spec | 8 +++++++- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/mysql.init b/mysql.init index 327ed8b..3656a4a 100644 --- a/mysql.init +++ b/mysql.init @@ -72,29 +72,34 @@ start(){ /usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \ --pid-file="$mypidfile" \ --user=mysql >/dev/null 2>&1 & - ret=$? - # Spin for a maximum of N seconds waiting for the server to come up. + safe_pid=$! + # Spin for a maximum of N seconds waiting for the server to come up; + # exit the loop immediately if mysqld_safe process disappears. # Rather than assuming we know a valid username, accept an "access # denied" response as meaning the server is functioning. - if [ $ret -eq 0 ]; then - STARTTIMEOUT=60 - while [ $STARTTIMEOUT -gt 0 ]; do - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break - echo "$RESPONSE" | grep -q "Access denied for user" && break - sleep 1 - let STARTTIMEOUT=${STARTTIMEOUT}-1 - done - if [ $STARTTIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to start MySQL Daemon." - action $"Starting $prog: " /bin/false - ret=1 - else - action $"Starting $prog: " /bin/true - fi - else - action $"Starting $prog: " /bin/false + ret=0 + STARTTIMEOUT=120 + while [ $STARTTIMEOUT -gt 0 ]; do + RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break + echo "$RESPONSE" | grep -q "Access denied for user" && break + if ! /bin/kill -0 $safe_pid 2>/dev/null; then + echo "MySQL Daemon failed to start." + ret=1 + break + fi + sleep 1 + let STARTTIMEOUT=${STARTTIMEOUT}-1 + done + if [ $STARTTIMEOUT -eq 0 ]; then + echo "Timeout error occurred trying to start MySQL Daemon." + ret=1 + fi + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + touch /var/lock/subsys/mysqld + else + action $"Starting $prog: " /bin/false fi - [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld return $ret } diff --git a/mysql.spec b/mysql.spec index b8726bd..91661ba 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.41 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -649,9 +649,15 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Dec 17 2009 Tom Lane 5.1.41-2 +- Stop waiting during "service mysqld start" if mysqld_safe exits +Resolves: #544095 + * Mon Nov 23 2009 Tom Lane 5.1.41-1 - Update to MySQL 5.1.41, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-41.html + including fixes for CVE-2009-4019 +Related: #540906 - Don't set old_passwords=1; we aren't being bug-compatible with 3.23 anymore Resolves: #540735 From a7d331a0c912d79a358be02fa0fc70dee68e3c78 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 2 Jan 2010 01:44:16 +0000 Subject: [PATCH 155/616] Update to MySQL 5.1.42; also fix #547485 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 12 ++++++------ mysql-strmov.patch | 6 ++++++ mysql.init | 4 +++- mysql.spec | 10 ++++++++-- sources | 2 +- 6 files changed, 25 insertions(+), 11 deletions(-) diff --git a/.cvsignore b/.cvsignore index 685b897..3b2788f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.41.tar.gz +mysql-5.1.42.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 865acf5..14e4e1a 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,13 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.41.orig/mysql-test/t/disabled.def mysql-5.1.41/mysql-test/t/disabled.def ---- mysql-5.1.41.orig/mysql-test/t/disabled.def 2009-11-04 14:00:39.000000000 -0500 -+++ mysql-5.1.41/mysql-test/t/disabled.def 2009-11-23 22:04:14.000000000 -0500 -@@ -15,3 +15,6 @@ - partition_innodb_plugin : Bug#32430 2009-09-25 mattiasj Waiting for push of Innodb changes - innodb-autoinc : Bug#48482 2009-11-02 svoj innodb-autoinc.test fails with results difference +diff -Naur mysql-5.1.42.orig/mysql-test/t/disabled.def mysql-5.1.42/mysql-test/t/disabled.def +--- mysql-5.1.42.orig/mysql-test/t/disabled.def 2009-12-16 13:21:00.000000000 -0500 ++++ mysql-5.1.42/mysql-test/t/disabled.def 2010-01-01 18:45:49.000000000 -0500 +@@ -13,3 +13,6 @@ + query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically rpl_killed_ddl : Bug#45520: rpl_killed_ddl fails sporadically in pb2 + innodb-autoinc : Bug#49267 2009-12-02 test fails on windows because of different case mode +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql-strmov.patch b/mysql-strmov.patch index c136f7a..a144d09 100644 --- a/mysql-strmov.patch +++ b/mysql-strmov.patch @@ -6,6 +6,12 @@ Deleting the definition is sufficient to make it fall back to a byte-at-a-time copy loop, which should consistently give the expected behavior. +Note: the particular case that prompted this patch is reported and fixed +at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's +ability to detect this type of error is low, and I also see little evidence +of any real performance gain from optimizing these calls. So I'm keeping +this patch. + diff -Naur mysql-5.1.37.orig/include/m_string.h mysql-5.1.37/include/m_string.h --- mysql-5.1.37.orig/include/m_string.h 2009-07-13 19:08:50.000000000 -0400 diff --git a/mysql.init b/mysql.init index 3656a4a..50363b4 100644 --- a/mysql.init +++ b/mysql.init @@ -69,9 +69,11 @@ start(){ # but we need to be sure. (An exception is that we don't force the # log-error setting, since this script doesn't really depend on that, # and some users might prefer to configure logging to syslog.) + # Note: set --basedir to prevent probes that might trigger SELinux + # alarms, per bug #547485 /usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \ --pid-file="$mypidfile" \ - --user=mysql >/dev/null 2>&1 & + --basedir=/usr --user=mysql >/dev/null 2>&1 & safe_pid=$! # Spin for a maximum of N seconds waiting for the server to come up; # exit the loop immediately if mysqld_safe process disappears. diff --git a/mysql.spec b/mysql.spec index 91661ba..167f5f8 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.41 -Release: 2%{?dist} +Version: 5.1.42 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -649,6 +649,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 1 2010 Tom Lane 5.1.42-1 +- Update to MySQL 5.1.42, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-42.html +- Start mysqld_safe with --basedir=/usr, to avoid unwanted SELinux messages +Resolves: #547485 + * Thu Dec 17 2009 Tom Lane 5.1.41-2 - Stop waiting during "service mysqld start" if mysqld_safe exits Resolves: #544095 diff --git a/sources b/sources index c9d4caa..70ac5ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b5d39e8789174753f3c782959729e68c mysql-5.1.41.tar.gz +b644b219e130b7c6bca81948f75d72d7 mysql-5.1.42.tar.gz From 5ed0e377ad9fa09913cdf163e37e94fadb156352 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 2 Jan 2010 18:38:26 +0000 Subject: [PATCH 156/616] Disable building the innodb plugin --- mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 167f5f8..c367266 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.42 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -203,6 +203,8 @@ export CFLAGS CXXFLAGS # mysql 5.1.30 fails regression tests on x86 unless we use --with-big-tables, # suggesting that upstream doesn't bother to test the other case ... +# note: the with-plugin and without-plugin options do actually work; ignore +# warnings from configure suggesting they are ignored ... %configure \ --with-readline \ --with-ssl=/usr \ @@ -217,6 +219,7 @@ export CFLAGS CXXFLAGS --with-pic \ --with-plugin-innobase \ --with-plugin-ndbcluster \ + --without-plugin-innodb_plugin \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ @@ -649,6 +652,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jan 2 2010 Tom Lane 5.1.42-2 +- Disable building the innodb plugin; it tickles assorted gcc bugs and + doesn't seem entirely ready for prime time anyway. + * Fri Jan 1 2010 Tom Lane 5.1.42-1 - Update to MySQL 5.1.42, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-42.html From 70c7e74c92b8d412174b4be43011a9d6874ab39a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 5 Jan 2010 17:39:43 +0000 Subject: [PATCH 157/616] Remove static libraries, also fix %define problem --- mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mysql.spec b/mysql.spec index c367266..d50c8d0 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.42 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -9,7 +9,7 @@ URL: http://www.mysql.com License: GPLv2 with exceptions # Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%define runselftest 1} +%{!?runselftest:%global runselftest 1} Source0: http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-%{version}.tar.gz Source1: mysql.init @@ -51,7 +51,7 @@ Conflicts: MySQL Obsoletes: mysql-client mysql-perl # Working around perl dependency checking bug in rpm FTTB. Remove later. -%define __perl_requires %{SOURCE999} +%global __perl_requires %{SOURCE999} %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -323,6 +323,7 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libndbclient.la +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.a rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure @@ -624,7 +625,6 @@ fi %defattr(-,root,root) /usr/include/mysql /usr/share/aclocal/mysql.m4 -%{_libdir}/mysql/*.a %{_libdir}/mysql/libmysqlclient*.so %{_libdir}/mysql/libndbclient.so @@ -652,6 +652,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jan 5 2010 Tom Lane 5.1.42-3 +- Remove static libraries (.a files) from package, per packaging guidelines +- Change %%define to %%global, per packaging guidelines + * Sat Jan 2 2010 Tom Lane 5.1.42-2 - Disable building the innodb plugin; it tickles assorted gcc bugs and doesn't seem entirely ready for prime time anyway. From 3f8abf9c3688351787c528dd1775ed8dcf0fb85b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 8 Jan 2010 16:00:25 +0000 Subject: [PATCH 158/616] Disable symbolic links by default in /etc/my.cnf --- my.cnf | 2 ++ mysql.spec | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/my.cnf b/my.cnf index fa8e124..7184b7f 100644 --- a/my.cnf +++ b/my.cnf @@ -2,6 +2,8 @@ datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql +# Disabling symbolic-links is recommended to prevent assorted security risks +symbolic-links=0 # To allow mysqld to connect to a MySQL Cluster management daemon, uncomment # these lines and adjust the connectstring as needed. diff --git a/mysql.spec b/mysql.spec index d50c8d0..27b22dc 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.42 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -652,6 +652,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 8 2010 Tom Lane 5.1.42-4 +- Disable symbolic links by default in /etc/my.cnf +Resolves: #553652 + * Tue Jan 5 2010 Tom Lane 5.1.42-3 - Remove static libraries (.a files) from package, per packaging guidelines - Change %%define to %%global, per packaging guidelines From 9fe034f96817f4f8398772a9e80d51f527ed3210 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 20 Jan 2010 20:29:04 +0000 Subject: [PATCH 159/616] Correct Source tag to reflect how to get the tarball --- mysql.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index 27b22dc..b0606cd 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.42 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -11,7 +11,10 @@ License: GPLv2 with exceptions # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} -Source0: http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-%{version}.tar.gz +# Upstream has a mirror redirector for downloads, so the URL is hard to +# represent statically. You can get the tarball by following a link from +# http://dev.mysql.com/downloads/mysql/ +Source0: mysql-%{version}.tar.gz Source1: mysql.init Source3: my.cnf Source4: scriptstub.c @@ -652,6 +655,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 20 2010 Tom Lane 5.1.42-5 +- Correct Source0: tag and comment to reflect how to get the tarball + * Fri Jan 8 2010 Tom Lane 5.1.42-4 - Disable symbolic links by default in /etc/my.cnf Resolves: #553652 From 56e52fefef7cb2531b98afee5246f67d47462f60 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 26 Jan 2010 18:34:23 +0000 Subject: [PATCH 160/616] Emit explicit error message if user tries to build RPM as root --- mysql.spec | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index b0606cd..a390a5f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.42 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -189,6 +189,17 @@ autoconf autoheader %build + +# fail quickly and obviously if user tries to build as root +%if %runselftest + if [ x"`id -u`" = x0 ]; then + echo "mysql's regression tests fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--define='runselftest 0' to skip the regression tests." + exit 1 + fi +%endif + CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # MySQL 4.1.10 definitely doesn't work under strict aliasing; also, # gcc 4.1 breaks MySQL 5.0.16 without -fwrapv @@ -655,6 +666,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jan 26 2010 Tom Lane 5.1.42-6 +- Emit explicit error message if user tries to build RPM as root +Related: #558915 + * Wed Jan 20 2010 Tom Lane 5.1.42-5 - Correct Source0: tag and comment to reflect how to get the tarball From e98ad40f7f7069cf5e3430723ea8bcee9291d3a0 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Jan 2010 20:26:30 +0000 Subject: [PATCH 161/616] Add backported patch for CVE-2008-7247 (upstream bug 39277) --- mysql-cve-2008-7247.patch | 58 +++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 mysql-cve-2008-7247.patch diff --git a/mysql-cve-2008-7247.patch b/mysql-cve-2008-7247.patch new file mode 100644 index 0000000..acd460f --- /dev/null +++ b/mysql-cve-2008-7247.patch @@ -0,0 +1,58 @@ +Back-ported patch for upstream bug #39277. + + +diff -Naur mysql-5.1.42.orig/sql/sql_table.cc mysql-5.1.42/sql/sql_table.cc +--- mysql-5.1.42.orig/sql/sql_table.cc 2009-12-16 12:57:30.000000000 -0500 ++++ mysql-5.1.42/sql/sql_table.cc 2010-01-28 14:33:52.000000000 -0500 +@@ -3892,15 +3892,43 @@ + create_info->table_existed= 0; // Mark that table is created + + #ifdef HAVE_READLINK +- if (test_if_data_home_dir(create_info->data_file_name)) + { +- my_error(ER_WRONG_ARGUMENTS, MYF(0), "DATA DIRECTORY"); +- goto unlock_and_end; +- } +- if (test_if_data_home_dir(create_info->index_file_name)) +- { +- my_error(ER_WRONG_ARGUMENTS, MYF(0), "INDEX DIRECTORY"); +- goto unlock_and_end; ++ size_t dirlen; ++ char dirpath[FN_REFLEN]; ++ ++ /* ++ data_file_name and index_file_name include the table name without ++ extension. Mostly this does not refer to an existing file. When ++ comparing data_file_name or index_file_name against the data ++ directory, we try to resolve all symbolic links. On some systems, ++ we use realpath(3) for the resolution. This returns ENOENT if the ++ resolved path does not refer to an existing file. my_realpath() ++ does then copy the requested path verbatim, without symlink ++ resolution. Thereafter the comparison can fail even if the ++ requested path is within the data directory. E.g. if symlinks to ++ another file system are used. To make realpath(3) return the ++ resolved path, we strip the table name and compare the directory ++ path only. If the directory doesn't exist either, table creation ++ will fail anyway. ++ */ ++ if (create_info->data_file_name) ++ { ++ dirname_part(dirpath, create_info->data_file_name, &dirlen); ++ if (test_if_data_home_dir(dirpath)) ++ { ++ my_error(ER_WRONG_ARGUMENTS, MYF(0), "DATA DIRECTORY"); ++ goto unlock_and_end; ++ } ++ } ++ if (create_info->index_file_name) ++ { ++ dirname_part(dirpath, create_info->index_file_name, &dirlen); ++ if (test_if_data_home_dir(dirpath)) ++ { ++ my_error(ER_WRONG_ARGUMENTS, MYF(0), "INDEX DIRECTORY"); ++ goto unlock_and_end; ++ } ++ } + } + + #ifdef WITH_PARTITION_STORAGE_ENGINE diff --git a/mysql.spec b/mysql.spec index a390a5f..328fd8c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.42 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -37,6 +37,7 @@ Patch8: mysql-setschedparam.patch Patch9: mysql-ndb-stacksize.patch Patch10: mysql-strmov.patch Patch11: mysql-signal-align.patch +Patch12: mysql-cve-2008-7247.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -181,6 +182,7 @@ the MySQL sources. %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 libtoolize --force aclocal @@ -666,6 +668,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 28 2010 Tom Lane 5.1.42-7 +- Add backported patch for CVE-2008-7247 (upstream bug 39277) +Related: #543619 + * Tue Jan 26 2010 Tom Lane 5.1.42-6 - Emit explicit error message if user tries to build RPM as root Related: #558915 From ad282b2a562eca05e88c436376c84d1716968265 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Jan 2010 14:34:49 +0000 Subject: [PATCH 162/616] Use non-expired certificates for SSL testing --- mysql-expired-certs.patch | 606 ++++++++++++++++++++++++++++++++++++++ mysql.spec | 5 +- 2 files changed, 610 insertions(+), 1 deletion(-) create mode 100644 mysql-expired-certs.patch diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch new file mode 100644 index 0000000..f768202 --- /dev/null +++ b/mysql-expired-certs.patch @@ -0,0 +1,606 @@ +Upstream insists on generating SSL testing certificates with relatively short +lifespan, which has repeatedly caused problems (ie, one day the regression +tests suddenly stop working). Replace them with certificates with 20-year +lifespan. We should periodically regenerate these, too, but at least not +very often. + + +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/cacert.pem mysql-5.1.42/mysql-test/std_data/cacert.pem +--- mysql-5.1.42.orig/mysql-test/std_data/cacert.pem 2009-12-16 13:22:07.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/cacert.pem 2010-01-29 01:11:00.000000000 -0500 +@@ -1,17 +1,22 @@ + -----BEGIN CERTIFICATE----- +-MIICrTCCAhagAwIBAgIJAJXpePU0UOTVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV ++MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV + BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD +-VQQKEwhNeVNRTCBBQjAeFw0wOTAxMjgxMDQ5NDZaFw0xNDAxMjcxMDQ5NDZaMEQx ++VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx + CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh +-MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA +-4XQHAe5R1+TXC8noZtWf+d5E0v1C59FWpn9SWEUCBjE5UiIwuJvi4Y+7xWGOXLAI +-/JzJx5gNXLBiTsE/zh0uX9fKlajLhxB0GN+QU0ZlpQ1BeYipEcNXeI/7cT499f6v +-XWabnTflivdCgHSWUOQ20/Lzs6kP6/e6OoZd/DPSjPECAwEAAaOBpjCBozAdBgNV +-HQ4EFgQU8uLqVWWkmuKsnZf1RWz294wRrd8wdAYDVR0jBG0wa4AU8uLqVWWkmuKs +-nZf1RWz294wRrd+hSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh +-MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTV +-MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMMTE5sDN+Z0ZlV7KvH3g +-6+aKvql8dTpRT3hYukeQlWua0nq74WPGVw0c4e/M/vbiMwmJcCYpB9pd4+dHqzSw +-aPyoenjY6UF8n7B4quWy3SIUk2LSHeJLW+kzJn2afN9gvipFhdVh/uU2TIyLGOur +-Z/vmJX2W7hF1uqPnbfa8Lrw= ++MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ++ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R ++vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 ++u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 ++qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv ++lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X ++/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA ++jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh ++SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV ++cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB ++Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai ++8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ ++nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL ++NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q ++Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 ++ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/client-cert.pem mysql-5.1.42/mysql-test/std_data/client-cert.pem +--- mysql-5.1.42.orig/mysql-test/std_data/client-cert.pem 2009-12-16 13:22:07.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/client-cert.pem 2010-01-29 01:10:51.000000000 -0500 +@@ -5,51 +5,66 @@ + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 28 11:04:39 2009 GMT +- Not After : Jan 28 11:04:39 2010 GMT ++ Not Before: Jan 29 06:07:48 2010 GMT ++ Not After : Aug 12 06:07:48 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public Key: (512 bit) +- Modulus (512 bit): +- 00:e1:52:30:2c:d9:be:64:28:91:5d:7a:fd:d9:e9: +- 14:35:7a:d2:94:4e:91:46:e0:db:9f:6b:79:f4:4c: +- ac:6e:07:61:34:86:74:62:a7:a8:44:af:fa:87:87: +- a8:7d:42:61:ff:ab:50:d4:7b:bf:75:fa:d5:d5:b3: +- 74:fb:56:1e:37 ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:b0:27:bc:06:b1:54:c0:85:7d:dc:fd:2f:ee:46: ++ 57:b2:66:4d:4a:6d:a4:54:6d:9d:9a:e3:36:b4:39: ++ 3b:12:2d:0b:79:45:cb:49:a3:ab:32:6a:65:fb:86: ++ 3e:bc:d2:84:a6:66:1a:0b:68:60:1f:e4:f9:ec:2f: ++ 79:8a:a1:97:a9:e5:64:66:16:4b:5a:89:f2:c5:c4: ++ 23:e5:28:92:4a:31:6c:03:33:9a:99:13:db:4d:c2: ++ 04:4d:cb:32:1e:59:d0:95:bd:3a:55:e6:0e:83:40: ++ 62:59:03:c4:42:38:6c:14:85:b2:5f:f3:6b:a4:bd: ++ ab:f0:78:04:1d:f0:59:d8:b7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: +- 58:30:B5:9B:2C:05:94:06:BA:3D:3C:F0:B2:CD:1D:67:65:E3:7F:85 ++ 1B:80:A5:E8:DC:7F:8E:F3:1F:C8:4A:43:DA:C0:99:A1:4B:E7:63:FA + X509v3 Authority Key Identifier: +- keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 + DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB +- serial:95:E9:78:F5:34:50:E4:D5 ++ serial:BE:58:AD:4C:1F:3D:25:95 + + Signature Algorithm: sha1WithRSAEncryption +- 05:19:e3:13:14:fc:c5:28:bf:69:f8:00:b3:25:cb:bd:ca:9f: +- 2f:4c:b3:a8:04:11:f0:74:27:bd:82:2c:b4:49:9b:a7:59:f0: +- f7:87:d1:e0:ba:99:a2:fe:4b:1d:10:6f:e4:a2:b3:cd:7f:8b: +- 68:31:46:ee:cd:9e:e2:47:e1:4c:fa:74:d1:e2:8b:cc:a0:4b: +- a8:24:d1:a4:c3:6b:2a:c6:28:cd:41:e0:06:48:e6:cf:f2:3c: +- ca:37:95:d7:29:64:6b:91:91:83:e7:ac:c8:0b:87:bc:da:a6: +- aa:f1:44:43:c8:74:7b:15:26:91:2e:03:c4:71:50:6c:f8:68: +- dc:8c ++ 45:90:3d:ee:23:6d:64:7d:2f:05:42:9b:f0:18:ad:af:64:75: ++ 6a:14:e4:39:ff:2b:9f:76:8c:16:52:d5:04:85:72:d8:9f:e7: ++ 3d:f0:a2:31:44:c6:4a:59:34:81:e9:85:a7:e3:73:df:6f:dc: ++ 37:71:57:ba:7c:b0:56:2a:07:88:6c:f7:92:d3:dc:43:41:0f: ++ ed:e3:3c:34:ed:a5:0f:25:cd:ba:76:a4:b5:aa:76:ec:a9:1b: ++ 64:f4:75:d4:20:21:27:78:b1:b2:bd:10:20:9e:0c:c2:ea:40: ++ 09:6a:f9:31:7b:d2:47:32:58:54:0e:e7:a1:49:a0:24:ca:26: ++ 56:3b:14:9b:a2:66:6a:28:68:49:25:bd:68:8e:31:3b:cb:04: ++ 7c:0b:d4:62:f8:95:a3:78:0d:4c:77:be:81:24:09:f0:e7:f0: ++ 3e:d2:92:6f:4b:fc:34:1a:76:fa:ae:03:18:c0:11:b6:a6:63: ++ 29:cd:09:e3:11:69:3a:de:7d:74:2d:ed:60:d6:0b:ba:09:a7: ++ 17:39:15:84:c1:8b:9b:cd:05:8f:be:58:ba:d1:f4:62:9f:e7: ++ 18:8f:4d:68:dd:d1:ca:04:80:8d:03:e6:36:93:68:58:ae:26: ++ 30:6b:e6:36:8a:3a:1d:1b:29:3f:c3:d2:18:0d:af:ef:6a:0f: ++ f5:0e:9a:3b + -----BEGIN CERTIFICATE----- +-MIICfzCCAeigAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MIIDRDCCAiygAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ + MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUIwHhcNMDkwMTI4MTEwNDM5WhcNMTAwMTI4MTEwNDM5WjBlMQswCQYDVQQG ++UUwgQUIwHhcNMTAwMTI5MDYwNzQ4WhcNMzAwODEyMDYwNzQ4WjBlMQswCQYDVQQG + EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxMTAvBgkq +-hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wXDAN +-BgkqhkiG9w0BAQEFAANLADBIAkEA4VIwLNm+ZCiRXXr92ekUNXrSlE6RRuDbn2t5 +-9EysbgdhNIZ0YqeoRK/6h4eofUJh/6tQ1Hu/dfrV1bN0+1YeNwIDAQABo4GjMIGg +-MAkGA1UdEwQCMAAwHQYDVR0OBBYEFFgwtZssBZQGuj088LLNHWdl43+FMHQGA1Ud +-IwRtMGuAFPLi6lVlpJrirJ2X9UVs9veMEa3foUikRjBEMQswCQYDVQQGEwJTRTEQ +-MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUKCCQCV6Xj1NFDk1TANBgkqhkiG9w0BAQUFAAOBgQAFGeMTFPzFKL9p+ACz +-Jcu9yp8vTLOoBBHwdCe9giy0SZunWfD3h9Hgupmi/ksdEG/korPNf4toMUbuzZ7i +-R+FM+nTR4ovMoEuoJNGkw2sqxijNQeAGSObP8jzKN5XXKWRrkZGD56zIC4e82qaq +-8URDyHR7FSaRLgPEcVBs+GjcjA== ++hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wgZ8w ++DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALAnvAaxVMCFfdz9L+5GV7JmTUptpFRt ++nZrjNrQ5OxItC3lFy0mjqzJqZfuGPrzShKZmGgtoYB/k+ewveYqhl6nlZGYWS1qJ ++8sXEI+UokkoxbAMzmpkT203CBE3LMh5Z0JW9OlXmDoNAYlkDxEI4bBSFsl/za6S9 ++q/B4BB3wWdi3AgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUG4Cl6Nx/ ++jvMfyEpD2sCZoUvnY/owdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh ++SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV ++cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEB ++BQUAA4IBAQBFkD3uI21kfS8FQpvwGK2vZHVqFOQ5/yufdowWUtUEhXLYn+c98KIx ++RMZKWTSB6YWn43Pfb9w3cVe6fLBWKgeIbPeS09xDQQ/t4zw07aUPJc26dqS1qnbs ++qRtk9HXUICEneLGyvRAgngzC6kAJavkxe9JHMlhUDuehSaAkyiZWOxSbomZqKGhJ ++Jb1ojjE7ywR8C9Ri+JWjeA1Md76BJAnw5/A+0pJvS/w0Gnb6rgMYwBG2pmMpzQnj ++EWk63n10Le1g1gu6CacXORWEwYubzQWPvli60fRin+cYj01o3dHKBICNA+Y2k2hY ++riYwa+Y2ijodGyk/w9IYDa/vag/1Dpo7 + -----END CERTIFICATE----- +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/client-key.pem mysql-5.1.42/mysql-test/std_data/client-key.pem +--- mysql-5.1.42.orig/mysql-test/std_data/client-key.pem 2009-12-16 13:22:08.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/client-key.pem 2010-01-29 01:10:52.000000000 -0500 +@@ -1,9 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIBOQIBAAJBAOFSMCzZvmQokV16/dnpFDV60pROkUbg259refRMrG4HYTSGdGKn +-qESv+oeHqH1CYf+rUNR7v3X61dWzdPtWHjcCAwEAAQJAXYooM8ZlcuEgj+VKU1ee +-qyEFIMqJJxqcMk+E/nWCM96WxCP3zHNSrqNfSpI3ld7QzMwhdRz+gFLxT2gGNpIw +-MQIhAPxzM/lDihe67X3ADYtDl9ZjA8Pm430x9sXlcxI17tCZAiEA5H1SyFl4mUee +-9VnfSC2XGW7lwz72ZygfVX+b7tLWF08CIEh40gzW5MfXM+KLxdea+fXjyursV5ZT +-R6KcMiKiNQLRAiAcmHqlzFzFgisotai2Fc6VRkXHG7gmzOSvBJt1VjmpDQIge6jf +-2N7whTdvC4ferB+zUlgWQdyvx1c3T4gnt6PYdaY= ++MIICXAIBAAKBgQCwJ7wGsVTAhX3c/S/uRleyZk1KbaRUbZ2a4za0OTsSLQt5RctJ ++o6syamX7hj680oSmZhoLaGAf5PnsL3mKoZep5WRmFktaifLFxCPlKJJKMWwDM5qZ ++E9tNwgRNyzIeWdCVvTpV5g6DQGJZA8RCOGwUhbJf82ukvavweAQd8FnYtwIDAQAB ++AoGAdDGxgASmr9sd+4/ydsxlemKqpuaNl7c6V3l6kwSRJ1sZD2RvRGK2QSoXnQKf ++DXQbVZtRoKa3iTJDfHyQQlZ2r9z2T2zEuxu6x/lUJO4EhcLPGK53Ew5BP+t/EqQe ++xfq+dwZ/NLl7SkBFf2FKPtb0juiT7cTfwjb0VHtaBGlNcGkCQQDgGmqAnpEVoaca ++9juAFz6C4KD4BsaKuMUsJWEPohRACAzBI0tyGpLyPaIep7a5F1KTMsfDaKIFr8oh ++Bmx7L5jbAkEAyTpAc1gvyfLtToG2IPjOND7EvzlNY/kMmt/43BPfknbRyJLWgGOO ++pJ4CiAhSGEBSXvjEcwoIlUdzYV6Eu7PIVQJAKKMhpOkcDfwePTlhWLzeTQVGqzMv ++VYBj4Ll2fEs7uNC831jzGWHQO7UJbN2kuLON+bs/liOnHbjewlZT3ZKn+QJBAJth ++NJUcOkJ5J06gkC7jj+39rdRufdi9XUNVwIbHfbJNt21mHOWkemeYbyH1MtbxC+mz ++s5WU4M3MD0bXQiziBMUCQAjb86wy6/ktxgi/GQHV0haVJSK8pqmDRz6m/1m9efEK ++iXeeaxYiWC07vu+NLy/ysq48jOMURD/m3GbFDGIcnRU= + -----END RSA PRIVATE KEY----- +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server-cert.pem mysql-5.1.42/mysql-test/std_data/server-cert.pem +--- mysql-5.1.42.orig/mysql-test/std_data/server-cert.pem 2009-12-16 13:22:09.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/server-cert.pem 2010-01-29 01:10:41.000000000 -0500 +@@ -5,51 +5,66 @@ + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 28 10:55:13 2009 GMT +- Not After : Jan 28 10:55:13 2010 GMT ++ Not Before: Jan 29 06:02:25 2010 GMT ++ Not After : Aug 12 06:02:25 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public Key: (512 bit) +- Modulus (512 bit): +- 00:b6:8f:e5:b7:b4:86:83:13:8a:f9:bf:63:cb:64: +- 2d:b9:51:d1:de:ab:7b:45:1f:aa:b5:66:73:13:f9: +- a6:07:d5:ba:7c:fa:92:bd:37:e2:ad:87:db:3e:b6: +- 6a:12:64:f8:ee:17:e3:15:06:2f:a8:82:68:bf:57: +- 8d:c3:04:98:27 ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:a1:4e:1b:2d:7a:71:9a:81:70:cf:9b:0e:32:aa: ++ 83:c7:2d:bb:30:a4:cc:16:f6:68:57:49:37:3f:ca: ++ b5:47:83:14:ca:4b:04:fe:a9:18:fd:ba:6f:2f:15: ++ 2b:d7:da:b1:cd:e5:43:93:64:4d:b1:4e:d1:5a:10: ++ e3:5e:81:dd:2a:72:ff:74:a2:eb:9a:3b:9a:b2:46: ++ ac:01:55:7e:80:b1:92:0d:e7:c1:29:ff:0e:90:ae: ++ 5c:cc:66:af:f8:c7:74:1d:4f:3f:e5:2c:0b:cb:f1: ++ 78:06:ee:da:6f:63:b6:80:dc:30:fe:ef:d5:7d:fc: ++ 92:f8:74:5f:33:33:a7:65:37 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: +- D9:9A:B8:5F:22:EA:04:10:C8:25:7D:82:57:E6:2E:FD:19:29:E7:DA ++ AA:6D:65:A9:98:45:49:56:A1:41:96:10:9A:BF:05:0B:A7:86:AC:10 + X509v3 Authority Key Identifier: +- keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 + DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB +- serial:95:E9:78:F5:34:50:E4:D5 ++ serial:BE:58:AD:4C:1F:3D:25:95 + + Signature Algorithm: sha1WithRSAEncryption +- 54:07:2d:21:0b:a5:af:3b:58:23:32:5e:56:7f:ab:58:63:48: +- 91:aa:38:90:89:16:f9:cc:bf:a4:0e:78:2b:9f:c5:1b:58:a6: +- e6:08:8f:2e:ae:97:03:21:9b:f1:cd:c0:26:8f:1d:d7:28:27: +- a0:8e:81:09:1b:1c:0f:c9:a5:41:3a:2d:44:3f:9c:fa:87:ff: +- c8:4c:2b:44:f7:1b:c1:3e:4f:01:7f:e9:26:cc:9f:1c:06:b5: +- 0b:27:d1:10:90:be:93:0c:9c:e7:b0:d1:ea:27:99:4e:06:14: +- 0c:7a:e9:c1:52:c5:33:68:bc:61:0d:db:81:3b:57:48:57:bf: +- 42:9a ++ 5e:ea:d1:ae:3f:d6:ab:fc:e9:1c:e4:70:8f:c9:73:86:a8:c4: ++ 1e:6f:f3:cb:c0:c7:9f:55:81:4e:8d:ce:0a:7b:fb:d6:be:15: ++ cc:4f:18:f7:51:d6:e8:51:ec:97:22:e2:f7:bd:b2:e9:8f:da: ++ 59:ec:b2:39:02:73:b7:fd:71:90:ac:cd:49:9e:53:ab:66:ca: ++ 28:dc:71:c5:6c:d5:be:c1:39:15:04:93:ed:d8:fb:84:56:4d: ++ 46:f1:75:5a:9b:0c:ee:b1:c9:3e:4d:15:3b:5e:ba:68:3a:62: ++ c0:3c:e6:63:b6:6d:53:3c:82:d6:62:7c:0e:c3:e4:d0:73:69: ++ 34:a9:ce:7e:af:fc:1a:30:e1:ad:00:c1:52:c4:2a:88:04:da: ++ fc:92:3b:a6:0b:7c:e6:14:5a:b6:f4:9b:74:e1:23:a5:c7:2c: ++ 18:83:98:18:32:4c:c0:9b:1b:c4:94:14:92:24:50:f5:d2:88: ++ db:a2:8d:80:bb:df:2b:44:5c:27:18:3a:d6:b2:2f:2e:71:47: ++ cb:f0:46:59:e6:cf:40:23:f4:72:72:36:00:0d:86:a4:f0:a1: ++ 86:86:0d:07:9f:4c:f9:c4:c4:83:ed:d9:33:e2:ea:4d:57:28: ++ cc:2b:fb:5c:74:38:e0:ed:24:6d:32:1b:93:e2:bf:9f:a2:dd: ++ 39:b2:ce:54 + -----BEGIN CERTIFICATE----- +-MIICkzCCAfygAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MIIDWDCCAkCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ + MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUIwHhcNMDkwMTI4MTA1NTEzWhcNMTAwMTI4MTA1NTEzWjB5MQswCQYDVQQG ++UUwgQUIwHhcNMTAwMTI5MDYwMjI1WhcNMzAwODEyMDYwMjI1WjB5MQswCQYDVQQG + EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV + BAMTCWxvY2FsaG9zdDExMC8GCSqGSIb3DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2 +-ZWxvcGVyQG15c3FsLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC2j+W3tIaD +-E4r5v2PLZC25UdHeq3tFH6q1ZnMT+aYH1bp8+pK9N+Kth9s+tmoSZPjuF+MVBi+o +-gmi/V43DBJgnAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQU2Zq4XyLq +-BBDIJX2CV+Yu/Rkp59owdAYDVR0jBG0wa4AU8uLqVWWkmuKsnZf1RWz294wRrd+h +-SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV +-cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTVMA0GCSqGSIb3DQEB +-BQUAA4GBAFQHLSELpa87WCMyXlZ/q1hjSJGqOJCJFvnMv6QOeCufxRtYpuYIjy6u +-lwMhm/HNwCaPHdcoJ6COgQkbHA/JpUE6LUQ/nPqH/8hMK0T3G8E+TwF/6SbMnxwG +-tQsn0RCQvpMMnOew0eonmU4GFAx66cFSxTNovGEN24E7V0hXv0Ka ++ZWxvcGVyQG15c3FsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoU4b ++LXpxmoFwz5sOMqqDxy27MKTMFvZoV0k3P8q1R4MUyksE/qkY/bpvLxUr19qxzeVD ++k2RNsU7RWhDjXoHdKnL/dKLrmjuaskasAVV+gLGSDefBKf8OkK5czGav+Md0HU8/ ++5SwLy/F4Bu7ab2O2gNww/u/VffyS+HRfMzOnZTcCAwEAAaOBozCBoDAJBgNVHRME ++AjAAMB0GA1UdDgQWBBSqbWWpmEVJVqFBlhCavwULp4asEDB0BgNVHSMEbTBrgBSx +++353tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgT ++B1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkA ++vlitTB89JZUwDQYJKoZIhvcNAQEFBQADggEBAF7q0a4/1qv86RzkcI/Jc4aoxB5v ++88vAx59VgU6Nzgp7+9a+FcxPGPdR1uhR7Jci4ve9sumP2lnssjkCc7f9cZCszUme ++U6tmyijcccVs1b7BORUEk+3Y+4RWTUbxdVqbDO6xyT5NFTteumg6YsA85mO2bVM8 ++gtZifA7D5NBzaTSpzn6v/Bow4a0AwVLEKogE2vySO6YLfOYUWrb0m3ThI6XHLBiD ++mBgyTMCbG8SUFJIkUPXSiNuijYC73ytEXCcYOtayLy5xR8vwRlnmz0Aj9HJyNgAN ++hqTwoYaGDQefTPnExIPt2TPi6k1XKMwr+1x0OODtJG0yG5Piv5+i3TmyzlQ= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server-key.pem mysql-5.1.42/mysql-test/std_data/server-key.pem +--- mysql-5.1.42.orig/mysql-test/std_data/server-key.pem 2009-12-16 13:22:09.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/server-key.pem 2010-01-29 01:10:41.000000000 -0500 +@@ -1,9 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIBOQIBAAJBALaP5be0hoMTivm/Y8tkLblR0d6re0UfqrVmcxP5pgfVunz6kr03 +-4q2H2z62ahJk+O4X4xUGL6iCaL9XjcMEmCcCAwEAAQJASA5VwgNb0CKHiPm0ntOk +-hG+54SRX3DmafEy6gRjZIl/bZ/asSLhXUZ+CeohyrQh7BZgYWvykd8pRISL9eKsU +-GQIhAOXkUrOtP/EtjyqNluEqZdG+RZi/7p61JS3Ce13Myu+LAiEAy0uMlV34AJpM +-b40FPKqlHxw8DD/Dt1iKhNVAg8+LDVUCIFjv7fbJDbW2VG63/Cj8CAwOukoP5rbL +-iaicVrHBKrllAiB9+MiaXeopZXNrxDS0jQFYr8Q9yt1aJVFgUkxx4Q9HKQIgZPs0 +-KlF3NNNWw78INaAEkyf0IEssnLMsuoCWw0DIOak= ++MIICWwIBAAKBgQChThstenGagXDPmw4yqoPHLbswpMwW9mhXSTc/yrVHgxTKSwT+ ++qRj9um8vFSvX2rHN5UOTZE2xTtFaEONegd0qcv90ouuaO5qyRqwBVX6AsZIN58Ep ++/w6QrlzMZq/4x3QdTz/lLAvL8XgG7tpvY7aA3DD+79V9/JL4dF8zM6dlNwIDAQAB ++AoGAcxeQyrVH448iF+8xhTMnDXHy0zVyrZupPUZvVmPjTqAXsHMwoCe1PizM8hIw ++EzbmkNtZiQwTZ0SumY3dPWx5iZM0P+ufoxM1Asendgr9EUg0udiEmBQIyeXvzwR/ ++gx5OyZYXR7r+H4pr+3Aqd4Lia1CBNogUZMFq1OR8tZquvJECQQDPEcAZyWbRZLr3 ++LLhCKmuzt+FKU+2k/xk0UfLegCkmZ5+qrc0s9fbev2VpNvJDUg5y8gbP+zK7Y5cy ++Eh6VBKXvAkEAx2vwX9A5oSSYVpMZkGVrMaRyIA4LdxlC31HKXCxUzm28z1x7QuDu ++8BdZPUwSRTtNyUCB5daZd2tQjdkSf7O9OQJAHSjlwXvgM8qYnag5hm/M3PEfE8V/ ++6MVXukt0BStNIDBlhraU9yjoC/QuBsQLF7ndeQhmNzGrskHTD+UHU3rlFwJAay7A ++iz7HOq0Ik7+MRee8rXnNPR1PXDvfjVfQg6nwCuNAT9NNDK0Iv1JNTHzOdRdiv4BE ++UNv+sAilyxeYsbpRQQJAMMf88+cU7Gb0cMKMlS5qM5UyIbT2lu8OypXC7U/iN74V ++EAh4dIpLYUFa8dOkO/eP5lntIb/GlW63rMBNj0vQBQ== + -----END RSA PRIVATE KEY----- +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.42/mysql-test/std_data/server8k-cert.pem +--- mysql-5.1.42.orig/mysql-test/std_data/server8k-cert.pem 2009-12-16 13:22:09.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/server8k-cert.pem 2010-01-29 01:10:46.000000000 -0500 +@@ -1,138 +1,69 @@ + Certificate: + Data: + Version: 3 (0x2) +- Serial Number: 4 (0x4) ++ Serial Number: 2 (0x2) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 28 11:12:27 2009 GMT +- Not After : Jan 28 11:12:27 2010 GMT ++ Not Before: Jan 29 06:04:32 2010 GMT ++ Not After : Aug 12 06:04:32 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public Key: (8192 bit) +- Modulus (8192 bit): +- 00:c0:8f:22:03:24:59:67:46:14:d6:8f:60:09:58: +- 06:07:45:f1:78:71:55:f1:ea:b9:30:8a:cd:c3:3c: +- b9:bf:65:6e:18:ed:a0:b8:c9:19:56:6f:c4:90:19: +- c8:65:09:db:ff:bf:82:a1:08:ad:01:4f:5a:a3:d4: +- 3d:78:7e:4b:4a:01:a4:7d:e8:7b:05:3e:7d:d8:b9: +- 55:58:60:d6:1c:ce:e8:32:62:2c:19:60:f3:ed:05: +- 99:6d:c9:77:07:2e:11:6d:0b:9a:c7:68:38:46:e8: +- fa:31:80:df:e8:79:f0:f1:fd:a9:94:c3:fa:0d:f5: +- 78:ac:49:7e:d5:17:fd:e1:ee:44:f3:c7:0e:30:32: +- 5d:a9:19:25:e4:bb:21:1d:fe:3c:84:48:40:f5:58: +- f4:bf:13:8c:85:68:bb:ec:f5:dd:c6:38:d1:b0:77: +- 1f:a6:8e:4f:8d:e2:6f:49:74:f5:3f:90:65:8e:99: +- 1e:59:9c:1c:b5:26:24:c4:b1:de:1e:fb:96:65:c4: +- 31:14:1a:53:b8:5e:62:8a:c7:04:f7:b4:36:a4:af: +- 07:c8:27:06:ed:dd:e6:f4:8c:62:f1:65:40:d0:9f: +- 9f:a9:14:c8:8e:8b:74:d6:67:5a:d0:c9:4d:35:a1: +- d5:7b:39:3a:42:9f:e4:d0:f4:c6:0f:2e:42:30:4b: +- 56:b2:3d:6d:8e:2d:58:c5:69:99:35:49:95:95:99: +- b6:87:29:2b:32:d1:50:08:cd:25:14:48:6d:10:99: +- 85:61:3c:41:26:21:55:cc:1f:cf:ad:b0:2f:b9:89: +- d8:4e:a0:18:ff:75:1d:b6:97:7c:c5:fa:8b:dc:93: +- 17:86:0a:64:d4:09:35:d5:83:34:6d:5c:6d:c6:8c: +- cd:b9:ec:c2:93:c6:c1:b7:cc:04:6f:22:e0:07:bf: +- e0:d9:9b:2f:d5:a0:50:cc:f9:f0:95:83:8f:f4:30: +- 83:72:94:d7:b5:4b:da:cc:9f:54:3b:8d:78:77:0b: +- 24:6c:0f:c2:96:61:96:2f:b8:5f:b5:7a:ab:7a:5b: +- 97:7a:a9:ad:40:8b:f2:d6:c6:8d:81:d9:94:61:8f: +- 9d:03:c5:b9:10:03:68:83:bf:04:81:cc:ac:bd:34: +- 89:e8:d4:8d:43:20:e2:b6:a4:11:3d:15:2a:82:0c: +- d6:3a:6a:8c:62:d4:93:bc:c3:80:bf:1b:b4:2b:0a: +- 7a:34:f0:cd:1e:82:3f:25:0f:d1:04:a8:0a:05:19: +- b0:d6:16:83:39:af:0b:45:7d:cb:14:7e:4d:aa:aa: +- c2:39:a8:46:38:ab:bd:ab:2a:bd:34:43:7f:da:25: +- de:2b:fb:69:3b:fe:3b:87:fd:98:94:76:4a:bf:04: +- a3:31:e3:3a:ff:6f:04:fa:fa:24:e4:2a:89:e9:0e: +- bf:44:4c:72:85:82:3c:89:4a:03:63:01:41:92:53: +- d0:82:60:6e:d8:ff:8c:a2:b4:1a:3b:20:6d:ae:74: +- 92:30:4e:48:e3:51:a6:cb:73:97:06:13:03:32:23: +- 9b:7d:a2:c7:3a:a9:af:97:8c:51:ed:fe:fa:b4:b4: +- 1a:a3:87:fc:cf:8c:8e:e6:80:15:03:fd:fe:7d:bd: +- b1:76:f1:5f:b3:09:2b:4c:4d:a7:7c:b5:72:b1:d6: +- db:38:c0:67:a4:54:bc:87:09:a5:39:ba:1a:7e:3f: +- 74:60:ad:3d:4b:be:94:53:f3:64:16:c7:33:35:ec: +- 41:00:95:b6:de:99:62:a2:7a:28:9a:45:4d:fa:cd: +- a6:77:f6:de:58:72:50:c8:7d:69:38:db:07:04:84: +- d8:4d:39:f7:50:13:43:ae:2d:af:45:a4:2a:39:56: +- 3c:b8:b7:d8:26:a4:36:c9:23:aa:aa:b8:49:0b:21: +- ba:9e:7a:2b:7f:4d:29:9f:0e:00:1e:b4:5e:a6:fa: +- 49:fe:8d:e5:74:57:d8:ba:d9:92:2c:d2:ac:84:1d: +- f2:a6:a4:44:1c:bf:88:41:32:7e:d1:c3:2f:6e:bc: +- 0f:5d:19:a6:8f:74:2b:67:ba:dd:a9:db:68:b5:ce: +- 9d:25:48:df:54:08:d0:1d:4f:2e:5b:24:bc:05:0f: +- fb:58:46:fa:02:ca:53:93:29:cf:10:27:c2:a0:18: +- d0:f5:d4:b9:3c:5e:df:8e:6c:f5:7c:b9:b4:54:cc: +- 39:16:5d:3c:da:96:b3:c3:6c:d4:70:5d:d3:30:a7: +- a6:bd:6f:dd:41:bc:a8:de:42:60:59:9a:85:25:0d: +- 2a:45:c3:05:b4:6e:7a:4a:4d:ca:8c:0a:e5:6c:34: +- bc:20:9b:6d:4a:ca:ca:b6:a6:3a:a0:db:c3:0e:20: +- 1a:12:1b:77:dd:cb:1d:7f:c3:0d:0d:e7:c1:fd:96: +- d2:c7:68:80:99:a0:d9:8a:33:21:a3:8b:a2:5a:a7: +- 7e:27:06:02:7f:ed:60:11:37:34:54:17:7f:4d:90: +- 14:1e:69:37:0d:ba:f0:2b:f0:a3:2d:62:79:c8:76: +- a8:ea:c8:e7:3b:1f:c6:4f:c2:0c:d7:ac:f0:77:53: +- 5d:f0:50:b4:df:9b:03:ca:4d:41:e1:18:b2:25:30: +- 86:1d:63:e5:67:b1:53:cd:6b:4e:83:1a:b9:5e:2d: +- 05:15:6b:d4:8e:b1:97:fc:31:03:57:cb:bf:27:7f: +- cd:5f:27:7e:66:e7:3c:17:09:b6:11:2a:4f:33:cd: +- eb:1a:d3:6f:d5:15:8b:8b:ce:68:6b:7e:9a:95:e5: +- 74:7f:17:57:d9 ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:b7:7f:d6:0b:d4:62:15:74:97:9b:d4:17:0a:44: ++ 07:22:0f:fe:38:05:74:b8:e3:ba:28:91:26:29:bf: ++ 70:02:ac:d9:f2:83:bc:99:a4:70:e3:3c:84:b7:5e: ++ 84:0c:b8:b8:7d:39:a9:ab:9b:b9:9e:9f:a9:2a:6b: ++ fa:40:70:6c:32:a4:93:1a:a9:9b:07:cc:18:21:e4: ++ 09:9d:78:16:f1:d5:1e:f2:6f:4e:5f:29:7f:d5:41: ++ ea:20:a0:1e:f7:b2:7c:d0:bf:e5:7a:fe:c5:8a:fd: ++ e4:aa:06:56:f1:42:70:be:b9:2f:34:04:8b:d0:b6: ++ d6:8f:a4:4c:99:25:37:c2:9d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: +- 58:12:24:59:A7:3C:29:15:89:5A:C2:12:DB:E7:A5:42:10:21:B7:BA ++ CA:93:B6:F5:77:50:56:DE:5F:9E:9B:4A:39:8D:D4:8A:BD:52:8C:BE + X509v3 Authority Key Identifier: +- keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 + DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB +- serial:95:E9:78:F5:34:50:E4:D5 ++ serial:BE:58:AD:4C:1F:3D:25:95 + + Signature Algorithm: sha1WithRSAEncryption +- cd:cb:5c:83:35:ea:cb:cb:c3:a8:c3:95:e2:e6:6f:4d:d8:e4: +- ee:41:dd:3f:35:82:ac:2f:fd:63:89:4f:3a:19:d7:81:75:b3: +- a3:fc:36:b2:12:d5:c6:56:bc:13:60:37:33:6e:a0:d8:ae:7c: +- 88:f9:4b:ee:7b:1f:c8:f0:56:19:07:4d:bb:45:52:1c:78:81: +- 07:7c:13:86:b8:86:70:85:e4:71:25:58:78:d1:be:de:22:82: +- 6d:1a:4b:06:ac:f0:e8:50:87:c7:69:64:c2:61:43:cd:96:06: +- a6:7e:09:a9:02:01:2a:a2:40:f3:cd:10:80:48:d0:34:55:40: +- b9:ce ++ 38:f0:4b:5d:f7:c6:b9:88:53:d0:d5:41:e4:c6:41:1a:1b:23: ++ 14:eb:06:63:48:90:09:e9:2d:e8:51:51:c0:03:ad:61:6f:0f: ++ 9e:2c:d0:3e:6d:30:ec:78:64:55:c1:e2:00:d8:2a:8d:dd:4a: ++ e7:78:22:31:8a:3d:8a:1f:34:d7:81:fb:ad:34:ac:d8:ac:de: ++ 68:76:ba:ad:f3:77:70:1f:19:c7:18:9d:55:c0:ed:9f:f5:36: ++ 8b:38:15:10:c0:b7:93:18:df:5a:3c:ba:9b:70:99:42:03:99: ++ da:46:e7:07:b6:c3:ea:55:a0:70:a8:2a:44:53:f1:b0:7d:b6: ++ 1c:2e:80:bf:5e:da:a5:0d:4e:10:8a:76:78:11:a7:60:b3:d6: ++ 5e:8f:3b:17:62:2b:8e:b3:fc:43:a1:8c:73:54:fc:b9:73:9a: ++ 79:4d:bb:84:a4:fa:d1:7a:61:1d:ca:c2:49:16:f0:e8:bf:1d: ++ 5c:91:41:95:5f:ac:e7:a4:63:a9:d3:1d:49:30:e3:fc:20:7d: ++ 5b:07:14:94:e1:20:a6:bc:41:7b:27:82:d1:5e:2a:75:0e:74: ++ b2:bc:31:13:6d:59:8f:7b:db:25:6d:7b:64:e9:c0:7a:9e:79: ++ 33:49:f6:b8:a2:ee:11:48:3a:c8:85:1e:6d:e4:10:6e:d4:8e: ++ 81:7b:05:27 + -----BEGIN CERTIFICATE----- +-MIIGJTCCBY6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MIIDIjCCAgqgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ + MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUIwHhcNMDkwMTI4MTExMjI3WhcNMTAwMTI4MTExMjI3WjBDMQswCQYDVQQG ++UUwgQUIwHhcNMTAwMTI5MDYwNDMyWhcNMzAwODEyMDYwNDMyWjBDMQswCQYDVQQG + EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV +-BAMTBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMCPIgMk +-WWdGFNaPYAlYBgdF8XhxVfHquTCKzcM8ub9lbhjtoLjJGVZvxJAZyGUJ2/+/gqEI +-rQFPWqPUPXh+S0oBpH3oewU+fdi5VVhg1hzO6DJiLBlg8+0FmW3JdwcuEW0Lmsdo +-OEbo+jGA3+h58PH9qZTD+g31eKxJftUX/eHuRPPHDjAyXakZJeS7IR3+PIRIQPVY +-9L8TjIVou+z13cY40bB3H6aOT43ib0l09T+QZY6ZHlmcHLUmJMSx3h77lmXEMRQa +-U7heYorHBPe0NqSvB8gnBu3d5vSMYvFlQNCfn6kUyI6LdNZnWtDJTTWh1Xs5OkKf +-5ND0xg8uQjBLVrI9bY4tWMVpmTVJlZWZtocpKzLRUAjNJRRIbRCZhWE8QSYhVcwf +-z62wL7mJ2E6gGP91HbaXfMX6i9yTF4YKZNQJNdWDNG1cbcaMzbnswpPGwbfMBG8i +-4Ae/4NmbL9WgUMz58JWDj/Qwg3KU17VL2syfVDuNeHcLJGwPwpZhli+4X7V6q3pb +-l3qprUCL8tbGjYHZlGGPnQPFuRADaIO/BIHMrL00iejUjUMg4rakET0VKoIM1jpq +-jGLUk7zDgL8btCsKejTwzR6CPyUP0QSoCgUZsNYWgzmvC0V9yxR+TaqqwjmoRjir +-vasqvTRDf9ol3iv7aTv+O4f9mJR2Sr8EozHjOv9vBPr6JOQqiekOv0RMcoWCPIlK +-A2MBQZJT0IJgbtj/jKK0Gjsgba50kjBOSONRpstzlwYTAzIjm32ixzqpr5eMUe3+ +-+rS0GqOH/M+MjuaAFQP9/n29sXbxX7MJK0xNp3y1crHW2zjAZ6RUvIcJpTm6Gn4/ +-dGCtPUu+lFPzZBbHMzXsQQCVtt6ZYqJ6KJpFTfrNpnf23lhyUMh9aTjbBwSE2E05 +-91ATQ64tr0WkKjlWPLi32CakNskjqqq4SQshup56K39NKZ8OAB60Xqb6Sf6N5XRX +-2LrZkizSrIQd8qakRBy/iEEyftHDL268D10Zpo90K2e63anbaLXOnSVI31QI0B1P +-LlskvAUP+1hG+gLKU5MpzxAnwqAY0PXUuTxe345s9Xy5tFTMORZdPNqWs8Ns1HBd +-0zCnpr1v3UG8qN5CYFmahSUNKkXDBbRuekpNyowK5Ww0vCCbbUrKyramOqDbww4g +-GhIbd93LHX/DDQ3nwf2W0sdogJmg2YozIaOLolqnficGAn/tYBE3NFQXf02QFB5p +-Nw268Cvwoy1iech2qOrI5zsfxk/CDNes8HdTXfBQtN+bA8pNQeEYsiUwhh1j5Wex +-U81rToMauV4tBRVr1I6xl/wxA1fLvyd/zV8nfmbnPBcJthEqTzPN6xrTb9UVi4vO +-aGt+mpXldH8XV9kCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0GA1UdDgQWBBRYEiRZ +-pzwpFYlawhLb56VCECG3ujB0BgNVHSMEbTBrgBTy4upVZaSa4qydl/VFbPb3jBGt +-36FIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcT +-B1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAlel49TRQ5NUwDQYJKoZIhvcN +-AQEFBQADgYEAzctcgzXqy8vDqMOV4uZvTdjk7kHdPzWCrC/9Y4lPOhnXgXWzo/w2 +-shLVxla8E2A3M26g2K58iPlL7nsfyPBWGQdNu0VSHHiBB3wThriGcIXkcSVYeNG+ +-3iKCbRpLBqzw6FCHx2lkwmFDzZYGpn4JqQIBKqJA880QgEjQNFVAuc4= ++BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAt3/WC9RiFXSX ++m9QXCkQHIg/+OAV0uOO6KJEmKb9wAqzZ8oO8maRw4zyEt16EDLi4fTmpq5u5np+p ++Kmv6QHBsMqSTGqmbB8wYIeQJnXgW8dUe8m9OXyl/1UHqIKAe97J80L/lev7Fiv3k ++qgZW8UJwvrkvNASL0LbWj6RMmSU3wp0CAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G ++A1UdDgQWBBTKk7b1d1BW3l+em0o5jdSKvVKMvjB0BgNVHSMEbTBrgBSx+353tUCN ++aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh ++bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 ++JZUwDQYJKoZIhvcNAQEFBQADggEBADjwS133xrmIU9DVQeTGQRobIxTrBmNIkAnp ++LehRUcADrWFvD54s0D5tMOx4ZFXB4gDYKo3dSud4IjGKPYofNNeB+600rNis3mh2 ++uq3zd3AfGccYnVXA7Z/1Nos4FRDAt5MY31o8uptwmUIDmdpG5we2w+pVoHCoKkRT ++8bB9thwugL9e2qUNThCKdngRp2Cz1l6POxdiK46z/EOhjHNU/LlzmnlNu4Sk+tF6 ++YR3KwkkW8Oi/HVyRQZVfrOekY6nTHUkw4/wgfVsHFJThIKa8QXsngtFeKnUOdLK8 ++MRNtWY972yVte2TpwHqeeTNJ9rii7hFIOsiFHm3kEG7UjoF7BSc= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.42/mysql-test/std_data/server8k-key.pem +--- mysql-5.1.42.orig/mysql-test/std_data/server8k-key.pem 2009-12-16 13:22:09.000000000 -0500 ++++ mysql-5.1.42/mysql-test/std_data/server8k-key.pem 2010-01-29 01:10:47.000000000 -0500 +@@ -1,99 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIISKAIBAAKCBAEAwI8iAyRZZ0YU1o9gCVgGB0XxeHFV8eq5MIrNwzy5v2VuGO2g +-uMkZVm/EkBnIZQnb/7+CoQitAU9ao9Q9eH5LSgGkfeh7BT592LlVWGDWHM7oMmIs +-GWDz7QWZbcl3By4RbQuax2g4Ruj6MYDf6Hnw8f2plMP6DfV4rEl+1Rf94e5E88cO +-MDJdqRkl5LshHf48hEhA9Vj0vxOMhWi77PXdxjjRsHcfpo5PjeJvSXT1P5Bljpke +-WZwctSYkxLHeHvuWZcQxFBpTuF5iiscE97Q2pK8HyCcG7d3m9Ixi8WVA0J+fqRTI +-jot01mda0MlNNaHVezk6Qp/k0PTGDy5CMEtWsj1tji1YxWmZNUmVlZm2hykrMtFQ +-CM0lFEhtEJmFYTxBJiFVzB/PrbAvuYnYTqAY/3Udtpd8xfqL3JMXhgpk1Ak11YM0 +-bVxtxozNuezCk8bBt8wEbyLgB7/g2Zsv1aBQzPnwlYOP9DCDcpTXtUvazJ9UO414 +-dwskbA/ClmGWL7hftXqreluXeqmtQIvy1saNgdmUYY+dA8W5EANog78EgcysvTSJ +-6NSNQyDitqQRPRUqggzWOmqMYtSTvMOAvxu0Kwp6NPDNHoI/JQ/RBKgKBRmw1haD +-Oa8LRX3LFH5NqqrCOahGOKu9qyq9NEN/2iXeK/tpO/47h/2YlHZKvwSjMeM6/28E +-+vok5CqJ6Q6/RExyhYI8iUoDYwFBklPQgmBu2P+MorQaOyBtrnSSME5I41Gmy3OX +-BhMDMiObfaLHOqmvl4xR7f76tLQao4f8z4yO5oAVA/3+fb2xdvFfswkrTE2nfLVy +-sdbbOMBnpFS8hwmlOboafj90YK09S76UU/NkFsczNexBAJW23plionoomkVN+s2m +-d/beWHJQyH1pONsHBITYTTn3UBNDri2vRaQqOVY8uLfYJqQ2ySOqqrhJCyG6nnor +-f00pnw4AHrRepvpJ/o3ldFfYutmSLNKshB3ypqREHL+IQTJ+0cMvbrwPXRmmj3Qr +-Z7rdqdtotc6dJUjfVAjQHU8uWyS8BQ/7WEb6AspTkynPECfCoBjQ9dS5PF7fjmz1 +-fLm0VMw5Fl082pazw2zUcF3TMKemvW/dQbyo3kJgWZqFJQ0qRcMFtG56Sk3KjArl +-bDS8IJttSsrKtqY6oNvDDiAaEht33csdf8MNDefB/ZbSx2iAmaDZijMho4uiWqd+ +-JwYCf+1gETc0VBd/TZAUHmk3DbrwK/CjLWJ5yHao6sjnOx/GT8IM16zwd1Nd8FC0 +-35sDyk1B4RiyJTCGHWPlZ7FTzWtOgxq5Xi0FFWvUjrGX/DEDV8u/J3/NXyd+Zuc8 +-Fwm2ESpPM83rGtNv1RWLi85oa36aleV0fxdX2QIDAQABAoIEAGv5ltvmLQ/A93xc +-x0BWEINRkBa2jrfpo9B5dOnuikWtza/Cx+X2NfQHFlSrcHhfr/JX5BsCb2iVo8DM +-CXAgeX1VMHS9wQXuxciaHCZDnqxmxUNDU3EjsYQOKLusRcdL6M+Zuz/ny+7PQ0Qw +-/N0yS46Wa9oUjon3RKRvTeSV4HIpFpcP3n/eLjDc/ielWuujnTGcBnjNWegvQROp +-5/7221YElGh8U84kbK2l9DtfjwoGoTv11lPvOxXE/scg6em7r9j+y3p3TMzMeDtT +-YBC6CA4Oa7GrWLJXROOKOQ0ddtvFNlUsZ02vG2QCbqU2y8mwJrJDI80qNbeKGel3 +-SfwkssedtGoOOYHxNczwpyVNHVHrHuMPBe75gbo+5pFxVJ5ymCGWfbLJf73oVsqW +-ZimoknvkozW4+mlVlcmo3X73IxTW2U4RlXthYdj9KXsBLRaKVCQJDc934eHWkXHU +-GF2U2NonqOVd8YG/FmZQ2ig6EcW97hC6wnsWT2Uc7UNAE2RM4bY0xCUHaQiKTrEs +-CI6wpbbTV+XhDu2HmL9G+fsuSIu0RoSOCmr5jQDAVwCNPXFgBgcIxbPZ/UCJ7RHj +-GrWPBldAN8ip4osiA+B3XwBabcvwXP2fgBP/eLWN1St3q3tw5xpHpqCuhNuPSqsc +-0ntz0oIdJyRR6fXWmRFex4kXQ597z5ozm0uyg8arV3HJFxDC3DI6kKfs86/oqMSW +-l+9g+d4x6VrUOCTDk0bjN3T8HQ9ASfy9JVacqk6yuXX7a0WeeT+x9JsvFAjg2KmG +-CJUtm5w5siItMDSPpcRE4hlfgh+M7ZKS3PFgH3vvwfPMbC/IC93QoSaFzRJMyobX +-ei6PNwqJvL+HADlMfLmehE2w9ycp4Fe1Gw/NW0Ed1S6Ajo45hgXQJSIrzla6eglg +-JPsPpQ8b+weZNQ8zvc0KvfRJmZKKEb9dHvFdi68I1kV8aapQsjrMOjwHC2pnCFh/ +-axkVc7a59fKUs7L6nAJhCs2sSixTorZz5PvJ6mXhWu72TCzu+kThNnEORrlWPHQl +-RFEAFpDDaGSzOMlhb92CWUMPyZU2qtzMzv4QGbP5YqTy121hXuT5OBKCF3eNLihV +-aje16k0RMFqqW3Olbm7Mp2P1C6DuwzsUJBnNwB5JzhC79Po88zNAl2d1h+qysKU1 +-jxF316nhpWJ2dGJ/sbJ+XpUMd/tVrNFQMA254GFfXycsfBoQOSY5d6GfRwKUDOou +-xImbIzGUAaIYdsGKDuKtqs5S21JMJjJ/J5CwjLu9tbpP/jsp22KHCpraHAQCupSp +-+SFwWI7tRUXzREuxJixfUOnJFQYOATnMFvvtk1d6v4xoPYCVEhHq8gHqJkTyTi3Y +-BPVwT1UCggIBAOEy5gThTrEqSVFUcFJm9bJxtWZt/YhOIJWNNxeaxExHzy5hPpsw +-fZXtN4MUCeMSWI4isgIujmltwgOHMjQqsJPISn/1gVrqLmrZ2PnFzko/WA8rMUfd +-EUnOOpj2bKpChlRGHi76ZV4XGgoTXyO6mrVUcUgf3reSImdcdQ5IHa7J+lWhCQGb +-neZIyDOk41LX1TxjcYkY7vuUgmbBYComXPm2UaY3HN4E/3ElXntj6PrlozL33A56 +-z4UPfv2Vv9kl0ydkTJe/WcUN2htqLFCYygF2XLlwbv2SYDCT31PkJUORbScUM46A +-DOhlxvLBFcpF+l0RtCtvnrKyFy9yZJKrcLh9x6xVChZ/aQqSptSHjll5IEcVm54Y +-Z1TjWizCI4txnaBFV0UCLt1CZrllXnyIksZLS4/dVqUIKmkxPBQUpiD5dmgDcmPB +-/LdWzS6k4MH3J3Y3tu3MNPHDwgUtnifSZrsWSYPK0F8J0dMU/mLaS9eOplAH7Eo1 +-t7OrrImvitM6tUdErRYilIaoS/6YPmsPST5gY1N4n8Lf4sAE/tY8fwaWRpTVSrIw +-CoFwLtHESUOhqfuAOdr1EkDfo/RQTUVdnmWZ+D0j3du8MmsMje4x3f2CjBDXqArl +-gNnBQELDmrdif8KELNjlEpTIz0T7wEfquhVQ2dzhFpL7RLAgggD+oEBLAoICAQDa +-5WOWrAtaI1cC5C7LFxM2qXTHGRttfAtVxuigJapLqNASJuu59GGRxsCVwhthbNFh +-aCMSj+fZK7QNFkaoPwuZCEtzy0ErkVZzxYp3cP6b99mzGoCcuqiHiW5qhEkbxwdC +-f3YEsSGqE6j8TPW8feiziqo8q+QPSudI9ngkH1gjgbIrTu9iaxKJcF2CwBxe5tfB +-uFBNPIgJAaLPejRKQu17MAV2jDnBDIsZUZnm53IxQ+giIYUBay3cfC1KMJu/AnZ/ +-CxETjgqqnzqdFW0b0o49Q6YQa6QXAiSjs+lL/BhjbdA5quVdFmA3CoASFQbihYfM +-4vilUg7Y4wXfzS7DyBZdfppIn+HI8PPSMv/lfdsQXecl5TU1fBDPRWYPpTZqm1II +-HDCkmGRKet/j4/oobabNRrJ6PJcxNjqeMVv/a72pypDRPIXzNxLb1BkfWDGfgu2R +-YAdRNBSJSpdoHDZ+1VO2A+/8gz9Zuiv1WxoX7+u3pCAd+0vCfHiaXiFVc7fI8F+m +-rtDmN5p3DD9l1+/v7yd+7eUezwxYecElw5E5MyAJRTYGrim8g7XvF/u9rXvH09VP +-TeIE8oJ7XzrxCmtGIxlJs6FmgUbUblOyfPZDUqPnzlo8Ru1H2iKRo2FPiMfij8mh +-H3wgFTnZpGDQjw/xop51bxVueXrmOeguS0wmk/8Z6wKCAgEA0y+bPApadJRWS1nn +-N69sTBqMZfFR6Eh0ECts9criuTJCXZk+T+SqcTYTb+4T04k52Jk63Aby8HXIkuxv +-LTK3gu86xkLiOvMP8o43Bwz0BvbeSuNThLQQ6Wjn1NiLUSOvu0pCNgYFl7YMalR+ +-TRBK0y/MSDny762wa8Pt1iXVCDxLcY/h1UstSW8JqDzCHcdgJhCPwWTLgMxleZ1w +-5DYzzM2oRjq67I49Sssjjo1ESD2fzUVZbY7IG11L1t1fG3F4UiGiHlCJC92Qo1Lv +-Geoezj5EeHay70Mcx5F0xsRWGcZAWXx9WO5GrI39g1uFZro3Lp5SmsVDSwrt6UXa +-gR0bSThTTw40tqJnTE34+6ff25JWrbLay+jQxm+q+fxZvwQeMNW2IHYKot4JXWVt +-tVWSZzjnNJP6FCvTMfDFCYPPw26OFr7cwCaEKx7QriRazitMK3XWK6zsHalZwudj +-wK50PpCJAnno7KdVySCP6v4ST6Rr3POBKJq1ml2tITWo96u/ooUJ2I83QAyFr8zw +-BBBCvKdBnl6pW+P/TdmhbiEvcmrs59gaA34/6+DbV0Y++piZwswd9XML2iCgLZY8 +-0IcZ6uf4PsXq4Yzcrz0HwM+tAXcyiPzkjstpCUxMShALgFxzuWOgdwpjYXnrviJk +-0EyUkzbOCHBhbhcK9CyYHfyrJX8CggIAdWwgJC9eV5glkPN+9osGT4hPkI4zXGPy +-YK03FNGfrL59/37JbRNfU6fen3dk4LpTB4Gpbserg6AiEfMlLBPF0O3WK+OYrhpk +-2e3Z/YCr1Fb8fUt2Op0W0r4ycQlNfo0ho9ZkJNgwSuAJAm72U4rnTYjREYLT8DAq +-KcWtZRM7YLCuNvU9DPqLExcn0n/juDT1AIIy8XvLLamnAM15R2znn/F+vL00Lg7g +-f1B60pbNdwgKemSoyL4J+ADU+rtgkPJtRnFVU7walLSd6K4ZvZcRnmOvrZdQitcn +-eHmGaLBvFMdPr9+w8mKScnQ7h3eoHdOrqYkIAQcn18jQ2eFjeLrY5IaJlPPPVs+K +-u/OHuj/tR7ZXzMhL5skK62U6/qGNs1pmgts8bM8i3aFUgRdGlnFbzTpje5cNM+T3 +-RO0NgNL3ByIW1Wc2I+YjQ7FfWKUi2YKOljGBO1pIue09kyevRBKDuVwbXMW7MhLg +-idm5AaY+OGDeqbaoSUgkGgrsrr5IlI39gZi9jwG85qe3Spavq3ILKdfL1N8UrFGD +-/xIN0TVPtilede7vjKTK79tZu8JYaDWGc+g/mo/M1wmawLrqGNGzOwoVRruKl2In +-m9PU9wBZ1HuphDQ4DRdC/AU8qkGhmDOx4bDWEQ/R3KKFHNvhnamyfyR7xqt79gyS +-NGNIElnJuskCggIARFaK6yAVmaL74Qu3iiELj8FU9Cw8kPP5HeWUfGxCjlegdH3R +-FBtoQlDcQjYzO2uZR94Itg3yk3Dt+xbf7KxUsODwlgLj1UhV4eOXUDTosBFTrbTG +-v9gnRVH0Eyu9tF+CMUcCXhq6tnIrQOVv1ozcdXfIpk9gvIbfh4rlo6X0iM8Xge2t +-Vo7awq05t4wJBkO1xUtOaw9HabaszK/CU1iNV7cIBmaFF3AEP/KVfOs+kjubc9AF +-mqC+LVVClvJPNzm1YA5JZlxmQ0u1xXFqZv0OMoibgY+gSzaiAQz3eKB6vEv4Xv4U +-kaF9nEUTEjowpTE6uX9X0mGkXXT2wXmlTjosZFnxRX5IIrRNug30plRra5CNYPGp +-3uTmD/D7Nzi1iYitJg3yhrTQmCWiJY3x4Z0xophLkio2nlJ9WoTKf1AwTIATY7fa +-pX9bxEKldYXrYZNFlbqBPFgA/36v+JDVfMf2E9yRMCt0LAJ0HUM6zP0ngMv+S1TP +-Pu6X0WXR9JeuoaF4uJSty/xwdpST/CkHflFLVsk5n3tNQfWGjqoTSOJMgL9NRY9e +-Pc/OshHZHeCVFUSXtcf1pfmmBtT6FHX0L4cgVqA5xO8RYapnLDAFLXq2/dRv3NwW +-W9CzZcZKh7jmJw4iSIY5IU1+ThgugWoxlkcmjs/egjBclL8BBfqRIwx/vOE= ++MIICXgIBAAKBgQC3f9YL1GIVdJeb1BcKRAciD/44BXS447ookSYpv3ACrNnyg7yZ ++pHDjPIS3XoQMuLh9Oamrm7men6kqa/pAcGwypJMaqZsHzBgh5AmdeBbx1R7yb05f ++KX/VQeogoB73snzQv+V6/sWK/eSqBlbxQnC+uS80BIvQttaPpEyZJTfCnQIDAQAB ++AoGAIKRC5TPQhtSIq5Wcy5yyUCLcLAb8bm9EDDdVvJNrT26EDpnUkNgppKJ9UUkk ++4EZzuwLo5bf72vW31+4BRDk7ZbGwgPGtrFtSyQ4oNKvaeGAQguPl+XOO3qSnrP49 ++H6nJhl92CvOlKJfk8voCvA8yk2cAmlZQKWp9w/6pl/R0n8ECQQDfEkZ3VO9dYTMX ++098zJuxvs4ClTNopdkGyWSn3DgHil1MAwxwEfEjr7MX8Ilfj1XtqSvWzZfTMkcyA ++aTPCkHnlAkEA0pYox3NrG9wJFYafZLWay2wrjf6XXkdz8zXAuwa6uNAv8hIGOb7o +++w2RO5N2D4ofIPPv0JaD+evnoH5ey+m6WQJBALvpIjEN/GGWKrsswH3PkSZ7eKhG ++uBRrSOZbVA2I4C+nt8URlr10kN0k5JcDuzPytvcQVC+eeHwHadTWSkLg/70CQQC4 ++aidsAvdZfme2Ih6T4zWbzy6VOs70ET7JTdlp74q1LhvOsVoiV71PnaIBujE5iouY ++IAdzc1xAEQbW1dPOXvCBAkEAreTSucJFznJ6TtQcXIdxJUt883apFQyJDeaHIzkN ++QXYuDGZmxRwW/9Q/jACU0gu4fj3Q3OuzdeIsMW/3NoEb+g== + -----END RSA PRIVATE KEY----- diff --git a/mysql.spec b/mysql.spec index 328fd8c..510db88 100644 --- a/mysql.spec +++ b/mysql.spec @@ -38,6 +38,7 @@ Patch9: mysql-ndb-stacksize.patch Patch10: mysql-strmov.patch Patch11: mysql-signal-align.patch Patch12: mysql-cve-2008-7247.patch +Patch13: mysql-expired-certs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -183,6 +184,7 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 libtoolize --force aclocal @@ -668,9 +670,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Thu Jan 28 2010 Tom Lane 5.1.42-7 +* Fri Jan 29 2010 Tom Lane 5.1.42-7 - Add backported patch for CVE-2008-7247 (upstream bug 39277) Related: #543619 +- Use non-expired certificates for SSL testing (upstream bug 50702) * Tue Jan 26 2010 Tom Lane 5.1.42-6 - Emit explicit error message if user tries to build RPM as root From 021d6527f95e6e59c89cec3a27d69fc9eb1ad5ac Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 13 Feb 2010 05:48:50 +0000 Subject: [PATCH 163/616] Update to MySQL 5.1.43 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 12 ++++++------ mysql.spec | 8 ++++++-- sources | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3b2788f..e1e5697 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.42.tar.gz +mysql-5.1.43.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 14e4e1a..4de52bc 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,13 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.42.orig/mysql-test/t/disabled.def mysql-5.1.42/mysql-test/t/disabled.def ---- mysql-5.1.42.orig/mysql-test/t/disabled.def 2009-12-16 13:21:00.000000000 -0500 -+++ mysql-5.1.42/mysql-test/t/disabled.def 2010-01-01 18:45:49.000000000 -0500 -@@ -13,3 +13,6 @@ +diff -Naur mysql-5.1.43.orig/mysql-test/t/disabled.def mysql-5.1.43/mysql-test/t/disabled.def +--- mysql-5.1.43.orig/mysql-test/t/disabled.def 2010-01-15 12:46:09.000000000 -0500 ++++ mysql-5.1.43/mysql-test/t/disabled.def 2010-02-12 23:20:23.000000000 -0500 +@@ -11,3 +11,6 @@ + ############################################################################## + kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically - rpl_killed_ddl : Bug#45520: rpl_killed_ddl fails sporadically in pb2 - innodb-autoinc : Bug#49267 2009-12-02 test fails on windows because of different case mode +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index 510db88..63e7d82 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.42 -Release: 7%{?dist} +Version: 5.1.43 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -670,6 +670,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Feb 12 2010 Tom Lane 5.1.43-1 +- Update to MySQL 5.1.43, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-43.html + * Fri Jan 29 2010 Tom Lane 5.1.42-7 - Add backported patch for CVE-2008-7247 (upstream bug 39277) Related: #543619 diff --git a/sources b/sources index 70ac5ca..4d33fe7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b644b219e130b7c6bca81948f75d72d7 mysql-5.1.42.tar.gz +451fd3e8c55eecdf4c3ed109dce62f01 mysql-5.1.43.tar.gz From f8d32ebcee0eb49737f96bda1537e656f9204c1b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 14 Feb 2010 02:55:17 +0000 Subject: [PATCH 164/616] Remove mysql-cluster, which is no longer supported by upstream in this source distribution. --- my.cnf | 15 ----- mysql-install-test.patch | 25 ++++---- mysql-ndb-stacksize.patch | 31 ---------- mysql-signal-align.patch | 38 ------------ mysql.spec | 119 ++------------------------------------ ndb_mgmd.init | 116 ------------------------------------- ndb_types.h | 29 ---------- ndbd.init | 111 ----------------------------------- 8 files changed, 17 insertions(+), 467 deletions(-) delete mode 100644 mysql-ndb-stacksize.patch delete mode 100644 mysql-signal-align.patch delete mode 100644 ndb_mgmd.init delete mode 100644 ndb_types.h delete mode 100644 ndbd.init diff --git a/my.cnf b/my.cnf index 7184b7f..fae0fa2 100644 --- a/my.cnf +++ b/my.cnf @@ -5,21 +5,6 @@ user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 -# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment -# these lines and adjust the connectstring as needed. -#ndbcluster -#ndb-connectstring="nodeid=4;host=localhost:1186" - [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid - -[ndbd] -# If you are running a MySQL Cluster storage daemon (ndbd) on this machine, -# adjust its connection to the management daemon here. -# Note: ndbd init script requires this to include nodeid! -connect-string="nodeid=2;host=localhost:1186" - -[ndb_mgm] -# connection string for MySQL Cluster management tool -connect-string="host=localhost:1186" diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 73c221c..c69117a 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -4,10 +4,10 @@ like /usr/share/mysql-test, we have to hack up the paths in mtr_cases.pm. This patch also improves the documentation a tad. -diff -Naur mysql-5.1.30.orig/mysql-test/README mysql-5.1.30/mysql-test/README ---- mysql-5.1.30.orig/mysql-test/README 2008-11-14 11:34:38.000000000 -0500 -+++ mysql-5.1.30/mysql-test/README 2009-01-13 11:30:00.000000000 -0500 -@@ -6,6 +6,19 @@ +diff -Naur mysql-5.1.43.orig/mysql-test/README mysql-5.1.43/mysql-test/README +--- mysql-5.1.43.orig/mysql-test/README 2010-01-15 12:14:43.000000000 -0500 ++++ mysql-5.1.43/mysql-test/README 2010-02-13 21:18:06.000000000 -0500 +@@ -6,6 +6,16 @@ actually have a co-existing MySQL installation. The tests will not conflict with it. @@ -17,17 +17,14 @@ diff -Naur mysql-5.1.30.orig/mysql-test/README mysql-5.1.30/mysql-test/README + sudo -u mysql ./mysql-test-run +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), -+so you need not start the mysqld service beforehand. If you have not -+installed mysql-cluster, use -+ sudo -u mysql ./mysql-test-run --skip-ndbcluster -+to skip the cluster-related tests. To clean up afterwards, remove the -+created "var" subdirectory, eg ++so you need not start the mysqld service beforehand. ++To clean up afterwards, remove the created "var" subdirectory, eg + sudo -u mysql rm -rf /usr/share/mysql-test/var + All tests must pass. If one or more of them fail on your system, please read the following manual section for instructions on how to report the problem: -@@ -25,7 +38,8 @@ +@@ -25,7 +35,8 @@ With no test cases named on the command line, mysql-test-run falls back to the normal "non-extern" behavior. The reason for this is that some @@ -37,10 +34,10 @@ diff -Naur mysql-5.1.30.orig/mysql-test/README mysql-5.1.30/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.1.32.orig/mysql-test/lib/mtr_cases.pm mysql-5.1.32/mysql-test/lib/mtr_cases.pm ---- mysql-5.1.32.orig/mysql-test/lib/mtr_cases.pm 2009-02-13 19:52:34.000000000 -0500 -+++ mysql-5.1.32/mysql-test/lib/mtr_cases.pm 2009-03-04 20:34:23.000000000 -0500 -@@ -228,7 +228,9 @@ +diff -Naur mysql-5.1.43.orig/mysql-test/lib/mtr_cases.pm mysql-5.1.43/mysql-test/lib/mtr_cases.pm +--- mysql-5.1.43.orig/mysql-test/lib/mtr_cases.pm 2010-01-15 12:14:49.000000000 -0500 ++++ mysql-5.1.43/mysql-test/lib/mtr_cases.pm 2010-02-13 21:17:30.000000000 -0500 +@@ -259,7 +259,9 @@ else { $suitedir= my_find_dir($::basedir, diff --git a/mysql-ndb-stacksize.patch b/mysql-ndb-stacksize.patch deleted file mode 100644 index da4039d..0000000 --- a/mysql-ndb-stacksize.patch +++ /dev/null @@ -1,31 +0,0 @@ -Raise minimum stack size in ndb code to be a uniform 32K (64K on 64-bit -platforms). This is in response to an episode where glibc needed 8K of -stack to run malloc(), resulting in ndbd crashing at launch. While that -was acknowledged to be a glibc bug (see bz #494631), byte-shaving here -isn't any better an idea than it is in the main mysql server. - -Note: the request gets rounded up to at least PTHREAD_STACK_MIN, which -is 128K on PPC; otherwise we would need to do something about including -the stack guard size explicitly, since it's so much larger on PPC than -elsewhere. At some point we might want to use our my_setstacksize() -hack in NdbThread_Create(). - - -diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp ---- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-09-04 12:21:19.000000000 -0400 -+++ mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-09-21 22:33:08.000000000 -0400 -@@ -106,13 +106,8 @@ - AsyncFile::doStart() - { - // Stacksize for filesystem threads --#if !defined(DBUG_OFF) && defined (__hpux) -- // Empirical evidence indicates at least 32k -+ // don't make this too small - const NDB_THREAD_STACKSIZE stackSize = 32768; --#else -- // Otherwise an 8k stack should be enough -- const NDB_THREAD_STACKSIZE stackSize = 8192; --#endif - - char buf[16]; - numAsyncFiles++; diff --git a/mysql-signal-align.patch b/mysql-signal-align.patch deleted file mode 100644 index 75fb56e..0000000 --- a/mysql-signal-align.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix a bit of silliness; the original coding not only computes the required -size of the temp variable incorrectly, but doesn't guarantee the correct -alignment. This demonstrably leads to ndbd crashing at launch on sparc64, -and is probably bad news for performance on other 64-bit machines even -if they don't give an actual SIGBUS. - -Filed upstream at http://bugs.mysql.com/bug.php?id=48132 - - -diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp ---- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp 2009-09-04 12:21:18.000000000 -0400 -+++ mysql-5.1.39/storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp 2009-10-17 14:24:56.000000000 -0400 -@@ -1144,8 +1144,9 @@ - KeyReqStruct *req_struct, - Uint32* outBuffer) - { -- Uint32 tmp[sizeof(SignalHeader)+25]; -- Signal * signal = (Signal*)&tmp; -+ SignalT<25> signalT; -+ Signal *signal= (Signal*)&signalT; -+ - switch(attrId){ - case AttributeHeader::FRAGMENT: - * outBuffer = fragptr.p->fragmentId; -diff -Naur mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp ---- mysql-5.1.39.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-09-04 12:21:19.000000000 -0400 -+++ mysql-5.1.39/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-10-17 14:26:21.000000000 -0400 -@@ -529,8 +529,8 @@ - { - off_t off = 0; - const off_t sz = request->par.open.file_size; -- Uint32 tmp[sizeof(SignalHeader)+25]; -- Signal * signal = (Signal*)(&tmp[0]); -+ SignalT<25> signalT; -+ Signal *signal= (Signal*)&signalT; - FsReadWriteReq* req = (FsReadWriteReq*)signal->getDataPtrSend(); - - Uint32 index = 0; diff --git a/mysql.spec b/mysql.spec index 63e7d82..d9d03a5 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.43 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -19,9 +19,6 @@ Source1: mysql.init Source3: my.cnf Source4: scriptstub.c Source5: my_config.h -Source6: ndbd.init -Source7: ndb_mgmd.init -Source8: ndb_types.h Source9: mysql-embedded-check.c # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -34,9 +31,7 @@ Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch -Patch9: mysql-ndb-stacksize.patch Patch10: mysql-strmov.patch -Patch11: mysql-signal-align.patch Patch12: mysql-cve-2008-7247.patch Patch13: mysql-expired-certs.patch @@ -93,22 +88,6 @@ client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. -%package cluster - -Summary: MySQL Cluster daemons and related files -Group: Applications/Databases -Requires: %{name} = %{version}-%{release} -Conflicts: MySQL-storage-cluster -Conflicts: MySQL-management-cluster -Conflicts: MySQL-tools-cluster -Conflicts: MySQL-extra-cluster - -%description cluster -MySQL is a multi-user, multi-threaded SQL database server. -MySQL Cluster is a distributed in-memory data store that can be accessed -by a MySQL server. This package contains the programs needed to run a MySQL -Cluster installation. - %package devel Summary: Files for development of MySQL applications @@ -180,9 +159,7 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch12 -p1 %patch13 -p1 @@ -236,7 +213,6 @@ export CFLAGS CXXFLAGS --with-big-tables \ --with-pic \ --with-plugin-innobase \ - --with-plugin-ndbcluster \ --without-plugin-innodb_plugin \ --enable-local-infile \ --enable-largefile \ @@ -294,8 +270,6 @@ case `uname -i` in i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ - mv $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ndb_types_`uname -i`.h - install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/usr/include/mysql/storage/ndb/ ;; *) ;; @@ -312,11 +286,8 @@ gzip ${RPM_BUILD_ROOT}%{_infodir}/* mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql -install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql-cluster install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf -install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndbd -install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndb_mgmd rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test @@ -340,7 +311,6 @@ rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libndbclient.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.a @@ -348,6 +318,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec @@ -359,12 +330,6 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ChangeLog rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* -rm -f ${RPM_BUILD_ROOT}/usr/libexec/ndb_cpcd -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_cpcd.1* -# for the moment, remove ndb_size because of dependency on HTML::Template -rm -f ${RPM_BUILD_ROOT}%{_bindir}/ndb_size.pl -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_size.pl.1* -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb_size.tmpl mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -376,10 +341,6 @@ rm -rf $RPM_BUILD_ROOT /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : -%pre cluster -/usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ - -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : - %post /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir @@ -393,13 +354,6 @@ fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post cluster -if [ $1 = 1 ]; then - /sbin/chkconfig --add ndbd - /sbin/chkconfig --add ndb_mgmd -fi -/bin/chmod 0755 /var/lib/mysql-cluster - %preun if [ $1 = 0 ]; then /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir || : @@ -410,12 +364,6 @@ if [ $1 = 0 ]; then /sbin/chkconfig --del mysqld fi -%preun cluster -if [ $1 = 0 ]; then - /sbin/chkconfig --del ndb_mgmd - /sbin/chkconfig --del ndbd -fi - %postun libs if [ $1 = 0 ] ; then /sbin/ldconfig @@ -427,12 +375,6 @@ if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : fi -%postun cluster -if [ $1 -ge 1 ]; then - /sbin/service ndb_mgmd condrestart >/dev/null 2>&1 || : - /sbin/service ndbd condrestart >/dev/null 2>&1 || : -fi - %files %defattr(-,root,root) @@ -478,7 +420,6 @@ fi %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* -%{_libdir}/mysql/libndbclient.so.* /etc/ld.so.conf.d/* %dir %{_datadir}/mysql @@ -588,63 +529,11 @@ fi %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log -%files cluster -%defattr(-,root,root) - -%{_bindir}/ndb_config -%{_bindir}/ndb_delete_all -%{_bindir}/ndb_desc -%{_bindir}/ndb_drop_index -%{_bindir}/ndb_drop_table -%{_bindir}/ndb_error_reporter -%{_bindir}/ndb_mgm -%{_bindir}/ndb_print_backup_file -%{_bindir}/ndb_print_schema_file -%{_bindir}/ndb_print_sys_file -%{_bindir}/ndb_restore -%{_bindir}/ndb_select_all -%{_bindir}/ndb_select_count -%{_bindir}/ndb_show_tables -#%{_bindir}/ndb_size.pl -%{_bindir}/ndb_test_platform -%{_bindir}/ndb_waiter - -/usr/libexec/ndb_mgmd -/usr/libexec/ndbd - -%{_datadir}/mysql/ndb-*.ini -#%{_datadir}/mysql/ndb_size.tmpl -/etc/rc.d/init.d/ndbd -/etc/rc.d/init.d/ndb_mgmd -%attr(0755,mysql,mysql) %dir /var/lib/mysql-cluster - -%{_mandir}/man1/ndb_config.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_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_redo_log_reader.1* -%{_mandir}/man8/ndbd.8* -%{_mandir}/man8/ndbmtd.8* -%{_mandir}/man8/ndb_mgmd.8* - %files devel %defattr(-,root,root) /usr/include/mysql /usr/share/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient*.so -%{_libdir}/mysql/libndbclient.so %files embedded %defattr(-,root,root) @@ -670,6 +559,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Feb 13 2010 Tom Lane 5.1.43-2 +- Remove mysql-cluster, which is no longer supported by upstream in this + source distribution. If we want it we'll need a separate SRPM for it. + * Fri Feb 12 2010 Tom Lane 5.1.43-1 - Update to MySQL 5.1.43, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-43.html diff --git a/ndb_mgmd.init b/ndb_mgmd.init deleted file mode 100644 index 52e057b..0000000 --- a/ndb_mgmd.init +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# -# ndb_mgmd This shell script takes care of starting and stopping -# the MySQL Cluster management daemon (ndb_mgmd). -# -# chkconfig: - 62 38 -# description: MySQL Cluster management daemon. -# processname: ndb_mgmd -# config: /var/lib/mysql-cluster/config.ini -# pidfile: /var/lib/mysql-cluster/ndb_${node_id}.pid - -# Source function library. -. /etc/rc.d/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - - -prog="ndb_mgmd" - -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# 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(){ - result=`/usr/bin/my_print_defaults --extra-file=/var/lib/mysql-cluster/config.ini "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -get_mysql_option ndb_mgmd id "1" -node_id="$result" -errlogfile="/var/lib/mysql-cluster/ndb_${node_id}_out.log" -pidfile="/var/lib/mysql-cluster/ndb_${node_id}.pid" - -# For SELinux we need to use 'runuser' not 'su' -if [ -x /sbin/runuser ] -then - SU=runuser -else - SU=su -fi - -start(){ - touch "$errlogfile" - chown mysql:mysql "$errlogfile" - chmod 0640 "$errlogfile" - [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" - - # all options are expected to be specified in - # /var/lib/mysql-cluster/config.ini. - $SU -l mysql -c "cd /var/lib/mysql-cluster; /usr/libexec/ndb_mgmd" >> "$errlogfile" 2>&1 < /dev/null - ret=$? - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - else - action $"Starting $prog: " /bin/false - fi - [ $ret -eq 0 ] && touch /var/lock/subsys/ndb_mgmd - return $ret -} - -stop(){ - NDB_MGMD_PID=`cat "$pidfile" 2>/dev/null ` - if [ -n "$NDB_MGMD_PID" ]; then - /usr/bin/ndb_mgm -e shutdown >/dev/null - ret=$? - if [ $ret -eq 0 ]; then - rm -f /var/lock/subsys/ndb_mgmd - rm -f "$pidfile" - action $"Stopping $prog: " /bin/true - else - action $"Stopping $prog: " /bin/false - fi - else - ret=1 - action $"Stopping $prog: " /bin/false - fi - return $ret -} - -restart(){ - stop - start -} - -condrestart(){ - [ -e /var/lock/subsys/ndb_mgmd ] && restart || : -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status ndb_mgmd - ;; - restart) - restart - ;; - condrestart) - condrestart - ;; - *) - echo $"Usage: $0 {start|stop|status|condrestart|restart}" - exit 1 -esac - -exit $? diff --git a/ndb_types.h b/ndb_types.h deleted file mode 100644 index 14bc905..0000000 --- a/ndb_types.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Kluge to support multilib installation of both 32- and 64-bit RPMS: - * we need to arrange that header files that appear in both RPMs are - * identical. Hence, this file is architecture-independent and calls - * in an arch-dependent file that will appear in just one RPM. - * - * To avoid breaking arches not explicitly supported by Red Hat, we - * use this indirection file *only* on known multilib arches. - * - * Note: this may well fail if user tries to use gcc's -I- option. - * But that option is deprecated anyway. - */ -#if defined(__x86_64__) -#include "ndb_types_x86_64.h" -#elif defined(__i386__) -#include "ndb_types_i386.h" -#elif defined(__ppc64__) || defined(__powerpc64__) -#include "ndb_types_ppc64.h" -#elif defined(__ppc__) || defined(__powerpc__) -#include "ndb_types_ppc.h" -#elif defined(__s390x__) -#include "ndb_types_s390x.h" -#elif defined(__s390__) -#include "ndb_types_s390.h" -#elif defined(__sparc__) && defined(__arch64__) -#include "ndb_types_sparc64.h" -#elif defined(__sparc__) -#include "ndb_types_sparc.h" -#endif diff --git a/ndbd.init b/ndbd.init deleted file mode 100644 index 4f5ee17..0000000 --- a/ndbd.init +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash -# -# ndbd This shell script takes care of starting and stopping -# the MySQL Cluster data node daemon (ndbd). -# -# chkconfig: - 63 37 -# description: MySQL Cluster data node daemon. -# processname: ndbd -# config: /etc/my.cnf -# pidfile: /var/lib/mysql-cluster/ndb_${node_id}.pid - -# Source function library. -. /etc/rc.d/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - - -prog="ndbd" - -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# 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(){ - result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -get_mysql_option ndbd connect-string "nodeid=2;host=localhost:1186" -ndbd_connect_string="$result" -node_id=`echo "$result" | sed 's/^nodeid=\([0-9]*\);.*$/\1/'` -connect_string=`echo "$result" | sed 's/^.*host=//'` -pidfile="/var/lib/mysql-cluster/ndb_${node_id}.pid" - -# For SELinux we need to use 'runuser' not 'su' -if [ -x /sbin/runuser ] -then - SU=runuser -else - SU=su -fi - -start(){ - # all options are expected to be specified in /etc/my.cnf - $SU -l mysql -c "/usr/libexec/ndbd" >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - else - action $"Starting $prog: " /bin/false - fi - [ $ret -eq 0 ] && touch /var/lock/subsys/ndbd - return $ret -} - -stop(){ - NDBD_PID=`cat "$pidfile" 2>/dev/null ` - if [ -n "$NDBD_PID" ]; then - /usr/bin/ndb_mgm -e "$node_id STOP" "$connect_string" >/dev/null - ret=$? - if [ $ret -eq 0 ]; then - rm -f /var/lock/subsys/ndbd - rm -f "$pidfile" - action $"Stopping $prog: " /bin/true - else - action $"Stopping $prog: " /bin/false - fi - else - ret=1 - action $"Stopping $prog: " /bin/false - fi - return $ret -} - -restart(){ - stop - start -} - -condrestart(){ - [ -e /var/lock/subsys/ndbd ] && restart || : -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status ndbd - ;; - restart) - restart - ;; - condrestart) - condrestart - ;; - *) - echo $"Usage: $0 {start|stop|status|condrestart|restart}" - exit 1 -esac - -exit $? From ce2db75c8bd8381c5bffa3684a6a2f2731bee218 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 20 Feb 2010 23:20:43 +0000 Subject: [PATCH 165/616] Update to mysql 5.1.44; remove non-free documentation file. --- .cvsignore | 2 +- README.mysql-docs | 4 + generate-tarball.sh | 15 + mysql-charset-bug.patch | 208 +++++++ mysql-expired-certs.patch | 1127 +++++++++++++++++++------------------ mysql-no-docs.patch | 39 ++ mysql-plugin-bug.patch | 10 +- mysql.spec | 49 +- sources | 2 +- 9 files changed, 873 insertions(+), 583 deletions(-) create mode 100644 README.mysql-docs create mode 100755 generate-tarball.sh create mode 100644 mysql-charset-bug.patch create mode 100644 mysql-no-docs.patch diff --git a/.cvsignore b/.cvsignore index e1e5697..ebee71a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.43.tar.gz +mysql-5.1.44-nodocs.tar.gz diff --git a/README.mysql-docs b/README.mysql-docs new file mode 100644 index 0000000..dd894a7 --- /dev/null +++ b/README.mysql-docs @@ -0,0 +1,4 @@ +The official MySQL documentation is not freely redistributable, so we cannot +include it in RHEL or Fedora. You can find it on-line at + +http://dev.mysql.com/doc/ diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..2ff4bff --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +VERSION=$1 + +rm -rf mysql-$VERSION + +tar xfz mysql-$VERSION.tar.gz || exit 1 + +rm mysql-$VERSION/Docs/mysql.info + +tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 + +rm -rf mysql-$VERSION + +exit 0 diff --git a/mysql-charset-bug.patch b/mysql-charset-bug.patch new file mode 100644 index 0000000..926f1da --- /dev/null +++ b/mysql-charset-bug.patch @@ -0,0 +1,208 @@ +Kluge solution for bug #566547: revert upstream's bad fix for their bug #45058. + + +diff -Naur mysql-5.1.44.orig/include/my_sys.h mysql-5.1.44/include/my_sys.h +--- mysql-5.1.44.orig/include/my_sys.h 2010-02-04 06:37:06.000000000 -0500 ++++ mysql-5.1.44/include/my_sys.h 2010-02-19 23:13:48.000000000 -0500 +@@ -951,6 +951,7 @@ + CHARSET_INFO *default_cl, + CHARSET_INFO **cl); + ++extern void free_charsets(void); + extern char *get_charsets_dir(char *buf); + extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2); + extern my_bool init_compiled_charsets(myf flags); +diff -Naur mysql-5.1.44.orig/libmysql/libmysql.c mysql-5.1.44/libmysql/libmysql.c +--- mysql-5.1.44.orig/libmysql/libmysql.c 2010-02-04 06:37:07.000000000 -0500 ++++ mysql-5.1.44/libmysql/libmysql.c 2010-02-19 23:13:48.000000000 -0500 +@@ -211,6 +211,7 @@ + } + else + { ++ free_charsets(); + mysql_thread_end(); + } + +diff -Naur mysql-5.1.44.orig/mysys/charset.c mysql-5.1.44/mysys/charset.c +--- mysql-5.1.44.orig/mysys/charset.c 2010-02-04 06:38:50.000000000 -0500 ++++ mysql-5.1.44/mysys/charset.c 2010-02-19 23:13:48.000000000 -0500 +@@ -322,6 +321,7 @@ + #define MY_CHARSET_INDEX "Index.xml" + + const char *charsets_dir= NULL; ++static int charset_initialized=0; + + + static my_bool my_read_charset_file(const char *filename, myf myflags) +@@ -399,37 +399,63 @@ + } + + +-static my_pthread_once_t charsets_initialized= MY_PTHREAD_ONCE_INIT; +- +-static void init_available_charsets(void) ++#ifdef __NETWARE__ ++my_bool STDCALL init_available_charsets(myf myflags) ++#else ++static my_bool init_available_charsets(myf myflags) ++#endif + { + char fname[FN_REFLEN + sizeof(MY_CHARSET_INDEX)]; +- CHARSET_INFO **cs; +- +- bzero(&all_charsets,sizeof(all_charsets)); +- init_compiled_charsets(MYF(0)); +- +- /* Copy compiled charsets */ +- for (cs=all_charsets; +- cs < all_charsets+array_elements(all_charsets)-1 ; +- cs++) ++ my_bool error=FALSE; ++ /* ++ We have to use charset_initialized to not lock on THR_LOCK_charset ++ inside get_internal_charset... ++ */ ++ if (!charset_initialized) + { +- if (*cs) ++ CHARSET_INFO **cs; ++ /* ++ To make things thread safe we are not allowing other threads to interfere ++ while we may changing the cs_info_table ++ */ ++ pthread_mutex_lock(&THR_LOCK_charset); ++ if (!charset_initialized) + { +- if (cs[0]->ctype) +- if (init_state_maps(*cs)) +- *cs= NULL; ++ bzero(&all_charsets,sizeof(all_charsets)); ++ init_compiled_charsets(myflags); ++ ++ /* Copy compiled charsets */ ++ for (cs=all_charsets; ++ cs < all_charsets+array_elements(all_charsets)-1 ; ++ cs++) ++ { ++ if (*cs) ++ { ++ if (cs[0]->ctype) ++ if (init_state_maps(*cs)) ++ *cs= NULL; ++ } ++ } ++ ++ strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); ++ error= my_read_charset_file(fname,myflags); ++ charset_initialized=1; + } ++ pthread_mutex_unlock(&THR_LOCK_charset); + } +- +- strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); +- my_read_charset_file(fname, MYF(0)); ++ return error; ++} ++ ++ ++void free_charsets(void) ++{ ++ charset_initialized=0; + } + + + uint get_collation_number(const char *name) + { +- my_pthread_once(&charsets_initialized, init_available_charsets); ++ init_available_charsets(MYF(0)); + return get_collation_number_internal(name); + } + +@@ -437,7 +463,7 @@ + uint get_charset_number(const char *charset_name, uint cs_flags) + { + CHARSET_INFO **cs; +- my_pthread_once(&charsets_initialized, init_available_charsets); ++ init_available_charsets(MYF(0)); + + for (cs= all_charsets; + cs < all_charsets+array_elements(all_charsets)-1 ; +@@ -454,7 +480,7 @@ + const char *get_charset_name(uint charset_number) + { + CHARSET_INFO *cs; +- my_pthread_once(&charsets_initialized, init_available_charsets); ++ init_available_charsets(MYF(0)); + + cs=all_charsets[charset_number]; + if (cs && (cs->number == charset_number) && cs->name ) +@@ -512,7 +538,7 @@ + if (cs_number == default_charset_info->number) + return default_charset_info; + +- my_pthread_once(&charsets_initialized, init_available_charsets); ++ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */ + + if (!cs_number || cs_number >= array_elements(all_charsets)-1) + return NULL; +@@ -534,7 +560,7 @@ + { + uint cs_number; + CHARSET_INFO *cs; +- my_pthread_once(&charsets_initialized, init_available_charsets); ++ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */ + + cs_number=get_collation_number(cs_name); + cs= cs_number ? get_internal_charset(cs_number,flags) : NULL; +@@ -559,7 +585,7 @@ + DBUG_ENTER("get_charset_by_csname"); + DBUG_PRINT("enter",("name: '%s'", cs_name)); + +- my_pthread_once(&charsets_initialized, init_available_charsets); ++ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */ + + cs_number= get_charset_number(cs_name, cs_flags); + cs= cs_number ? get_internal_charset(cs_number, flags) : NULL; +diff -Naur mysql-5.1.44.orig/mysys/my_init.c mysql-5.1.44/mysys/my_init.c +--- mysql-5.1.44.orig/mysys/my_init.c 2010-02-04 06:38:51.000000000 -0500 ++++ mysql-5.1.44/mysys/my_init.c 2010-02-19 23:13:48.000000000 -0500 +@@ -165,6 +165,7 @@ + my_print_open_files(); + } + } ++ free_charsets(); + my_error_unregister_all(); + my_once_free(); + +diff -Naur mysql-5.1.44.orig/netware/libmysqlmain.c mysql-5.1.44/netware/libmysqlmain.c +--- mysql-5.1.44.orig/netware/libmysqlmain.c 2010-02-04 06:38:51.000000000 -0500 ++++ mysql-5.1.44/netware/libmysqlmain.c 2010-02-19 23:13:48.000000000 -0500 +@@ -18,7 +18,7 @@ + + #include "my_global.h" + +-void init_available_charsets(void); ++my_bool init_available_charsets(myf myflags); + + /* this function is required so that global memory is allocated against this + library nlm, and not against a paticular client */ +@@ -31,7 +31,7 @@ + { + mysql_server_init(0, NULL, NULL); + +- init_available_charsets(); ++ init_available_charsets(MYF(0)); + + return 0; + } +diff -Naur mysql-5.1.44.orig/sql/mysqld.cc mysql-5.1.44/sql/mysqld.cc +--- mysql-5.1.44.orig/sql/mysqld.cc 2010-02-04 06:39:50.000000000 -0500 ++++ mysql-5.1.44/sql/mysqld.cc 2010-02-19 23:13:48.000000000 -0500 +@@ -1287,6 +1287,7 @@ + lex_free(); /* Free some memory */ + item_create_cleanup(); + set_var_free(); ++ free_charsets(); + if (!opt_noacl) + { + #ifdef HAVE_DLOPEN diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch index f768202..3b95a22 100644 --- a/mysql-expired-certs.patch +++ b/mysql-expired-certs.patch @@ -5,28 +5,28 @@ lifespan. We should periodically regenerate these, too, but at least not very often. -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/cacert.pem mysql-5.1.42/mysql-test/std_data/cacert.pem ---- mysql-5.1.42.orig/mysql-test/std_data/cacert.pem 2009-12-16 13:22:07.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/cacert.pem 2010-01-29 01:11:00.000000000 -0500 +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/cacert.pem mysql-5.1.44/mysql-test/std_data/cacert.pem +--- mysql-5.1.44.orig/mysql-test/std_data/cacert.pem 2010-02-04 07:07:56.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/cacert.pem 2010-02-19 21:10:45.000000000 -0500 @@ -1,17 +1,22 @@ -----BEGIN CERTIFICATE----- --MIICrTCCAhagAwIBAgIJAJXpePU0UOTVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +-MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV +MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD --VQQKEwhNeVNRTCBBQjAeFw0wOTAxMjgxMDQ5NDZaFw0xNDAxMjcxMDQ5NDZaMEQx +-VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkxMTQ3MTBaFw0xNTAxMjgxMTQ3MTBaMEQx +VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh -MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA --4XQHAe5R1+TXC8noZtWf+d5E0v1C59FWpn9SWEUCBjE5UiIwuJvi4Y+7xWGOXLAI --/JzJx5gNXLBiTsE/zh0uX9fKlajLhxB0GN+QU0ZlpQ1BeYipEcNXeI/7cT499f6v --XWabnTflivdCgHSWUOQ20/Lzs6kP6/e6OoZd/DPSjPECAwEAAaOBpjCBozAdBgNV --HQ4EFgQU8uLqVWWkmuKsnZf1RWz294wRrd8wdAYDVR0jBG0wa4AU8uLqVWWkmuKs --nZf1RWz294wRrd+hSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh --MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTV --MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMMTE5sDN+Z0ZlV7KvH3g --6+aKvql8dTpRT3hYukeQlWua0nq74WPGVw0c4e/M/vbiMwmJcCYpB9pd4+dHqzSw --aPyoenjY6UF8n7B4quWy3SIUk2LSHeJLW+kzJn2afN9gvipFhdVh/uU2TIyLGOur --Z/vmJX2W7hF1uqPnbfa8Lrw= +-wQYsOEfrN4ESP3FjsI8cghE+tZVuyK2gck61lwieVxjgFMtBd65mI5a1y9pmlOI1 +-yM4SB2Ppqcuw7/e1CdV1y7lvHrGNt5yqEHbN4QX1gvsN8TQauP/2WILturk4R4Hq +-rKg0ZySu7f1Xhl0ed9a48LpaEHD17IcxWEGMMJwAxF0CAwEAAaOBpjCBozAMBgNV +-HRMEBTADAQH/MB0GA1UdDgQWBBSvktYQ0ahLnyxyVKqty+WpBbBrDTB0BgNVHSME +-bTBrgBSvktYQ0ahLnyxyVKqty+WpBbBrDaFIpEYwRDELMAkGA1UEBhMCU0UxEDAO +-BgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FM +-IEFCggkAwjvFkqOGsNswDQYJKoZIhvcNAQEEBQADgYEAdKN1PjwMHAKG2Ww1145g +-JQGBnKxSFOUaoSvkBi/4ntTM+ysnViWh7WvxyWjR9zU9arfr7aqsDeQxm0XDOqzj +-AQ/cQIla2/Li8tXyfc06bisH/IHRaSc2zWqioTKbEwMdVOdrvq4a8V8ic3xYyIWn +-7F4WeS07J8LKardSvM0+hOA= +MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R +vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 @@ -44,563 +44,578 @@ diff -Naur mysql-5.1.42.orig/mysql-test/std_data/cacert.pem mysql-5.1.42/mysql-t +Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 +ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= -----END CERTIFICATE----- -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/client-cert.pem mysql-5.1.42/mysql-test/std_data/client-cert.pem ---- mysql-5.1.42.orig/mysql-test/std_data/client-cert.pem 2009-12-16 13:22:07.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/client-cert.pem 2010-01-29 01:10:51.000000000 -0500 -@@ -5,51 +5,66 @@ - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 28 11:04:39 2009 GMT -- Not After : Jan 28 11:04:39 2010 GMT -+ Not Before: Jan 29 06:07:48 2010 GMT -+ Not After : Aug 12 06:07:48 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public Key: (512 bit) -- Modulus (512 bit): -- 00:e1:52:30:2c:d9:be:64:28:91:5d:7a:fd:d9:e9: -- 14:35:7a:d2:94:4e:91:46:e0:db:9f:6b:79:f4:4c: -- ac:6e:07:61:34:86:74:62:a7:a8:44:af:fa:87:87: -- a8:7d:42:61:ff:ab:50:d4:7b:bf:75:fa:d5:d5:b3: -- 74:fb:56:1e:37 -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:b0:27:bc:06:b1:54:c0:85:7d:dc:fd:2f:ee:46: -+ 57:b2:66:4d:4a:6d:a4:54:6d:9d:9a:e3:36:b4:39: -+ 3b:12:2d:0b:79:45:cb:49:a3:ab:32:6a:65:fb:86: -+ 3e:bc:d2:84:a6:66:1a:0b:68:60:1f:e4:f9:ec:2f: -+ 79:8a:a1:97:a9:e5:64:66:16:4b:5a:89:f2:c5:c4: -+ 23:e5:28:92:4a:31:6c:03:33:9a:99:13:db:4d:c2: -+ 04:4d:cb:32:1e:59:d0:95:bd:3a:55:e6:0e:83:40: -+ 62:59:03:c4:42:38:6c:14:85:b2:5f:f3:6b:a4:bd: -+ ab:f0:78:04:1d:f0:59:d8:b7 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - X509v3 Subject Key Identifier: -- 58:30:B5:9B:2C:05:94:06:BA:3D:3C:F0:B2:CD:1D:67:65:E3:7F:85 -+ 1B:80:A5:E8:DC:7F:8E:F3:1F:C8:4A:43:DA:C0:99:A1:4B:E7:63:FA - X509v3 Authority Key Identifier: -- keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 - DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -- serial:95:E9:78:F5:34:50:E4:D5 -+ serial:BE:58:AD:4C:1F:3D:25:95 - - Signature Algorithm: sha1WithRSAEncryption -- 05:19:e3:13:14:fc:c5:28:bf:69:f8:00:b3:25:cb:bd:ca:9f: -- 2f:4c:b3:a8:04:11:f0:74:27:bd:82:2c:b4:49:9b:a7:59:f0: -- f7:87:d1:e0:ba:99:a2:fe:4b:1d:10:6f:e4:a2:b3:cd:7f:8b: -- 68:31:46:ee:cd:9e:e2:47:e1:4c:fa:74:d1:e2:8b:cc:a0:4b: -- a8:24:d1:a4:c3:6b:2a:c6:28:cd:41:e0:06:48:e6:cf:f2:3c: -- ca:37:95:d7:29:64:6b:91:91:83:e7:ac:c8:0b:87:bc:da:a6: -- aa:f1:44:43:c8:74:7b:15:26:91:2e:03:c4:71:50:6c:f8:68: -- dc:8c -+ 45:90:3d:ee:23:6d:64:7d:2f:05:42:9b:f0:18:ad:af:64:75: -+ 6a:14:e4:39:ff:2b:9f:76:8c:16:52:d5:04:85:72:d8:9f:e7: -+ 3d:f0:a2:31:44:c6:4a:59:34:81:e9:85:a7:e3:73:df:6f:dc: -+ 37:71:57:ba:7c:b0:56:2a:07:88:6c:f7:92:d3:dc:43:41:0f: -+ ed:e3:3c:34:ed:a5:0f:25:cd:ba:76:a4:b5:aa:76:ec:a9:1b: -+ 64:f4:75:d4:20:21:27:78:b1:b2:bd:10:20:9e:0c:c2:ea:40: -+ 09:6a:f9:31:7b:d2:47:32:58:54:0e:e7:a1:49:a0:24:ca:26: -+ 56:3b:14:9b:a2:66:6a:28:68:49:25:bd:68:8e:31:3b:cb:04: -+ 7c:0b:d4:62:f8:95:a3:78:0d:4c:77:be:81:24:09:f0:e7:f0: -+ 3e:d2:92:6f:4b:fc:34:1a:76:fa:ae:03:18:c0:11:b6:a6:63: -+ 29:cd:09:e3:11:69:3a:de:7d:74:2d:ed:60:d6:0b:ba:09:a7: -+ 17:39:15:84:c1:8b:9b:cd:05:8f:be:58:ba:d1:f4:62:9f:e7: -+ 18:8f:4d:68:dd:d1:ca:04:80:8d:03:e6:36:93:68:58:ae:26: -+ 30:6b:e6:36:8a:3a:1d:1b:29:3f:c3:d2:18:0d:af:ef:6a:0f: -+ f5:0e:9a:3b - -----BEGIN CERTIFICATE----- --MIICfzCCAeigAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MIIDRDCCAiygAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ - MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUIwHhcNMDkwMTI4MTEwNDM5WhcNMTAwMTI4MTEwNDM5WjBlMQswCQYDVQQG -+UUwgQUIwHhcNMTAwMTI5MDYwNzQ4WhcNMzAwODEyMDYwNzQ4WjBlMQswCQYDVQQG - EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxMTAvBgkq --hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wXDAN --BgkqhkiG9w0BAQEFAANLADBIAkEA4VIwLNm+ZCiRXXr92ekUNXrSlE6RRuDbn2t5 --9EysbgdhNIZ0YqeoRK/6h4eofUJh/6tQ1Hu/dfrV1bN0+1YeNwIDAQABo4GjMIGg --MAkGA1UdEwQCMAAwHQYDVR0OBBYEFFgwtZssBZQGuj088LLNHWdl43+FMHQGA1Ud --IwRtMGuAFPLi6lVlpJrirJ2X9UVs9veMEa3foUikRjBEMQswCQYDVQQGEwJTRTEQ --MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUKCCQCV6Xj1NFDk1TANBgkqhkiG9w0BAQUFAAOBgQAFGeMTFPzFKL9p+ACz --Jcu9yp8vTLOoBBHwdCe9giy0SZunWfD3h9Hgupmi/ksdEG/korPNf4toMUbuzZ7i --R+FM+nTR4ovMoEuoJNGkw2sqxijNQeAGSObP8jzKN5XXKWRrkZGD56zIC4e82qaq --8URDyHR7FSaRLgPEcVBs+GjcjA== -+hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wgZ8w -+DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALAnvAaxVMCFfdz9L+5GV7JmTUptpFRt -+nZrjNrQ5OxItC3lFy0mjqzJqZfuGPrzShKZmGgtoYB/k+ewveYqhl6nlZGYWS1qJ -+8sXEI+UokkoxbAMzmpkT203CBE3LMh5Z0JW9OlXmDoNAYlkDxEI4bBSFsl/za6S9 -+q/B4BB3wWdi3AgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUG4Cl6Nx/ -+jvMfyEpD2sCZoUvnY/owdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh -+SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV -+cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEB -+BQUAA4IBAQBFkD3uI21kfS8FQpvwGK2vZHVqFOQ5/yufdowWUtUEhXLYn+c98KIx -+RMZKWTSB6YWn43Pfb9w3cVe6fLBWKgeIbPeS09xDQQ/t4zw07aUPJc26dqS1qnbs -+qRtk9HXUICEneLGyvRAgngzC6kAJavkxe9JHMlhUDuehSaAkyiZWOxSbomZqKGhJ -+Jb1ojjE7ywR8C9Ri+JWjeA1Md76BJAnw5/A+0pJvS/w0Gnb6rgMYwBG2pmMpzQnj -+EWk63n10Le1g1gu6CacXORWEwYubzQWPvli60fRin+cYj01o3dHKBICNA+Y2k2hY -+riYwa+Y2ijodGyk/w9IYDa/vag/1Dpo7 - -----END CERTIFICATE----- -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/client-key.pem mysql-5.1.42/mysql-test/std_data/client-key.pem ---- mysql-5.1.42.orig/mysql-test/std_data/client-key.pem 2009-12-16 13:22:08.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/client-key.pem 2010-01-29 01:10:52.000000000 -0500 -@@ -1,9 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOQIBAAJBAOFSMCzZvmQokV16/dnpFDV60pROkUbg259refRMrG4HYTSGdGKn --qESv+oeHqH1CYf+rUNR7v3X61dWzdPtWHjcCAwEAAQJAXYooM8ZlcuEgj+VKU1ee --qyEFIMqJJxqcMk+E/nWCM96WxCP3zHNSrqNfSpI3ld7QzMwhdRz+gFLxT2gGNpIw --MQIhAPxzM/lDihe67X3ADYtDl9ZjA8Pm430x9sXlcxI17tCZAiEA5H1SyFl4mUee --9VnfSC2XGW7lwz72ZygfVX+b7tLWF08CIEh40gzW5MfXM+KLxdea+fXjyursV5ZT --R6KcMiKiNQLRAiAcmHqlzFzFgisotai2Fc6VRkXHG7gmzOSvBJt1VjmpDQIge6jf --2N7whTdvC4ferB+zUlgWQdyvx1c3T4gnt6PYdaY= -+MIICXAIBAAKBgQCwJ7wGsVTAhX3c/S/uRleyZk1KbaRUbZ2a4za0OTsSLQt5RctJ -+o6syamX7hj680oSmZhoLaGAf5PnsL3mKoZep5WRmFktaifLFxCPlKJJKMWwDM5qZ -+E9tNwgRNyzIeWdCVvTpV5g6DQGJZA8RCOGwUhbJf82ukvavweAQd8FnYtwIDAQAB -+AoGAdDGxgASmr9sd+4/ydsxlemKqpuaNl7c6V3l6kwSRJ1sZD2RvRGK2QSoXnQKf -+DXQbVZtRoKa3iTJDfHyQQlZ2r9z2T2zEuxu6x/lUJO4EhcLPGK53Ew5BP+t/EqQe -+xfq+dwZ/NLl7SkBFf2FKPtb0juiT7cTfwjb0VHtaBGlNcGkCQQDgGmqAnpEVoaca -+9juAFz6C4KD4BsaKuMUsJWEPohRACAzBI0tyGpLyPaIep7a5F1KTMsfDaKIFr8oh -+Bmx7L5jbAkEAyTpAc1gvyfLtToG2IPjOND7EvzlNY/kMmt/43BPfknbRyJLWgGOO -+pJ4CiAhSGEBSXvjEcwoIlUdzYV6Eu7PIVQJAKKMhpOkcDfwePTlhWLzeTQVGqzMv -+VYBj4Ll2fEs7uNC831jzGWHQO7UJbN2kuLON+bs/liOnHbjewlZT3ZKn+QJBAJth -+NJUcOkJ5J06gkC7jj+39rdRufdi9XUNVwIbHfbJNt21mHOWkemeYbyH1MtbxC+mz -+s5WU4M3MD0bXQiziBMUCQAjb86wy6/ktxgi/GQHV0haVJSK8pqmDRz6m/1m9efEK -+iXeeaxYiWC07vu+NLy/ysq48jOMURD/m3GbFDGIcnRU= - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server-cert.pem mysql-5.1.42/mysql-test/std_data/server-cert.pem ---- mysql-5.1.42.orig/mysql-test/std_data/server-cert.pem 2009-12-16 13:22:09.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/server-cert.pem 2010-01-29 01:10:41.000000000 -0500 -@@ -5,51 +5,66 @@ - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 28 10:55:13 2009 GMT -- Not After : Jan 28 10:55:13 2010 GMT -+ Not Before: Jan 29 06:02:25 2010 GMT -+ Not After : Aug 12 06:02:25 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public Key: (512 bit) -- Modulus (512 bit): -- 00:b6:8f:e5:b7:b4:86:83:13:8a:f9:bf:63:cb:64: -- 2d:b9:51:d1:de:ab:7b:45:1f:aa:b5:66:73:13:f9: -- a6:07:d5:ba:7c:fa:92:bd:37:e2:ad:87:db:3e:b6: -- 6a:12:64:f8:ee:17:e3:15:06:2f:a8:82:68:bf:57: -- 8d:c3:04:98:27 -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:a1:4e:1b:2d:7a:71:9a:81:70:cf:9b:0e:32:aa: -+ 83:c7:2d:bb:30:a4:cc:16:f6:68:57:49:37:3f:ca: -+ b5:47:83:14:ca:4b:04:fe:a9:18:fd:ba:6f:2f:15: -+ 2b:d7:da:b1:cd:e5:43:93:64:4d:b1:4e:d1:5a:10: -+ e3:5e:81:dd:2a:72:ff:74:a2:eb:9a:3b:9a:b2:46: -+ ac:01:55:7e:80:b1:92:0d:e7:c1:29:ff:0e:90:ae: -+ 5c:cc:66:af:f8:c7:74:1d:4f:3f:e5:2c:0b:cb:f1: -+ 78:06:ee:da:6f:63:b6:80:dc:30:fe:ef:d5:7d:fc: -+ 92:f8:74:5f:33:33:a7:65:37 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - X509v3 Subject Key Identifier: -- D9:9A:B8:5F:22:EA:04:10:C8:25:7D:82:57:E6:2E:FD:19:29:E7:DA -+ AA:6D:65:A9:98:45:49:56:A1:41:96:10:9A:BF:05:0B:A7:86:AC:10 - X509v3 Authority Key Identifier: -- keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 - DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -- serial:95:E9:78:F5:34:50:E4:D5 -+ serial:BE:58:AD:4C:1F:3D:25:95 - - Signature Algorithm: sha1WithRSAEncryption -- 54:07:2d:21:0b:a5:af:3b:58:23:32:5e:56:7f:ab:58:63:48: -- 91:aa:38:90:89:16:f9:cc:bf:a4:0e:78:2b:9f:c5:1b:58:a6: -- e6:08:8f:2e:ae:97:03:21:9b:f1:cd:c0:26:8f:1d:d7:28:27: -- a0:8e:81:09:1b:1c:0f:c9:a5:41:3a:2d:44:3f:9c:fa:87:ff: -- c8:4c:2b:44:f7:1b:c1:3e:4f:01:7f:e9:26:cc:9f:1c:06:b5: -- 0b:27:d1:10:90:be:93:0c:9c:e7:b0:d1:ea:27:99:4e:06:14: -- 0c:7a:e9:c1:52:c5:33:68:bc:61:0d:db:81:3b:57:48:57:bf: -- 42:9a -+ 5e:ea:d1:ae:3f:d6:ab:fc:e9:1c:e4:70:8f:c9:73:86:a8:c4: -+ 1e:6f:f3:cb:c0:c7:9f:55:81:4e:8d:ce:0a:7b:fb:d6:be:15: -+ cc:4f:18:f7:51:d6:e8:51:ec:97:22:e2:f7:bd:b2:e9:8f:da: -+ 59:ec:b2:39:02:73:b7:fd:71:90:ac:cd:49:9e:53:ab:66:ca: -+ 28:dc:71:c5:6c:d5:be:c1:39:15:04:93:ed:d8:fb:84:56:4d: -+ 46:f1:75:5a:9b:0c:ee:b1:c9:3e:4d:15:3b:5e:ba:68:3a:62: -+ c0:3c:e6:63:b6:6d:53:3c:82:d6:62:7c:0e:c3:e4:d0:73:69: -+ 34:a9:ce:7e:af:fc:1a:30:e1:ad:00:c1:52:c4:2a:88:04:da: -+ fc:92:3b:a6:0b:7c:e6:14:5a:b6:f4:9b:74:e1:23:a5:c7:2c: -+ 18:83:98:18:32:4c:c0:9b:1b:c4:94:14:92:24:50:f5:d2:88: -+ db:a2:8d:80:bb:df:2b:44:5c:27:18:3a:d6:b2:2f:2e:71:47: -+ cb:f0:46:59:e6:cf:40:23:f4:72:72:36:00:0d:86:a4:f0:a1: -+ 86:86:0d:07:9f:4c:f9:c4:c4:83:ed:d9:33:e2:ea:4d:57:28: -+ cc:2b:fb:5c:74:38:e0:ed:24:6d:32:1b:93:e2:bf:9f:a2:dd: -+ 39:b2:ce:54 - -----BEGIN CERTIFICATE----- --MIICkzCCAfygAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MIIDWDCCAkCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ - MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUIwHhcNMDkwMTI4MTA1NTEzWhcNMTAwMTI4MTA1NTEzWjB5MQswCQYDVQQG -+UUwgQUIwHhcNMTAwMTI5MDYwMjI1WhcNMzAwODEyMDYwMjI1WjB5MQswCQYDVQQG - EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV - BAMTCWxvY2FsaG9zdDExMC8GCSqGSIb3DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2 --ZWxvcGVyQG15c3FsLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC2j+W3tIaD --E4r5v2PLZC25UdHeq3tFH6q1ZnMT+aYH1bp8+pK9N+Kth9s+tmoSZPjuF+MVBi+o --gmi/V43DBJgnAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQU2Zq4XyLq --BBDIJX2CV+Yu/Rkp59owdAYDVR0jBG0wa4AU8uLqVWWkmuKsnZf1RWz294wRrd+h --SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV --cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTVMA0GCSqGSIb3DQEB --BQUAA4GBAFQHLSELpa87WCMyXlZ/q1hjSJGqOJCJFvnMv6QOeCufxRtYpuYIjy6u --lwMhm/HNwCaPHdcoJ6COgQkbHA/JpUE6LUQ/nPqH/8hMK0T3G8E+TwF/6SbMnxwG --tQsn0RCQvpMMnOew0eonmU4GFAx66cFSxTNovGEN24E7V0hXv0Ka -+ZWxvcGVyQG15c3FsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoU4b -+LXpxmoFwz5sOMqqDxy27MKTMFvZoV0k3P8q1R4MUyksE/qkY/bpvLxUr19qxzeVD -+k2RNsU7RWhDjXoHdKnL/dKLrmjuaskasAVV+gLGSDefBKf8OkK5czGav+Md0HU8/ -+5SwLy/F4Bu7ab2O2gNww/u/VffyS+HRfMzOnZTcCAwEAAaOBozCBoDAJBgNVHRME -+AjAAMB0GA1UdDgQWBBSqbWWpmEVJVqFBlhCavwULp4asEDB0BgNVHSMEbTBrgBSx -++353tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgT -+B1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkA -+vlitTB89JZUwDQYJKoZIhvcNAQEFBQADggEBAF7q0a4/1qv86RzkcI/Jc4aoxB5v -+88vAx59VgU6Nzgp7+9a+FcxPGPdR1uhR7Jci4ve9sumP2lnssjkCc7f9cZCszUme -+U6tmyijcccVs1b7BORUEk+3Y+4RWTUbxdVqbDO6xyT5NFTteumg6YsA85mO2bVM8 -+gtZifA7D5NBzaTSpzn6v/Bow4a0AwVLEKogE2vySO6YLfOYUWrb0m3ThI6XHLBiD -+mBgyTMCbG8SUFJIkUPXSiNuijYC73ytEXCcYOtayLy5xR8vwRlnmz0Aj9HJyNgAN -+hqTwoYaGDQefTPnExIPt2TPi6k1XKMwr+1x0OODtJG0yG5Piv5+i3TmyzlQ= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server-key.pem mysql-5.1.42/mysql-test/std_data/server-key.pem ---- mysql-5.1.42.orig/mysql-test/std_data/server-key.pem 2009-12-16 13:22:09.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/server-key.pem 2010-01-29 01:10:41.000000000 -0500 -@@ -1,9 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOQIBAAJBALaP5be0hoMTivm/Y8tkLblR0d6re0UfqrVmcxP5pgfVunz6kr03 --4q2H2z62ahJk+O4X4xUGL6iCaL9XjcMEmCcCAwEAAQJASA5VwgNb0CKHiPm0ntOk --hG+54SRX3DmafEy6gRjZIl/bZ/asSLhXUZ+CeohyrQh7BZgYWvykd8pRISL9eKsU --GQIhAOXkUrOtP/EtjyqNluEqZdG+RZi/7p61JS3Ce13Myu+LAiEAy0uMlV34AJpM --b40FPKqlHxw8DD/Dt1iKhNVAg8+LDVUCIFjv7fbJDbW2VG63/Cj8CAwOukoP5rbL --iaicVrHBKrllAiB9+MiaXeopZXNrxDS0jQFYr8Q9yt1aJVFgUkxx4Q9HKQIgZPs0 --KlF3NNNWw78INaAEkyf0IEssnLMsuoCWw0DIOak= -+MIICWwIBAAKBgQChThstenGagXDPmw4yqoPHLbswpMwW9mhXSTc/yrVHgxTKSwT+ -+qRj9um8vFSvX2rHN5UOTZE2xTtFaEONegd0qcv90ouuaO5qyRqwBVX6AsZIN58Ep -+/w6QrlzMZq/4x3QdTz/lLAvL8XgG7tpvY7aA3DD+79V9/JL4dF8zM6dlNwIDAQAB -+AoGAcxeQyrVH448iF+8xhTMnDXHy0zVyrZupPUZvVmPjTqAXsHMwoCe1PizM8hIw -+EzbmkNtZiQwTZ0SumY3dPWx5iZM0P+ufoxM1Asendgr9EUg0udiEmBQIyeXvzwR/ -+gx5OyZYXR7r+H4pr+3Aqd4Lia1CBNogUZMFq1OR8tZquvJECQQDPEcAZyWbRZLr3 -+LLhCKmuzt+FKU+2k/xk0UfLegCkmZ5+qrc0s9fbev2VpNvJDUg5y8gbP+zK7Y5cy -+Eh6VBKXvAkEAx2vwX9A5oSSYVpMZkGVrMaRyIA4LdxlC31HKXCxUzm28z1x7QuDu -+8BdZPUwSRTtNyUCB5daZd2tQjdkSf7O9OQJAHSjlwXvgM8qYnag5hm/M3PEfE8V/ -+6MVXukt0BStNIDBlhraU9yjoC/QuBsQLF7ndeQhmNzGrskHTD+UHU3rlFwJAay7A -+iz7HOq0Ik7+MRee8rXnNPR1PXDvfjVfQg6nwCuNAT9NNDK0Iv1JNTHzOdRdiv4BE -+UNv+sAilyxeYsbpRQQJAMMf88+cU7Gb0cMKMlS5qM5UyIbT2lu8OypXC7U/iN74V -+EAh4dIpLYUFa8dOkO/eP5lntIb/GlW63rMBNj0vQBQ== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.42/mysql-test/std_data/server8k-cert.pem ---- mysql-5.1.42.orig/mysql-test/std_data/server8k-cert.pem 2009-12-16 13:22:09.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/server8k-cert.pem 2010-01-29 01:10:46.000000000 -0500 -@@ -1,138 +1,69 @@ +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/client-cert.pem mysql-5.1.44/mysql-test/std_data/client-cert.pem +--- mysql-5.1.44.orig/mysql-test/std_data/client-cert.pem 2010-02-04 07:07:56.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/client-cert.pem 2010-02-19 22:06:25.000000000 -0500 +@@ -1,46 +1,69 @@ Certificate: Data: - Version: 3 (0x2) -- Serial Number: 4 (0x4) -+ Serial Number: 2 (0x2) - Signature Algorithm: sha1WithRSAEncryption +- Version: 1 (0x0) +- Serial Number: 1048577 (0x100001) +- Signature Algorithm: md5WithRSAEncryption ++ Version: 3 (0x2) ++ Serial Number: 6 (0x6) ++ Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB Validity -- Not Before: Jan 28 11:12:27 2009 GMT -- Not After : Jan 28 11:12:27 2010 GMT -+ Not Before: Jan 29 06:04:32 2010 GMT -+ Not After : Aug 12 06:04:32 2030 GMT +- Not Before: Jan 29 11:50:22 2010 GMT +- Not After : Jan 28 11:50:22 2015 GMT ++ Not Before: Feb 20 03:03:26 2010 GMT ++ Not After : Sep 3 03:03:26 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- Public-Key: (1024 bit) +- Modulus: +- 00:cc:9a:37:49:13:66:dc:cf:e3:0b:13:a1:23:ed: +- 78:db:4e:bd:11:f6:8c:0d:76:f9:a3:32:56:9a:f8: +- a1:21:6a:55:4e:4d:3f:e6:67:9d:26:99:b2:cd:a4: +- 9a:d2:2b:59:5c:d7:8a:d3:60:68:f8:18:bd:c5:be: +- 15:e1:2a:3c:a3:d4:61:cb:f5:11:94:17:81:81:f7: +- 87:8c:f6:6a:d2:ee:d8:e6:77:f6:62:66:4d:2e:16: +- 8d:08:81:4a:c9:c6:4b:31:e5:b9:c7:8a:84:96:48: +- a7:47:8c:0d:26:90:56:4e:e6:a5:6e:8c:b3:f2:9f: +- fc:3d:78:9b:49:6e:86:83:77 ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: ++ 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: ++ 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: ++ 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: ++ 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: ++ 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: ++ bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: ++ 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: ++ c1:60:19:5f:96:56:7e:55:19 + Exponent: 65537 (0x10001) +- Signature Algorithm: md5WithRSAEncryption +- 5e:1f:a3:53:5f:24:13:1c:f8:28:32:b0:7f:69:69:f3:0e:c0: +- 34:87:10:03:7d:da:15:8b:bd:19:b8:1a:56:31:e7:85:49:81: +- c9:7f:45:20:74:3e:89:c0:e0:26:84:51:cc:04:16:ce:69:99: +- 01:e1:26:99:b3:e3:f5:bd:ec:5f:a0:84:e4:38:da:75:78:7b: +- 89:9c:d2:cd:60:95:20:ba:8e:e3:7c:e6:df:76:3a:7c:89:77: +- 02:94:86:11:3a:c4:61:7d:6f:71:83:21:8a:17:fb:17:e2:ee: +- 02:6b:61:c1:b4:52:63:d7:d8:46:b2:c5:9c:6f:38:91:8a:35: +- 32:0b ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F ++ X509v3 Authority Key Identifier: ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:BE:58:AD:4C:1F:3D:25:95 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: ++ b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: ++ 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: ++ ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: ++ 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: ++ 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: ++ 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: ++ 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: ++ 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: ++ e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: ++ 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: ++ 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: ++ ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: ++ 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: ++ 1d:c4:76:d0 + -----BEGIN CERTIFICATE----- +-MIIB5zCCAVACAxAAATANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G +-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg +-QUIwHhcNMTAwMTI5MTE1MDIyWhcNMTUwMTI4MTE1MDIyWjAyMQswCQYDVQQGEwJT +-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJKoZI +-hvcNAQEBBQADgY0AMIGJAoGBAMyaN0kTZtzP4wsToSPteNtOvRH2jA12+aMyVpr4 +-oSFqVU5NP+ZnnSaZss2kmtIrWVzXitNgaPgYvcW+FeEqPKPUYcv1EZQXgYH3h4z2 +-atLu2OZ39mJmTS4WjQiBSsnGSzHluceKhJZIp0eMDSaQVk7mpW6Ms/Kf/D14m0lu +-hoN3AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAXh+jU18kExz4KDKwf2lp8w7ANIcQ +-A33aFYu9GbgaVjHnhUmByX9FIHQ+icDgJoRRzAQWzmmZAeEmmbPj9b3sX6CE5Dja +-dXh7iZzSzWCVILqO43zm33Y6fIl3ApSGETrEYX1vcYMhihf7F+LuAmthwbRSY9fY +-RrLFnG84kYo1Mgs= ++MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ ++KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e ++Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE ++UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ ++X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl ++eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG ++MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz ++YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA ++A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q ++xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh ++gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 ++XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST ++YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU ++EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ + -----END CERTIFICATE----- +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/client-key.pem mysql-5.1.44/mysql-test/std_data/client-key.pem +--- mysql-5.1.44.orig/mysql-test/std_data/client-key.pem 2010-02-04 07:07:56.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/client-key.pem 2010-02-19 22:06:25.000000000 -0500 +@@ -1,15 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m +-Z50mmbLNpJrSK1lc14rTYGj4GL3FvhXhKjyj1GHL9RGUF4GB94eM9mrS7tjmd/Zi +-Zk0uFo0IgUrJxksx5bnHioSWSKdHjA0mkFZO5qVujLPyn/w9eJtJboaDdwIDAQAB +-AoGASqk/4We2En+93y3jkIO4pXafIe3w/3zZ7caRue1ehx4RUQh5d+95djuB9u7J +-HEZ7TpjM7QNyao5EueL6gvbxt0LXFvqAMni7yM9tt/HUYtHHPqYiRtUny9bKYFTm +-l8szCCMal/wD9GZU9ByHDNHm7tHUMyMhARNTYSgx+SERFmECQQD/6jJocC4SXf6f +-T3LqimWR02lbJ7qCoDgRglsUXh0zjrG+IIiAyE+QOCCx1GMe3Uw6bsIuYwdHT6as +-WcdPs04xAkEAzKulvEvLVvN5zfa/DTYRTV7jh6aDleOxjsD5oN/oJXoACnPzVuUL +-qQQMNtuAXm6Q1QItrRxpQsSKbY0UQka6JwJBAOSgoNoG5lIIYTKIMvzwGV+XBLeo +-HYsXgh+6Wo4uql3mLErUG78ZtWL9kc/tE4R+ZdyKGLaCR/1gXmH5bwN4B/ECQEBb +-uUH8k3REG4kojesZlVc+/00ojzgS4UKCa/yqa9VdB6ZBz8MDQydinnShkTwgiGpy +-xOoqhO753o2UT0qH8wECQQC99IEJWUnwvExVMkLaZH5NjAFJkb22sjkmuT11tAgU +-RQgOMoDOm6driojnOnDWOkx1r1Gy9NgMLooduja4v6cx ++MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I ++RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u ++sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB ++AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 ++MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM ++mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe ++ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA ++FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI ++iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty ++EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 ++bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE ++z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK ++Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== + -----END RSA PRIVATE KEY----- +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server-cert.pem mysql-5.1.44/mysql-test/std_data/server-cert.pem +--- mysql-5.1.44.orig/mysql-test/std_data/server-cert.pem 2010-02-04 07:07:58.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/server-cert.pem 2010-02-19 22:06:26.000000000 -0500 +@@ -1,41 +1,69 @@ + Certificate: + Data: +- Version: 1 (0x0) +- Serial Number: 1048578 (0x100002) +- Signature Algorithm: md5WithRSAEncryption ++ Version: 3 (0x2) ++ Serial Number: 4 (0x4) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 29 11:56:49 2010 GMT +- Not After : Jan 28 11:56:49 2015 GMT ++ Not Before: Feb 20 02:55:06 2010 GMT ++ Not After : Sep 3 02:55:06 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- Public-Key: (512 bit) +- Modulus: +- 00:cd:e4:87:51:9d:72:11:a0:d1:fa:f3:92:8b:13: +- 1c:eb:f7:e2:9a:2f:72:a8:d6:65:48:d1:69:af:1b: +- c0:4c:13:e5:60:60:51:41:e9:ab:a6:bc:13:bb:0c: +- 5e:32:7c:d9:6c:9e:cd:05:24:84:78:db:80:91:2e: +- d8:88:2b:c2:ed ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: ++ 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: ++ a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: ++ e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: ++ e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: ++ 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: ++ ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: ++ 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: ++ 8a:d1:77:aa:87:fb:38:cd:b7 + Exponent: 65537 (0x10001) +- Signature Algorithm: md5WithRSAEncryption +- 73:ce:9c:6e:39:46:b4:14:be:da:3f:f3:1b:ba:90:bc:23:43: +- d7:82:2a:70:4e:a6:d9:5a:65:5c:b7:df:71:df:75:77:c5:80: +- a4:af:fa:d2:59:e2:fd:c9:9c:f0:98:95:8e:69:a9:8c:7c:d8: +- 6f:48:d2:e3:36:e0:cd:ff:3f:d1:a5:e6:ab:75:09:c4:50:10: +- c4:96:dd:bf:3b:de:32:46:da:ca:4a:f1:d6:52:8a:33:2f:ab: +- f5:2e:70:3f:d4:9c:be:00:c8:03:f9:39:8a:df:5b:70:3c:40: +- ef:03:be:7c:3d:1d:32:32:f3:51:81:e2:83:30:6e:3d:38:9b: +- fb:3c ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 ++ X509v3 Authority Key Identifier: ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:BE:58:AD:4C:1F:3D:25:95 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: ++ 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: ++ 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: ++ 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: ++ dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: ++ 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: ++ c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: ++ 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: ++ a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: ++ 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: ++ 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: ++ 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: ++ 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: ++ e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: ++ 45:f6:25:f9 + -----BEGIN CERTIFICATE----- +-MIIBtzCCASACAxAAAjANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G +-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg +-QUIwHhcNMTAwMTI5MTE1NjQ5WhcNMTUwMTI4MTE1NjQ5WjBGMQswCQYDVQQGEwJT +-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNVBAMT +-CWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDN5IdRnXIRoNH685KL +-Exzr9+KaL3Ko1mVI0WmvG8BME+VgYFFB6aumvBO7DF4yfNlsns0FJIR424CRLtiI +-K8LtAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAc86cbjlGtBS+2j/zG7qQvCND14Iq +-cE6m2VplXLffcd91d8WApK/60lni/cmc8JiVjmmpjHzYb0jS4zbgzf8/0aXmq3UJ +-xFAQxJbdvzveMkbaykrx1lKKMy+r9S5wP9ScvgDIA/k5it9bcDxA7wO+fD0dMjLz +-UYHigzBuPTib+zw= ++MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV ++BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 ++qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT ++tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu ++ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA ++MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 ++tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw ++cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit ++TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 ++Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM ++Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K ++4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt ++bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl ++qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server-key.pem mysql-5.1.44/mysql-test/std_data/server-key.pem +--- mysql-5.1.44.orig/mysql-test/std_data/server-key.pem 2010-02-04 07:07:58.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/server-key.pem 2010-02-19 22:06:26.000000000 -0500 +@@ -1,9 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp +-q6a8E7sMXjJ82WyezQUkhHjbgJEu2Igrwu0CAwEAAQJBAJuwhFbF3NzRpBbEmnqJ +-4GPa1UJMQMLFJF+04tqj/HxJcAIVhOJhGmmtYNw1yjz/ZsPnfJCMz4eFOtdjvGtf +-peECIQDmFFg2WLvYo+2m9w9V7z4ZIkg7ixYkI/ObUUctfZkPOQIhAOUWnrvjFrAX +-bIvYT/YR50+3ZDLEc51XxNgJnWqWYl1VAiEAnTOFWgyivFC1DgF8PvDp8u5TgCt2 +-A1d1GMgd490O+TECIC/WMl0/hTxOF9930vKqOGf//o9PUGkZq8QE9fcM4gtlAiAE +-iOcFpnLjtWj57jrhuw214ucnB5rklkQQe+AtcARNkg== ++MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b ++BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi ++xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB ++AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj ++XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS ++FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z ++AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D ++3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h ++Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl ++TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc ++YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp ++kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o ++9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== + -----END RSA PRIVATE KEY----- +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.44/mysql-test/std_data/server8k-cert.pem +--- mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem 2010-02-04 07:07:58.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/server8k-cert.pem 2010-02-19 22:06:27.000000000 -0500 +@@ -1,125 +1,69 @@ + Certificate: + Data: +- Version: 1 (0x0) +- Serial Number: 1048579 (0x100003) +- Signature Algorithm: md5WithRSAEncryption ++ Version: 3 (0x2) ++ Serial Number: 5 (0x5) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 29 12:01:53 2010 GMT +- Not After : Jan 28 12:01:53 2015 GMT ++ Not Before: Feb 20 03:00:54 2010 GMT ++ Not After : Sep 3 03:00:54 2030 GMT Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server Subject Public Key Info: Public Key Algorithm: rsaEncryption -- RSA Public Key: (8192 bit) -- Modulus (8192 bit): -- 00:c0:8f:22:03:24:59:67:46:14:d6:8f:60:09:58: -- 06:07:45:f1:78:71:55:f1:ea:b9:30:8a:cd:c3:3c: -- b9:bf:65:6e:18:ed:a0:b8:c9:19:56:6f:c4:90:19: -- c8:65:09:db:ff:bf:82:a1:08:ad:01:4f:5a:a3:d4: -- 3d:78:7e:4b:4a:01:a4:7d:e8:7b:05:3e:7d:d8:b9: -- 55:58:60:d6:1c:ce:e8:32:62:2c:19:60:f3:ed:05: -- 99:6d:c9:77:07:2e:11:6d:0b:9a:c7:68:38:46:e8: -- fa:31:80:df:e8:79:f0:f1:fd:a9:94:c3:fa:0d:f5: -- 78:ac:49:7e:d5:17:fd:e1:ee:44:f3:c7:0e:30:32: -- 5d:a9:19:25:e4:bb:21:1d:fe:3c:84:48:40:f5:58: -- f4:bf:13:8c:85:68:bb:ec:f5:dd:c6:38:d1:b0:77: -- 1f:a6:8e:4f:8d:e2:6f:49:74:f5:3f:90:65:8e:99: -- 1e:59:9c:1c:b5:26:24:c4:b1:de:1e:fb:96:65:c4: -- 31:14:1a:53:b8:5e:62:8a:c7:04:f7:b4:36:a4:af: -- 07:c8:27:06:ed:dd:e6:f4:8c:62:f1:65:40:d0:9f: -- 9f:a9:14:c8:8e:8b:74:d6:67:5a:d0:c9:4d:35:a1: -- d5:7b:39:3a:42:9f:e4:d0:f4:c6:0f:2e:42:30:4b: -- 56:b2:3d:6d:8e:2d:58:c5:69:99:35:49:95:95:99: -- b6:87:29:2b:32:d1:50:08:cd:25:14:48:6d:10:99: -- 85:61:3c:41:26:21:55:cc:1f:cf:ad:b0:2f:b9:89: -- d8:4e:a0:18:ff:75:1d:b6:97:7c:c5:fa:8b:dc:93: -- 17:86:0a:64:d4:09:35:d5:83:34:6d:5c:6d:c6:8c: -- cd:b9:ec:c2:93:c6:c1:b7:cc:04:6f:22:e0:07:bf: -- e0:d9:9b:2f:d5:a0:50:cc:f9:f0:95:83:8f:f4:30: -- 83:72:94:d7:b5:4b:da:cc:9f:54:3b:8d:78:77:0b: -- 24:6c:0f:c2:96:61:96:2f:b8:5f:b5:7a:ab:7a:5b: -- 97:7a:a9:ad:40:8b:f2:d6:c6:8d:81:d9:94:61:8f: -- 9d:03:c5:b9:10:03:68:83:bf:04:81:cc:ac:bd:34: -- 89:e8:d4:8d:43:20:e2:b6:a4:11:3d:15:2a:82:0c: -- d6:3a:6a:8c:62:d4:93:bc:c3:80:bf:1b:b4:2b:0a: -- 7a:34:f0:cd:1e:82:3f:25:0f:d1:04:a8:0a:05:19: -- b0:d6:16:83:39:af:0b:45:7d:cb:14:7e:4d:aa:aa: -- c2:39:a8:46:38:ab:bd:ab:2a:bd:34:43:7f:da:25: -- de:2b:fb:69:3b:fe:3b:87:fd:98:94:76:4a:bf:04: -- a3:31:e3:3a:ff:6f:04:fa:fa:24:e4:2a:89:e9:0e: -- bf:44:4c:72:85:82:3c:89:4a:03:63:01:41:92:53: -- d0:82:60:6e:d8:ff:8c:a2:b4:1a:3b:20:6d:ae:74: -- 92:30:4e:48:e3:51:a6:cb:73:97:06:13:03:32:23: -- 9b:7d:a2:c7:3a:a9:af:97:8c:51:ed:fe:fa:b4:b4: -- 1a:a3:87:fc:cf:8c:8e:e6:80:15:03:fd:fe:7d:bd: -- b1:76:f1:5f:b3:09:2b:4c:4d:a7:7c:b5:72:b1:d6: -- db:38:c0:67:a4:54:bc:87:09:a5:39:ba:1a:7e:3f: -- 74:60:ad:3d:4b:be:94:53:f3:64:16:c7:33:35:ec: -- 41:00:95:b6:de:99:62:a2:7a:28:9a:45:4d:fa:cd: -- a6:77:f6:de:58:72:50:c8:7d:69:38:db:07:04:84: -- d8:4d:39:f7:50:13:43:ae:2d:af:45:a4:2a:39:56: -- 3c:b8:b7:d8:26:a4:36:c9:23:aa:aa:b8:49:0b:21: -- ba:9e:7a:2b:7f:4d:29:9f:0e:00:1e:b4:5e:a6:fa: -- 49:fe:8d:e5:74:57:d8:ba:d9:92:2c:d2:ac:84:1d: -- f2:a6:a4:44:1c:bf:88:41:32:7e:d1:c3:2f:6e:bc: -- 0f:5d:19:a6:8f:74:2b:67:ba:dd:a9:db:68:b5:ce: -- 9d:25:48:df:54:08:d0:1d:4f:2e:5b:24:bc:05:0f: -- fb:58:46:fa:02:ca:53:93:29:cf:10:27:c2:a0:18: -- d0:f5:d4:b9:3c:5e:df:8e:6c:f5:7c:b9:b4:54:cc: -- 39:16:5d:3c:da:96:b3:c3:6c:d4:70:5d:d3:30:a7: -- a6:bd:6f:dd:41:bc:a8:de:42:60:59:9a:85:25:0d: -- 2a:45:c3:05:b4:6e:7a:4a:4d:ca:8c:0a:e5:6c:34: -- bc:20:9b:6d:4a:ca:ca:b6:a6:3a:a0:db:c3:0e:20: -- 1a:12:1b:77:dd:cb:1d:7f:c3:0d:0d:e7:c1:fd:96: -- d2:c7:68:80:99:a0:d9:8a:33:21:a3:8b:a2:5a:a7: -- 7e:27:06:02:7f:ed:60:11:37:34:54:17:7f:4d:90: -- 14:1e:69:37:0d:ba:f0:2b:f0:a3:2d:62:79:c8:76: -- a8:ea:c8:e7:3b:1f:c6:4f:c2:0c:d7:ac:f0:77:53: -- 5d:f0:50:b4:df:9b:03:ca:4d:41:e1:18:b2:25:30: -- 86:1d:63:e5:67:b1:53:cd:6b:4e:83:1a:b9:5e:2d: -- 05:15:6b:d4:8e:b1:97:fc:31:03:57:cb:bf:27:7f: -- cd:5f:27:7e:66:e7:3c:17:09:b6:11:2a:4f:33:cd: -- eb:1a:d3:6f:d5:15:8b:8b:ce:68:6b:7e:9a:95:e5: -- 74:7f:17:57:d9 +- Public-Key: (8192 bit) +- Modulus: +- 00:ca:aa:1d:c4:11:ec:91:f0:c7:ff:5f:90:92:fc: +- 40:0c:5e:b7:3d:00:c5:20:d5:0f:89:31:07:d7:41: +- 4c:8b:60:80:aa:38:14:de:93:6b:9c:74:88:41:68: +- b5:02:41:01:2d:86:a2:7a:95:53:5e:7b:67:2f:6c: +- 1e:29:51:f9:44:fd:4a:80:be:b2:23:a1:3e:1b:38: +- cf:88:c4:71:ee:f8:6b:41:c5:2d:c0:c3:52:ac:59: +- 7d:81:34:19:95:32:b8:9a:51:b6:41:36:d4:c4:a1: +- ae:84:e6:38:b9:e8:bf:96:be:19:7a:6b:77:4d:e0: +- de:e6:b3:b6:6b:bc:3d:dd:68:bc:4b:c4:eb:f5:36: +- 93:ed:56:a2:15:50:8a:10:e8:d6:22:ed:6c:b1:cd: +- c3:18:c9:f6:0a:e1:de:61:65:62:d6:14:41:8c:b5: +- fb:14:68:c1:cf:12:5d:41:21:9d:57:11:43:7d:bb: +- 43:2c:21:bb:c3:44:7d:a8:cf:1f:c3:71:75:b5:47: +- c2:7d:ce:38:3c:73:64:9e:15:d8:a7:27:cf:bd:40: +- c8:45:08:e3:c8:39:a8:0b:8e:c2:5b:7b:f1:47:91: +- 12:91:cc:e1:00:e0:94:5b:bd:32:e4:0c:8d:c3:be: +- cc:76:32:52:12:69:b0:18:e0:b0:c2:76:34:5a:5f: +- 79:d9:f6:81:9d:02:0a:61:69:1c:33:ce:49:fa:76: +- 03:1e:07:5b:27:0b:bf:34:9e:34:96:b8:03:9b:50: +- 3a:6a:2f:17:7a:14:cf:65:63:00:37:52:a8:73:ce: +- 4b:14:40:f4:d2:9a:56:54:33:b8:77:2e:42:5b:8f: +- ec:1f:18:f4:ad:ab:8a:4a:8d:6d:70:25:f3:58:e7: +- cb:66:51:14:7d:16:f4:eb:6d:56:76:76:51:6e:d6: +- 1d:da:d3:8d:c0:64:5a:67:4e:af:e2:bf:33:d1:b8: +- f6:2a:fc:57:87:a7:35:5e:80:c9:ac:fc:87:c9:71: +- 17:91:bf:b7:4d:a3:ed:3c:1b:27:f4:66:a0:f9:46: +- 03:27:cc:ea:80:f6:4b:40:f6:41:94:cd:bd:0a:b3: +- ef:26:be:de:6f:69:ae:0f:3f:1c:55:63:33:90:9b: +- ed:ca:5a:12:4d:de:4b:06:c2:a2:92:b0:42:3d:31: +- af:a4:15:12:15:f8:8a:e9:88:8d:cf:fd:85:66:50: +- 6f:11:f1:9f:48:f3:b5:ba:9d:86:68:24:a2:5d:a8: +- 7c:54:42:fa:d8:b5:c5:f2:dd:0e:0f:d0:68:e4:54: +- 7e:c5:b9:a0:9b:65:2d:77:f4:8f:b9:30:0a:d5:86: +- 5c:ed:c9:7c:d1:da:9d:0d:63:50:ee:e5:1e:92:63: +- cc:a2:0c:e8:4a:96:02:4d:dc:8f:df:7c:8f:08:18: +- a8:30:88:d7:af:89:ad:fc:57:4b:10:f9:f1:cb:48: +- e8:b6:3b:c8:3f:fc:c2:d3:d1:4a:10:3c:1b:6b:64: +- dc:e5:65:1e:5b:b2:da:b1:e2:24:97:8f:ee:c0:4b: +- 8e:18:83:7c:17:a6:3c:45:b3:60:06:23:f2:2f:18: +- 13:9e:17:8a:c6:72:79:8c:4d:04:f3:9d:ea:e0:25: +- d3:33:8c:1e:11:47:63:1f:a5:45:3f:bd:85:b3:fe: +- a5:68:ee:48:b7:0c:a4:c9:7f:72:d0:75:66:9b:6a: +- f9:a0:50:f3:a8:59:6d:a3:dd:38:4f:70:2b:bb:ff: +- 92:2e:71:ab:ef:e9:00:ed:0d:d1:b4:6f:f0:8e:b2: +- 09:fb:4d:61:0d:d9:10:d5:54:11:cd:03:94:84:fd: +- a8:68:e4:45:6e:1e:6a:1e:2f:85:a1:6d:f5:b6:c0: +- f1:ee:f7:36:e9:fe:c2:f7:ad:cc:13:46:5b:88:42: +- f0:2d:1f:b5:0e:7e:b5:2b:e4:8d:ab:b9:87:30:6a: +- 3d:12:f4:ad:f3:1c:ac:cc:1a:48:29:2a:96:7b:80: +- 00:0b:6e:59:87:bf:a3:ca:70:99:1b:1c:fd:72:3d: +- b2:d3:94:4a:cf:55:75:be:1f:40:ec:55:35:48:2d: +- 55:f0:00:da:3c:b0:60:ba:11:32:66:54:0b:be:06: +- a4:5e:b7:c9:59:bb:4d:f4:92:06:26:48:6e:c2:12: +- d4:7c:f0:20:b8:a2:e1:bc:6a:b6:19:0e:37:47:55: +- c9:f2:49:0d:96:75:a2:84:64:bf:34:fc:be:b2:41: +- e4:f5:88:eb:e1:b7:26:a5:e5:41:c2:20:0c:f6:e2: +- a8:a5:e7:76:54:a5:fb:4b:80:05:7d:18:85:7a:ba: +- bc:b7:ad:c0:2f:60:85:cc:15:12:1c:2f:0a:9e:f3: +- 7c:40:cf:f4:3e:23:d2:95:ca:d0:06:58:52:f0:84: +- d8:0f:3d:eb:ff:12:68:94:79:8f:be:40:29:5f:98: +- c8:90:6c:05:2f:99:8c:2a:63:78:1f:23:b1:29:c5: +- e7:49:c9:b2:92:0f:53:0b:d5:71:28:17:c2:19:bf: +- 60:bf:7c:87:a8:ab:c1:f4:0a:c1:b8:d2:68:ee:c1: +- ce:a7:13:13:17:6d:24:5d:a2:37:a6:d7:7d:48:8b: +- 2b:74:2d:40:2e:ca:19:d5:b6:3e:6c:42:71:fa:cf: +- 85:87:f9:de:80:73:8b:89:f4:70:f0:d8:d7:ff:40: +- 41:9c:c7:15:6d:9b:6e:4c:b5:52:02:99:79:32:73: +- ca:26:a0:ac:31:6f:c4:b0:f5:da:bb:c2:1f:e0:9f: +- 44:ba:25:f7:9f + RSA Public Key: (1024 bit) + Modulus (1024 bit): -+ 00:b7:7f:d6:0b:d4:62:15:74:97:9b:d4:17:0a:44: -+ 07:22:0f:fe:38:05:74:b8:e3:ba:28:91:26:29:bf: -+ 70:02:ac:d9:f2:83:bc:99:a4:70:e3:3c:84:b7:5e: -+ 84:0c:b8:b8:7d:39:a9:ab:9b:b9:9e:9f:a9:2a:6b: -+ fa:40:70:6c:32:a4:93:1a:a9:9b:07:cc:18:21:e4: -+ 09:9d:78:16:f1:d5:1e:f2:6f:4e:5f:29:7f:d5:41: -+ ea:20:a0:1e:f7:b2:7c:d0:bf:e5:7a:fe:c5:8a:fd: -+ e4:aa:06:56:f1:42:70:be:b9:2f:34:04:8b:d0:b6: -+ d6:8f:a4:4c:99:25:37:c2:9d ++ 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: ++ 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: ++ 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: ++ 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: ++ 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: ++ cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: ++ 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: ++ 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: ++ 91:b5:dd:06:47:ed:05:e3:db Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - X509v3 Subject Key Identifier: -- 58:12:24:59:A7:3C:29:15:89:5A:C2:12:DB:E7:A5:42:10:21:B7:BA -+ CA:93:B6:F5:77:50:56:DE:5F:9E:9B:4A:39:8D:D4:8A:BD:52:8C:BE - X509v3 Authority Key Identifier: -- keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF +- Signature Algorithm: md5WithRSAEncryption +- 08:75:dc:b9:3f:aa:b6:7e:81:7a:39:d1:ee:ed:44:b6:ce:1b: +- 37:c4:4c:19:d0:66:e6:eb:b5:4f:2a:ef:95:58:64:21:55:01: +- 12:30:ac:8a:95:d1:06:de:29:46:a4:f1:7d:7f:b0:1e:d2:4e: +- fb:f6:fa:9a:74:be:85:62:db:0b:82:90:58:62:c5:5f:f1:80: +- 02:9f:c5:fb:f3:6b:b0:b4:3b:04:b1:e5:53:c2:d0:00:a1:1a: +- 9d:65:60:6f:73:98:67:e0:9c:c8:12:94:79:59:bf:43:7b:f5: +- 77:c8:8f:df:b1:cd:11:1c:01:19:99:c2:22:42:f7:41:ae:b4: +- b8:1a ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED ++ X509v3 Authority Key Identifier: + keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 - DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -- serial:95:E9:78:F5:34:50:E4:D5 ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB + serial:BE:58:AD:4C:1F:3D:25:95 - - Signature Algorithm: sha1WithRSAEncryption -- cd:cb:5c:83:35:ea:cb:cb:c3:a8:c3:95:e2:e6:6f:4d:d8:e4: -- ee:41:dd:3f:35:82:ac:2f:fd:63:89:4f:3a:19:d7:81:75:b3: -- a3:fc:36:b2:12:d5:c6:56:bc:13:60:37:33:6e:a0:d8:ae:7c: -- 88:f9:4b:ee:7b:1f:c8:f0:56:19:07:4d:bb:45:52:1c:78:81: -- 07:7c:13:86:b8:86:70:85:e4:71:25:58:78:d1:be:de:22:82: -- 6d:1a:4b:06:ac:f0:e8:50:87:c7:69:64:c2:61:43:cd:96:06: -- a6:7e:09:a9:02:01:2a:a2:40:f3:cd:10:80:48:d0:34:55:40: -- b9:ce -+ 38:f0:4b:5d:f7:c6:b9:88:53:d0:d5:41:e4:c6:41:1a:1b:23: -+ 14:eb:06:63:48:90:09:e9:2d:e8:51:51:c0:03:ad:61:6f:0f: -+ 9e:2c:d0:3e:6d:30:ec:78:64:55:c1:e2:00:d8:2a:8d:dd:4a: -+ e7:78:22:31:8a:3d:8a:1f:34:d7:81:fb:ad:34:ac:d8:ac:de: -+ 68:76:ba:ad:f3:77:70:1f:19:c7:18:9d:55:c0:ed:9f:f5:36: -+ 8b:38:15:10:c0:b7:93:18:df:5a:3c:ba:9b:70:99:42:03:99: -+ da:46:e7:07:b6:c3:ea:55:a0:70:a8:2a:44:53:f1:b0:7d:b6: -+ 1c:2e:80:bf:5e:da:a5:0d:4e:10:8a:76:78:11:a7:60:b3:d6: -+ 5e:8f:3b:17:62:2b:8e:b3:fc:43:a1:8c:73:54:fc:b9:73:9a: -+ 79:4d:bb:84:a4:fa:d1:7a:61:1d:ca:c2:49:16:f0:e8:bf:1d: -+ 5c:91:41:95:5f:ac:e7:a4:63:a9:d3:1d:49:30:e3:fc:20:7d: -+ 5b:07:14:94:e1:20:a6:bc:41:7b:27:82:d1:5e:2a:75:0e:74: -+ b2:bc:31:13:6d:59:8f:7b:db:25:6d:7b:64:e9:c0:7a:9e:79: -+ 33:49:f6:b8:a2:ee:11:48:3a:c8:85:1e:6d:e4:10:6e:d4:8e: -+ 81:7b:05:27 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: ++ 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: ++ a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: ++ a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: ++ 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: ++ 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: ++ 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: ++ 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: ++ bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: ++ f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: ++ 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: ++ 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: ++ 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: ++ 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: ++ 86:32:d3:b4 -----BEGIN CERTIFICATE----- --MIIGJTCCBY6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MIIDIjCCAgqgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ - MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUIwHhcNMDkwMTI4MTExMjI3WhcNMTAwMTI4MTExMjI3WjBDMQswCQYDVQQG -+UUwgQUIwHhcNMTAwMTI5MDYwNDMyWhcNMzAwODEyMDYwNDMyWjBDMQswCQYDVQQG - EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV --BAMTBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMCPIgMk --WWdGFNaPYAlYBgdF8XhxVfHquTCKzcM8ub9lbhjtoLjJGVZvxJAZyGUJ2/+/gqEI --rQFPWqPUPXh+S0oBpH3oewU+fdi5VVhg1hzO6DJiLBlg8+0FmW3JdwcuEW0Lmsdo --OEbo+jGA3+h58PH9qZTD+g31eKxJftUX/eHuRPPHDjAyXakZJeS7IR3+PIRIQPVY --9L8TjIVou+z13cY40bB3H6aOT43ib0l09T+QZY6ZHlmcHLUmJMSx3h77lmXEMRQa --U7heYorHBPe0NqSvB8gnBu3d5vSMYvFlQNCfn6kUyI6LdNZnWtDJTTWh1Xs5OkKf --5ND0xg8uQjBLVrI9bY4tWMVpmTVJlZWZtocpKzLRUAjNJRRIbRCZhWE8QSYhVcwf --z62wL7mJ2E6gGP91HbaXfMX6i9yTF4YKZNQJNdWDNG1cbcaMzbnswpPGwbfMBG8i --4Ae/4NmbL9WgUMz58JWDj/Qwg3KU17VL2syfVDuNeHcLJGwPwpZhli+4X7V6q3pb --l3qprUCL8tbGjYHZlGGPnQPFuRADaIO/BIHMrL00iejUjUMg4rakET0VKoIM1jpq --jGLUk7zDgL8btCsKejTwzR6CPyUP0QSoCgUZsNYWgzmvC0V9yxR+TaqqwjmoRjir --vasqvTRDf9ol3iv7aTv+O4f9mJR2Sr8EozHjOv9vBPr6JOQqiekOv0RMcoWCPIlK --A2MBQZJT0IJgbtj/jKK0Gjsgba50kjBOSONRpstzlwYTAzIjm32ixzqpr5eMUe3+ --+rS0GqOH/M+MjuaAFQP9/n29sXbxX7MJK0xNp3y1crHW2zjAZ6RUvIcJpTm6Gn4/ --dGCtPUu+lFPzZBbHMzXsQQCVtt6ZYqJ6KJpFTfrNpnf23lhyUMh9aTjbBwSE2E05 --91ATQ64tr0WkKjlWPLi32CakNskjqqq4SQshup56K39NKZ8OAB60Xqb6Sf6N5XRX --2LrZkizSrIQd8qakRBy/iEEyftHDL268D10Zpo90K2e63anbaLXOnSVI31QI0B1P --LlskvAUP+1hG+gLKU5MpzxAnwqAY0PXUuTxe345s9Xy5tFTMORZdPNqWs8Ns1HBd --0zCnpr1v3UG8qN5CYFmahSUNKkXDBbRuekpNyowK5Ww0vCCbbUrKyramOqDbww4g --GhIbd93LHX/DDQ3nwf2W0sdogJmg2YozIaOLolqnficGAn/tYBE3NFQXf02QFB5p --Nw268Cvwoy1iech2qOrI5zsfxk/CDNes8HdTXfBQtN+bA8pNQeEYsiUwhh1j5Wex --U81rToMauV4tBRVr1I6xl/wxA1fLvyd/zV8nfmbnPBcJthEqTzPN6xrTb9UVi4vO --aGt+mpXldH8XV9kCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0GA1UdDgQWBBRYEiRZ --pzwpFYlawhLb56VCECG3ujB0BgNVHSMEbTBrgBTy4upVZaSa4qydl/VFbPb3jBGt --36FIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcT --B1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAlel49TRQ5NUwDQYJKoZIhvcN --AQEFBQADgYEAzctcgzXqy8vDqMOV4uZvTdjk7kHdPzWCrC/9Y4lPOhnXgXWzo/w2 --shLVxla8E2A3M26g2K58iPlL7nsfyPBWGQdNu0VSHHiBB3wThriGcIXkcSVYeNG+ --3iKCbRpLBqzw6FCHx2lkwmFDzZYGpn4JqQIBKqJA880QgEjQNFVAuc4= -+BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAt3/WC9RiFXSX -+m9QXCkQHIg/+OAV0uOO6KJEmKb9wAqzZ8oO8maRw4zyEt16EDLi4fTmpq5u5np+p -+Kmv6QHBsMqSTGqmbB8wYIeQJnXgW8dUe8m9OXyl/1UHqIKAe97J80L/lev7Fiv3k -+qgZW8UJwvrkvNASL0LbWj6RMmSU3wp0CAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G -+A1UdDgQWBBTKk7b1d1BW3l+em0o5jdSKvVKMvjB0BgNVHSMEbTBrgBSx+353tUCN +-MIIFfDCCBOUCAxAAAzANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G +-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg +-QUIwHhcNMTAwMTI5MTIwMTUzWhcNMTUwMTI4MTIwMTUzWjBDMQswCQYDVQQGEwJT +-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNVBAMT +-BnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMqqHcQR7JHw +-x/9fkJL8QAxetz0AxSDVD4kxB9dBTItggKo4FN6Ta5x0iEFotQJBAS2GonqVU157 +-Zy9sHilR+UT9SoC+siOhPhs4z4jEce74a0HFLcDDUqxZfYE0GZUyuJpRtkE21MSh +-roTmOLnov5a+GXprd03g3uaztmu8Pd1ovEvE6/U2k+1WohVQihDo1iLtbLHNwxjJ +-9grh3mFlYtYUQYy1+xRowc8SXUEhnVcRQ327Qywhu8NEfajPH8NxdbVHwn3OODxz +-ZJ4V2Kcnz71AyEUI48g5qAuOwlt78UeREpHM4QDglFu9MuQMjcO+zHYyUhJpsBjg +-sMJ2NFpfedn2gZ0CCmFpHDPOSfp2Ax4HWycLvzSeNJa4A5tQOmovF3oUz2VjADdS +-qHPOSxRA9NKaVlQzuHcuQluP7B8Y9K2rikqNbXAl81jny2ZRFH0W9OttVnZ2UW7W +-HdrTjcBkWmdOr+K/M9G49ir8V4enNV6Ayaz8h8lxF5G/t02j7TwbJ/RmoPlGAyfM +-6oD2S0D2QZTNvQqz7ya+3m9prg8/HFVjM5Cb7cpaEk3eSwbCopKwQj0xr6QVEhX4 +-iumIjc/9hWZQbxHxn0jztbqdhmgkol2ofFRC+ti1xfLdDg/QaORUfsW5oJtlLXf0 +-j7kwCtWGXO3JfNHanQ1jUO7lHpJjzKIM6EqWAk3cj998jwgYqDCI16+JrfxXSxD5 +-8ctI6LY7yD/8wtPRShA8G2tk3OVlHluy2rHiJJeP7sBLjhiDfBemPEWzYAYj8i8Y +-E54XisZyeYxNBPOd6uAl0zOMHhFHYx+lRT+9hbP+pWjuSLcMpMl/ctB1Zptq+aBQ +-86hZbaPdOE9wK7v/ki5xq+/pAO0N0bRv8I6yCftNYQ3ZENVUEc0DlIT9qGjkRW4e +-ah4vhaFt9bbA8e73Nun+wvetzBNGW4hC8C0ftQ5+tSvkjau5hzBqPRL0rfMcrMwa +-SCkqlnuAAAtuWYe/o8pwmRsc/XI9stOUSs9Vdb4fQOxVNUgtVfAA2jywYLoRMmZU +-C74GpF63yVm7TfSSBiZIbsIS1HzwILii4bxqthkON0dVyfJJDZZ1ooRkvzT8vrJB +-5PWI6+G3JqXlQcIgDPbiqKXndlSl+0uABX0YhXq6vLetwC9ghcwVEhwvCp7zfEDP +-9D4j0pXK0AZYUvCE2A896/8SaJR5j75AKV+YyJBsBS+ZjCpjeB8jsSnF50nJspIP +-UwvVcSgXwhm/YL98h6irwfQKwbjSaO7BzqcTExdtJF2iN6bXfUiLK3QtQC7KGdW2 +-PmxCcfrPhYf53oBzi4n0cPDY1/9AQZzHFW2bbky1UgKZeTJzyiagrDFvxLD12rvC +-H+CfRLol958CAwEAATANBgkqhkiG9w0BAQQFAAOBgQAIddy5P6q2foF6OdHu7US2 +-zhs3xEwZ0Gbm67VPKu+VWGQhVQESMKyKldEG3ilGpPF9f7Ae0k779vqadL6FYtsL +-gpBYYsVf8YACn8X782uwtDsEseVTwtAAoRqdZWBvc5hn4JzIEpR5Wb9De/V3yI/f +-sc0RHAEZmcIiQvdBrrS4Gg== ++MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV ++BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv ++oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz ++T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk ++YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G ++A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN +aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh +bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 -+JZUwDQYJKoZIhvcNAQEFBQADggEBADjwS133xrmIU9DVQeTGQRobIxTrBmNIkAnp -+LehRUcADrWFvD54s0D5tMOx4ZFXB4gDYKo3dSud4IjGKPYofNNeB+600rNis3mh2 -+uq3zd3AfGccYnVXA7Z/1Nos4FRDAt5MY31o8uptwmUIDmdpG5we2w+pVoHCoKkRT -+8bB9thwugL9e2qUNThCKdngRp2Cz1l6POxdiK46z/EOhjHNU/LlzmnlNu4Sk+tF6 -+YR3KwkkW8Oi/HVyRQZVfrOekY6nTHUkw4/wgfVsHFJThIKa8QXsngtFeKnUOdLK8 -+MRNtWY972yVte2TpwHqeeTNJ9rii7hFIOsiFHm3kEG7UjoF7BSc= ++JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy +++/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt ++mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY ++H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn ++0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D ++DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= -----END CERTIFICATE----- -diff -Naur mysql-5.1.42.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.42/mysql-test/std_data/server8k-key.pem ---- mysql-5.1.42.orig/mysql-test/std_data/server8k-key.pem 2009-12-16 13:22:09.000000000 -0500 -+++ mysql-5.1.42/mysql-test/std_data/server8k-key.pem 2010-01-29 01:10:47.000000000 -0500 +diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.44/mysql-test/std_data/server8k-key.pem +--- mysql-5.1.44.orig/mysql-test/std_data/server8k-key.pem 2010-02-04 07:07:58.000000000 -0500 ++++ mysql-5.1.44/mysql-test/std_data/server8k-key.pem 2010-02-19 22:06:27.000000000 -0500 @@ -1,99 +1,15 @@ -----BEGIN RSA PRIVATE KEY----- --MIISKAIBAAKCBAEAwI8iAyRZZ0YU1o9gCVgGB0XxeHFV8eq5MIrNwzy5v2VuGO2g --uMkZVm/EkBnIZQnb/7+CoQitAU9ao9Q9eH5LSgGkfeh7BT592LlVWGDWHM7oMmIs --GWDz7QWZbcl3By4RbQuax2g4Ruj6MYDf6Hnw8f2plMP6DfV4rEl+1Rf94e5E88cO --MDJdqRkl5LshHf48hEhA9Vj0vxOMhWi77PXdxjjRsHcfpo5PjeJvSXT1P5Bljpke --WZwctSYkxLHeHvuWZcQxFBpTuF5iiscE97Q2pK8HyCcG7d3m9Ixi8WVA0J+fqRTI --jot01mda0MlNNaHVezk6Qp/k0PTGDy5CMEtWsj1tji1YxWmZNUmVlZm2hykrMtFQ --CM0lFEhtEJmFYTxBJiFVzB/PrbAvuYnYTqAY/3Udtpd8xfqL3JMXhgpk1Ak11YM0 --bVxtxozNuezCk8bBt8wEbyLgB7/g2Zsv1aBQzPnwlYOP9DCDcpTXtUvazJ9UO414 --dwskbA/ClmGWL7hftXqreluXeqmtQIvy1saNgdmUYY+dA8W5EANog78EgcysvTSJ --6NSNQyDitqQRPRUqggzWOmqMYtSTvMOAvxu0Kwp6NPDNHoI/JQ/RBKgKBRmw1haD --Oa8LRX3LFH5NqqrCOahGOKu9qyq9NEN/2iXeK/tpO/47h/2YlHZKvwSjMeM6/28E --+vok5CqJ6Q6/RExyhYI8iUoDYwFBklPQgmBu2P+MorQaOyBtrnSSME5I41Gmy3OX --BhMDMiObfaLHOqmvl4xR7f76tLQao4f8z4yO5oAVA/3+fb2xdvFfswkrTE2nfLVy --sdbbOMBnpFS8hwmlOboafj90YK09S76UU/NkFsczNexBAJW23plionoomkVN+s2m --d/beWHJQyH1pONsHBITYTTn3UBNDri2vRaQqOVY8uLfYJqQ2ySOqqrhJCyG6nnor --f00pnw4AHrRepvpJ/o3ldFfYutmSLNKshB3ypqREHL+IQTJ+0cMvbrwPXRmmj3Qr --Z7rdqdtotc6dJUjfVAjQHU8uWyS8BQ/7WEb6AspTkynPECfCoBjQ9dS5PF7fjmz1 --fLm0VMw5Fl082pazw2zUcF3TMKemvW/dQbyo3kJgWZqFJQ0qRcMFtG56Sk3KjArl --bDS8IJttSsrKtqY6oNvDDiAaEht33csdf8MNDefB/ZbSx2iAmaDZijMho4uiWqd+ --JwYCf+1gETc0VBd/TZAUHmk3DbrwK/CjLWJ5yHao6sjnOx/GT8IM16zwd1Nd8FC0 --35sDyk1B4RiyJTCGHWPlZ7FTzWtOgxq5Xi0FFWvUjrGX/DEDV8u/J3/NXyd+Zuc8 --Fwm2ESpPM83rGtNv1RWLi85oa36aleV0fxdX2QIDAQABAoIEAGv5ltvmLQ/A93xc --x0BWEINRkBa2jrfpo9B5dOnuikWtza/Cx+X2NfQHFlSrcHhfr/JX5BsCb2iVo8DM --CXAgeX1VMHS9wQXuxciaHCZDnqxmxUNDU3EjsYQOKLusRcdL6M+Zuz/ny+7PQ0Qw --/N0yS46Wa9oUjon3RKRvTeSV4HIpFpcP3n/eLjDc/ielWuujnTGcBnjNWegvQROp --5/7221YElGh8U84kbK2l9DtfjwoGoTv11lPvOxXE/scg6em7r9j+y3p3TMzMeDtT --YBC6CA4Oa7GrWLJXROOKOQ0ddtvFNlUsZ02vG2QCbqU2y8mwJrJDI80qNbeKGel3 --SfwkssedtGoOOYHxNczwpyVNHVHrHuMPBe75gbo+5pFxVJ5ymCGWfbLJf73oVsqW --ZimoknvkozW4+mlVlcmo3X73IxTW2U4RlXthYdj9KXsBLRaKVCQJDc934eHWkXHU --GF2U2NonqOVd8YG/FmZQ2ig6EcW97hC6wnsWT2Uc7UNAE2RM4bY0xCUHaQiKTrEs --CI6wpbbTV+XhDu2HmL9G+fsuSIu0RoSOCmr5jQDAVwCNPXFgBgcIxbPZ/UCJ7RHj --GrWPBldAN8ip4osiA+B3XwBabcvwXP2fgBP/eLWN1St3q3tw5xpHpqCuhNuPSqsc --0ntz0oIdJyRR6fXWmRFex4kXQ597z5ozm0uyg8arV3HJFxDC3DI6kKfs86/oqMSW --l+9g+d4x6VrUOCTDk0bjN3T8HQ9ASfy9JVacqk6yuXX7a0WeeT+x9JsvFAjg2KmG --CJUtm5w5siItMDSPpcRE4hlfgh+M7ZKS3PFgH3vvwfPMbC/IC93QoSaFzRJMyobX --ei6PNwqJvL+HADlMfLmehE2w9ycp4Fe1Gw/NW0Ed1S6Ajo45hgXQJSIrzla6eglg --JPsPpQ8b+weZNQ8zvc0KvfRJmZKKEb9dHvFdi68I1kV8aapQsjrMOjwHC2pnCFh/ --axkVc7a59fKUs7L6nAJhCs2sSixTorZz5PvJ6mXhWu72TCzu+kThNnEORrlWPHQl --RFEAFpDDaGSzOMlhb92CWUMPyZU2qtzMzv4QGbP5YqTy121hXuT5OBKCF3eNLihV --aje16k0RMFqqW3Olbm7Mp2P1C6DuwzsUJBnNwB5JzhC79Po88zNAl2d1h+qysKU1 --jxF316nhpWJ2dGJ/sbJ+XpUMd/tVrNFQMA254GFfXycsfBoQOSY5d6GfRwKUDOou --xImbIzGUAaIYdsGKDuKtqs5S21JMJjJ/J5CwjLu9tbpP/jsp22KHCpraHAQCupSp --+SFwWI7tRUXzREuxJixfUOnJFQYOATnMFvvtk1d6v4xoPYCVEhHq8gHqJkTyTi3Y --BPVwT1UCggIBAOEy5gThTrEqSVFUcFJm9bJxtWZt/YhOIJWNNxeaxExHzy5hPpsw --fZXtN4MUCeMSWI4isgIujmltwgOHMjQqsJPISn/1gVrqLmrZ2PnFzko/WA8rMUfd --EUnOOpj2bKpChlRGHi76ZV4XGgoTXyO6mrVUcUgf3reSImdcdQ5IHa7J+lWhCQGb --neZIyDOk41LX1TxjcYkY7vuUgmbBYComXPm2UaY3HN4E/3ElXntj6PrlozL33A56 --z4UPfv2Vv9kl0ydkTJe/WcUN2htqLFCYygF2XLlwbv2SYDCT31PkJUORbScUM46A --DOhlxvLBFcpF+l0RtCtvnrKyFy9yZJKrcLh9x6xVChZ/aQqSptSHjll5IEcVm54Y --Z1TjWizCI4txnaBFV0UCLt1CZrllXnyIksZLS4/dVqUIKmkxPBQUpiD5dmgDcmPB --/LdWzS6k4MH3J3Y3tu3MNPHDwgUtnifSZrsWSYPK0F8J0dMU/mLaS9eOplAH7Eo1 --t7OrrImvitM6tUdErRYilIaoS/6YPmsPST5gY1N4n8Lf4sAE/tY8fwaWRpTVSrIw --CoFwLtHESUOhqfuAOdr1EkDfo/RQTUVdnmWZ+D0j3du8MmsMje4x3f2CjBDXqArl --gNnBQELDmrdif8KELNjlEpTIz0T7wEfquhVQ2dzhFpL7RLAgggD+oEBLAoICAQDa --5WOWrAtaI1cC5C7LFxM2qXTHGRttfAtVxuigJapLqNASJuu59GGRxsCVwhthbNFh --aCMSj+fZK7QNFkaoPwuZCEtzy0ErkVZzxYp3cP6b99mzGoCcuqiHiW5qhEkbxwdC --f3YEsSGqE6j8TPW8feiziqo8q+QPSudI9ngkH1gjgbIrTu9iaxKJcF2CwBxe5tfB --uFBNPIgJAaLPejRKQu17MAV2jDnBDIsZUZnm53IxQ+giIYUBay3cfC1KMJu/AnZ/ --CxETjgqqnzqdFW0b0o49Q6YQa6QXAiSjs+lL/BhjbdA5quVdFmA3CoASFQbihYfM --4vilUg7Y4wXfzS7DyBZdfppIn+HI8PPSMv/lfdsQXecl5TU1fBDPRWYPpTZqm1II --HDCkmGRKet/j4/oobabNRrJ6PJcxNjqeMVv/a72pypDRPIXzNxLb1BkfWDGfgu2R --YAdRNBSJSpdoHDZ+1VO2A+/8gz9Zuiv1WxoX7+u3pCAd+0vCfHiaXiFVc7fI8F+m --rtDmN5p3DD9l1+/v7yd+7eUezwxYecElw5E5MyAJRTYGrim8g7XvF/u9rXvH09VP --TeIE8oJ7XzrxCmtGIxlJs6FmgUbUblOyfPZDUqPnzlo8Ru1H2iKRo2FPiMfij8mh --H3wgFTnZpGDQjw/xop51bxVueXrmOeguS0wmk/8Z6wKCAgEA0y+bPApadJRWS1nn --N69sTBqMZfFR6Eh0ECts9criuTJCXZk+T+SqcTYTb+4T04k52Jk63Aby8HXIkuxv --LTK3gu86xkLiOvMP8o43Bwz0BvbeSuNThLQQ6Wjn1NiLUSOvu0pCNgYFl7YMalR+ --TRBK0y/MSDny762wa8Pt1iXVCDxLcY/h1UstSW8JqDzCHcdgJhCPwWTLgMxleZ1w --5DYzzM2oRjq67I49Sssjjo1ESD2fzUVZbY7IG11L1t1fG3F4UiGiHlCJC92Qo1Lv --Geoezj5EeHay70Mcx5F0xsRWGcZAWXx9WO5GrI39g1uFZro3Lp5SmsVDSwrt6UXa --gR0bSThTTw40tqJnTE34+6ff25JWrbLay+jQxm+q+fxZvwQeMNW2IHYKot4JXWVt --tVWSZzjnNJP6FCvTMfDFCYPPw26OFr7cwCaEKx7QriRazitMK3XWK6zsHalZwudj --wK50PpCJAnno7KdVySCP6v4ST6Rr3POBKJq1ml2tITWo96u/ooUJ2I83QAyFr8zw --BBBCvKdBnl6pW+P/TdmhbiEvcmrs59gaA34/6+DbV0Y++piZwswd9XML2iCgLZY8 --0IcZ6uf4PsXq4Yzcrz0HwM+tAXcyiPzkjstpCUxMShALgFxzuWOgdwpjYXnrviJk --0EyUkzbOCHBhbhcK9CyYHfyrJX8CggIAdWwgJC9eV5glkPN+9osGT4hPkI4zXGPy --YK03FNGfrL59/37JbRNfU6fen3dk4LpTB4Gpbserg6AiEfMlLBPF0O3WK+OYrhpk --2e3Z/YCr1Fb8fUt2Op0W0r4ycQlNfo0ho9ZkJNgwSuAJAm72U4rnTYjREYLT8DAq --KcWtZRM7YLCuNvU9DPqLExcn0n/juDT1AIIy8XvLLamnAM15R2znn/F+vL00Lg7g --f1B60pbNdwgKemSoyL4J+ADU+rtgkPJtRnFVU7walLSd6K4ZvZcRnmOvrZdQitcn --eHmGaLBvFMdPr9+w8mKScnQ7h3eoHdOrqYkIAQcn18jQ2eFjeLrY5IaJlPPPVs+K --u/OHuj/tR7ZXzMhL5skK62U6/qGNs1pmgts8bM8i3aFUgRdGlnFbzTpje5cNM+T3 --RO0NgNL3ByIW1Wc2I+YjQ7FfWKUi2YKOljGBO1pIue09kyevRBKDuVwbXMW7MhLg --idm5AaY+OGDeqbaoSUgkGgrsrr5IlI39gZi9jwG85qe3Spavq3ILKdfL1N8UrFGD --/xIN0TVPtilede7vjKTK79tZu8JYaDWGc+g/mo/M1wmawLrqGNGzOwoVRruKl2In --m9PU9wBZ1HuphDQ4DRdC/AU8qkGhmDOx4bDWEQ/R3KKFHNvhnamyfyR7xqt79gyS --NGNIElnJuskCggIARFaK6yAVmaL74Qu3iiELj8FU9Cw8kPP5HeWUfGxCjlegdH3R --FBtoQlDcQjYzO2uZR94Itg3yk3Dt+xbf7KxUsODwlgLj1UhV4eOXUDTosBFTrbTG --v9gnRVH0Eyu9tF+CMUcCXhq6tnIrQOVv1ozcdXfIpk9gvIbfh4rlo6X0iM8Xge2t --Vo7awq05t4wJBkO1xUtOaw9HabaszK/CU1iNV7cIBmaFF3AEP/KVfOs+kjubc9AF --mqC+LVVClvJPNzm1YA5JZlxmQ0u1xXFqZv0OMoibgY+gSzaiAQz3eKB6vEv4Xv4U --kaF9nEUTEjowpTE6uX9X0mGkXXT2wXmlTjosZFnxRX5IIrRNug30plRra5CNYPGp --3uTmD/D7Nzi1iYitJg3yhrTQmCWiJY3x4Z0xophLkio2nlJ9WoTKf1AwTIATY7fa --pX9bxEKldYXrYZNFlbqBPFgA/36v+JDVfMf2E9yRMCt0LAJ0HUM6zP0ngMv+S1TP --Pu6X0WXR9JeuoaF4uJSty/xwdpST/CkHflFLVsk5n3tNQfWGjqoTSOJMgL9NRY9e --Pc/OshHZHeCVFUSXtcf1pfmmBtT6FHX0L4cgVqA5xO8RYapnLDAFLXq2/dRv3NwW --W9CzZcZKh7jmJw4iSIY5IU1+ThgugWoxlkcmjs/egjBclL8BBfqRIwx/vOE= -+MIICXgIBAAKBgQC3f9YL1GIVdJeb1BcKRAciD/44BXS447ookSYpv3ACrNnyg7yZ -+pHDjPIS3XoQMuLh9Oamrm7men6kqa/pAcGwypJMaqZsHzBgh5AmdeBbx1R7yb05f -+KX/VQeogoB73snzQv+V6/sWK/eSqBlbxQnC+uS80BIvQttaPpEyZJTfCnQIDAQAB -+AoGAIKRC5TPQhtSIq5Wcy5yyUCLcLAb8bm9EDDdVvJNrT26EDpnUkNgppKJ9UUkk -+4EZzuwLo5bf72vW31+4BRDk7ZbGwgPGtrFtSyQ4oNKvaeGAQguPl+XOO3qSnrP49 -+H6nJhl92CvOlKJfk8voCvA8yk2cAmlZQKWp9w/6pl/R0n8ECQQDfEkZ3VO9dYTMX -+098zJuxvs4ClTNopdkGyWSn3DgHil1MAwxwEfEjr7MX8Ilfj1XtqSvWzZfTMkcyA -+aTPCkHnlAkEA0pYox3NrG9wJFYafZLWay2wrjf6XXkdz8zXAuwa6uNAv8hIGOb7o -++w2RO5N2D4ofIPPv0JaD+evnoH5ey+m6WQJBALvpIjEN/GGWKrsswH3PkSZ7eKhG -+uBRrSOZbVA2I4C+nt8URlr10kN0k5JcDuzPytvcQVC+eeHwHadTWSkLg/70CQQC4 -+aidsAvdZfme2Ih6T4zWbzy6VOs70ET7JTdlp74q1LhvOsVoiV71PnaIBujE5iouY -+IAdzc1xAEQbW1dPOXvCBAkEAreTSucJFznJ6TtQcXIdxJUt883apFQyJDeaHIzkN -+QXYuDGZmxRwW/9Q/jACU0gu4fj3Q3OuzdeIsMW/3NoEb+g== +-MIISKgIBAAKCBAEAyqodxBHskfDH/1+QkvxADF63PQDFINUPiTEH10FMi2CAqjgU +-3pNrnHSIQWi1AkEBLYaiepVTXntnL2weKVH5RP1KgL6yI6E+GzjPiMRx7vhrQcUt +-wMNSrFl9gTQZlTK4mlG2QTbUxKGuhOY4uei/lr4Zemt3TeDe5rO2a7w93Wi8S8Tr +-9TaT7VaiFVCKEOjWIu1ssc3DGMn2CuHeYWVi1hRBjLX7FGjBzxJdQSGdVxFDfbtD +-LCG7w0R9qM8fw3F1tUfCfc44PHNknhXYpyfPvUDIRQjjyDmoC47CW3vxR5ESkczh +-AOCUW70y5AyNw77MdjJSEmmwGOCwwnY0Wl952faBnQIKYWkcM85J+nYDHgdbJwu/ +-NJ40lrgDm1A6ai8XehTPZWMAN1Koc85LFED00ppWVDO4dy5CW4/sHxj0rauKSo1t +-cCXzWOfLZlEUfRb0621WdnZRbtYd2tONwGRaZ06v4r8z0bj2KvxXh6c1XoDJrPyH +-yXEXkb+3TaPtPBsn9Gag+UYDJ8zqgPZLQPZBlM29CrPvJr7eb2muDz8cVWMzkJvt +-yloSTd5LBsKikrBCPTGvpBUSFfiK6YiNz/2FZlBvEfGfSPO1up2GaCSiXah8VEL6 +-2LXF8t0OD9Bo5FR+xbmgm2Utd/SPuTAK1YZc7cl80dqdDWNQ7uUekmPMogzoSpYC +-TdyP33yPCBioMIjXr4mt/FdLEPnxy0jotjvIP/zC09FKEDwba2Tc5WUeW7LaseIk +-l4/uwEuOGIN8F6Y8RbNgBiPyLxgTnheKxnJ5jE0E853q4CXTM4weEUdjH6VFP72F +-s/6laO5ItwykyX9y0HVmm2r5oFDzqFlto904T3Aru/+SLnGr7+kA7Q3RtG/wjrIJ +-+01hDdkQ1VQRzQOUhP2oaORFbh5qHi+FoW31tsDx7vc26f7C963ME0ZbiELwLR+1 +-Dn61K+SNq7mHMGo9EvSt8xyszBpIKSqWe4AAC25Zh7+jynCZGxz9cj2y05RKz1V1 +-vh9A7FU1SC1V8ADaPLBguhEyZlQLvgakXrfJWbtN9JIGJkhuwhLUfPAguKLhvGq2 +-GQ43R1XJ8kkNlnWihGS/NPy+skHk9Yjr4bcmpeVBwiAM9uKoped2VKX7S4AFfRiF +-erq8t63AL2CFzBUSHC8KnvN8QM/0PiPSlcrQBlhS8ITYDz3r/xJolHmPvkApX5jI +-kGwFL5mMKmN4HyOxKcXnScmykg9TC9VxKBfCGb9gv3yHqKvB9ArBuNJo7sHOpxMT +-F20kXaI3ptd9SIsrdC1ALsoZ1bY+bEJx+s+Fh/negHOLifRw8NjX/0BBnMcVbZtu +-TLVSApl5MnPKJqCsMW/EsPXau8If4J9EuiX3nwIDAQABAoIEAElnTjqq502AsV+c +-hGfId4ZDdAjjU4LtyJ+/I4DihM/ilxeQEnb/XDWhu4w9WXpEgyGzJvxRQ43wElKJ +-zW7X4voK58Yzy5++EhmX/QsjY8TTMz3yJf0wgawtCZkXfsCcS2KRf/qk2nGRwf0e +-yaMEWwhFOEMv01lgvjs/Ei55Usrz2Wd0HqaFKxUGkNQ5hJhVTOH/rqPDzAsZc0VD +-w+Dw8NhrI8bMTvF4c+IFW8NwYmWbuh87CTxdx30VPJI82ttWJ/UN1bLtU08J2IKt +-lPgOIl8ArMjcTGxD/cqZ3Wl3Pc/XCqvGUiSYMwP7Rgh1R4+DdtjEpxdGMmMAVuVI +-HPQyqpa4gv+UMqBPish0yjSuM7jXnztINOvg9Vk1sxC5AT9eaRltmiS1s+lVxe+T +-43ulf0ccYXJD/WclWSGCwloNFuokPIV+Lgo1pKsp4XDgoxQfkXwH8Q4dEqebY9rT +-Tv9FGb1bMbdl22X1oSu2lBltBZaB/QnruV7L2GaQ0tqLKizgBRuvZFSE+DWdMb6d +-9mnEB8LWtca/nzogXb5qv4GEMUX4FUAmSf1FnGWZwwDi1DFfJ860RVKf0xokGGQ3 +-cm3H/F4veds88Z1hsAu0bG8h/bEAim+Whvag995cFHDD4on41KXW8wX1on9VFA1W +-CkaGUPhLRytXDBVCSJkOYYFSJlb2wqONiWe4Tn5hsantCfliTj/GVkgDq2h7dAGR +-WyoqTntJAv/xJsUOV9WmGXnWNeZX8BSO3P5dnXnMzhCWQGoprXmWFyJ3TYCJ2+CO +-rzkZbtuKvTvGc3sDJgrSVmmg0BrOkH+GyYVlJdTDBmfzoORludDCFHECa8oK7NwY +-t3o0eNlG6IqTxl2HIoPneW9nXFQtCXv6tpJjljwjlz5WpJG+kBW6bDedcxZu7olZ +-fqtnyZTB2SjzzbGdQ4JvFup8MxNyPvYiqumQXJgkyXFVDl/UFhjWuGe04i8NBJgJ +-xORcjfgLrKH1XKVBWPJdh/2YeUKIIvQ9RB4WVqXgGmD/21tgv1bVEMYabh23e/HE +-Fe1U2XQPJKxGCEtG6b4zhFP+PeZACS+Vk5IVJYK9n4SepPBPgX/wbJLOcKGpsKjp +-yx5WjopMO6T+VUV8HIduuZ+E8+uAILHDmo2Bq+LHblaxd4SkM0+hL2H36imK5CUO +-5fLuvHW88LvFtQw6xhP20s+BnmgzE5ZvNG4Iedkjvwe9HmdNDew0UYT5vNJN0ehh +-OlraBC++JYwEclrBD9SRvprT63XKDG735pPvzLQi7WKDCBn1/JEgxDIO8nkMewOZ +-FU48Mdmkn9wqPeIigQciwl62fuAQCGRG+RXMQqra4A1apqMZQEauTK50VhHDGdbc +-ye9LHaECggIBAO9lAzoYS/Lu0ticMt24P8BSbGdxSNIpEyIlTTs+7A0UjpfXsoK9 +-4EJWZ7lhgbQh+SCTS662SeC+s8M6bT+3mELxUC5S/N3aCPyfjcM3JaoACkI9+VMn +-9otJZjAEwH7cNpMN0Xa8fHCEma3l3XKiVxEJbuJC86S5mpkjeXVnDajAidBtevBd +-LWJ9n2yXk+ZKUyI0mjpqItwUxOgQ/MOIvqAu66xyjg08/I1QQTuIrReAA+oaVKhp +-c42Ufn26hUhNrQCBAtMAO3VC/chciet6vEMNEM13GqLp4+PcPhRX90gO4+bNrScD +-WgiW/jc24CGan8gAenBWC/3l/C6JUsMp+ZYmPozsa0zo6edgiO/f2KXe5nP87wZT +-MxaYJgnyXJxMefI79kUHPrhpXZxuiSCEWLhCBN34Lhpr2L491i2g/FJj9i6N3EzE +-N3ic5Q63o4QFusjqIm3taQQFoGP2Cgg9owz5WJ0uRz/gtOE3XQiQA7+ozoAXOlTw +-pJK5MMtVrEoOLIbVJIpxfDcKDp3yorR8QCQLHgDBmFeNCDmk+7YP33dRIc/AVNLF +-q7cecqEc7D8AkXX8Q53GfCEg+uqbdeMQXK4BUE9iwRK9RiFhas/RJe73+Iio3S0L +-ekLpnnOfvk744ws+JWsLpsfC/ZE7OxBLPtq2xvGl/RT2G7tCjmpX3CbPAoICAQDY +-uOEJks2T105EcMPJjzNHCCqjK6S7qZaWkF3KT1Z0Mu5oUZwwHamsMg4BQJ2mjMrL +-fRBKfXQLA6vgE7zysw3F300RDxE1RVow5+JLDQ4bqupp27/M0a8fuwksyOdKHqCV +-YHzuTCxbVIFZawTjfOxJVXDHKCFCilfY1LsA+V+oFe3Ej8YYxWXkXA9ZLigpmt3s +-Wu6eFcZgF3utzIGjI6eP6lL5bWp6Bh9Avp2xrOvpFwE2m02Y7/Zom6MT4DXvByY2 +-KHHQLsasEMpeLuxQXjLeTocwcxBwBFKhX95yFuv31k00VydT+NExtaZeUYi9l19J +-WmM4GjFjAqa3uUwMNVv5JfWtKMyk4FOox2XftLvMiIhV95B8hAGxtYr3hPkGg80O +-AWPq6OKUD332COXRaHkmL5aQdN3gP5zh9+rH6icLrrZbrQidVRyDw03doRoGrH7i +-ixXLyYoW80PHgqUDPohd5bFkZpi2vwXMl1YQ2TfN9TvYFSGme9YCm9ZuypnqauW/ +-aAf0FI1MNwS+XDREtzPdFi0me6WxpKL4a2Z3GGNxIFuBjQ/uydWpjxkny9qI3KAp +-SgjI3kBUDGq3gf0R+Xo/d4d/4asK9Nv2Fi0X+RfGqioFaTbQl/1zhNdvhP9IcwEJ +-DLVQ3UhMdfg285RarC2Sihui0M8Smi9od9Dj6rdWMQKCAgEAiQVRFoRnnDGz/wVQ +-W/Wkj6jdoUuG+btG10lwbhOyuj3k6+Yqp4iUfoPENKgpu/eiB1InhGWT3Y5ph7m+ +-ZDTqco56bTlUwIqWkDmmw3CiHy6MsKOWPFFoXQry8VMW9sWGex7yoDp8I07SQ2WJ +-HZ7rpLW4gMr/d25AnZxfXaJRgCBMAT9YmZFLc88hW99aaPproO1oxTyQnVVJ6uYm +-NqjjKv4QKJEc21jn2N5xp+iv4f6Evw65G/fXitbOm5oRxXOoLNyqyCie35wrc+37 +-hwumC97DmkasuUiUBoy9/5jl0ZmsOiPJEsZpVvdNpD7FhJZjE++qJPgrPvTPJbe1 +-5jz1PUrAjJqZQ9kgYC2x01JVR4NQdlz0VrNyT2FgjFrrRQ7E0bAeYh4meRjd2rat +-yC3YNgabkI0HnlnSIfl0yIMXSPUsKDNMP6gjc+aheI4FioBZC7xvXmn/rKynw+9E +-iLj2xWtGnBir8VTlUu8EUe1UJ/Qv1cL1wT5HhC95TTjJN03rkHUYyCDyjvIzsZX6 +-KMHhWIAAeUBVuO7hIVVcOTXWmw2WA7o7ErTPdy13QN40Hk9t8pEkBn9f9vpQg83d +-aMypr3LTC80jY11wcZS3tSEpzCCkYVv91FV4cioTZmytWbg9A+dbNWzi1f22ctTr +-FoVrAXaSYie2trOy5bjPmPCW8qMCggIBALQUKymBSkDmTqqf6I+65ajIKGWdBizJ +-Jc/F9aj9c6DqER+tcFKq0ym6DdkMj/KsWnXrXXYH+DyOuGpg/EfOcEtS2P6rvmi9 +-T8wDYg1qs6ZZxp5fcmgGc7Wx/FWyOj1kZZq5qhV4RgM9nJ1oR4+fZdcpn6RcvAZG +-XehWG20byVgpoIAL11cN7zRpKne32rd3b5/NjyjcfxGpcaNgovej0L/MvVV0jV0H +-aUCrIu1X+k6cRu3Q7hF+kwkpCcCiNS6AikfGI4wQ0hR3fy/zXXkKTMpcBglEEwyB +-Cwf8WSID2d79uvka0hr8TRc5ERyeMzkWZp7U9EzRtufGdDGFTqN2Uw4bdKCFnkYC +-AIHl7ciMrN+vM1n7c5uDNMUtTGOPojy/l8tjbFrtWBgfJ1Mg4ZW3cbNBJ6Kw+Qw0 +-z28USYoEDp2uduiGRvo0lpUF29Wk37Nb8bLcTygeNxgK2u8Up3iipT0gdt4uQgbX +-g0IVHfayB6SjeS57oJJto85XHz7AKlSWroD1OGagDSifLtneU7AlanryymGHrI6H +-dsNkuqeLJFYDxQVI6UxJebiCpyxiPxwp9wtX8SS3SEyOZL5GzLn6ypGiCH1CTpW0 +-EHHSy3V4DUGOc4w7eMirAnbSkxCfOmBA70NNw/uFY2XlQHKow0T0fImfKIeJagbT +-B0GPDYvUpLKBAoICAQCzYnq8xupXK7lvTLaj936qGSe54OC2sj9+UpsFiPxglNY2 +-sO5zKWKyY7+rjK6zG2ciGfPEDsZNIqKw1W/KBfR2kRLqkt4bC3fSCvUztx0vtGUe +-veXlqiwETdE7RJXoaGJrgJArYJvpOd8PtWGeM+sSJNNrUlGlJnSiZ0CcypqUZgZL +-WzGFfLOQYAXCykdB1iZkBqU2C5wktvCb9sVz6G3TmAwSKTENOWWZWmh+W0J4pZFV +-ZEyvsxViJRQbwxa0kC0F5J/UtWZknO79/ZFj1H4jiAR45EjWHE+UZAkFwG8BSl54 +-EKOx7GDanuRILr0dtbyi4d31nCYXdjs3x2+1N3exw4oKQIvNuF54WoowbNPu0kEb +-G+7/kLwcJqRnSV4AiLuMz5aOte7JJSw5tzgZZlAQwJO7IDfrLqodivcXF5yirwiF +-dyBpzSDmupy/aTHnCpT+l0H96jRU2awxaeRHZUqZog8gMHsslNVZEFvUFDJ7AUN/ +-yyfUzJYjH18pZt0hS7jNb1O7KxZCkWGMiEcxHkgF/UINab5qruNBVKOkJ5vqGhYi +-uNkgeGsQtXJcpqMRRiVXJE0kE+26gk+iaYnBJN9jnwy8OEAlYFUHsbCPObe/vPMQ +-3RLl+ZoKdFkN/gTiy70wUTRVw+tWk+iAZc7GPX1CqDFOqGZ2t+xdF8hpsMtEww== ++MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ ++PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od ++Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB ++AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs ++70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C ++ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O ++r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye ++u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG ++DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 ++NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn ++67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ ++nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z +++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== -----END RSA PRIVATE KEY----- diff --git a/mysql-no-docs.patch b/mysql-no-docs.patch new file mode 100644 index 0000000..84ad86e --- /dev/null +++ b/mysql-no-docs.patch @@ -0,0 +1,39 @@ +Remove makefile logic dealing with mysql.info. We cannot ship that +documentation since it is not freely redistributable. + + +diff -Naur mysql-5.1.44.orig/Docs/Makefile.am mysql-5.1.44/Docs/Makefile.am +--- mysql-5.1.44.orig/Docs/Makefile.am 2010-02-04 06:36:50.000000000 -0500 ++++ mysql-5.1.44/Docs/Makefile.am 2010-02-20 17:23:04.000000000 -0500 +@@ -13,28 +13,21 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-EXTRA_DIST = mysql.info INSTALL-BINARY @extra_docs@ ++EXTRA_DIST = INSTALL-BINARY @extra_docs@ + +-# make sure that "make install" installs the info page, too +-# automake only seems to take care of this automatically, +-# if we're building the info page from texi directly. +-install-data-hook: $(srcdir)/mysql.info ++install-data-hook: + if test `basename $(prefix)` = "mysql" ; then \ + $(mkinstalldirs) $(DESTDIR)$(prefix)/docs ; \ +- $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(prefix)/docs ; \ + test ! -f $(top_srcdir)/ChangeLog || $(INSTALL_DATA) $(top_srcdir)/ChangeLog $(DESTDIR)$(prefix)/docs ; \ + else \ +- $(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(pkgdatadir) ; \ +- $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(infodir) ; \ ++ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) ; \ + test ! -f $(top_srcdir)/ChangeLog || $(INSTALL_DATA) $(top_srcdir)/ChangeLog $(DESTDIR)$(pkgdatadir) ; \ + fi + + uninstall-local: + if test `basename $(prefix)` = "mysql" ; then \ +- @RM@ -f $(DESTDIR)$(prefix)/docs/mysql.info ; \ + @RM@ -f $(DESTDIR)$(prefix)/docs/ChangeLog ; \ + else \ +- @RM@ -f $(DESTDIR)$(infodir)/mysql.info ; \ + @RM@ -f $(DESTDIR)$(pkgdatadir)/ChangeLog ; \ + fi + diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 4de52bc..72546ec 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,13 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.43.orig/mysql-test/t/disabled.def mysql-5.1.43/mysql-test/t/disabled.def ---- mysql-5.1.43.orig/mysql-test/t/disabled.def 2010-01-15 12:46:09.000000000 -0500 -+++ mysql-5.1.43/mysql-test/t/disabled.def 2010-02-12 23:20:23.000000000 -0500 -@@ -11,3 +11,6 @@ - ############################################################################## +diff -Naur mysql-5.1.44.orig/mysql-test/t/disabled.def mysql-5.1.44/mysql-test/t/disabled.def +--- mysql-5.1.44.orig/mysql-test/t/disabled.def 2010-02-04 07:07:08.000000000 -0500 ++++ mysql-5.1.44/mysql-test/t/disabled.def 2010-02-19 21:16:15.000000000 -0500 +@@ -12,3 +12,6 @@ kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically + innodb-autoinc-44030 : BUG#47621 2009-01-22 svoj MySQL and InnoDB dicts getting out of sync +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index d9d03a5..8a24065 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.43 -Release: 2%{?dist} +Version: 5.1.44 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -14,11 +14,17 @@ License: GPLv2 with exceptions # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ -Source0: mysql-%{version}.tar.gz -Source1: mysql.init +Source0: mysql-%{version}-nodocs.tar.gz +# The upstream tarball includes non-free documentation that we cannot ship. +# To remove the non-free documentation, run this script after downloading +# the tarball into the current directory: +# ./generate-tarball.sh $VERSION +Source1: generate-tarball.sh +Source2: mysql.init Source3: my.cnf Source4: scriptstub.c Source5: my_config.h +Source6: README.mysql-docs Source9: mysql-embedded-check.c # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -31,9 +37,11 @@ Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch +Patch9: mysql-no-docs.patch Patch10: mysql-strmov.patch Patch12: mysql-cve-2008-7247.patch Patch13: mysql-expired-certs.patch +Patch14: mysql-charset-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -44,7 +52,7 @@ BuildRequires: time procps # Socket is needed to run regression tests BuildRequires: perl(Socket) -Requires: /sbin/install-info, grep, fileutils +Requires: grep, fileutils Requires: %{name}-libs = %{version}-%{release} Requires: bash Conflicts: MySQL @@ -149,7 +157,7 @@ package contains the regression test suite distributed with the MySQL sources. %prep -%setup -q +%setup -q -n mysql-%{version} %patch1 -p1 %patch2 -p1 @@ -159,9 +167,11 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch10 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 libtoolize --force aclocal @@ -281,14 +291,11 @@ touch $RPM_BUILD_ROOT/var/log/mysqld.log # List the installed tree for RPM package maintenance purposes. find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES -gzip ${RPM_BUILD_ROOT}%{_infodir}/* - mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql -install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld +install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf -rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test # 5.1.32 forgets to install the mysql-test README file @@ -334,6 +341,9 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf +# copy additional docs into build tree so %doc will find them +cp %{SOURCE6} README.mysql-docs + %clean rm -rf $RPM_BUILD_ROOT @@ -341,9 +351,6 @@ rm -rf $RPM_BUILD_ROOT /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : -%post -/sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir - %post libs /sbin/ldconfig @@ -354,11 +361,6 @@ fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%preun -if [ $1 = 0 ]; then - /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir || : -fi - %preun server if [ $1 = 0 ]; then /sbin/chkconfig --del mysqld @@ -379,6 +381,7 @@ fi %files %defattr(-,root,root) %doc README COPYING EXCEPTIONS-CLIENT +%doc README.mysql-docs %{_bindir}/msql2mysql %{_bindir}/mysql @@ -395,8 +398,6 @@ fi %{_bindir}/mysqlslap %{_bindir}/my_print_defaults -%{_infodir}/* - %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_find_rows.1* @@ -559,6 +560,14 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Feb 20 2010 Tom Lane 5.1.44-1 +- Update to MySQL 5.1.44, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-44.html +- Remove mysql.info, which is not freely redistributable +Resolves: #560181 +- Revert broken upstream fix for their bug 45058 +Resolves: #566547 + * Sat Feb 13 2010 Tom Lane 5.1.43-2 - Remove mysql-cluster, which is no longer supported by upstream in this source distribution. If we want it we'll need a separate SRPM for it. diff --git a/sources b/sources index 4d33fe7..592bf36 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -451fd3e8c55eecdf4c3ed109dce62f01 mysql-5.1.43.tar.gz +02d688d565b608adb93d7790ee6658be mysql-5.1.44-nodocs.tar.gz From 0f106703191c54d0a1e897cb9d0e783f28197af9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 22 Feb 2010 02:10:00 +0000 Subject: [PATCH 166/616] Add Obsoletes: mysql-cluster, and improve init script's LSB compliance --- mysql.init | 111 +++++++++++++++++++++++++++++++++++------------------ mysql.spec | 22 +++++++++-- 2 files changed, 91 insertions(+), 42 deletions(-) diff --git a/mysql.init b/mysql.init index 50363b4..31f4301 100644 --- a/mysql.init +++ b/mysql.init @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # mysqld This shell script takes care of starting and stopping # the MySQL subsystem (mysqld). @@ -16,7 +16,13 @@ . /etc/sysconfig/network -prog="MySQL" +exec="/usr/bin/mysqld_safe" +prog="mysqld" + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + # extract value of a MySQL option from config files # Usage: get_mysql_option SECTION VARNAME DEFAULT @@ -40,7 +46,22 @@ errlogfile="$result" get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid" mypidfile="$result" + start(){ + [ -x $exec ] || exit 5 + # check to see if it's already running + RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + if [ $? = 0 ]; then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + elif echo "$RESPONSE" | grep -q "Access denied for user" + then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + else + # prepare for start touch "$errlogfile" chown mysql:mysql "$errlogfile" chmod 0640 "$errlogfile" @@ -71,7 +92,7 @@ start(){ # and some users might prefer to configure logging to syslog.) # Note: set --basedir to prevent probes that might trigger SELinux # alarms, per bug #547485 - /usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \ + $exec --datadir="$datadir" --socket="$socketfile" \ --pid-file="$mypidfile" \ --basedir=/usr --user=mysql >/dev/null 2>&1 & safe_pid=$! @@ -98,42 +119,49 @@ start(){ fi if [ $ret -eq 0 ]; then action $"Starting $prog: " /bin/true - touch /var/lock/subsys/mysqld + touch $lockfile else action $"Starting $prog: " /bin/false fi - return $ret + fi + return $ret } stop(){ - MYSQLPID=`cat "$mypidfile" 2>/dev/null ` - if [ -n "$MYSQLPID" ]; then - /bin/kill "$MYSQLPID" >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - STOPTIMEOUT=60 - while [ $STOPTIMEOUT -gt 0 ]; do - /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break - sleep 1 - let STOPTIMEOUT=${STOPTIMEOUT}-1 - done - if [ $STOPTIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to stop MySQL Daemon." - ret=1 - action $"Stopping $prog: " /bin/false - else - rm -f /var/lock/subsys/mysqld - rm -f "$socketfile" - action $"Stopping $prog: " /bin/true - fi - else - action $"Stopping $prog: " /bin/false - fi - else - ret=1 - action $"Stopping $prog: " /bin/false - fi - return $ret + if [ ! -f "$mypidfile" ]; then + # not running; per LSB standards this is "ok" + action $"Stopping $prog: " /bin/true + return 0 + fi + MYSQLPID=`cat "$mypidfile"` + if [ -n "$MYSQLPID" ]; then + /bin/kill "$MYSQLPID" >/dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + STOPTIMEOUT=60 + while [ $STOPTIMEOUT -gt 0 ]; do + /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break + sleep 1 + let STOPTIMEOUT=${STOPTIMEOUT}-1 + done + if [ $STOPTIMEOUT -eq 0 ]; then + echo "Timeout error occurred trying to stop MySQL Daemon." + ret=1 + action $"Stopping $prog: " /bin/false + else + rm -f $lockfile + rm -f "$socketfile" + action $"Stopping $prog: " /bin/true + fi + else + action $"Stopping $prog: " /bin/false + fi + else + # failed to read pidfile, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + return $ret } restart(){ @@ -142,9 +170,10 @@ restart(){ } condrestart(){ - [ -e /var/lock/subsys/mysqld ] && restart || : + [ -e $lockfile ] && restart || : } + # See how we were called. case "$1" in start) @@ -154,17 +183,23 @@ case "$1" in stop ;; status) - status mysqld + status $prog ;; restart) restart ;; - condrestart) + condrestart|try-restart) condrestart ;; + reload) + exit 3 + ;; + force-reload) + restart + ;; *) - echo $"Usage: $0 {start|stop|status|condrestart|restart}" - exit 1 + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 esac exit $? diff --git a/mysql.spec b/mysql.spec index 8a24065..7cbdc91 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.44 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -55,8 +55,11 @@ BuildRequires: perl(Socket) Requires: grep, fileutils Requires: %{name}-libs = %{version}-%{release} Requires: bash + +# MySQL (with caps) is upstream's spelling of their own RPMs for mysql Conflicts: MySQL -Obsoletes: mysql-client mysql-perl +# mysql-cluster used to be built from this SRPM, but no more +Obsoletes: mysql-cluster < 5.1.44 # Working around perl dependency checking bug in rpm FTTB. Remove later. %global __perl_requires %{SOURCE999} @@ -83,9 +86,14 @@ MySQL server. Summary: The MySQL server and related files Group: Applications/Databases -Requires: /sbin/chkconfig, /usr/sbin/useradd Requires: %{name} = %{version}-%{release} Requires: sh-utils +Requires(pre): /usr/sbin/useradd +Requires(post): chkconfig +Requires(preun): chkconfig +# This is for /sbin/service +Requires(preun): initscripts +Requires(postun): initscripts # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server @@ -363,6 +371,7 @@ fi %preun server if [ $1 = 0 ]; then + /sbin/service mysqld stop >/dev/null 2>&1 /sbin/chkconfig --del mysqld fi @@ -371,7 +380,6 @@ if [ $1 = 0 ] ; then /sbin/ldconfig fi - %postun server if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : @@ -560,6 +568,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Feb 21 2010 Tom Lane 5.1.44-2 +- Add "Obsoletes: mysql-cluster" to fix upgrade-in-place from F-12 +- Bring init script into some modicum of compliance with Fedora/LSB standards +Related: #557711 +Related: #562749 + * Sat Feb 20 2010 Tom Lane 5.1.44-1 - Update to MySQL 5.1.44, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-44.html From ffd7047b5861328270e33d5eda611f43be2a529d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 25 Mar 2010 00:42:33 +0000 Subject: [PATCH 167/616] Update to MySQL 5.1.45 --- .cvsignore | 2 +- mysql.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index ebee71a..4e5ccd0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.44-nodocs.tar.gz +mysql-5.1.45-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index 7cbdc91..3ee338d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.44 -Release: 2%{?dist} +Version: 5.1.45 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -568,6 +568,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Mar 24 2010 Tom Lane 5.1.45-1 +- Update to MySQL 5.1.45, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-45.html + * Sun Feb 21 2010 Tom Lane 5.1.44-2 - Add "Obsoletes: mysql-cluster" to fix upgrade-in-place from F-12 - Bring init script into some modicum of compliance with Fedora/LSB standards diff --git a/sources b/sources index 592bf36..6deb93b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -02d688d565b608adb93d7790ee6658be mysql-5.1.44-nodocs.tar.gz +f119494df2e115688e10cc8d531a6088 mysql-5.1.45-nodocs.tar.gz From c676a4ae0209bb24190c616cc37f68af8d3c91a2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 26 Mar 2010 01:24:49 +0000 Subject: [PATCH 168/616] Fixes needed for it to work on PPC. --- mysql-lowercase-bug.patch | 51 +++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 mysql-lowercase-bug.patch diff --git a/mysql-lowercase-bug.patch b/mysql-lowercase-bug.patch new file mode 100644 index 0000000..4387838 --- /dev/null +++ b/mysql-lowercase-bug.patch @@ -0,0 +1,51 @@ +Fix multiple coding errors related to upstream bug #52019. + + +diff -Naur mysql-5.1.45.orig/client/mysqltest.cc mysql-5.1.45/client/mysqltest.cc +--- mysql-5.1.45.orig/client/mysqltest.cc 2010-03-01 14:30:46.000000000 -0500 ++++ mysql-5.1.45/client/mysqltest.cc 2010-03-25 19:46:36.000000000 -0400 +@@ -5586,7 +5586,7 @@ + /* Could be a multibyte character */ + /* This code is based on the code in "sql_load.cc" */ + #ifdef USE_MB +- int charlen = my_mbcharlen(charset_info, c); ++ int charlen = my_mbcharlen(charset_info, (unsigned char) c); + /* We give up if multibyte character is started but not */ + /* completed before we pass buf_end */ + if ((charlen > 1) && (p + charlen) <= buf_end) +@@ -5598,16 +5598,16 @@ + + for (i= 1; i < charlen; i++) + { ++ c= my_getc(cur_file->file); + if (feof(cur_file->file)) + goto found_eof; +- c= my_getc(cur_file->file); + *p++ = c; + } + if (! my_ismbchar(charset_info, mb_start, p)) + { + /* It was not a multiline char, push back the characters */ + /* We leave first 'c', i.e. pretend it was a normal char */ +- while (p > mb_start) ++ while (p > mb_start+1) + my_ungetc(*--p); + } + } +@@ -9642,6 +9642,8 @@ + void replace_dynstr_append_mem(DYNAMIC_STRING *ds, + const char *val, int len) + { ++ char lower[512]; ++ + #ifdef __WIN__ + fix_win_paths(val, len); + #endif +@@ -9649,7 +9651,6 @@ + if (display_result_lower) + { + /* Convert to lower case, and do this first */ +- char lower[512]; + char *c= lower; + for (const char *v= val; *v; v++) + *c++= my_tolower(charset_info, *v); diff --git a/mysql.spec b/mysql.spec index 3ee338d..63c82da 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.45 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -42,6 +42,7 @@ Patch10: mysql-strmov.patch Patch12: mysql-cve-2008-7247.patch Patch13: mysql-expired-certs.patch Patch14: mysql-charset-bug.patch +Patch15: mysql-lowercase-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -180,6 +181,7 @@ the MySQL sources. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 libtoolize --force aclocal @@ -568,6 +570,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Mar 25 2010 Tom Lane 5.1.45-2 +- Fix multiple problems described in upstream bug 52019, because regression + tests fail on PPC if we don't. + * Wed Mar 24 2010 Tom Lane 5.1.45-1 - Update to MySQL 5.1.45, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-45.html From 5f0366768894b53015417d50c3bcf35590a3f792 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 25 Apr 2010 02:57:50 +0000 Subject: [PATCH 169/616] Update to MySQL 5.1.46 --- .cvsignore | 2 +- mysql-charset-bug.patch | 208 ---------------------------------------- mysql.spec | 10 +- sources | 2 +- 4 files changed, 8 insertions(+), 214 deletions(-) delete mode 100644 mysql-charset-bug.patch diff --git a/.cvsignore b/.cvsignore index 4e5ccd0..65a2628 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.45-nodocs.tar.gz +mysql-5.1.46-nodocs.tar.gz diff --git a/mysql-charset-bug.patch b/mysql-charset-bug.patch deleted file mode 100644 index 926f1da..0000000 --- a/mysql-charset-bug.patch +++ /dev/null @@ -1,208 +0,0 @@ -Kluge solution for bug #566547: revert upstream's bad fix for their bug #45058. - - -diff -Naur mysql-5.1.44.orig/include/my_sys.h mysql-5.1.44/include/my_sys.h ---- mysql-5.1.44.orig/include/my_sys.h 2010-02-04 06:37:06.000000000 -0500 -+++ mysql-5.1.44/include/my_sys.h 2010-02-19 23:13:48.000000000 -0500 -@@ -951,6 +951,7 @@ - CHARSET_INFO *default_cl, - CHARSET_INFO **cl); - -+extern void free_charsets(void); - extern char *get_charsets_dir(char *buf); - extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2); - extern my_bool init_compiled_charsets(myf flags); -diff -Naur mysql-5.1.44.orig/libmysql/libmysql.c mysql-5.1.44/libmysql/libmysql.c ---- mysql-5.1.44.orig/libmysql/libmysql.c 2010-02-04 06:37:07.000000000 -0500 -+++ mysql-5.1.44/libmysql/libmysql.c 2010-02-19 23:13:48.000000000 -0500 -@@ -211,6 +211,7 @@ - } - else - { -+ free_charsets(); - mysql_thread_end(); - } - -diff -Naur mysql-5.1.44.orig/mysys/charset.c mysql-5.1.44/mysys/charset.c ---- mysql-5.1.44.orig/mysys/charset.c 2010-02-04 06:38:50.000000000 -0500 -+++ mysql-5.1.44/mysys/charset.c 2010-02-19 23:13:48.000000000 -0500 -@@ -322,6 +321,7 @@ - #define MY_CHARSET_INDEX "Index.xml" - - const char *charsets_dir= NULL; -+static int charset_initialized=0; - - - static my_bool my_read_charset_file(const char *filename, myf myflags) -@@ -399,37 +399,63 @@ - } - - --static my_pthread_once_t charsets_initialized= MY_PTHREAD_ONCE_INIT; -- --static void init_available_charsets(void) -+#ifdef __NETWARE__ -+my_bool STDCALL init_available_charsets(myf myflags) -+#else -+static my_bool init_available_charsets(myf myflags) -+#endif - { - char fname[FN_REFLEN + sizeof(MY_CHARSET_INDEX)]; -- CHARSET_INFO **cs; -- -- bzero(&all_charsets,sizeof(all_charsets)); -- init_compiled_charsets(MYF(0)); -- -- /* Copy compiled charsets */ -- for (cs=all_charsets; -- cs < all_charsets+array_elements(all_charsets)-1 ; -- cs++) -+ my_bool error=FALSE; -+ /* -+ We have to use charset_initialized to not lock on THR_LOCK_charset -+ inside get_internal_charset... -+ */ -+ if (!charset_initialized) - { -- if (*cs) -+ CHARSET_INFO **cs; -+ /* -+ To make things thread safe we are not allowing other threads to interfere -+ while we may changing the cs_info_table -+ */ -+ pthread_mutex_lock(&THR_LOCK_charset); -+ if (!charset_initialized) - { -- if (cs[0]->ctype) -- if (init_state_maps(*cs)) -- *cs= NULL; -+ bzero(&all_charsets,sizeof(all_charsets)); -+ init_compiled_charsets(myflags); -+ -+ /* Copy compiled charsets */ -+ for (cs=all_charsets; -+ cs < all_charsets+array_elements(all_charsets)-1 ; -+ cs++) -+ { -+ if (*cs) -+ { -+ if (cs[0]->ctype) -+ if (init_state_maps(*cs)) -+ *cs= NULL; -+ } -+ } -+ -+ strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); -+ error= my_read_charset_file(fname,myflags); -+ charset_initialized=1; - } -+ pthread_mutex_unlock(&THR_LOCK_charset); - } -- -- strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); -- my_read_charset_file(fname, MYF(0)); -+ return error; -+} -+ -+ -+void free_charsets(void) -+{ -+ charset_initialized=0; - } - - - uint get_collation_number(const char *name) - { -- my_pthread_once(&charsets_initialized, init_available_charsets); -+ init_available_charsets(MYF(0)); - return get_collation_number_internal(name); - } - -@@ -437,7 +463,7 @@ - uint get_charset_number(const char *charset_name, uint cs_flags) - { - CHARSET_INFO **cs; -- my_pthread_once(&charsets_initialized, init_available_charsets); -+ init_available_charsets(MYF(0)); - - for (cs= all_charsets; - cs < all_charsets+array_elements(all_charsets)-1 ; -@@ -454,7 +480,7 @@ - const char *get_charset_name(uint charset_number) - { - CHARSET_INFO *cs; -- my_pthread_once(&charsets_initialized, init_available_charsets); -+ init_available_charsets(MYF(0)); - - cs=all_charsets[charset_number]; - if (cs && (cs->number == charset_number) && cs->name ) -@@ -512,7 +538,7 @@ - if (cs_number == default_charset_info->number) - return default_charset_info; - -- my_pthread_once(&charsets_initialized, init_available_charsets); -+ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */ - - if (!cs_number || cs_number >= array_elements(all_charsets)-1) - return NULL; -@@ -534,7 +560,7 @@ - { - uint cs_number; - CHARSET_INFO *cs; -- my_pthread_once(&charsets_initialized, init_available_charsets); -+ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */ - - cs_number=get_collation_number(cs_name); - cs= cs_number ? get_internal_charset(cs_number,flags) : NULL; -@@ -559,7 +585,7 @@ - DBUG_ENTER("get_charset_by_csname"); - DBUG_PRINT("enter",("name: '%s'", cs_name)); - -- my_pthread_once(&charsets_initialized, init_available_charsets); -+ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */ - - cs_number= get_charset_number(cs_name, cs_flags); - cs= cs_number ? get_internal_charset(cs_number, flags) : NULL; -diff -Naur mysql-5.1.44.orig/mysys/my_init.c mysql-5.1.44/mysys/my_init.c ---- mysql-5.1.44.orig/mysys/my_init.c 2010-02-04 06:38:51.000000000 -0500 -+++ mysql-5.1.44/mysys/my_init.c 2010-02-19 23:13:48.000000000 -0500 -@@ -165,6 +165,7 @@ - my_print_open_files(); - } - } -+ free_charsets(); - my_error_unregister_all(); - my_once_free(); - -diff -Naur mysql-5.1.44.orig/netware/libmysqlmain.c mysql-5.1.44/netware/libmysqlmain.c ---- mysql-5.1.44.orig/netware/libmysqlmain.c 2010-02-04 06:38:51.000000000 -0500 -+++ mysql-5.1.44/netware/libmysqlmain.c 2010-02-19 23:13:48.000000000 -0500 -@@ -18,7 +18,7 @@ - - #include "my_global.h" - --void init_available_charsets(void); -+my_bool init_available_charsets(myf myflags); - - /* this function is required so that global memory is allocated against this - library nlm, and not against a paticular client */ -@@ -31,7 +31,7 @@ - { - mysql_server_init(0, NULL, NULL); - -- init_available_charsets(); -+ init_available_charsets(MYF(0)); - - return 0; - } -diff -Naur mysql-5.1.44.orig/sql/mysqld.cc mysql-5.1.44/sql/mysqld.cc ---- mysql-5.1.44.orig/sql/mysqld.cc 2010-02-04 06:39:50.000000000 -0500 -+++ mysql-5.1.44/sql/mysqld.cc 2010-02-19 23:13:48.000000000 -0500 -@@ -1287,6 +1287,7 @@ - lex_free(); /* Free some memory */ - item_create_cleanup(); - set_var_free(); -+ free_charsets(); - if (!opt_noacl) - { - #ifdef HAVE_DLOPEN diff --git a/mysql.spec b/mysql.spec index 63c82da..350970f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.45 -Release: 2%{?dist} +Version: 5.1.46 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -41,7 +41,6 @@ Patch9: mysql-no-docs.patch Patch10: mysql-strmov.patch Patch12: mysql-cve-2008-7247.patch Patch13: mysql-expired-certs.patch -Patch14: mysql-charset-bug.patch Patch15: mysql-lowercase-bug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -180,7 +179,6 @@ the MySQL sources. %patch10 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 libtoolize --force @@ -570,6 +568,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Apr 24 2010 Tom Lane 5.1.46-1 +- Update to MySQL 5.1.46, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-46.html + * Thu Mar 25 2010 Tom Lane 5.1.45-2 - Fix multiple problems described in upstream bug 52019, because regression tests fail on PPC if we don't. diff --git a/sources b/sources index 6deb93b..f5d518b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f119494df2e115688e10cc8d531a6088 mysql-5.1.45-nodocs.tar.gz +57ee8b562779f5a0ba1e9e3270c579a4 mysql-5.1.46-nodocs.tar.gz From aab815016fe0de0b306d5555f90097b77d9c322d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 24 May 2010 16:17:16 +0000 Subject: [PATCH 170/616] Update to MySQL 5.1.47 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 12 ++++++------ mysql.spec | 16 +++++++++++++--- sources | 2 +- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/.cvsignore b/.cvsignore index 65a2628..60f6c2b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.46-nodocs.tar.gz +mysql-5.1.47-nodocs.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 72546ec..f90e81c 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,13 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.44.orig/mysql-test/t/disabled.def mysql-5.1.44/mysql-test/t/disabled.def ---- mysql-5.1.44.orig/mysql-test/t/disabled.def 2010-02-04 07:07:08.000000000 -0500 -+++ mysql-5.1.44/mysql-test/t/disabled.def 2010-02-19 21:16:15.000000000 -0500 -@@ -12,3 +12,6 @@ - kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. +diff -Naur mysql-5.1.47.orig/mysql-test/t/disabled.def mysql-5.1.47/mysql-test/t/disabled.def +--- mysql-5.1.47.orig/mysql-test/t/disabled.def 2010-05-06 11:58:11.000000000 -0400 ++++ mysql-5.1.47/mysql-test/t/disabled.def 2010-05-24 11:16:14.000000000 -0400 +@@ -13,3 +13,6 @@ query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically - innodb-autoinc-44030 : BUG#47621 2009-01-22 svoj MySQL and InnoDB dicts getting out of sync + partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings + ps_3innodb : Bug#53309 2010-04-30 VasilDimov valgrind warnings +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index 350970f..ef02a2b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.1.46 +Version: 5.1.47 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -356,8 +356,9 @@ cp %{SOURCE6} README.mysql-docs rm -rf $RPM_BUILD_ROOT %pre server -/usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ - -c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : +/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ + -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post libs /sbin/ldconfig @@ -568,6 +569,15 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon May 24 2010 Tom Lane 5.1.47-1 +- Update to MySQL 5.1.47, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-47.html + including fixes for CVE-2010-1848, CVE-2010-1849, CVE-2010-1850 +Resolves: #592862 +Resolves: #583717 +- Create mysql group explicitly in pre-server script, to ensure correct GID +Related: #594155 + * Sat Apr 24 2010 Tom Lane 5.1.46-1 - Update to MySQL 5.1.46, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-46.html diff --git a/sources b/sources index f5d518b..ab3cff9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -57ee8b562779f5a0ba1e9e3270c579a4 mysql-5.1.46-nodocs.tar.gz +db89a1bb8b7e7002a3653d144d5abbdc mysql-5.1.47-nodocs.tar.gz From d74716e5942d2c45c9f619962e8a3d2cb0faa575 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 4 Jun 2010 20:46:44 +0000 Subject: [PATCH 171/616] Fix assorted bugs, see changelog entry --- mysql-chain-certs.patch | 41 +++++++++++++++++++++++++++++++++ mysql-missing-string-code.patch | 14 +++++++++++ mysql.spec | 15 +++++++++++- 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 mysql-chain-certs.patch create mode 100644 mysql-missing-string-code.patch diff --git a/mysql-chain-certs.patch b/mysql-chain-certs.patch new file mode 100644 index 0000000..3b20a28 --- /dev/null +++ b/mysql-chain-certs.patch @@ -0,0 +1,41 @@ +Fix things so that chains of certificates work in the server and client +certificate files. + +This only really works for OpenSSL-based builds, as yassl is unable to read +multiple certificates from a file. The patch below to yassl/src/ssl.cpp +doesn't fix that, but just arranges that the viosslfactories.c patch won't +have any ill effects in a yassl build. Since we don't use yassl in Red Hat/ +Fedora builds, I'm not feeling motivated to try to fix yassl for this. + +See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158 + + +diff -Naur mysql-5.1.47.orig/vio/viosslfactories.c mysql-5.1.47/vio/viosslfactories.c +--- mysql-5.1.47.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400 ++++ mysql-5.1.47/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400 +@@ -100,7 +100,7 @@ + (long) ctx, cert_file, key_file)); + if (cert_file) + { +- if (SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) ++ if (SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) + { + *error= SSL_INITERR_CERT; + DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file)); +diff -Naur mysql-5.1.47.orig/extra/yassl/src/ssl.cpp mysql-5.1.47/extra/yassl/src/ssl.cpp +--- mysql-5.1.47.orig/extra/yassl/src/ssl.cpp 2010-05-06 11:24:26.000000000 -0400 ++++ mysql-5.1.47/extra/yassl/src/ssl.cpp 2010-05-26 23:29:13.000000000 -0400 +@@ -1606,10 +1606,10 @@ + } + + +- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*) ++ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file) + { +- // TDOD: +- return SSL_SUCCESS; ++ // For the moment, treat like use_certificate_file ++ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert); + } + + diff --git a/mysql-missing-string-code.patch b/mysql-missing-string-code.patch new file mode 100644 index 0000000..d251f81 --- /dev/null +++ b/mysql-missing-string-code.patch @@ -0,0 +1,14 @@ +Crude workaround for bug #587170. There are probably better ways ... + + +diff -Naur mysql-5.1.47.orig/storage/federated/Makefile.am mysql-5.1.47/storage/federated/Makefile.am +--- mysql-5.1.47.orig/storage/federated/Makefile.am 2010-05-06 11:27:38.000000000 -0400 ++++ mysql-5.1.47/storage/federated/Makefile.am 2010-06-04 14:57:36.000000000 -0400 +@@ -38,6 +38,7 @@ + ha_federated_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN + ha_federated_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN + ha_federated_la_SOURCES = ha_federated.cc ++ha_federated_la_LIBADD = ../../mysys/string.o + + + EXTRA_LIBRARIES = libfederated.a diff --git a/mysql.spec b/mysql.spec index ef02a2b..7f4de09 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.47 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -41,7 +41,9 @@ Patch9: mysql-no-docs.patch Patch10: mysql-strmov.patch Patch12: mysql-cve-2008-7247.patch Patch13: mysql-expired-certs.patch +Patch14: mysql-missing-string-code.patch Patch15: mysql-lowercase-bug.patch +Patch16: mysql-chain-certs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -179,7 +181,9 @@ the MySQL sources. %patch10 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %patch15 -p1 +%patch16 -p1 libtoolize --force aclocal @@ -232,6 +236,7 @@ export CFLAGS CXXFLAGS --with-pic \ --with-plugin-innobase \ --without-plugin-innodb_plugin \ + --with-plugin-partition \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ @@ -569,6 +574,14 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 4 2010 Tom Lane 5.1.47-2 +- Add back "partition" storage engine +Resolves: #597390 +- Fix broken "federated" storage engine plugin +Related: #587170 +- Read all certificates in SSL certificate files, to support chained certs +Related: #598656 + * Mon May 24 2010 Tom Lane 5.1.47-1 - Update to MySQL 5.1.47, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-47.html From 25fc107329afd9ddc905e77d9a12b30d76b62089 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 21 Jun 2010 05:24:43 +0000 Subject: [PATCH 172/616] Update to MySQL 5.1.48 --- .cvsignore | 2 +- mysql-plugin-bug.patch | 10 +++++----- mysql.spec | 8 ++++++-- sources | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.cvsignore b/.cvsignore index 60f6c2b..aa3a7d7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -mysql-5.1.47-nodocs.tar.gz +mysql-5.1.48-nodocs.tar.gz diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index f90e81c..780d2aa 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -11,13 +11,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -diff -Naur mysql-5.1.47.orig/mysql-test/t/disabled.def mysql-5.1.47/mysql-test/t/disabled.def ---- mysql-5.1.47.orig/mysql-test/t/disabled.def 2010-05-06 11:58:11.000000000 -0400 -+++ mysql-5.1.47/mysql-test/t/disabled.def 2010-05-24 11:16:14.000000000 -0400 -@@ -13,3 +13,6 @@ +diff -Naur mysql-5.1.48.orig/mysql-test/t/disabled.def mysql-5.1.48/mysql-test/t/disabled.def +--- mysql-5.1.48.orig/mysql-test/t/disabled.def 2010-06-03 12:17:34.000000000 -0400 ++++ mysql-5.1.48/mysql-test/t/disabled.def 2010-06-20 23:49:47.317995474 -0400 +@@ -12,3 +12,6 @@ + kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings - ps_3innodb : Bug#53309 2010-04-30 VasilDimov valgrind warnings +# +plugin_load : gives wrong answer on PPC64 +outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index 7f4de09..4e75964 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.47 -Release: 2%{?dist} +Version: 5.1.48 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -574,6 +574,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jun 21 2010 Tom Lane 5.1.48-1 +- Update to MySQL 5.1.48, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html + * Fri Jun 4 2010 Tom Lane 5.1.47-2 - Add back "partition" storage engine Resolves: #597390 diff --git a/sources b/sources index ab3cff9..b58ebf0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -db89a1bb8b7e7002a3653d144d5abbdc mysql-5.1.47-nodocs.tar.gz +f7bda6d4c8a2acad2e051089bfcc2352 mysql-5.1.48-nodocs.tar.gz From 19be51b028153da9a31f98b976648517071fafc5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 8 Jul 2010 20:25:20 +0000 Subject: [PATCH 173/616] Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages --- mysql.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mysql.spec b/mysql.spec index 4e75964..cbb7b07 100644 --- a/mysql.spec +++ b/mysql.spec @@ -428,11 +428,10 @@ fi %files libs %defattr(-,root,root) - +%doc COPYING EXCEPTIONS-CLIENT # 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 %{_libdir}/mysql/libmysqlclient*.so.* /etc/ld.so.conf.d/* @@ -552,6 +551,7 @@ fi %files embedded %defattr(-,root,root) +%doc COPYING EXCEPTIONS-CLIENT %{_libdir}/mysql/libmysqld.so.* %files embedded-devel @@ -574,6 +574,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +- Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages, + to ensure they are available when any subset of mysql RPMs are installed, + per revised packaging guidelines + * Mon Jun 21 2010 Tom Lane 5.1.48-1 - Update to MySQL 5.1.48, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html From e17e7b214b0efa7773d7a61030c3a6a10a8858ce Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 14 Jul 2010 02:08:48 +0000 Subject: [PATCH 174/616] Allow init script's STARTTIMEOUT/STOPTIMEOUT to be overridden from sysconfig --- mysql.init | 20 ++++++++++++-------- mysql.spec | 9 +++++++-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/mysql.init b/mysql.init index 31f4301..1661f3b 100644 --- a/mysql.init +++ b/mysql.init @@ -19,6 +19,10 @@ exec="/usr/bin/mysqld_safe" prog="mysqld" +# Set timeouts here so they can be overridden from /etc/sysconfig/mysqld +STARTTIMEOUT=120 +STOPTIMEOUT=60 + [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile=/var/lock/subsys/$prog @@ -101,8 +105,8 @@ start(){ # Rather than assuming we know a valid username, accept an "access # denied" response as meaning the server is functioning. ret=0 - STARTTIMEOUT=120 - while [ $STARTTIMEOUT -gt 0 ]; do + TIMEOUT="$STARTTIMEOUT" + while [ $TIMEOUT -gt 0 ]; do RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break echo "$RESPONSE" | grep -q "Access denied for user" && break if ! /bin/kill -0 $safe_pid 2>/dev/null; then @@ -111,9 +115,9 @@ start(){ break fi sleep 1 - let STARTTIMEOUT=${STARTTIMEOUT}-1 + let TIMEOUT=${TIMEOUT}-1 done - if [ $STARTTIMEOUT -eq 0 ]; then + if [ $TIMEOUT -eq 0 ]; then echo "Timeout error occurred trying to start MySQL Daemon." ret=1 fi @@ -138,13 +142,13 @@ stop(){ /bin/kill "$MYSQLPID" >/dev/null 2>&1 ret=$? if [ $ret -eq 0 ]; then - STOPTIMEOUT=60 - while [ $STOPTIMEOUT -gt 0 ]; do + TIMEOUT="$STOPTIMEOUT" + while [ $TIMEOUT -gt 0 ]; do /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break sleep 1 - let STOPTIMEOUT=${STOPTIMEOUT}-1 + let TIMEOUT=${TIMEOUT}-1 done - if [ $STOPTIMEOUT -eq 0 ]; then + if [ $TIMEOUT -eq 0 ]; then echo "Timeout error occurred trying to stop MySQL Daemon." ret=1 action $"Stopping $prog: " /bin/false diff --git a/mysql.spec b/mysql.spec index cbb7b07..4e1ad71 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.48 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -354,7 +354,7 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf -# copy additional docs into build tree so %doc will find them +# copy additional docs into build tree so %%doc will find them cp %{SOURCE6} README.mysql-docs %clean @@ -574,13 +574,18 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 13 2010 Tom Lane 5.1.48-2 - Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages, to ensure they are available when any subset of mysql RPMs are installed, per revised packaging guidelines +- Allow init script's STARTTIMEOUT/STOPTIMEOUT to be overridden from sysconfig +Related: #609734 * Mon Jun 21 2010 Tom Lane 5.1.48-1 - Update to MySQL 5.1.48, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html + including a fix for CVE-2010-2008 +Related: #614214 * Fri Jun 4 2010 Tom Lane 5.1.47-2 - Add back "partition" storage engine From 6d3c6a9a156617ddc9ef1c2d878bc3a3b2f422bb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 14 Jul 2010 16:36:38 +0000 Subject: [PATCH 175/616] Fix FTBFS with gcc 4.5. --- mysql-abi-check.patch | 57 +++++++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++- 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 mysql-abi-check.patch diff --git a/mysql-abi-check.patch b/mysql-abi-check.patch new file mode 100644 index 0000000..5695ead --- /dev/null +++ b/mysql-abi-check.patch @@ -0,0 +1,57 @@ +Fix "ABI check" that doesn't work on gcc >= 4.5, or indeed any compiler that +aborts on missing #include's. Per http://bugs.mysql.com/bug.php?id=52514 + + +diff -Naur mysql-5.1.48.orig/Makefile.am mysql-5.1.48/Makefile.am +--- mysql-5.1.48.orig/Makefile.am 2010-06-03 11:50:10.000000000 -0400 ++++ mysql-5.1.48/Makefile.am 2010-07-14 10:39:06.274186484 -0400 +@@ -275,10 +275,7 @@ + # + # 1) Generate preprocessor output for the files that need to + # be tested for abi/api changes. use -nostdinc to prevent +-# generation of preprocessor output for system headers. This +-# results in messages in stderr saying that these headers +-# were not found. Redirect the stderr output to /dev/null +-# to prevent seeing these messages. ++# generation of preprocessor output for system headers. + # 2) sed the output to + # 2.1) remove blank lines and lines that begin with "# " + # 2.2) When gcc -E is run on the Mac OS and solaris sparc platforms it +@@ -314,14 +311,14 @@ + do_abi_check: + set -ex; \ + for file in $(abi_headers); do \ +- @CC@ -E -nostdinc -dI \ ++ @CC@ -E -nostdinc -dI -DMYSQL_ABI_CHECK \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/include/mysql \ + -I$(top_srcdir)/sql \ + -I$(top_builddir)/include \ + -I$(top_builddir)/include/mysql \ + -I$(top_builddir)/sql \ +- $$file 2>/dev/null | \ ++ $$file | \ + @SED@ -e '/^# /d' \ + -e '/^[ ]*$$/d' \ + -e '/^#pragma GCC set_debug_pwd/d' \ +diff -Naur mysql-5.1.48.orig/include/mysql.h mysql-5.1.48/include/mysql.h +--- mysql-5.1.48.orig/include/mysql.h 2010-06-03 11:50:21.000000000 -0400 ++++ mysql-5.1.48/include/mysql.h 2010-07-14 10:35:53.489148781 -0400 +@@ -44,7 +44,9 @@ + #endif + + #ifndef _global_h /* If not standard header */ ++#ifndef MYSQL_ABI_CHECK + #include ++#endif + #ifdef __LCC__ + #include /* For windows */ + #endif +diff -Naur mysql-5.1.48.orig/include/mysql.h.pp mysql-5.1.48/include/mysql.h.pp +--- mysql-5.1.48.orig/include/mysql.h.pp 2010-06-03 11:50:12.000000000 -0400 ++++ mysql-5.1.48/include/mysql.h.pp 2010-07-14 10:35:53.491151797 -0400 +@@ -1,4 +1,3 @@ +-#include + typedef char my_bool; + typedef int my_socket; + #include "mysql_version.h" diff --git a/mysql.spec b/mysql.spec index 4e1ad71..5b5bb0d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.48 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -44,6 +44,7 @@ Patch13: mysql-expired-certs.patch Patch14: mysql-missing-string-code.patch Patch15: mysql-lowercase-bug.patch Patch16: mysql-chain-certs.patch +Patch17: mysql-abi-check.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -184,6 +185,7 @@ the MySQL sources. %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 libtoolize --force aclocal @@ -574,6 +576,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 14 2010 Tom Lane 5.1.48-3 +- Fix FTBFS with gcc 4.5. +Related: #614293 + * Tue Jul 13 2010 Tom Lane 5.1.48-2 - Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages, to ensure they are available when any subset of mysql RPMs are installed, From b6777f6359b41746a4cda298d78f51923713c6c8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 03:53:17 +0000 Subject: [PATCH 176/616] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 6b1437e..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: mysql -# $Id: Makefile,v 1.2 2007/10/15 19:09:57 notting Exp $ -NAME := mysql -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From ebe1f00d07e8cd4abc51b3e77927cb07aceb65c3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 28 Aug 2010 11:22:25 -0400 Subject: [PATCH 177/616] Update to MySQL 5.1.50. --- .gitignore | 2 +- mysql-abi-check.patch | 57 ----- mysql-expired-certs.patch | 418 ++++++++++++++------------------ mysql-missing-string-code.patch | 8 +- mysql-plugin-bug.patch | 16 +- mysql.spec | 14 +- sources | 2 +- 7 files changed, 201 insertions(+), 316 deletions(-) delete mode 100644 mysql-abi-check.patch diff --git a/.gitignore b/.gitignore index aa3a7d7..e60f62d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -mysql-5.1.48-nodocs.tar.gz +/mysql-5.1.50-nodocs.tar.gz diff --git a/mysql-abi-check.patch b/mysql-abi-check.patch deleted file mode 100644 index 5695ead..0000000 --- a/mysql-abi-check.patch +++ /dev/null @@ -1,57 +0,0 @@ -Fix "ABI check" that doesn't work on gcc >= 4.5, or indeed any compiler that -aborts on missing #include's. Per http://bugs.mysql.com/bug.php?id=52514 - - -diff -Naur mysql-5.1.48.orig/Makefile.am mysql-5.1.48/Makefile.am ---- mysql-5.1.48.orig/Makefile.am 2010-06-03 11:50:10.000000000 -0400 -+++ mysql-5.1.48/Makefile.am 2010-07-14 10:39:06.274186484 -0400 -@@ -275,10 +275,7 @@ - # - # 1) Generate preprocessor output for the files that need to - # be tested for abi/api changes. use -nostdinc to prevent --# generation of preprocessor output for system headers. This --# results in messages in stderr saying that these headers --# were not found. Redirect the stderr output to /dev/null --# to prevent seeing these messages. -+# generation of preprocessor output for system headers. - # 2) sed the output to - # 2.1) remove blank lines and lines that begin with "# " - # 2.2) When gcc -E is run on the Mac OS and solaris sparc platforms it -@@ -314,14 +311,14 @@ - do_abi_check: - set -ex; \ - for file in $(abi_headers); do \ -- @CC@ -E -nostdinc -dI \ -+ @CC@ -E -nostdinc -dI -DMYSQL_ABI_CHECK \ - -I$(top_srcdir)/include \ - -I$(top_srcdir)/include/mysql \ - -I$(top_srcdir)/sql \ - -I$(top_builddir)/include \ - -I$(top_builddir)/include/mysql \ - -I$(top_builddir)/sql \ -- $$file 2>/dev/null | \ -+ $$file | \ - @SED@ -e '/^# /d' \ - -e '/^[ ]*$$/d' \ - -e '/^#pragma GCC set_debug_pwd/d' \ -diff -Naur mysql-5.1.48.orig/include/mysql.h mysql-5.1.48/include/mysql.h ---- mysql-5.1.48.orig/include/mysql.h 2010-06-03 11:50:21.000000000 -0400 -+++ mysql-5.1.48/include/mysql.h 2010-07-14 10:35:53.489148781 -0400 -@@ -44,7 +44,9 @@ - #endif - - #ifndef _global_h /* If not standard header */ -+#ifndef MYSQL_ABI_CHECK - #include -+#endif - #ifdef __LCC__ - #include /* For windows */ - #endif -diff -Naur mysql-5.1.48.orig/include/mysql.h.pp mysql-5.1.48/include/mysql.h.pp ---- mysql-5.1.48.orig/include/mysql.h.pp 2010-06-03 11:50:12.000000000 -0400 -+++ mysql-5.1.48/include/mysql.h.pp 2010-07-14 10:35:53.491151797 -0400 -@@ -1,4 +1,3 @@ --#include - typedef char my_bool; - typedef int my_socket; - #include "mysql_version.h" diff --git a/mysql-expired-certs.patch b/mysql-expired-certs.patch index 3b95a22..acd3a78 100644 --- a/mysql-expired-certs.patch +++ b/mysql-expired-certs.patch @@ -5,9 +5,9 @@ lifespan. We should periodically regenerate these, too, but at least not very often. -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/cacert.pem mysql-5.1.44/mysql-test/std_data/cacert.pem ---- mysql-5.1.44.orig/mysql-test/std_data/cacert.pem 2010-02-04 07:07:56.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/cacert.pem 2010-02-19 21:10:45.000000000 -0500 +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/cacert.pem mysql-5.1.50/mysql-test/std_data/cacert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/cacert.pem 2010-08-03 13:55:04.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/cacert.pem 2010-08-27 23:42:05.751428144 -0400 @@ -1,17 +1,22 @@ -----BEGIN CERTIFICATE----- -MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV @@ -44,9 +44,9 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/cacert.pem mysql-5.1.44/mysql-t +Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 +ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= -----END CERTIFICATE----- -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/client-cert.pem mysql-5.1.44/mysql-test/std_data/client-cert.pem ---- mysql-5.1.44.orig/mysql-test/std_data/client-cert.pem 2010-02-04 07:07:56.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/client-cert.pem 2010-02-19 22:06:25.000000000 -0500 +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem mysql-5.1.50/mysql-test/std_data/client-cert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem 2010-08-03 13:55:04.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/client-cert.pem 2010-08-27 23:42:05.752428395 -0400 @@ -1,46 +1,69 @@ Certificate: Data: @@ -153,9 +153,9 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/client-cert.pem mysql-5.1.44/my +YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU +EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ -----END CERTIFICATE----- -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/client-key.pem mysql-5.1.44/mysql-test/std_data/client-key.pem ---- mysql-5.1.44.orig/mysql-test/std_data/client-key.pem 2010-02-04 07:07:56.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/client-key.pem 2010-02-19 22:06:25.000000000 -0500 +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-key.pem mysql-5.1.50/mysql-test/std_data/client-key.pem +--- mysql-5.1.50.orig/mysql-test/std_data/client-key.pem 2010-08-03 13:55:05.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/client-key.pem 2010-08-27 23:42:05.752428395 -0400 @@ -1,15 +1,15 @@ -----BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m @@ -185,9 +185,9 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/client-key.pem mysql-5.1.44/mys +z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK +Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server-cert.pem mysql-5.1.44/mysql-test/std_data/server-cert.pem ---- mysql-5.1.44.orig/mysql-test/std_data/server-cert.pem 2010-02-04 07:07:58.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/server-cert.pem 2010-02-19 22:06:26.000000000 -0500 +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem mysql-5.1.50/mysql-test/std_data/server-cert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server-cert.pem 2010-08-27 23:42:05.753428361 -0400 @@ -1,41 +1,69 @@ Certificate: Data: @@ -289,9 +289,9 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server-cert.pem mysql-5.1.44/my +bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl +qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= -----END CERTIFICATE----- -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server-key.pem mysql-5.1.44/mysql-test/std_data/server-key.pem ---- mysql-5.1.44.orig/mysql-test/std_data/server-key.pem 2010-02-04 07:07:58.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/server-key.pem 2010-02-19 22:06:26.000000000 -0500 +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-key.pem mysql-5.1.50/mysql-test/std_data/server-key.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server-key.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server-key.pem 2010-08-27 23:42:05.754428433 -0400 @@ -1,9 +1,15 @@ -----BEGIN RSA PRIVATE KEY----- -MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp @@ -315,98 +315,22 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server-key.pem mysql-5.1.44/mys +kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o +9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.44/mysql-test/std_data/server8k-cert.pem ---- mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem 2010-02-04 07:07:58.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/server8k-cert.pem 2010-02-19 22:06:27.000000000 -0500 -@@ -1,125 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048579 (0x100003) -- Signature Algorithm: md5WithRSAEncryption +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.50/mysql-test/std_data/server8k-cert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server8k-cert.pem 2010-08-27 23:43:00.005366270 -0400 +@@ -1,51 +1,69 @@ ++Certificate: ++ Data: + Version: 3 (0x2) + Serial Number: 5 (0x5) + Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 12:01:53 2010 GMT -- Not After : Jan 28 12:01:53 2015 GMT ++ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB ++ Validity + Not Before: Feb 20 03:00:54 2010 GMT + Not After : Sep 3 03:00:54 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (8192 bit) -- Modulus: -- 00:ca:aa:1d:c4:11:ec:91:f0:c7:ff:5f:90:92:fc: -- 40:0c:5e:b7:3d:00:c5:20:d5:0f:89:31:07:d7:41: -- 4c:8b:60:80:aa:38:14:de:93:6b:9c:74:88:41:68: -- b5:02:41:01:2d:86:a2:7a:95:53:5e:7b:67:2f:6c: -- 1e:29:51:f9:44:fd:4a:80:be:b2:23:a1:3e:1b:38: -- cf:88:c4:71:ee:f8:6b:41:c5:2d:c0:c3:52:ac:59: -- 7d:81:34:19:95:32:b8:9a:51:b6:41:36:d4:c4:a1: -- ae:84:e6:38:b9:e8:bf:96:be:19:7a:6b:77:4d:e0: -- de:e6:b3:b6:6b:bc:3d:dd:68:bc:4b:c4:eb:f5:36: -- 93:ed:56:a2:15:50:8a:10:e8:d6:22:ed:6c:b1:cd: -- c3:18:c9:f6:0a:e1:de:61:65:62:d6:14:41:8c:b5: -- fb:14:68:c1:cf:12:5d:41:21:9d:57:11:43:7d:bb: -- 43:2c:21:bb:c3:44:7d:a8:cf:1f:c3:71:75:b5:47: -- c2:7d:ce:38:3c:73:64:9e:15:d8:a7:27:cf:bd:40: -- c8:45:08:e3:c8:39:a8:0b:8e:c2:5b:7b:f1:47:91: -- 12:91:cc:e1:00:e0:94:5b:bd:32:e4:0c:8d:c3:be: -- cc:76:32:52:12:69:b0:18:e0:b0:c2:76:34:5a:5f: -- 79:d9:f6:81:9d:02:0a:61:69:1c:33:ce:49:fa:76: -- 03:1e:07:5b:27:0b:bf:34:9e:34:96:b8:03:9b:50: -- 3a:6a:2f:17:7a:14:cf:65:63:00:37:52:a8:73:ce: -- 4b:14:40:f4:d2:9a:56:54:33:b8:77:2e:42:5b:8f: -- ec:1f:18:f4:ad:ab:8a:4a:8d:6d:70:25:f3:58:e7: -- cb:66:51:14:7d:16:f4:eb:6d:56:76:76:51:6e:d6: -- 1d:da:d3:8d:c0:64:5a:67:4e:af:e2:bf:33:d1:b8: -- f6:2a:fc:57:87:a7:35:5e:80:c9:ac:fc:87:c9:71: -- 17:91:bf:b7:4d:a3:ed:3c:1b:27:f4:66:a0:f9:46: -- 03:27:cc:ea:80:f6:4b:40:f6:41:94:cd:bd:0a:b3: -- ef:26:be:de:6f:69:ae:0f:3f:1c:55:63:33:90:9b: -- ed:ca:5a:12:4d:de:4b:06:c2:a2:92:b0:42:3d:31: -- af:a4:15:12:15:f8:8a:e9:88:8d:cf:fd:85:66:50: -- 6f:11:f1:9f:48:f3:b5:ba:9d:86:68:24:a2:5d:a8: -- 7c:54:42:fa:d8:b5:c5:f2:dd:0e:0f:d0:68:e4:54: -- 7e:c5:b9:a0:9b:65:2d:77:f4:8f:b9:30:0a:d5:86: -- 5c:ed:c9:7c:d1:da:9d:0d:63:50:ee:e5:1e:92:63: -- cc:a2:0c:e8:4a:96:02:4d:dc:8f:df:7c:8f:08:18: -- a8:30:88:d7:af:89:ad:fc:57:4b:10:f9:f1:cb:48: -- e8:b6:3b:c8:3f:fc:c2:d3:d1:4a:10:3c:1b:6b:64: -- dc:e5:65:1e:5b:b2:da:b1:e2:24:97:8f:ee:c0:4b: -- 8e:18:83:7c:17:a6:3c:45:b3:60:06:23:f2:2f:18: -- 13:9e:17:8a:c6:72:79:8c:4d:04:f3:9d:ea:e0:25: -- d3:33:8c:1e:11:47:63:1f:a5:45:3f:bd:85:b3:fe: -- a5:68:ee:48:b7:0c:a4:c9:7f:72:d0:75:66:9b:6a: -- f9:a0:50:f3:a8:59:6d:a3:dd:38:4f:70:2b:bb:ff: -- 92:2e:71:ab:ef:e9:00:ed:0d:d1:b4:6f:f0:8e:b2: -- 09:fb:4d:61:0d:d9:10:d5:54:11:cd:03:94:84:fd: -- a8:68:e4:45:6e:1e:6a:1e:2f:85:a1:6d:f5:b6:c0: -- f1:ee:f7:36:e9:fe:c2:f7:ad:cc:13:46:5b:88:42: -- f0:2d:1f:b5:0e:7e:b5:2b:e4:8d:ab:b9:87:30:6a: -- 3d:12:f4:ad:f3:1c:ac:cc:1a:48:29:2a:96:7b:80: -- 00:0b:6e:59:87:bf:a3:ca:70:99:1b:1c:fd:72:3d: -- b2:d3:94:4a:cf:55:75:be:1f:40:ec:55:35:48:2d: -- 55:f0:00:da:3c:b0:60:ba:11:32:66:54:0b:be:06: -- a4:5e:b7:c9:59:bb:4d:f4:92:06:26:48:6e:c2:12: -- d4:7c:f0:20:b8:a2:e1:bc:6a:b6:19:0e:37:47:55: -- c9:f2:49:0d:96:75:a2:84:64:bf:34:fc:be:b2:41: -- e4:f5:88:eb:e1:b7:26:a5:e5:41:c2:20:0c:f6:e2: -- a8:a5:e7:76:54:a5:fb:4b:80:05:7d:18:85:7a:ba: -- bc:b7:ad:c0:2f:60:85:cc:15:12:1c:2f:0a:9e:f3: -- 7c:40:cf:f4:3e:23:d2:95:ca:d0:06:58:52:f0:84: -- d8:0f:3d:eb:ff:12:68:94:79:8f:be:40:29:5f:98: -- c8:90:6c:05:2f:99:8c:2a:63:78:1f:23:b1:29:c5: -- e7:49:c9:b2:92:0f:53:0b:d5:71:28:17:c2:19:bf: -- 60:bf:7c:87:a8:ab:c1:f4:0a:c1:b8:d2:68:ee:c1: -- ce:a7:13:13:17:6d:24:5d:a2:37:a6:d7:7d:48:8b: -- 2b:74:2d:40:2e:ca:19:d5:b6:3e:6c:42:71:fa:cf: -- 85:87:f9:de:80:73:8b:89:f4:70:f0:d8:d7:ff:40: -- 41:9c:c7:15:6d:9b:6e:4c:b5:52:02:99:79:32:73: -- ca:26:a0:ac:31:6f:c4:b0:f5:da:bb:c2:1f:e0:9f: -- 44:ba:25:f7:9f ++ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server ++ Subject Public Key Info: ++ Public Key Algorithm: rsaEncryption + RSA Public Key: (1024 bit) + Modulus (1024 bit): + 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: @@ -418,16 +342,7 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.44/ + 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: + 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: + 91:b5:dd:06:47:ed:05:e3:db - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 08:75:dc:b9:3f:aa:b6:7e:81:7a:39:d1:ee:ed:44:b6:ce:1b: -- 37:c4:4c:19:d0:66:e6:eb:b5:4f:2a:ef:95:58:64:21:55:01: -- 12:30:ac:8a:95:d1:06:de:29:46:a4:f1:7d:7f:b0:1e:d2:4e: -- fb:f6:fa:9a:74:be:85:62:db:0b:82:90:58:62:c5:5f:f1:80: -- 02:9f:c5:fb:f3:6b:b0:b4:3b:04:b1:e5:53:c2:d0:00:a1:1a: -- 9d:65:60:6f:73:98:67:e0:9c:c8:12:94:79:59:bf:43:7b:f5: -- 77:c8:8f:df:b1:cd:11:1c:01:19:99:c2:22:42:f7:41:ae:b4: -- b8:1a ++ Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE @@ -455,36 +370,55 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.44/ + 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: + 86:32:d3:b4 -----BEGIN CERTIFICATE----- --MIIFfDCCBOUCAxAAAzANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTIwMTUzWhcNMTUwMTI4MTIwMTUzWjBDMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNVBAMT --BnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMqqHcQR7JHw --x/9fkJL8QAxetz0AxSDVD4kxB9dBTItggKo4FN6Ta5x0iEFotQJBAS2GonqVU157 --Zy9sHilR+UT9SoC+siOhPhs4z4jEce74a0HFLcDDUqxZfYE0GZUyuJpRtkE21MSh --roTmOLnov5a+GXprd03g3uaztmu8Pd1ovEvE6/U2k+1WohVQihDo1iLtbLHNwxjJ --9grh3mFlYtYUQYy1+xRowc8SXUEhnVcRQ327Qywhu8NEfajPH8NxdbVHwn3OODxz --ZJ4V2Kcnz71AyEUI48g5qAuOwlt78UeREpHM4QDglFu9MuQMjcO+zHYyUhJpsBjg --sMJ2NFpfedn2gZ0CCmFpHDPOSfp2Ax4HWycLvzSeNJa4A5tQOmovF3oUz2VjADdS --qHPOSxRA9NKaVlQzuHcuQluP7B8Y9K2rikqNbXAl81jny2ZRFH0W9OttVnZ2UW7W --HdrTjcBkWmdOr+K/M9G49ir8V4enNV6Ayaz8h8lxF5G/t02j7TwbJ/RmoPlGAyfM --6oD2S0D2QZTNvQqz7ya+3m9prg8/HFVjM5Cb7cpaEk3eSwbCopKwQj0xr6QVEhX4 --iumIjc/9hWZQbxHxn0jztbqdhmgkol2ofFRC+ti1xfLdDg/QaORUfsW5oJtlLXf0 --j7kwCtWGXO3JfNHanQ1jUO7lHpJjzKIM6EqWAk3cj998jwgYqDCI16+JrfxXSxD5 --8ctI6LY7yD/8wtPRShA8G2tk3OVlHluy2rHiJJeP7sBLjhiDfBemPEWzYAYj8i8Y --E54XisZyeYxNBPOd6uAl0zOMHhFHYx+lRT+9hbP+pWjuSLcMpMl/ctB1Zptq+aBQ --86hZbaPdOE9wK7v/ki5xq+/pAO0N0bRv8I6yCftNYQ3ZENVUEc0DlIT9qGjkRW4e --ah4vhaFt9bbA8e73Nun+wvetzBNGW4hC8C0ftQ5+tSvkjau5hzBqPRL0rfMcrMwa --SCkqlnuAAAtuWYe/o8pwmRsc/XI9stOUSs9Vdb4fQOxVNUgtVfAA2jywYLoRMmZU --C74GpF63yVm7TfSSBiZIbsIS1HzwILii4bxqthkON0dVyfJJDZZ1ooRkvzT8vrJB --5PWI6+G3JqXlQcIgDPbiqKXndlSl+0uABX0YhXq6vLetwC9ghcwVEhwvCp7zfEDP --9D4j0pXK0AZYUvCE2A896/8SaJR5j75AKV+YyJBsBS+ZjCpjeB8jsSnF50nJspIP --UwvVcSgXwhm/YL98h6irwfQKwbjSaO7BzqcTExdtJF2iN6bXfUiLK3QtQC7KGdW2 --PmxCcfrPhYf53oBzi4n0cPDY1/9AQZzHFW2bbky1UgKZeTJzyiagrDFvxLD12rvC --H+CfRLol958CAwEAATANBgkqhkiG9w0BAQQFAAOBgQAIddy5P6q2foF6OdHu7US2 --zhs3xEwZ0Gbm67VPKu+VWGQhVQESMKyKldEG3ilGpPF9f7Ae0k779vqadL6FYtsL --gpBYYsVf8YACn8X782uwtDsEseVTwtAAoRqdZWBvc5hn4JzIEpR5Wb9De/V3yI/f --sc0RHAEZmcIiQvdBrrS4Gg== +-MIIJFDCCBPwCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV +-BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw +-CQYDVQQDEwJDQTAeFw0xMDA3MjgxNDA3MjhaFw0xODEwMTQxNDA3MjhaMFIxCzAJ +-BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQjEN +-MAsGA1UECxMEVGVzdDEPMA0GA1UEAxMGc2VydmVyMIIEIjANBgkqhkiG9w0BAQEF +-AAOCBA8AMIIECgKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSEC +-PgxNNcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+Lr +-hXIqCz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2 +-DA7kvMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5 +-hACbfU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09 +-Gh/GwmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33 +-aGsZ5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4 +-PRd31qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2 +-OaIwFjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83 +-psQ6R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCc +-HSFu07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs +-+LFdt4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS +-9+LB+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1P +-sZi4UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUd +-NhXxi/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfV +-JTt8Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwx +-UADgR0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1 +-kOE7GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQ +-uw4qVKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRY +-nTIywUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PT +-trohFSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFT +-d33ZDke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABMA0GCSqGSIb3DQEB +-BAUAA4IEAQCc9RBhRbuWlmRZPZkqIdi5/+enyjoMmOa6ryJPxFSP8D2jrlHgQsk1 +-+GsJmPFT3rwWfoGAQu/aeSX4sp8OhKVJtqNA6MJrGYnZIMolgYa1wZPbkjJsdEfi +-UsZdIB0n2+KA0xwEdGPdkGCfNPBtOg557DkcyEvsIZ9ELp4Pp2XzWRhyFGasJZc4 +-YwgD/3K2rpOPZoMkBKeKqV19j41OfLKGBVyuaqzitbu9+KT4RU1ibr2a+UuFCwdT +-oqyN7bfWXjcjXOMkxCsOmLfKmqQxs7TEOVrYPTdYjamDxLy/e5g5FgoCxGY8iil0 +-+YFLZyH6eEx/Os9DlG/M3O1MeRD9U97CdsphbDVZIDyWw5xeX8qQHJe0KSprAgiG +-TLhTZHeyrKujQCQS1oFFmNy4gSqXt0j1/6/9T80j6HeyjiiYEaEQK9YLTAjRoA7W +-VN8wtHI5F3RlNOVQEJks/bjdlpLL3VhaWtfewGh/mXRGcow84cgcsejMexmhreHm +-JfTUl9+X1IFFxGq2/606A9ROQ7kN/s4rXu7/TiMODXI/kZijoWd2SCc7Z0YWoNo7 +-IRKkmZtrsflJbObEuK2Jk59uqzSxyQOBId8qtbPo8qJJyHGV5GCp34g4x67BxJBo +-h1iyVMamBAS5Ip1ejghuROrB8Hit8NhAZApXju62btJeXLX+mQayXb/wC/IXNJJD +-83tXiLfZgs6GzLAq7+KW/64sZSvj87CPiNtxkvjchAvyr+fhbBXCrf4rlOjJE6SH +-Je2/Jon7uqijncARGLBeYUT0Aa6k1slpXuSKxDNt7EIkP21kDZ5/OJ0Y1u587KVB +-dEhuDgNf2/8ij7gAQBwBoZMe1DrwddrxgLLBlyHpAZetNYFZNT+Cs/OlpqI0Jm59 +-kK9pX0BY4AGOd23XM3K/uLawdmf67kkftim7aVaqXFHPiWsJVtlzmidKvNSmbmZe +-dOmMXp6PBoqcdusFVUS7vjd3KAes5wUX/CaTyOOPRu0LMSnpwEnaL76IC9x4Jd6d +-7QqY/OFTjpPH8nP57LwouiT6MgSUCWGaOkPuBJ9w9sENSbbINpgJJ42iAe2kE+R7 +-qEIvf/2ETCTseeQUqm2nWiSPLkNagEh6kojmEoKrGyrv3YjrSXSOY1a70tDVy43+ +-ueQDQzNZm3Q7inpke2ZKvWyY0LQmLzP2te+tnNBcdLyKJx7emPRTuMUlEdK7cLbt +-V3Sy9IKtyAXqqd66fPFj4NhJygyncj8M6CSqhG5L0GhDbkA8UJ8yK/gfKm3h5xe2 +-utULK5VMtAhQt6cVahO59A9t/OI17y45bmlIgdlEQISzVFe9ZbIUJW44zBfPx74k +-/w8pMRr8gEuRqpL2WdJiKGG6lhMHLVFo +MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG @@ -503,108 +437,108 @@ diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.44/ +0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D +DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= -----END CERTIFICATE----- -diff -Naur mysql-5.1.44.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.44/mysql-test/std_data/server8k-key.pem ---- mysql-5.1.44.orig/mysql-test/std_data/server8k-key.pem 2010-02-04 07:07:58.000000000 -0500 -+++ mysql-5.1.44/mysql-test/std_data/server8k-key.pem 2010-02-19 22:06:27.000000000 -0500 +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/mysql-test/std_data/server8k-key.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server8k-key.pem 2010-08-27 23:43:10.165365998 -0400 @@ -1,99 +1,15 @@ -----BEGIN RSA PRIVATE KEY----- --MIISKgIBAAKCBAEAyqodxBHskfDH/1+QkvxADF63PQDFINUPiTEH10FMi2CAqjgU --3pNrnHSIQWi1AkEBLYaiepVTXntnL2weKVH5RP1KgL6yI6E+GzjPiMRx7vhrQcUt --wMNSrFl9gTQZlTK4mlG2QTbUxKGuhOY4uei/lr4Zemt3TeDe5rO2a7w93Wi8S8Tr --9TaT7VaiFVCKEOjWIu1ssc3DGMn2CuHeYWVi1hRBjLX7FGjBzxJdQSGdVxFDfbtD --LCG7w0R9qM8fw3F1tUfCfc44PHNknhXYpyfPvUDIRQjjyDmoC47CW3vxR5ESkczh --AOCUW70y5AyNw77MdjJSEmmwGOCwwnY0Wl952faBnQIKYWkcM85J+nYDHgdbJwu/ --NJ40lrgDm1A6ai8XehTPZWMAN1Koc85LFED00ppWVDO4dy5CW4/sHxj0rauKSo1t --cCXzWOfLZlEUfRb0621WdnZRbtYd2tONwGRaZ06v4r8z0bj2KvxXh6c1XoDJrPyH --yXEXkb+3TaPtPBsn9Gag+UYDJ8zqgPZLQPZBlM29CrPvJr7eb2muDz8cVWMzkJvt --yloSTd5LBsKikrBCPTGvpBUSFfiK6YiNz/2FZlBvEfGfSPO1up2GaCSiXah8VEL6 --2LXF8t0OD9Bo5FR+xbmgm2Utd/SPuTAK1YZc7cl80dqdDWNQ7uUekmPMogzoSpYC --TdyP33yPCBioMIjXr4mt/FdLEPnxy0jotjvIP/zC09FKEDwba2Tc5WUeW7LaseIk --l4/uwEuOGIN8F6Y8RbNgBiPyLxgTnheKxnJ5jE0E853q4CXTM4weEUdjH6VFP72F --s/6laO5ItwykyX9y0HVmm2r5oFDzqFlto904T3Aru/+SLnGr7+kA7Q3RtG/wjrIJ --+01hDdkQ1VQRzQOUhP2oaORFbh5qHi+FoW31tsDx7vc26f7C963ME0ZbiELwLR+1 --Dn61K+SNq7mHMGo9EvSt8xyszBpIKSqWe4AAC25Zh7+jynCZGxz9cj2y05RKz1V1 --vh9A7FU1SC1V8ADaPLBguhEyZlQLvgakXrfJWbtN9JIGJkhuwhLUfPAguKLhvGq2 --GQ43R1XJ8kkNlnWihGS/NPy+skHk9Yjr4bcmpeVBwiAM9uKoped2VKX7S4AFfRiF --erq8t63AL2CFzBUSHC8KnvN8QM/0PiPSlcrQBlhS8ITYDz3r/xJolHmPvkApX5jI --kGwFL5mMKmN4HyOxKcXnScmykg9TC9VxKBfCGb9gv3yHqKvB9ArBuNJo7sHOpxMT --F20kXaI3ptd9SIsrdC1ALsoZ1bY+bEJx+s+Fh/negHOLifRw8NjX/0BBnMcVbZtu --TLVSApl5MnPKJqCsMW/EsPXau8If4J9EuiX3nwIDAQABAoIEAElnTjqq502AsV+c --hGfId4ZDdAjjU4LtyJ+/I4DihM/ilxeQEnb/XDWhu4w9WXpEgyGzJvxRQ43wElKJ --zW7X4voK58Yzy5++EhmX/QsjY8TTMz3yJf0wgawtCZkXfsCcS2KRf/qk2nGRwf0e --yaMEWwhFOEMv01lgvjs/Ei55Usrz2Wd0HqaFKxUGkNQ5hJhVTOH/rqPDzAsZc0VD --w+Dw8NhrI8bMTvF4c+IFW8NwYmWbuh87CTxdx30VPJI82ttWJ/UN1bLtU08J2IKt --lPgOIl8ArMjcTGxD/cqZ3Wl3Pc/XCqvGUiSYMwP7Rgh1R4+DdtjEpxdGMmMAVuVI --HPQyqpa4gv+UMqBPish0yjSuM7jXnztINOvg9Vk1sxC5AT9eaRltmiS1s+lVxe+T --43ulf0ccYXJD/WclWSGCwloNFuokPIV+Lgo1pKsp4XDgoxQfkXwH8Q4dEqebY9rT --Tv9FGb1bMbdl22X1oSu2lBltBZaB/QnruV7L2GaQ0tqLKizgBRuvZFSE+DWdMb6d --9mnEB8LWtca/nzogXb5qv4GEMUX4FUAmSf1FnGWZwwDi1DFfJ860RVKf0xokGGQ3 --cm3H/F4veds88Z1hsAu0bG8h/bEAim+Whvag995cFHDD4on41KXW8wX1on9VFA1W --CkaGUPhLRytXDBVCSJkOYYFSJlb2wqONiWe4Tn5hsantCfliTj/GVkgDq2h7dAGR --WyoqTntJAv/xJsUOV9WmGXnWNeZX8BSO3P5dnXnMzhCWQGoprXmWFyJ3TYCJ2+CO --rzkZbtuKvTvGc3sDJgrSVmmg0BrOkH+GyYVlJdTDBmfzoORludDCFHECa8oK7NwY --t3o0eNlG6IqTxl2HIoPneW9nXFQtCXv6tpJjljwjlz5WpJG+kBW6bDedcxZu7olZ --fqtnyZTB2SjzzbGdQ4JvFup8MxNyPvYiqumQXJgkyXFVDl/UFhjWuGe04i8NBJgJ --xORcjfgLrKH1XKVBWPJdh/2YeUKIIvQ9RB4WVqXgGmD/21tgv1bVEMYabh23e/HE --Fe1U2XQPJKxGCEtG6b4zhFP+PeZACS+Vk5IVJYK9n4SepPBPgX/wbJLOcKGpsKjp --yx5WjopMO6T+VUV8HIduuZ+E8+uAILHDmo2Bq+LHblaxd4SkM0+hL2H36imK5CUO --5fLuvHW88LvFtQw6xhP20s+BnmgzE5ZvNG4Iedkjvwe9HmdNDew0UYT5vNJN0ehh --OlraBC++JYwEclrBD9SRvprT63XKDG735pPvzLQi7WKDCBn1/JEgxDIO8nkMewOZ --FU48Mdmkn9wqPeIigQciwl62fuAQCGRG+RXMQqra4A1apqMZQEauTK50VhHDGdbc --ye9LHaECggIBAO9lAzoYS/Lu0ticMt24P8BSbGdxSNIpEyIlTTs+7A0UjpfXsoK9 --4EJWZ7lhgbQh+SCTS662SeC+s8M6bT+3mELxUC5S/N3aCPyfjcM3JaoACkI9+VMn --9otJZjAEwH7cNpMN0Xa8fHCEma3l3XKiVxEJbuJC86S5mpkjeXVnDajAidBtevBd --LWJ9n2yXk+ZKUyI0mjpqItwUxOgQ/MOIvqAu66xyjg08/I1QQTuIrReAA+oaVKhp --c42Ufn26hUhNrQCBAtMAO3VC/chciet6vEMNEM13GqLp4+PcPhRX90gO4+bNrScD --WgiW/jc24CGan8gAenBWC/3l/C6JUsMp+ZYmPozsa0zo6edgiO/f2KXe5nP87wZT --MxaYJgnyXJxMefI79kUHPrhpXZxuiSCEWLhCBN34Lhpr2L491i2g/FJj9i6N3EzE --N3ic5Q63o4QFusjqIm3taQQFoGP2Cgg9owz5WJ0uRz/gtOE3XQiQA7+ozoAXOlTw --pJK5MMtVrEoOLIbVJIpxfDcKDp3yorR8QCQLHgDBmFeNCDmk+7YP33dRIc/AVNLF --q7cecqEc7D8AkXX8Q53GfCEg+uqbdeMQXK4BUE9iwRK9RiFhas/RJe73+Iio3S0L --ekLpnnOfvk744ws+JWsLpsfC/ZE7OxBLPtq2xvGl/RT2G7tCjmpX3CbPAoICAQDY --uOEJks2T105EcMPJjzNHCCqjK6S7qZaWkF3KT1Z0Mu5oUZwwHamsMg4BQJ2mjMrL --fRBKfXQLA6vgE7zysw3F300RDxE1RVow5+JLDQ4bqupp27/M0a8fuwksyOdKHqCV --YHzuTCxbVIFZawTjfOxJVXDHKCFCilfY1LsA+V+oFe3Ej8YYxWXkXA9ZLigpmt3s --Wu6eFcZgF3utzIGjI6eP6lL5bWp6Bh9Avp2xrOvpFwE2m02Y7/Zom6MT4DXvByY2 --KHHQLsasEMpeLuxQXjLeTocwcxBwBFKhX95yFuv31k00VydT+NExtaZeUYi9l19J --WmM4GjFjAqa3uUwMNVv5JfWtKMyk4FOox2XftLvMiIhV95B8hAGxtYr3hPkGg80O --AWPq6OKUD332COXRaHkmL5aQdN3gP5zh9+rH6icLrrZbrQidVRyDw03doRoGrH7i --ixXLyYoW80PHgqUDPohd5bFkZpi2vwXMl1YQ2TfN9TvYFSGme9YCm9ZuypnqauW/ --aAf0FI1MNwS+XDREtzPdFi0me6WxpKL4a2Z3GGNxIFuBjQ/uydWpjxkny9qI3KAp --SgjI3kBUDGq3gf0R+Xo/d4d/4asK9Nv2Fi0X+RfGqioFaTbQl/1zhNdvhP9IcwEJ --DLVQ3UhMdfg285RarC2Sihui0M8Smi9od9Dj6rdWMQKCAgEAiQVRFoRnnDGz/wVQ --W/Wkj6jdoUuG+btG10lwbhOyuj3k6+Yqp4iUfoPENKgpu/eiB1InhGWT3Y5ph7m+ --ZDTqco56bTlUwIqWkDmmw3CiHy6MsKOWPFFoXQry8VMW9sWGex7yoDp8I07SQ2WJ --HZ7rpLW4gMr/d25AnZxfXaJRgCBMAT9YmZFLc88hW99aaPproO1oxTyQnVVJ6uYm --NqjjKv4QKJEc21jn2N5xp+iv4f6Evw65G/fXitbOm5oRxXOoLNyqyCie35wrc+37 --hwumC97DmkasuUiUBoy9/5jl0ZmsOiPJEsZpVvdNpD7FhJZjE++qJPgrPvTPJbe1 --5jz1PUrAjJqZQ9kgYC2x01JVR4NQdlz0VrNyT2FgjFrrRQ7E0bAeYh4meRjd2rat --yC3YNgabkI0HnlnSIfl0yIMXSPUsKDNMP6gjc+aheI4FioBZC7xvXmn/rKynw+9E --iLj2xWtGnBir8VTlUu8EUe1UJ/Qv1cL1wT5HhC95TTjJN03rkHUYyCDyjvIzsZX6 --KMHhWIAAeUBVuO7hIVVcOTXWmw2WA7o7ErTPdy13QN40Hk9t8pEkBn9f9vpQg83d --aMypr3LTC80jY11wcZS3tSEpzCCkYVv91FV4cioTZmytWbg9A+dbNWzi1f22ctTr --FoVrAXaSYie2trOy5bjPmPCW8qMCggIBALQUKymBSkDmTqqf6I+65ajIKGWdBizJ --Jc/F9aj9c6DqER+tcFKq0ym6DdkMj/KsWnXrXXYH+DyOuGpg/EfOcEtS2P6rvmi9 --T8wDYg1qs6ZZxp5fcmgGc7Wx/FWyOj1kZZq5qhV4RgM9nJ1oR4+fZdcpn6RcvAZG --XehWG20byVgpoIAL11cN7zRpKne32rd3b5/NjyjcfxGpcaNgovej0L/MvVV0jV0H --aUCrIu1X+k6cRu3Q7hF+kwkpCcCiNS6AikfGI4wQ0hR3fy/zXXkKTMpcBglEEwyB --Cwf8WSID2d79uvka0hr8TRc5ERyeMzkWZp7U9EzRtufGdDGFTqN2Uw4bdKCFnkYC --AIHl7ciMrN+vM1n7c5uDNMUtTGOPojy/l8tjbFrtWBgfJ1Mg4ZW3cbNBJ6Kw+Qw0 --z28USYoEDp2uduiGRvo0lpUF29Wk37Nb8bLcTygeNxgK2u8Up3iipT0gdt4uQgbX --g0IVHfayB6SjeS57oJJto85XHz7AKlSWroD1OGagDSifLtneU7AlanryymGHrI6H --dsNkuqeLJFYDxQVI6UxJebiCpyxiPxwp9wtX8SS3SEyOZL5GzLn6ypGiCH1CTpW0 --EHHSy3V4DUGOc4w7eMirAnbSkxCfOmBA70NNw/uFY2XlQHKow0T0fImfKIeJagbT --B0GPDYvUpLKBAoICAQCzYnq8xupXK7lvTLaj936qGSe54OC2sj9+UpsFiPxglNY2 --sO5zKWKyY7+rjK6zG2ciGfPEDsZNIqKw1W/KBfR2kRLqkt4bC3fSCvUztx0vtGUe --veXlqiwETdE7RJXoaGJrgJArYJvpOd8PtWGeM+sSJNNrUlGlJnSiZ0CcypqUZgZL --WzGFfLOQYAXCykdB1iZkBqU2C5wktvCb9sVz6G3TmAwSKTENOWWZWmh+W0J4pZFV --ZEyvsxViJRQbwxa0kC0F5J/UtWZknO79/ZFj1H4jiAR45EjWHE+UZAkFwG8BSl54 --EKOx7GDanuRILr0dtbyi4d31nCYXdjs3x2+1N3exw4oKQIvNuF54WoowbNPu0kEb --G+7/kLwcJqRnSV4AiLuMz5aOte7JJSw5tzgZZlAQwJO7IDfrLqodivcXF5yirwiF --dyBpzSDmupy/aTHnCpT+l0H96jRU2awxaeRHZUqZog8gMHsslNVZEFvUFDJ7AUN/ --yyfUzJYjH18pZt0hS7jNb1O7KxZCkWGMiEcxHkgF/UINab5qruNBVKOkJ5vqGhYi --uNkgeGsQtXJcpqMRRiVXJE0kE+26gk+iaYnBJN9jnwy8OEAlYFUHsbCPObe/vPMQ --3RLl+ZoKdFkN/gTiy70wUTRVw+tWk+iAZc7GPX1CqDFOqGZ2t+xdF8hpsMtEww== +-MIISKQIBAAKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSECPgxN +-NcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+LrhXIq +-Cz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2DA7k +-vMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5hACb +-fU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09Gh/G +-wmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33aGsZ +-5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4PRd3 +-1qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2OaIw +-FjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83psQ6 +-R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCcHSFu +-07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs+LFd +-t4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS9+LB +-+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1PsZi4 +-UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUdNhXx +-i/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfVJTt8 +-Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwxUADg +-R0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1kOE7 +-GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQuw4q +-VKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRYnTIy +-wUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PTtroh +-FSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFTd33Z +-Dke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABAoIEAQCSt6YoZqigz/50 +-XvYT6Uf6T6S1lBDFXNmY1qOuDkLBJTWRiwYMDViQEaWCaZgGTKDYeT3M8uR/Phyu +-lRFi5vCEMufmcAeZ3hxptw7KU+R8ILJ207/zgit6YglTys9h5txTIack39+6FJmx +-wbZ64HpETJZnpMO6+fuZaMXyLjuT8mmXjvHcOgXOvjWeFkZOveDhjJkAesUXuqyX +-EI+ajoXuQiPXeKonkD2qd7NTjzfy4gw/ZF4NXs0ZVJeviqtIPo2xp33udOw2vRFh +-bMvlF4cNLAbIKYVyOG0ruOfd2I7Unsc/CvD1u5vlRVuUd8OO0JZLIZR7hlRX+A58 +-8O1g2H/wJZAsF1BnLnFzDGYCX2WjCCK3Zn85FkKGRa0lTdYDduad/C/N3Y2/pHFE +-e7U/2D7IkEei59tD2HcsDBB3MJnckkn/hyiL9qWcxqWZ61vurE+XjU6tc6fnfhk9 +-pJQ6yU3epPU7Vfsk0UGA7bbgKpsyzyH8Zl76YC2mN2ZVJjZekfhY+ibT9odEPdOl +-yLB5iXA6/WhKkDWaOqZGOH+7MblWgT9wHINlcn+nKzOr00JHl26ac6aMlXXi9vbe +-4jgJbFK1HYlFIndyX/BdqRTsFemDoDrVqrEYsaONoVYDd9c5qrqYOeh34DhOksQW +-hNwWBfmMlfzgOGtCYhMeK+AajqTtUbMYQA6qp47KJd/Oa5Dvi3ZCpvZh3Ll5iIau +-rqCtmojsWCqmpWSu7P+Wu4+O3XkUMPdQUuQ5rJFESEBB3yEJcxqk/RItTcKNElNC +-PASrPrMD9cli7S/pJ+frbhu1Gna1ArXzXQE9pMozPaBpjCig7+15R0lL3pmOKO6e +-WK3dgSwrnW6TQdLPlSD4lbRoiIdTHVBczztDeUqVvFiV3/cuaEi1nvaVdAYLqjuL +-ogK4HwE/FQ54S0ijAsP52n25usoH6OTU3bSd/7NTp0vZCy3yf10x7HUdsh2DvhRO +-3+TSK5t0yz0Nt7hNwcI6pLmWUIYcZgpFc/WsiiGscTfhy8rh3kRHI8ylGq53KNF+ +-yCVmjqnBRWs91ArxmeF1ctX2t3w5p7gf65hJWqoX/2DiSi5FBsr6HLxa5sUi4wRZ +-136aCNt5Wu7w+AzPDbQW6qKUGSyfHJAw4JZasZcaZLise5IWb1ks0DtFbWWdT3ux +-8r2AM7IO1WopnekrYCnx/aBvBAv4NjWozVA517ztVttPERt3AGb4nm387nYt5R2U +-NO2GBWcDyT8JQLKmffE1AkWolCR1GsvcNLQfLCbnNppgsnsLE/viTG4mq1wjnd8O +-2Q8nH1SVTuyGFREMp/zsiAEaGfdd0hI2r1J7OdNPBBCtmhITsy9ZYHqm5vrGvy3s +-vi2GuB2RAoICAQD/oWUsg4eTJxHifTJLz/tVSTXnw7DhfbFVa1K1rUV63/MRQAFW +-pabN4T6Yfp3CpdRkljCA8KPJZj7euwhm4OEg1ulpOouA+cfWlE9RFE8wyOK5SYwM +-k+nk31P9MUC866pZg/ghzBGDub91OW1+ZGEtqnLI/n/LhiAIWt0hJvgZclTc1cAL +-xffHVlFwoSyNl/nc3ueZCC95nOLst2XcuxZLLbOFtZCmDYsp49q/Jn6EFjn4Ge2o +-qp38z6eZgDMP1F4lb9nDqXPHfUSt2jxKlmpfXS+IPKdba67+EjhbtmUYzaR4EoPI +-zh+o6SrVWT6Yve7KGiYv06fuRz1m/lLQO/Arbd9ntSjgn+ZEXGOkbhnHUX3DJ4ny +-/6XEGB9NLQjern4uNTn0AaV+uvhncapFMaIBnVfq0Cw8eog0136PBYRaVX7T44j5 +-HwIyGXWtYGA/SzDEQoksD0Y/T61BEGnLZaKeavNd82WwFvcYHZtE0J4aQGjCEE7N +-+nijzCy+j5ETmme9KJvQHpEyXP3N4RBko1eWvyTwFZDdIXtoa6TTEI51lm+FXJ/b +-Y+BzMr6KRo29FB+7//1ptUoMvn5hzL0PwOv2ZSTQuoG5hLDEbxWXLNhd1VHcfznF +-3EZHwfD2F8aGQ3kz+fkMTNfK955KorDrmLgvmV9eZZ5yQxGZrs5H5YfKpwKCAgEA +-6nSUbzfSdVFUH89NM5FmEJgkD06vqCgHl2mpyF+VmDGcay4K06eA4QbRO5kns13+ +-n6PcBl/YVW/rNE8iFi+WxfqUpAjdR1HlShvTuTRVqtFTfuN8XhbYU6VMjKyuE0kd +-LKe3KRdwubjVNhXRZLBknU+3Y/4hnIR7mcE3/M5Zv5hjb7XnwWg/SzxV9WojCKiu +-vQ7cXhH5/o7EuKcl1d6vueGhWsRylCG9RimwgViR2H7zD9kpkOc0nNym9cSpb0Gv +-Lui4cf/fVwIt2HfNEGBjbM/83e2MH6b8Xp1fFAy0aXCdRtOo4LVOzJVAxn5dERMX +-4JJ4d5cSFbssDN1bITOKzuytfBqRIQGNkOfizgQNWUiaFI0MhEN/icymjm1ybOIh +-Gc9tzqKI4wP2X9g+u3+Oof1QaBcZ4UbZEU9ITN87Pa6XVJmpNx7A81BafWoEPFeE +-ahoO4XDwlHZazDuSlOseEShxXcVwaIiqySy7OBEPBVuYdEd2Qw/z3JTx9Kw8MKnf +-hu+ar5tz5dPnJIsvLeYCcJDe/K6loiZuHTtPbWEy9p6It7qubQNPBvTSBN5eVDKc +-Q2bTQNCx8SAAA9C5gJiwWoQKsXJzbRFRY77P9JjuGpua3YJ2nYBHEJmF+fp1R33c +-uHIyMphPMkKC4GC3/43kkMr6tck8kZbXGSYsLsBr2GkCggIBAJvvrjILQianzKcm +-zAmnI6AQ+ssYesvyyrxaraeZvSqJdlLtgmOCxVANuQt5IW9djUSWwZvGL4Np1aw0 +-15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS +-SJKzVPxwX3jwlrBmbx/pnb7dcLbFIbNcyLvl1ZJJu4BDMVRmgssTRp/5eExtQZg4 +-//A4SA8wH7TO3yAMXvn8vrGgH8kfbdlEp88d1SYk3g4rP/rGB3A63NIYikIEzmJn +-ICQ3wUfPJnGq3kRMWgEuyCZaCy2oNE3yrWVPJ8z3/2MJ/79ZDVNHxEeki2o1FuW+ +-+nGAPq+fZIp03iy4HdVRro7dgugtc9QaSHJtNId8V4vSjviX5Oz3FxUb9AJst58S +-nVV8Q2FMxBa/SlzSOkhRtCg2q1gXkzhaMnIVUleRZFGQ2uWBToxKMjcoUifIyN1J +-z999bkfI4hBLq5pRSAXz+YVu5SMKa10GaawIwJLat+i+1zboF6QyI2o/Wz8nrsNq +-KX/ajFGu5C94WFgsVoWKNI90KBLe48Ssje9c68waBlV/WHMg1YLvU3yqVDOV+K5c +-IHB9tPMnG+AgBYZPxSzuvnLrrkj/GeKx0WI7TrvzOLRGKJo6irMEJ8IzFegASRUq +-TVZKYQDYRG7m+lKlSxU+pyMAh2c9AoICAE4kavCip1eIssQjYLTGSkFPo/0iGbOv +-G9CgXAE3snFWX67tWphupKrbjdMSWcQTmPD2OTg6q6zWL4twsIi6dcMooHAHsFC7 +-//LyUV/SDJdxSyXohiQJ8zH1zwy35RDydnHSuF5OvLh53T44iWDI1dAEqLgAFI3J +-LjTxzEpLMGiGTuYFt+ejai0WQAQayvBw4ESM9m+4CB2K0hBFTXv5y5HlnNTW0uWC +-VUZUUMrbjUieDz8B/zOXi9aYSGFzmZFGUDAPSqJcSMEELemPDF7f8WNr8vi42tIV +-4tlaFD1nep4F9bWMiCXU6B2RxVQi+7vcJEIqL1KUnGd3ydfD00K+ng4Xnj7Vz/cz +-QE7CqrpFaXmPlCMzW6+dm51/AyhHXDLkL2od05hiXcNkJ7KMLWRqwExHVIxM3shR +-x7lYNl3ArUsCrNd6m4aOjnrKFk7kjeLavHxskPccoGKrC9o0JMfTkWLgmuBJFQ0S +-N/HzIbcvIFWF0Ms4ojb50yp6ziXhXfJOO/0KUQEki71XIhvw89mVZszDzD5lqzjf +-HCZMBU4MbmL6NdEevFIDH0zPPkx3HPNtJt3kIJbit9wI8VhUMe+ldGnGxpWb8tKw +-SfM3vrHkYr+lizk26XfXMFhdAuVtT7dzQKSNEyP/1a2Hs307Xzgiv8JulJ8QIkrX +-/nsYWPOAGLG5AoICABmdW9Ppkvuhb1AEcjTWb+XCyopoBc6vit/uQWD9uO+CeX7a +-cfzq+iH01CAjyVMc4E1JDc5Lpi106U+GRGcAAaPJB2Sp5NznoxaOVrb71blu4Q4x +-bNjtKM/P/DXpO+yJYoOPdKtaSDhtnfNDM7H/jztJ3XIrOltKA7CcRDohbBWIx8Q0 +-0uEpvfFpZZBco3yVmjP0RLgIVYn/ZDj9wGhSvFWIJ5vv6GXmtDrcHGMLxcfv7t76 +-UVcMW/Yy4mYJRCzGOrWagyVijJ6MTVNciqadWcH1KcbB3EGoMFYMn61or2qJABPM +-xz89IlhnROU1Re3X/QRx5t86cw6oa+FqrWMOhSs31I0dNWSuS/xDympG27YIYSDd +-mv5seT78GjFmMJC5pPOLoXsbTPB0HpsX2/UL/w/eRAfilTOef/Cf9VE5MP/C2YR7 +-NBxUU7/+21D6WvdtBTcZbrXWGroAo8zPP+PwX0+c6WoAvqDJvCPndp8xZhSgEJN/ +-0kScptezi8n3ZHI95EA9U5mAHxHz0IhDDVzWw/z1f1SBPxKVX3+By3zaa3lrD2ch +-cHq7nBkX72veEevnHUY8Z2rHE2G2jdmRfOtwm4sjL0VBV9fRRoxzJWRduKyeOtDL +-EhhBhUoTrT48UnfW9hxnbNLB9P/hh+UJu9HrS2uAwHoGE1+8gcyundupGDBn +MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ +PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od +Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB diff --git a/mysql-missing-string-code.patch b/mysql-missing-string-code.patch index d251f81..4627760 100644 --- a/mysql-missing-string-code.patch +++ b/mysql-missing-string-code.patch @@ -1,11 +1,11 @@ Crude workaround for bug #587170. There are probably better ways ... -diff -Naur mysql-5.1.47.orig/storage/federated/Makefile.am mysql-5.1.47/storage/federated/Makefile.am ---- mysql-5.1.47.orig/storage/federated/Makefile.am 2010-05-06 11:27:38.000000000 -0400 -+++ mysql-5.1.47/storage/federated/Makefile.am 2010-06-04 14:57:36.000000000 -0400 +diff -Naur mysql-5.1.50.orig/storage/federated/Makefile.am mysql-5.1.50/storage/federated/Makefile.am +--- mysql-5.1.50.orig/storage/federated/Makefile.am 2010-08-03 13:24:29.000000000 -0400 ++++ mysql-5.1.50/storage/federated/Makefile.am 2010-08-27 23:49:22.280394828 -0400 @@ -38,6 +38,7 @@ - ha_federated_la_CXXFLAGS= $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN + ha_federated_la_CXXFLAGS= $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN ha_federated_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN ha_federated_la_SOURCES = ha_federated.cc +ha_federated_la_LIBADD = ../../mysys/string.o diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch index 780d2aa..2407f01 100644 --- a/mysql-plugin-bug.patch +++ b/mysql-plugin-bug.patch @@ -10,14 +10,16 @@ Also, disable the outfile_loaddata test, which as of 5.1.38 is giving platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 +NB: 42144 is fixed as of 5.1.51, and 46895 has been "fixed" by disabling +the test, so we won't need this anymore in 5.1.51. -diff -Naur mysql-5.1.48.orig/mysql-test/t/disabled.def mysql-5.1.48/mysql-test/t/disabled.def ---- mysql-5.1.48.orig/mysql-test/t/disabled.def 2010-06-03 12:17:34.000000000 -0400 -+++ mysql-5.1.48/mysql-test/t/disabled.def 2010-06-20 23:49:47.317995474 -0400 -@@ -12,3 +12,6 @@ - kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. - query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically + +diff -Naur mysql-5.1.50.orig/mysql-test/t/disabled.def mysql-5.1.50/mysql-test/t/disabled.def +--- mysql-5.1.50.orig/mysql-test/t/disabled.def 2010-08-03 13:53:51.000000000 -0400 ++++ mysql-5.1.50/mysql-test/t/disabled.def 2010-08-27 23:36:17.491455874 -0400 +@@ -14,3 +14,5 @@ partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings + main.mysqlhotcopy_myisam : bug#54129 2010-06-04 Horst + main.mysqlhotcopy_archive: bug#54129 2010-06-04 Horst +# +plugin_load : gives wrong answer on PPC64 -+outfile_loaddata : gives different results on different platforms diff --git a/mysql.spec b/mysql.spec index 5b5bb0d..4a16e96 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.48 -Release: 3%{?dist} +Version: 5.1.50 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -44,7 +44,6 @@ Patch13: mysql-expired-certs.patch Patch14: mysql-missing-string-code.patch Patch15: mysql-lowercase-bug.patch Patch16: mysql-chain-certs.patch -Patch17: mysql-abi-check.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -185,7 +184,9 @@ the MySQL sources. %patch14 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 + +# workaround for upstream bug #56342 +rm -f mysql-test/t/ssl_8k_key-master.opt libtoolize --force aclocal @@ -576,6 +577,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 28 2010 Tom Lane 5.1.50-1 +- Update to MySQL 5.1.50, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-49.html + * Wed Jul 14 2010 Tom Lane 5.1.48-3 - Fix FTBFS with gcc 4.5. Related: #614293 diff --git a/sources b/sources index b58ebf0..51af739 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f7bda6d4c8a2acad2e051089bfcc2352 mysql-5.1.48-nodocs.tar.gz +1de8cfbc727a0aaeaeeeb610f2d19d3c mysql-5.1.50-nodocs.tar.gz From 2e8a172cd575b910ee95ab4300894ea3286712e2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 28 Aug 2010 12:58:33 -0400 Subject: [PATCH 178/616] Include my_compiler.h in distribution. --- mysql-missing-header.patch | 105 +++++++++++++++++++++++++++++++++++++ mysql.spec | 8 ++- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 mysql-missing-header.patch diff --git a/mysql-missing-header.patch b/mysql-missing-header.patch new file mode 100644 index 0000000..be07cc1 --- /dev/null +++ b/mysql-missing-header.patch @@ -0,0 +1,105 @@ +From: Date: August 24 2010 3:48pm +Subject: bzr commit into mysql-5.1-bugteam branch (davi:3489) Bug#55846 +List-Archive: http://lists.mysql.com/commits/116644 +X-Bug: 55846 +MIME-Version: 1.0 +Content-Type: multipart/mixed; boundary="===============1139944217595210815==" + +--===============1139944217595210815== +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + +# At a local mysql-5.1-bugteam repository of davi + + 3489 Davi Arnaut 2010-08-24 + Bug#55846: Link tests fail on Windows - my_compiler.h missing + + Make the my_compiler.h header, like my_attribute.h, part of + the distribution. This is required due to the dependency of + the former on the latter (which can undefine __attribute__). + + modified: + include/Makefile.am + scripts/make_win_bin_dist +=== modified file 'include/Makefile.am' +--- a/include/Makefile.am 2010-07-14 12:27:13 +0000 ++++ b/include/Makefile.am 2010-08-24 13:48:45 +0000 +@@ -26,7 +26,8 @@ pkginclude_HEADERS = $(HEADERS_ABI) my_d + decimal.h errmsg.h my_global.h my_net.h \ + my_getopt.h sslopt-longopts.h my_dir.h \ + sslopt-vars.h sslopt-case.h sql_common.h keycache.h \ +- m_ctype.h my_attribute.h $(HEADERS_GEN_CONFIGURE) \ ++ m_ctype.h my_attribute.h my_compiler.h \ ++ $(HEADERS_GEN_CONFIGURE) \ + $(HEADERS_GEN_MAKE) + + noinst_HEADERS = config-win.h config-netware.h my_bit.h \ +@@ -37,7 +38,7 @@ noinst_HEADERS = config-win.h config-net + my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h \ + thr_lock.h t_ctype.h violite.h my_md5.h base64.h \ + my_handler.h my_time.h my_vle.h my_user.h \ +- my_libwrap.h my_stacktrace.h my_compiler.h ++ my_libwrap.h my_stacktrace.h + + EXTRA_DIST = mysql.h.pp mysql/plugin.h.pp + + +=== modified file 'scripts/make_win_bin_dist' +--- a/scripts/make_win_bin_dist 2009-11-17 16:53:45 +0000 ++++ b/scripts/make_win_bin_dist 2010-08-24 13:48:45 +0000 +@@ -263,6 +263,7 @@ cp include/mysql.h \ + include/keycache.h \ + include/m_ctype.h \ + include/my_attribute.h \ ++ include/my_compiler.h \ + include/mysqld_error.h \ + include/sql_state.h \ + include/mysqld_ername.h \ + + +--===============1139944217595210815== +MIME-Version: 1.0 +Content-Type: text/bzr-bundle; charset="us-ascii"; + name="bzr/davi.arnaut@stripped" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: davi.arnaut@stripped +# target_branch: file:///home/davi/bzr/bugs/55846-5.1/ +# testament_sha1: a436a03b0f660a8b69093e88fe1377a743d53b3b +# timestamp: 2010-08-24 10:48:54 -0300 +# base_revision_id: mattias.jonsson@stripped\ +# mk1a4rux131hao8r +# +# Begin bundle +IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWWZFKW8AAidfgAAwXGf/93/n +noS////wUAVMvNwNW6sFVWW7uHCUSAE02lTzDUyofqZJp6jzVPUPQnqG0mZTJ6glIU9DEwJPSmTK +aNANABkBoANAxJoTUp/onqKeNJomTQxMjDQgGQ0GmhzRkxMAExGBGmBBiMEyYBGCSQUwaTTTKYJt +U/RPQRT9KeUabUNqAGgKiiY0UdzaboTvYcfRd5FdKF8ue9oiPkV10kC3yPM4DNNfD9ax8xeEkkB+ +e4j9vcquwsnWaDCCLKUfZ66bBq72Q71azfj/NKWib8cQyXI1Blp4YhxdRjVAcGWoW7vTwh5ZfW92 +kvlxB5UQ7Nfz0EO/ztug6qSkVBLNRqQM1jouG7oGtZ4cKCfbUVqwRKKHoPBtIMfRtCuM0oLvK9ds +yLmR4taNBrTyPMgCadgWYeaxnpjxY/oqJCqrFiRAJxjECJ5rDYJvN6WJuVbFuKgJwwDDo6CnGzSF +G4OjsKMx02Y1jt7EeIdRXkBumzhRdGxiWTzdqyY6m/LcKmYF/KjRtypvisM0hPSSImaQIItA5LYn +YauMjFdh3LpZvFqyBdiFCdeUv4+Bd1mDzOhQgzfrgmm57AGwWWUZpnYe+5w1k5BSsgMSowWMpkIK +AvhHJYGVFNR395hgwkkQogOlAwSZgTNpFk+b2YpgNSpapcYj2EiAv/MPE7JXDR5z6SLlOBGDzMMW +TDosp9FtoZ9ZqA6TwGrlF+55SbNQ9WAq6mU5g+Nodvesm1VNaLkzYtIKAXQ2gVGisXT2RiXvkB6K +NNo0xJUBFxdXAvjlIoHgRpL6bVJSztKM4PGD5FCF5zuZsAnUTQidyx2nXoFEuManlBbe4viQPasS +bZppFVFVXr9vBnPxi8ePKPy8PLLlz82+fqy08EBW/+2f4iOksBrYDESJf5fRwIOfgS4O+eJHhCG4 +14fGbt4MYgZD5KfbK2BCag9MyKpw4JUT7pI0XpvpRTiHuoVK+LLcpJHl6CNZ8rD57jeYDvipzEC7 +Azp1/rIuC5tHYCzv+Bjw8KSg7Sz+9R8s3e0WYQ4tEptIZNnpOBN7wJG6+jpWZRHl8NG0kFAfenQR +7HcmLvo0C4qmNkjmtSfsjP84e/aPccBj3Zs+UAWOfsPIYHvwldF/8Tbg69DzIVdStnOeSRathccd +Vl9Ry6ZRZ9BElTPMA6umRV5sIXbCeVTkihBoZXY/YC2v65tnVGQSI4OQ/A4m0NJibzgm3lOOCmMi +xV8yC8Scdi46NJePP/DdaBVpE99w9d1pWoij4lo5HXIextIGH+yVAahaHMIoMcXJg4wOb9vn5I3D +p+So3YJbGN4ZjVnTFJXq0OkdUvTjpuggnUKtNk9qGqsFiK9rLDUlxj1sjTumZLTI+0DFHYrJ5/AM +LEaHl7F2MyJ0DLFhVjbcpkuDnAg61/NtgHOgyDNePbfqmcl0ywGjGZ2oXq1ZiiECEDAFOLyRFxpR +EmYSQrAN5uQRLlQYIDlyoy4KpPkY89SQPKEb03X1WFB/yCSKwmpeSwZmKGuoEa5RQV5Iao9gD4YT +ukvrxTsQLTRWSxTBQxSJdV6CJunuLEVORNtOdaQgHd49+Qfl6IJSxzB6TG0ojgGemYSaZW9wvn3Q +oIYDZKhEBloBvxXI5MzSn4plQ+pD3eCH4HUttwrVR90YiHnMHRGHNaYI6tiMT7oqrOT9JmqRJZTp +722UPCq9hQOMazbkWjvb155e1iLm0FiRnkGV5oXdMuk6Q8+CMCEe+o7S9OK29obq1nNsbJqjidCC +KdMWJgJgOVt+JmFgLz7vkcFDhuCOamQ3kI3/i7kinChIMyKUt4A= + + +--===============1139944217595210815==-- diff --git a/mysql.spec b/mysql.spec index 4a16e96..cd9743b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.50 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -44,6 +44,7 @@ Patch13: mysql-expired-certs.patch Patch14: mysql-missing-string-code.patch Patch15: mysql-lowercase-bug.patch Patch16: mysql-chain-certs.patch +Patch17: mysql-missing-header.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -184,6 +185,7 @@ the MySQL sources. %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -577,6 +579,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 28 2010 Tom Lane 5.1.50-2 +- Include my_compiler.h in distribution, per upstream bug #55846. + Otherwise PHP, for example, won't build. + * Sat Aug 28 2010 Tom Lane 5.1.50-1 - Update to MySQL 5.1.50, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html From e8f900c9b2e306a9fe7961e50a433e54f74db2de Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 5 Oct 2010 23:12:20 -0400 Subject: [PATCH 179/616] Update to MySQL 5.1.51 --- .gitignore | 2 +- mysql-install-test.patch | 19 +------ mysql-missing-header.patch | 105 ------------------------------------- mysql-plugin-bug.patch | 25 --------- mysql.spec | 12 ++--- sources | 2 +- 6 files changed, 9 insertions(+), 156 deletions(-) delete mode 100644 mysql-missing-header.patch delete mode 100644 mysql-plugin-bug.patch diff --git a/.gitignore b/.gitignore index e60f62d..e09f489 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.1.50-nodocs.tar.gz +/mysql-5.1.51-nodocs.tar.gz diff --git a/mysql-install-test.patch b/mysql-install-test.patch index c69117a..5980aea 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -1,7 +1,4 @@ -mysql's idea of a suitable place to install the regression tests is -/usr/mysql-test. To relocate this to a reasonably FHS-compliant place -like /usr/share/mysql-test, we have to hack up the paths in mtr_cases.pm. -This patch also improves the documentation a tad. +Improve the documentation that will be installed in the mysql-test RPM. diff -Naur mysql-5.1.43.orig/mysql-test/README mysql-5.1.43/mysql-test/README @@ -34,17 +31,3 @@ diff -Naur mysql-5.1.43.orig/mysql-test/README mysql-5.1.43/mysql-test/README You can create your own test cases. To create a test case, create a new -diff -Naur mysql-5.1.43.orig/mysql-test/lib/mtr_cases.pm mysql-5.1.43/mysql-test/lib/mtr_cases.pm ---- mysql-5.1.43.orig/mysql-test/lib/mtr_cases.pm 2010-01-15 12:14:49.000000000 -0500 -+++ mysql-5.1.43/mysql-test/lib/mtr_cases.pm 2010-02-13 21:17:30.000000000 -0500 -@@ -259,7 +259,9 @@ - else - { - $suitedir= my_find_dir($::basedir, -- ["mysql-test/suite", -+ ["share/mysql-test/suite", -+ "share/mysql-test", -+ "mysql-test/suite", - "mysql-test", - # Look in storage engine specific suite dirs - "storage/*/mysql-test-suites" diff --git a/mysql-missing-header.patch b/mysql-missing-header.patch deleted file mode 100644 index be07cc1..0000000 --- a/mysql-missing-header.patch +++ /dev/null @@ -1,105 +0,0 @@ -From: Date: August 24 2010 3:48pm -Subject: bzr commit into mysql-5.1-bugteam branch (davi:3489) Bug#55846 -List-Archive: http://lists.mysql.com/commits/116644 -X-Bug: 55846 -MIME-Version: 1.0 -Content-Type: multipart/mixed; boundary="===============1139944217595210815==" - ---===============1139944217595210815== -MIME-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Content-Transfer-Encoding: 7bit -Content-Disposition: inline - -# At a local mysql-5.1-bugteam repository of davi - - 3489 Davi Arnaut 2010-08-24 - Bug#55846: Link tests fail on Windows - my_compiler.h missing - - Make the my_compiler.h header, like my_attribute.h, part of - the distribution. This is required due to the dependency of - the former on the latter (which can undefine __attribute__). - - modified: - include/Makefile.am - scripts/make_win_bin_dist -=== modified file 'include/Makefile.am' ---- a/include/Makefile.am 2010-07-14 12:27:13 +0000 -+++ b/include/Makefile.am 2010-08-24 13:48:45 +0000 -@@ -26,7 +26,8 @@ pkginclude_HEADERS = $(HEADERS_ABI) my_d - decimal.h errmsg.h my_global.h my_net.h \ - my_getopt.h sslopt-longopts.h my_dir.h \ - sslopt-vars.h sslopt-case.h sql_common.h keycache.h \ -- m_ctype.h my_attribute.h $(HEADERS_GEN_CONFIGURE) \ -+ m_ctype.h my_attribute.h my_compiler.h \ -+ $(HEADERS_GEN_CONFIGURE) \ - $(HEADERS_GEN_MAKE) - - noinst_HEADERS = config-win.h config-netware.h my_bit.h \ -@@ -37,7 +38,7 @@ noinst_HEADERS = config-win.h config-net - my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h \ - thr_lock.h t_ctype.h violite.h my_md5.h base64.h \ - my_handler.h my_time.h my_vle.h my_user.h \ -- my_libwrap.h my_stacktrace.h my_compiler.h -+ my_libwrap.h my_stacktrace.h - - EXTRA_DIST = mysql.h.pp mysql/plugin.h.pp - - -=== modified file 'scripts/make_win_bin_dist' ---- a/scripts/make_win_bin_dist 2009-11-17 16:53:45 +0000 -+++ b/scripts/make_win_bin_dist 2010-08-24 13:48:45 +0000 -@@ -263,6 +263,7 @@ cp include/mysql.h \ - include/keycache.h \ - include/m_ctype.h \ - include/my_attribute.h \ -+ include/my_compiler.h \ - include/mysqld_error.h \ - include/sql_state.h \ - include/mysqld_ername.h \ - - ---===============1139944217595210815== -MIME-Version: 1.0 -Content-Type: text/bzr-bundle; charset="us-ascii"; - name="bzr/davi.arnaut@stripped" -Content-Transfer-Encoding: 7bit -Content-Disposition: inline - -# Bazaar merge directive format 2 (Bazaar 0.90) -# revision_id: davi.arnaut@stripped -# target_branch: file:///home/davi/bzr/bugs/55846-5.1/ -# testament_sha1: a436a03b0f660a8b69093e88fe1377a743d53b3b -# timestamp: 2010-08-24 10:48:54 -0300 -# base_revision_id: mattias.jonsson@stripped\ -# mk1a4rux131hao8r -# -# Begin bundle -IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWWZFKW8AAidfgAAwXGf/93/n -noS////wUAVMvNwNW6sFVWW7uHCUSAE02lTzDUyofqZJp6jzVPUPQnqG0mZTJ6glIU9DEwJPSmTK -aNANABkBoANAxJoTUp/onqKeNJomTQxMjDQgGQ0GmhzRkxMAExGBGmBBiMEyYBGCSQUwaTTTKYJt -U/RPQRT9KeUabUNqAGgKiiY0UdzaboTvYcfRd5FdKF8ue9oiPkV10kC3yPM4DNNfD9ax8xeEkkB+ -e4j9vcquwsnWaDCCLKUfZ66bBq72Q71azfj/NKWib8cQyXI1Blp4YhxdRjVAcGWoW7vTwh5ZfW92 -kvlxB5UQ7Nfz0EO/ztug6qSkVBLNRqQM1jouG7oGtZ4cKCfbUVqwRKKHoPBtIMfRtCuM0oLvK9ds -yLmR4taNBrTyPMgCadgWYeaxnpjxY/oqJCqrFiRAJxjECJ5rDYJvN6WJuVbFuKgJwwDDo6CnGzSF -G4OjsKMx02Y1jt7EeIdRXkBumzhRdGxiWTzdqyY6m/LcKmYF/KjRtypvisM0hPSSImaQIItA5LYn -YauMjFdh3LpZvFqyBdiFCdeUv4+Bd1mDzOhQgzfrgmm57AGwWWUZpnYe+5w1k5BSsgMSowWMpkIK -AvhHJYGVFNR395hgwkkQogOlAwSZgTNpFk+b2YpgNSpapcYj2EiAv/MPE7JXDR5z6SLlOBGDzMMW -TDosp9FtoZ9ZqA6TwGrlF+55SbNQ9WAq6mU5g+Nodvesm1VNaLkzYtIKAXQ2gVGisXT2RiXvkB6K -NNo0xJUBFxdXAvjlIoHgRpL6bVJSztKM4PGD5FCF5zuZsAnUTQidyx2nXoFEuManlBbe4viQPasS -bZppFVFVXr9vBnPxi8ePKPy8PLLlz82+fqy08EBW/+2f4iOksBrYDESJf5fRwIOfgS4O+eJHhCG4 -14fGbt4MYgZD5KfbK2BCag9MyKpw4JUT7pI0XpvpRTiHuoVK+LLcpJHl6CNZ8rD57jeYDvipzEC7 -Azp1/rIuC5tHYCzv+Bjw8KSg7Sz+9R8s3e0WYQ4tEptIZNnpOBN7wJG6+jpWZRHl8NG0kFAfenQR -7HcmLvo0C4qmNkjmtSfsjP84e/aPccBj3Zs+UAWOfsPIYHvwldF/8Tbg69DzIVdStnOeSRathccd -Vl9Ry6ZRZ9BElTPMA6umRV5sIXbCeVTkihBoZXY/YC2v65tnVGQSI4OQ/A4m0NJibzgm3lOOCmMi -xV8yC8Scdi46NJePP/DdaBVpE99w9d1pWoij4lo5HXIextIGH+yVAahaHMIoMcXJg4wOb9vn5I3D -p+So3YJbGN4ZjVnTFJXq0OkdUvTjpuggnUKtNk9qGqsFiK9rLDUlxj1sjTumZLTI+0DFHYrJ5/AM -LEaHl7F2MyJ0DLFhVjbcpkuDnAg61/NtgHOgyDNePbfqmcl0ywGjGZ2oXq1ZiiECEDAFOLyRFxpR -EmYSQrAN5uQRLlQYIDlyoy4KpPkY89SQPKEb03X1WFB/yCSKwmpeSwZmKGuoEa5RQV5Iao9gD4YT -ukvrxTsQLTRWSxTBQxSJdV6CJunuLEVORNtOdaQgHd49+Qfl6IJSxzB6TG0ojgGemYSaZW9wvn3Q -oIYDZKhEBloBvxXI5MzSn4plQ+pD3eCH4HUttwrVR90YiHnMHRGHNaYI6tiMT7oqrOT9JmqRJZTp -722UPCq9hQOMazbkWjvb155e1iLm0FiRnkGV5oXdMuk6Q8+CMCEe+o7S9OK29obq1nNsbJqjidCC -KdMWJgJgOVt+JmFgLz7vkcFDhuCOamQ3kI3/i7kinChIMyKUt4A= - - ---===============1139944217595210815==-- diff --git a/mysql-plugin-bug.patch b/mysql-plugin-bug.patch deleted file mode 100644 index 2407f01..0000000 --- a/mysql-plugin-bug.patch +++ /dev/null @@ -1,25 +0,0 @@ -The plugin_load test fails on PPC64 (maybe not always, but at least in the -several tries I've made so far). It doesn't fail on x86, x86_64, or ppc, -at least not in a similarly small number of tries. My best theory at the -moment is that the test itself is wrong. Reported upstream at -http://bugs.mysql.com/bug.php?id=42144 - -For the moment, just disable this test. - -Also, disable the outfile_loaddata test, which as of 5.1.38 is giving -platform-dependent results, with the "expected" results being arguably the -wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 - -NB: 42144 is fixed as of 5.1.51, and 46895 has been "fixed" by disabling -the test, so we won't need this anymore in 5.1.51. - - -diff -Naur mysql-5.1.50.orig/mysql-test/t/disabled.def mysql-5.1.50/mysql-test/t/disabled.def ---- mysql-5.1.50.orig/mysql-test/t/disabled.def 2010-08-03 13:53:51.000000000 -0400 -+++ mysql-5.1.50/mysql-test/t/disabled.def 2010-08-27 23:36:17.491455874 -0400 -@@ -14,3 +14,5 @@ - partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings - main.mysqlhotcopy_myisam : bug#54129 2010-06-04 Horst - main.mysqlhotcopy_archive: bug#54129 2010-06-04 Horst -+# -+plugin_load : gives wrong answer on PPC64 diff --git a/mysql.spec b/mysql.spec index cd9743b..fd88745 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.50 -Release: 2%{?dist} +Version: 5.1.51 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -35,7 +35,6 @@ Patch2: mysql-errno.patch Patch4: mysql-testing.patch Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch -Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-no-docs.patch Patch10: mysql-strmov.patch @@ -44,7 +43,6 @@ Patch13: mysql-expired-certs.patch Patch14: mysql-missing-string-code.patch Patch15: mysql-lowercase-bug.patch Patch16: mysql-chain-certs.patch -Patch17: mysql-missing-header.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -176,7 +174,6 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 @@ -185,7 +182,6 @@ the MySQL sources. %patch14 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -579,6 +575,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Oct 6 2010 Tom Lane 5.1.51-1 +- Update to MySQL 5.1.51, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-51.html + * Sat Aug 28 2010 Tom Lane 5.1.50-2 - Include my_compiler.h in distribution, per upstream bug #55846. Otherwise PHP, for example, won't build. diff --git a/sources b/sources index 51af739..adb4f98 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1de8cfbc727a0aaeaeeeb610f2d19d3c mysql-5.1.50-nodocs.tar.gz +b1f17ca9fa8d9439e2daa9afa78fd0a1 mysql-5.1.51-nodocs.tar.gz From bf7fe9919b2d0dc3874346d48c751258da313515 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 7 Oct 2010 12:25:13 -0400 Subject: [PATCH 180/616] Re-disable the outfile_loaddata test. --- mysql-disable-test.patch | 16 ++++++++++++++++ mysql.spec | 7 ++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 mysql-disable-test.patch diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch new file mode 100644 index 0000000..becbcf2 --- /dev/null +++ b/mysql-disable-test.patch @@ -0,0 +1,16 @@ +Disable the outfile_loaddata test, which as of 5.1.38 is giving +platform-dependent results, with the "expected" results being arguably the +wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 +(note that upstream has also disabled it, but only for Solaris, so we still +need this patch). + + +diff -Naur mysql-5.1.51.orig/mysql-test/t/disabled.def mysql-5.1.51/mysql-test/t/disabled.def +--- mysql-5.1.51.orig/mysql-test/t/disabled.def 2010-09-13 10:10:50.000000000 -0400 ++++ mysql-5.1.51/mysql-test/t/disabled.def 2010-10-07 11:15:46.167693893 -0400 +@@ -14,3 +14,5 @@ + partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings + main.mysqlhotcopy_myisam : bug#54129 2010-06-04 Horst + main.mysqlhotcopy_archive: bug#54129 2010-06-04 Horst ++# ++outfile_loaddata : bug#46895 code wrong, expected results wrong too diff --git a/mysql.spec b/mysql.spec index fd88745..2dac0ad 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.1.51 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -35,6 +35,7 @@ Patch2: mysql-errno.patch Patch4: mysql-testing.patch Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch +Patch7: mysql-disable-test.patch Patch8: mysql-setschedparam.patch Patch9: mysql-no-docs.patch Patch10: mysql-strmov.patch @@ -174,6 +175,7 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 @@ -575,6 +577,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Oct 7 2010 Tom Lane 5.1.51-2 +- Re-disable the outfile_loaddata test, per report from Dan Horak. + * Wed Oct 6 2010 Tom Lane 5.1.51-1 - Update to MySQL 5.1.51, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-51.html From 101f2ccc0b82fb2a6189013f881827f25e7771d8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 1 Nov 2010 22:28:29 -0400 Subject: [PATCH 181/616] Update to MySQL 5.1.52 --- .gitignore | 2 +- mysql.spec | 9 +++++++-- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e09f489..3278ded 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.1.51-nodocs.tar.gz +/mysql-5.1.52-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index 2dac0ad..fab4b93 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.1.51 -Release: 2%{?dist} +Version: 5.1.52 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -577,6 +577,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Nov 1 2010 Tom Lane 5.1.52-1 +- Update to MySQL 5.1.52, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-52.html +Resolves: #646569 + * Thu Oct 7 2010 Tom Lane 5.1.51-2 - Re-disable the outfile_loaddata test, per report from Dan Horak. diff --git a/sources b/sources index adb4f98..c7065a3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b1f17ca9fa8d9439e2daa9afa78fd0a1 mysql-5.1.51-nodocs.tar.gz +998cc66664f6289596bde8fac85dd831 mysql-5.1.52-nodocs.tar.gz From de3bd6c4ed2b2b7ed694ec908d082679eca0890e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 23 Dec 2010 22:54:59 -0500 Subject: [PATCH 182/616] Update to MySQL 5.5.8 (major version bump). --- .gitignore | 2 +- README.mysql-license | 6 + filter-requires-mysql.sh | 4 +- libmysql.version | 129 ++++++++++++++++++ mysql-cve-2008-7247.patch | 58 -------- mysql-disable-test.patch | 25 +++- mysql-dubious-exports.patch | 49 +++++++ mysql-errno.patch | 12 +- mysql-lowercase-bug.patch | 51 ------- mysql-missing-string-code.patch | 14 -- mysql-no-docs.patch | 39 ------ mysql-setschedparam.patch | 22 --- mysql-ssl-multilib.patch | 20 --- mysql-stack-guard.patch | 28 ++-- mysql-strmov.patch | 16 ++- mysql-testing.patch | 23 ---- mysql-versioning.patch | 18 +++ mysql.spec | 231 ++++++++++++++++++-------------- sources | 2 +- 19 files changed, 379 insertions(+), 370 deletions(-) create mode 100644 README.mysql-license create mode 100644 libmysql.version delete mode 100644 mysql-cve-2008-7247.patch create mode 100644 mysql-dubious-exports.patch delete mode 100644 mysql-lowercase-bug.patch delete mode 100644 mysql-missing-string-code.patch delete mode 100644 mysql-no-docs.patch delete mode 100644 mysql-setschedparam.patch delete mode 100644 mysql-ssl-multilib.patch delete mode 100644 mysql-testing.patch create mode 100644 mysql-versioning.patch diff --git a/.gitignore b/.gitignore index 3278ded..bb555d9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.1.52-nodocs.tar.gz +/mysql-5.5.8-nodocs.tar.gz diff --git a/README.mysql-license b/README.mysql-license new file mode 100644 index 0000000..1282653 --- /dev/null +++ b/README.mysql-license @@ -0,0 +1,6 @@ +MySQL is distributed under GPL v2, but there are some licensing exceptions +that allow the client libraries to be linked with a non-GPL application, +so long as the application is under a license approved by Oracle. +For details see + +http://www.mysql.com/about/legal/licensing/foss-exception/ diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh index d435062..bce04c6 100755 --- a/filter-requires-mysql.sh +++ b/filter-requires-mysql.sh @@ -1,3 +1,5 @@ #!/bin/sh -/usr/lib/rpm/perl.req $* | grep -v -e "perl(th" -e "perl(lib::mtr" -e "perl(mtr" +/usr/lib/rpm/perl.req $* | \ + grep -v -e "perl(th" \ + -e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr" diff --git a/libmysql.version b/libmysql.version new file mode 100644 index 0000000..d53adbc --- /dev/null +++ b/libmysql.version @@ -0,0 +1,129 @@ +# symbols exported from mysql 5.1 +libmysqlclient_16 { + global: + _fini; + _init; + my_init; + myodbc_remove_escape; + mysql_affected_rows; + mysql_autocommit; + mysql_change_user; + mysql_character_set_name; + mysql_close; + mysql_commit; + mysql_data_seek; + mysql_debug; + mysql_dump_debug_info; + mysql_embedded; + mysql_eof; + mysql_errno; + mysql_error; + mysql_escape_string; + mysql_fetch_field; + mysql_fetch_field_direct; + mysql_fetch_fields; + mysql_fetch_lengths; + mysql_fetch_row; + mysql_field_count; + mysql_field_seek; + mysql_field_tell; + mysql_free_result; + mysql_get_character_set_info; + mysql_get_client_info; + mysql_get_client_version; + mysql_get_host_info; + mysql_get_parameters; + mysql_get_proto_info; + mysql_get_server_info; + mysql_get_server_version; + mysql_get_ssl_cipher; + mysql_hex_string; + mysql_info; + mysql_init; + mysql_insert_id; + mysql_kill; + mysql_list_dbs; + mysql_list_fields; + mysql_list_processes; + mysql_list_tables; + mysql_more_results; + mysql_next_result; + mysql_num_fields; + mysql_num_rows; + mysql_options; + mysql_ping; + mysql_query; + mysql_read_query_result; + mysql_real_connect; + mysql_real_escape_string; + mysql_real_query; + mysql_refresh; + mysql_rollback; + mysql_row_seek; + mysql_row_tell; + mysql_select_db; + mysql_send_query; + mysql_server_end; + mysql_server_init; + mysql_set_character_set; + mysql_set_local_infile_default; + mysql_set_local_infile_handler; + mysql_set_server_option; + mysql_shutdown; + mysql_sqlstate; + mysql_ssl_set; + mysql_stat; + mysql_stmt_affected_rows; + mysql_stmt_attr_get; + mysql_stmt_attr_set; + mysql_stmt_bind_param; + mysql_stmt_bind_result; + mysql_stmt_close; + mysql_stmt_data_seek; + mysql_stmt_errno; + mysql_stmt_error; + mysql_stmt_execute; + mysql_stmt_fetch; + mysql_stmt_fetch_column; + mysql_stmt_field_count; + mysql_stmt_free_result; + mysql_stmt_init; + mysql_stmt_insert_id; + mysql_stmt_num_rows; + mysql_stmt_param_count; + mysql_stmt_param_metadata; + mysql_stmt_prepare; + mysql_stmt_reset; + mysql_stmt_result_metadata; + mysql_stmt_row_seek; + mysql_stmt_row_tell; + mysql_stmt_send_long_data; + mysql_stmt_sqlstate; + mysql_stmt_store_result; + mysql_store_result; + mysql_thread_end; + mysql_thread_id; + mysql_thread_init; + mysql_thread_safe; + mysql_use_result; + mysql_warning_count; + local: + *; +}; +# symbols added in mysql 5.5 +libmysqlclient_16.1 { + global: + mysql_client_find_plugin; + mysql_client_register_plugin; + mysql_load_plugin; + mysql_load_plugin_v; + mysql_plugin_options; + mysql_stmt_next_result; +# Ideally these wouldn't be exported, but mysql-connector-odbc requires them. +# We limit the damage by prefixing mysql_ (see mysql-dubious-exports.patch), +# which means the symbols are not present in libmysqlclient_16. + mysql_default_charset_info; + mysql_get_charset; + mysql_get_charset_by_csname; + mysql_net_realloc; +}; diff --git a/mysql-cve-2008-7247.patch b/mysql-cve-2008-7247.patch deleted file mode 100644 index acd460f..0000000 --- a/mysql-cve-2008-7247.patch +++ /dev/null @@ -1,58 +0,0 @@ -Back-ported patch for upstream bug #39277. - - -diff -Naur mysql-5.1.42.orig/sql/sql_table.cc mysql-5.1.42/sql/sql_table.cc ---- mysql-5.1.42.orig/sql/sql_table.cc 2009-12-16 12:57:30.000000000 -0500 -+++ mysql-5.1.42/sql/sql_table.cc 2010-01-28 14:33:52.000000000 -0500 -@@ -3892,15 +3892,43 @@ - create_info->table_existed= 0; // Mark that table is created - - #ifdef HAVE_READLINK -- if (test_if_data_home_dir(create_info->data_file_name)) - { -- my_error(ER_WRONG_ARGUMENTS, MYF(0), "DATA DIRECTORY"); -- goto unlock_and_end; -- } -- if (test_if_data_home_dir(create_info->index_file_name)) -- { -- my_error(ER_WRONG_ARGUMENTS, MYF(0), "INDEX DIRECTORY"); -- goto unlock_and_end; -+ size_t dirlen; -+ char dirpath[FN_REFLEN]; -+ -+ /* -+ data_file_name and index_file_name include the table name without -+ extension. Mostly this does not refer to an existing file. When -+ comparing data_file_name or index_file_name against the data -+ directory, we try to resolve all symbolic links. On some systems, -+ we use realpath(3) for the resolution. This returns ENOENT if the -+ resolved path does not refer to an existing file. my_realpath() -+ does then copy the requested path verbatim, without symlink -+ resolution. Thereafter the comparison can fail even if the -+ requested path is within the data directory. E.g. if symlinks to -+ another file system are used. To make realpath(3) return the -+ resolved path, we strip the table name and compare the directory -+ path only. If the directory doesn't exist either, table creation -+ will fail anyway. -+ */ -+ if (create_info->data_file_name) -+ { -+ dirname_part(dirpath, create_info->data_file_name, &dirlen); -+ if (test_if_data_home_dir(dirpath)) -+ { -+ my_error(ER_WRONG_ARGUMENTS, MYF(0), "DATA DIRECTORY"); -+ goto unlock_and_end; -+ } -+ } -+ if (create_info->index_file_name) -+ { -+ dirname_part(dirpath, create_info->index_file_name, &dirlen); -+ if (test_if_data_home_dir(dirpath)) -+ { -+ my_error(ER_WRONG_ARGUMENTS, MYF(0), "INDEX DIRECTORY"); -+ goto unlock_and_end; -+ } -+ } - } - - #ifdef WITH_PARTITION_STORAGE_ENGINE diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index becbcf2..c48bc38 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -4,13 +4,24 @@ wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 (note that upstream has also disabled it, but only for Solaris, so we still need this patch). +Also disable sys_vars.plugin_dir_basic, which is broken because +mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at +http://bugs.mysql.com/bug.php?id=52223 -diff -Naur mysql-5.1.51.orig/mysql-test/t/disabled.def mysql-5.1.51/mysql-test/t/disabled.def ---- mysql-5.1.51.orig/mysql-test/t/disabled.def 2010-09-13 10:10:50.000000000 -0400 -+++ mysql-5.1.51/mysql-test/t/disabled.def 2010-10-07 11:15:46.167693893 -0400 -@@ -14,3 +14,5 @@ - partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings - main.mysqlhotcopy_myisam : bug#54129 2010-06-04 Horst - main.mysqlhotcopy_archive: bug#54129 2010-06-04 Horst +Also disable perfschema.binlog_mix and perfschema.binlog_row, which +perhaps just have wrong expected-output files? Upstream at +http://bugs.mysql.com/bug.php?id=59091 + + +diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/disabled.def +--- mysql-5.5.8.orig/mysql-test/t/disabled.def 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/mysql-test/t/disabled.def 2010-12-21 11:03:07.288224692 -0500 +@@ -19,3 +19,8 @@ + sum_distinct-big : Bug#56927 2010-11-15 mattiasj was not tested + alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested + create-big : Bug#37248 2010-11-15 mattiasj was not tested +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too ++sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory ++perfschema.binlog_mix : bug#59091 possibly just forgot to update result file ++perfschema.binlog_row : bug#59091 possibly just forgot to update result file diff --git a/mysql-dubious-exports.patch b/mysql-dubious-exports.patch new file mode 100644 index 0000000..30eeedb --- /dev/null +++ b/mysql-dubious-exports.patch @@ -0,0 +1,49 @@ +Prefix mysql_ to the real names of several symbols that have to be exported +from libmysqlclient because mysql-connector-odbc depends on them. This +limits the intrusion on application namespace. + + +diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h +--- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/my_sys.h 2010-12-23 15:19:43.997552393 -0500 +@@ -227,6 +227,7 @@ + + /* charsets */ + #define MY_ALL_CHARSETS_SIZE 2048 ++#define default_charset_info mysql_default_charset_info /* namespace sanity */ + extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; + extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; + extern CHARSET_INFO compiled_charsets[]; +@@ -914,6 +915,9 @@ + extern uint get_collation_number(const char *name); + extern const char *get_charset_name(uint cs_number); + ++#define get_charset mysql_get_charset /* namespace sanity */ ++#define get_charset_by_csname mysql_get_charset_by_csname ++ + extern CHARSET_INFO *get_charset(uint cs_number, myf flags); + extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); + extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, +diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp +--- mysql-5.5.8.orig/include/mysql.h.pp 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/mysql.h.pp 2010-12-23 15:26:59.856608079 -0500 +@@ -86,7 +86,7 @@ + void my_net_local_init(NET *net); + void net_end(NET *net); + void net_clear(NET *net, my_bool clear_buffer); +-my_bool net_realloc(NET *net, size_t length); ++my_bool mysql_net_realloc(NET *net, size_t length); + my_bool net_flush(NET *net); + my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); + my_bool net_write_command(NET *net,unsigned char command, +diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h +--- mysql-5.5.8.orig/include/mysql_com.h 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/mysql_com.h 2010-12-23 15:18:08.955552431 -0500 +@@ -448,6 +448,7 @@ + void my_net_local_init(NET *net); + void net_end(NET *net); + void net_clear(NET *net, my_bool clear_buffer); ++#define net_realloc mysql_net_realloc /* namespace sanity */ + my_bool net_realloc(NET *net, size_t length); + my_bool net_flush(NET *net); + my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); diff --git a/mysql-errno.patch b/mysql-errno.patch index 30cb09b..93e61de 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,11 +1,11 @@ "extern int errno" is just a really bad idea. -diff -Naur mysql-5.1.32.orig/include/my_sys.h mysql-5.1.32/include/my_sys.h ---- mysql-5.1.32.orig/include/my_sys.h 2009-02-13 19:52:19.000000000 -0500 -+++ mysql-5.1.32/include/my_sys.h 2009-03-04 18:08:40.000000000 -0500 -@@ -199,13 +199,8 @@ - #define my_afree(PTR) my_free(PTR,MYF(MY_WME)) +diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h +--- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/my_sys.h 2010-12-20 21:20:12.622190325 -0500 +@@ -201,13 +201,8 @@ + #define my_afree(PTR) my_free(PTR) #endif /* HAVE_ALLOCA */ -#ifndef errno /* did we already get it? */ @@ -18,4 +18,4 @@ diff -Naur mysql-5.1.32.orig/include/my_sys.h mysql-5.1.32/include/my_sys.h + extern char *home_dir; /* Home directory for user */ extern const char *my_progname; /* program-name (printed in errors) */ - extern char NEAR curr_dir[]; /* Current directory for user */ + extern char curr_dir[]; /* Current directory for user */ diff --git a/mysql-lowercase-bug.patch b/mysql-lowercase-bug.patch deleted file mode 100644 index 4387838..0000000 --- a/mysql-lowercase-bug.patch +++ /dev/null @@ -1,51 +0,0 @@ -Fix multiple coding errors related to upstream bug #52019. - - -diff -Naur mysql-5.1.45.orig/client/mysqltest.cc mysql-5.1.45/client/mysqltest.cc ---- mysql-5.1.45.orig/client/mysqltest.cc 2010-03-01 14:30:46.000000000 -0500 -+++ mysql-5.1.45/client/mysqltest.cc 2010-03-25 19:46:36.000000000 -0400 -@@ -5586,7 +5586,7 @@ - /* Could be a multibyte character */ - /* This code is based on the code in "sql_load.cc" */ - #ifdef USE_MB -- int charlen = my_mbcharlen(charset_info, c); -+ int charlen = my_mbcharlen(charset_info, (unsigned char) c); - /* We give up if multibyte character is started but not */ - /* completed before we pass buf_end */ - if ((charlen > 1) && (p + charlen) <= buf_end) -@@ -5598,16 +5598,16 @@ - - for (i= 1; i < charlen; i++) - { -+ c= my_getc(cur_file->file); - if (feof(cur_file->file)) - goto found_eof; -- c= my_getc(cur_file->file); - *p++ = c; - } - if (! my_ismbchar(charset_info, mb_start, p)) - { - /* It was not a multiline char, push back the characters */ - /* We leave first 'c', i.e. pretend it was a normal char */ -- while (p > mb_start) -+ while (p > mb_start+1) - my_ungetc(*--p); - } - } -@@ -9642,6 +9642,8 @@ - void replace_dynstr_append_mem(DYNAMIC_STRING *ds, - const char *val, int len) - { -+ char lower[512]; -+ - #ifdef __WIN__ - fix_win_paths(val, len); - #endif -@@ -9649,7 +9651,6 @@ - if (display_result_lower) - { - /* Convert to lower case, and do this first */ -- char lower[512]; - char *c= lower; - for (const char *v= val; *v; v++) - *c++= my_tolower(charset_info, *v); diff --git a/mysql-missing-string-code.patch b/mysql-missing-string-code.patch deleted file mode 100644 index 4627760..0000000 --- a/mysql-missing-string-code.patch +++ /dev/null @@ -1,14 +0,0 @@ -Crude workaround for bug #587170. There are probably better ways ... - - -diff -Naur mysql-5.1.50.orig/storage/federated/Makefile.am mysql-5.1.50/storage/federated/Makefile.am ---- mysql-5.1.50.orig/storage/federated/Makefile.am 2010-08-03 13:24:29.000000000 -0400 -+++ mysql-5.1.50/storage/federated/Makefile.am 2010-08-27 23:49:22.280394828 -0400 -@@ -38,6 +38,7 @@ - ha_federated_la_CXXFLAGS= $(AM_CXXFLAGS) -DMYSQL_DYNAMIC_PLUGIN - ha_federated_la_CFLAGS = $(AM_CFLAGS) -DMYSQL_DYNAMIC_PLUGIN - ha_federated_la_SOURCES = ha_federated.cc -+ha_federated_la_LIBADD = ../../mysys/string.o - - - EXTRA_LIBRARIES = libfederated.a diff --git a/mysql-no-docs.patch b/mysql-no-docs.patch deleted file mode 100644 index 84ad86e..0000000 --- a/mysql-no-docs.patch +++ /dev/null @@ -1,39 +0,0 @@ -Remove makefile logic dealing with mysql.info. We cannot ship that -documentation since it is not freely redistributable. - - -diff -Naur mysql-5.1.44.orig/Docs/Makefile.am mysql-5.1.44/Docs/Makefile.am ---- mysql-5.1.44.orig/Docs/Makefile.am 2010-02-04 06:36:50.000000000 -0500 -+++ mysql-5.1.44/Docs/Makefile.am 2010-02-20 17:23:04.000000000 -0500 -@@ -13,28 +13,21 @@ - # along with this program; if not, write to the Free Software - # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - --EXTRA_DIST = mysql.info INSTALL-BINARY @extra_docs@ -+EXTRA_DIST = INSTALL-BINARY @extra_docs@ - --# make sure that "make install" installs the info page, too --# automake only seems to take care of this automatically, --# if we're building the info page from texi directly. --install-data-hook: $(srcdir)/mysql.info -+install-data-hook: - if test `basename $(prefix)` = "mysql" ; then \ - $(mkinstalldirs) $(DESTDIR)$(prefix)/docs ; \ -- $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(prefix)/docs ; \ - test ! -f $(top_srcdir)/ChangeLog || $(INSTALL_DATA) $(top_srcdir)/ChangeLog $(DESTDIR)$(prefix)/docs ; \ - else \ -- $(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(pkgdatadir) ; \ -- $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(infodir) ; \ -+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) ; \ - test ! -f $(top_srcdir)/ChangeLog || $(INSTALL_DATA) $(top_srcdir)/ChangeLog $(DESTDIR)$(pkgdatadir) ; \ - fi - - uninstall-local: - if test `basename $(prefix)` = "mysql" ; then \ -- @RM@ -f $(DESTDIR)$(prefix)/docs/mysql.info ; \ - @RM@ -f $(DESTDIR)$(prefix)/docs/ChangeLog ; \ - else \ -- @RM@ -f $(DESTDIR)$(infodir)/mysql.info ; \ - @RM@ -f $(DESTDIR)$(pkgdatadir)/ChangeLog ; \ - fi - diff --git a/mysql-setschedparam.patch b/mysql-setschedparam.patch deleted file mode 100644 index 3b0e518..0000000 --- a/mysql-setschedparam.patch +++ /dev/null @@ -1,22 +0,0 @@ -mysql tries to use pthread_setschedparam() with policy = SCHED_OTHER, -which is not standardized and is not presently supported on Red Hat -platforms; in fact it generates lots of SELinux warnings (bug #477624). -Easiest fix is to disable the configure test for it. - - -diff -Naur mysql-5.1.33.orig/configure.in mysql-5.1.33/configure.in ---- mysql-5.1.33.orig/configure.in 2009-03-13 17:48:52.000000000 -0400 -+++ mysql-5.1.33/configure.in 2009-04-07 19:27:25.000000000 -0400 -@@ -2046,10 +2046,10 @@ - localtime_r gethrtime gmtime_r \ - locking longjmp lrand48 madvise mallinfo memcpy memmove \ - mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \ -- pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \ -+ pthread_attr_getstacksize pthread_attr_setprio \ - pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \ - pthread_key_delete pthread_rwlock_rdlock pthread_setprio \ -- pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \ -+ pthread_setprio_np pthread_sigmask readlink \ - realpath rename rint rwlock_init setupterm \ - shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \ - sighold sigset sigthreadmask port_create sleep \ diff --git a/mysql-ssl-multilib.patch b/mysql-ssl-multilib.patch deleted file mode 100644 index 845984b..0000000 --- a/mysql-ssl-multilib.patch +++ /dev/null @@ -1,20 +0,0 @@ -We can do without -L/usr/lib/, especially in 64-bit builds ... - - -diff -Naur mysql-5.1.30.orig/config/ac-macros/ssl.m4 mysql-5.1.30/config/ac-macros/ssl.m4 ---- mysql-5.1.30.orig/config/ac-macros/ssl.m4 2008-11-14 11:34:23.000000000 -0500 -+++ mysql-5.1.30/config/ac-macros/ssl.m4 2009-01-13 19:17:09.000000000 -0500 -@@ -102,7 +102,12 @@ - # - # Try to link with openSSL libs in - # -- openssl_libs="-L$location/lib/ -lssl -lcrypto" -+ if test "$location" != "/usr" -+ then -+ openssl_libs="-L$location/lib/ -lssl -lcrypto" -+ else -+ openssl_libs="-lssl -lcrypto" -+ fi - MYSQL_CHECK_SSL_DIR([$openssl_includes], [$openssl_libs]) - - if test "$mysql_ssl_found" == "no" diff --git a/mysql-stack-guard.patch b/mysql-stack-guard.patch index d1e3a3f..0634560 100644 --- a/mysql-stack-guard.patch +++ b/mysql-stack-guard.patch @@ -8,9 +8,9 @@ mysqld.cc; is it important to fix any of the others? Filed upstream at http://bugs.mysql.com/bug.php?id=35019 -diff -Naur mysql-5.1.30.orig/sql/mysqld.cc mysql-5.1.30/sql/mysqld.cc ---- mysql-5.1.30.orig/sql/mysqld.cc 2008-11-14 11:37:13.000000000 -0500 -+++ mysql-5.1.30/sql/mysqld.cc 2009-01-13 12:08:35.000000000 -0500 +diff -Naur mysql-5.5.8.orig/sql/mysqld.cc mysql-5.5.8/sql/mysqld.cc +--- mysql-5.5.8.orig/sql/mysqld.cc 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/sql/mysqld.cc 2010-12-20 22:01:08.939186906 -0500 @@ -2602,6 +2602,70 @@ } @@ -82,10 +82,10 @@ diff -Naur mysql-5.1.30.orig/sql/mysqld.cc mysql-5.1.30/sql/mysqld.cc static void start_signal_handler(void) { int error; -@@ -2614,15 +2678,7 @@ +@@ -2612,15 +2676,7 @@ + #if !defined(HAVE_DEC_3_2_THREADS) + pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM); (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); - if (!(opt_specialflag & SPECIAL_NO_PRIOR)) - my_pthread_attr_setprio(&thr_attr,INTERRUPT_PRIOR); -#if defined(__ia64__) || defined(__ia64) - /* - Peculiar things with ia64 platforms - it seems we only have half the @@ -98,11 +98,11 @@ diff -Naur mysql-5.1.30.orig/sql/mysqld.cc mysql-5.1.30/sql/mysqld.cc + (void) my_setstacksize(&thr_attr,my_thread_stack_size); #endif - (void) pthread_mutex_lock(&LOCK_thread_count); -@@ -4176,40 +4232,12 @@ + mysql_mutex_lock(&LOCK_thread_count); +@@ -4361,36 +4417,8 @@ + unireg_abort(1); // Will do exit + init_signals(); - if (!(opt_specialflag & SPECIAL_NO_PRIOR)) - my_pthread_setprio(pthread_self(),CONNECT_PRIOR); -#if defined(__ia64__) || defined(__ia64) - /* - Peculiar things with ia64 platforms - it seems we only have half the @@ -112,7 +112,7 @@ diff -Naur mysql-5.1.30.orig/sql/mysqld.cc mysql-5.1.30/sql/mysqld.cc -#else - pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size); -#endif --#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE + #ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE - { - /* Retrieve used stack size; Needed for checking stack overflows */ - size_t stack_size= 0; @@ -133,12 +133,6 @@ diff -Naur mysql-5.1.30.orig/sql/mysqld.cc mysql-5.1.30/sql/mysqld.cc -#endif - } - } --#endif -+ - #ifdef __NETWARE__ - /* Increasing stacksize of threads on NetWare */ - pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE); -+#else + my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size); #endif diff --git a/mysql-strmov.patch b/mysql-strmov.patch index a144d09..3d8ccec 100644 --- a/mysql-strmov.patch +++ b/mysql-strmov.patch @@ -13,14 +13,16 @@ of any real performance gain from optimizing these calls. So I'm keeping this patch. -diff -Naur mysql-5.1.37.orig/include/m_string.h mysql-5.1.37/include/m_string.h ---- mysql-5.1.37.orig/include/m_string.h 2009-07-13 19:08:50.000000000 -0400 -+++ mysql-5.1.37/include/m_string.h 2009-08-31 21:49:49.000000000 -0400 -@@ -81,13 +81,6 @@ +diff -Naur mysql-5.5.8.orig/include/m_string.h mysql-5.5.8/include/m_string.h +--- mysql-5.5.8.orig/include/m_string.h 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/m_string.h 2010-12-20 21:39:13.905186372 -0500 +@@ -74,15 +74,6 @@ extern void *(*my_str_malloc)(size_t); extern void (*my_str_free)(void *); --#if defined(HAVE_STPCPY) +-#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) +-#define strmov(A,B) __builtin_stpcpy((A),(B)) +-#elif defined(HAVE_STPCPY) -#define strmov(A,B) stpcpy((A),(B)) -#ifndef stpcpy -extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */ @@ -28,5 +30,5 @@ diff -Naur mysql-5.1.37.orig/include/m_string.h mysql-5.1.37/include/m_string.h -#endif - /* Declared in int2str() */ - extern char NEAR _dig_vec_upper[]; - extern char NEAR _dig_vec_lower[]; + extern char _dig_vec_upper[]; + extern char _dig_vec_lower[]; diff --git a/mysql-testing.patch b/mysql-testing.patch deleted file mode 100644 index 7438713..0000000 --- a/mysql-testing.patch +++ /dev/null @@ -1,23 +0,0 @@ -Hack the top-level Makefile to enable the openssl regression tests. -(Why doesn't this happen automatically given the configure option??) - -Also, increase the overall timeout for the regression tests to 12 hours, -because on a slow or heavily-loaded build machine sometimes the default of -5 hours isn't enough. (This has been demonstrated to fail in mass-rebuild -scenarios, which aren't that uncommon for Fedora.) Similarly increase the -per-testcase timeout to 30 minutes, since the default of 15 hasn't got a -great deal of headroom either. - - -diff -Naur mysql-5.1.32.orig/Makefile.am mysql-5.1.32/Makefile.am ---- mysql-5.1.32.orig/Makefile.am 2009-02-13 19:51:56.000000000 -0500 -+++ mysql-5.1.32/Makefile.am 2009-03-04 18:12:36.000000000 -0500 -@@ -98,7 +98,7 @@ - - test-ns: - cd mysql-test ; \ -- @PERL@ ./mysql-test-run.pl $(force) $(mem) --mysqld=--binlog-format=mixed -+ @PERL@ ./mysql-test-run.pl $(force) $(mem) --ssl --mysqld=--binlog-format=mixed --suite-timeout=720 --testcase-timeout=30 - - test-binlog-statement: - cd mysql-test ; \ diff --git a/mysql-versioning.patch b/mysql-versioning.patch new file mode 100644 index 0000000..aaaa828 --- /dev/null +++ b/mysql-versioning.patch @@ -0,0 +1,18 @@ +The symbol versioning solution for libmysqlclient in mysql 5.1 was pretty +awful (export everything) and as of 5.5.8 the cmake build scripts have +forgotten the issue entirely. So we now maintain our own list of exported +symbols and jam it into the build with this hack. + + +diff -Naur mysql-5.5.8.orig/libmysql/CMakeLists.txt mysql-5.5.8/libmysql/CMakeLists.txt +--- mysql-5.5.8.orig/libmysql/CMakeLists.txt 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/libmysql/CMakeLists.txt 2010-12-21 21:00:07.135311386 -0500 +@@ -197,7 +197,7 @@ + SET(libmysql_link_flags) + ENDIF() + SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS +- "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}") ++ "${libmysql_link_flags} -Wl,--version-script=libmysql.version ${LINK_FLAG_NO_UNDEFINED}") + ENDIF() + # clean direct output needs to be set several targets have the same name + #(mysqlclient in this case) diff --git a/mysql.spec b/mysql.spec index fab4b93..0a73020 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,11 +1,11 @@ Name: mysql -Version: 5.1.52 +Version: 5.5.8 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com # exceptions allow client libraries to be linked with most open source SW, -# not only GPL code. +# not only GPL code. See README.mysql-license License: GPLv2 with exceptions # Regression tests take a long time, you can skip 'em with this @@ -25,30 +25,26 @@ Source3: my.cnf Source4: scriptstub.c Source5: my_config.h Source6: README.mysql-docs +Source7: README.mysql-license +Source8: libmysql.version Source9: mysql-embedded-check.c # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh -Patch1: mysql-ssl-multilib.patch -Patch2: mysql-errno.patch -# Patch3: mysql-stack.patch -Patch4: mysql-testing.patch -Patch5: mysql-install-test.patch -Patch6: mysql-stack-guard.patch -Patch7: mysql-disable-test.patch -Patch8: mysql-setschedparam.patch -Patch9: mysql-no-docs.patch -Patch10: mysql-strmov.patch -Patch12: mysql-cve-2008-7247.patch -Patch13: mysql-expired-certs.patch -Patch14: mysql-missing-string-code.patch -Patch15: mysql-lowercase-bug.patch -Patch16: mysql-chain-certs.patch +Patch1: mysql-errno.patch +Patch2: mysql-strmov.patch +Patch3: mysql-install-test.patch +Patch4: mysql-expired-certs.patch +Patch5: mysql-stack-guard.patch +Patch6: mysql-chain-certs.patch +Patch7: mysql-versioning.patch +Patch8: mysql-dubious-exports.patch +Patch9: mysql-disable-test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel -BuildRequires: gcc-c++, ncurses-devel, zlib-devel -BuildRequires: libtool automake autoconf gawk +BuildRequires: gcc-c++, cmake, ncurses-devel, zlib-devel, libaio-devel +BuildRequires: systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps # Socket is needed to run regression tests @@ -89,6 +85,7 @@ MySQL server. Summary: The MySQL server and related files Group: Applications/Databases Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd Requires(post): chkconfig @@ -111,6 +108,7 @@ the MySQL server and some accompanying files and directories. Summary: Files for development of MySQL applications Group: Applications/Databases Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} Requires: openssl-devel Conflicts: MySQL-devel @@ -158,6 +156,7 @@ MySQL. Summary: The test suite distributed with MySQL Group: Applications/Databases Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Conflicts: MySQL-test @@ -171,28 +170,19 @@ the MySQL sources. %patch1 -p1 %patch2 -p1 -# %patch3 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt -libtoolize --force -aclocal -automake --add-missing -Wno-portability -autoconf -autoheader +# upstream has fallen down badly on symbol versioning, do it ourselves +cp %{SOURCE8} libmysql/libmysql.version %build @@ -221,43 +211,46 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS -# mysql 5.1.30 fails regression tests on x86 unless we use --with-big-tables, -# suggesting that upstream doesn't bother to test the other case ... -# note: the with-plugin and without-plugin options do actually work; ignore -# warnings from configure suggesting they are ignored ... -%configure \ - --with-readline \ - --with-ssl=/usr \ - --without-debug \ - --enable-shared \ - --with-embedded-server \ - --localstatedir=/var/lib/mysql \ - --with-unix-socket-path=/var/lib/mysql/mysql.sock \ - --with-mysqld-user="mysql" \ - --with-extra-charsets=all \ - --with-big-tables \ - --with-pic \ - --with-plugin-innobase \ - --without-plugin-innodb_plugin \ - --with-plugin-partition \ - --enable-local-infile \ - --enable-largefile \ - --enable-thread-safe-client \ - --disable-dependency-tracking +# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX +# so we can't use %%{_datadir} and so forth here. + +cmake . -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SQLBENCHDIR=share \ + -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -DMYSQL_DATADIR="/var/lib/mysql" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DENABLED_LOCAL_INFILE=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} -# Not enabling assembler - -make %{?_smp_mflags} +make %{?_smp_mflags} VERBOSE=1 # regular build will make libmysqld.a but not libmysqld.so :-( mkdir libmysqld/work cd libmysqld/work ar -x ../libmysqld.a +# these result in missing dependencies: (filed upstream as bug 59104) +rm -f sql_binlog.cc.o rpl_utility.cc.o gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \ - *.o \ - -lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc + *.o ../../probes_mysql.o \ + -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc # this is to check that we built a complete library cp %{SOURCE9} . ln -s libmysqld.so.0.0.1 libmysqld.so.0 @@ -265,8 +258,6 @@ gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 LD_LIBRARY_PATH=. ldd ./a.out cd ../.. -make check - %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine case `uname -m` in @@ -279,16 +270,31 @@ make check esac export MTR_BUILD_THREAD - # note: "make test" invokes two largely-duplicate sets of tests, - # which makes the runtime really unacceptably long ... - # if you want to change this, look at mysql-testing.patch too. - make test-ns + make test + + # The cmake build scripts don't provide any simple way to control the + # options for mysql-test-run, so ignore the make target and just call it + # manually. Nonstandard options chosen are: + # --force to continue tests after a failure + # no retries please + # test SSL with --ssl + # avoid redundant test runs with --binlog-format=mixed + # increase timeouts to prevent unwanted failures during mass rebuilds + ( + cd mysql-test + perl ./mysql-test-run.pl --force --retry=0 --ssl --mysqld=--binlog-format=mixed --suite-timeout=720 --testcase-timeout=30 + # cmake build scripts will install the var cruft if left alone :-( + rm -rf var + ) %endif %install rm -rf $RPM_BUILD_ROOT -%makeinstall +make DESTDIR=$RPM_BUILD_ROOT install + +# List the installed tree for RPM package maintenance purposes. +find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 @@ -301,56 +307,70 @@ case `uname -i` in ;; esac +# cmake generates some completely wacko references to -lprobes_mysql when +# building with dtrace support. Haven't found where to shut that off, +# so resort to this blunt instrument. While at it, let's not reference +# libmysqlclient_r anymore either. +sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ + ${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp +cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config + mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log -# List the installed tree for RPM package maintenance purposes. -find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES - mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf -mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench -mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test -# 5.1.32 forgets to install the mysql-test README file -install -m 0644 mysql-test/README $RPM_BUILD_ROOT%{_datadir}/mysql-test/README +# Fix funny permissions that cmake build scripts apply to config files +chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini + +# Fix scripts for multilib safety mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +# Remove libmysqld.a, install libmysqld.so rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1 ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0 ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so -rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* -rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution -rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la +# libmysqlclient_r is no more. Upstream tries to replace it with symlinks +# but that really doesn't work (wrong soname in particular). We'll keep +# just the devel libmysqlclient_r.so link, so that rebuilding without any +# source change is enough to get rid of dependency on libmysqlclient_r. +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so* +ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so + +# mysql-test includes one executable that doesn't belong under /usr/share, +# so move it and provide a symlink +mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir} +ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process + +# Remove files that %%doc will install in preferred location +rm -f ${RPM_BUILD_ROOT}/usr/COPYING +rm -f ${RPM_BUILD_ROOT}/usr/README + +# Remove files we don't want installed at all +rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY +rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog +rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty +rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty +# should move this to /etc/ ? +rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.la -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.a rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall -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-log-rotate -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ChangeLog +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* @@ -359,6 +379,7 @@ echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them cp %{SOURCE6} README.mysql-docs +cp %{SOURCE7} README.mysql-license %clean rm -rf $RPM_BUILD_ROOT @@ -397,7 +418,7 @@ fi %files %defattr(-,root,root) -%doc README COPYING EXCEPTIONS-CLIENT +%doc README COPYING README.mysql-license %doc README.mysql-docs %{_bindir}/msql2mysql @@ -426,17 +447,16 @@ fi %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* -%{_libdir}/mysql/mysqlbug %{_libdir}/mysql/mysql_config %files libs %defattr(-,root,root) -%doc COPYING EXCEPTIONS-CLIENT +%doc README COPYING README.mysql-license # 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 -%{_libdir}/mysql/libmysqlclient*.so.* +%{_libdir}/mysql/libmysqlclient.so.* /etc/ld.so.conf.d/* %dir %{_datadir}/mysql @@ -475,7 +495,6 @@ fi %{_bindir}/myisampack %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions -%{_bindir}/mysql_fix_privilege_tables %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_setpermission @@ -495,7 +514,8 @@ fi %{_bindir}/resolveip /usr/libexec/mysqld -/usr/libexec/mysqlmanager + +%{_libdir}/mysql/mysqlbug %{_libdir}/mysql/plugin @@ -507,7 +527,6 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* @@ -530,11 +549,9 @@ fi %{_mandir}/man1/resolveip.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* -%{_mandir}/man8/mysqlmanager.8* -%{_datadir}/mysql/errmsg.txt +%{_datadir}/mysql/errmsg-utf8.txt %{_datadir}/mysql/fill_help_tables.sql -%{_datadir}/mysql/mysql_fix_privilege_tables.sql %{_datadir}/mysql/mysql_system_tables.sql %{_datadir}/mysql/mysql_system_tables_data.sql %{_datadir}/mysql/mysql_test_data_timezone.sql @@ -550,11 +567,12 @@ fi %defattr(-,root,root) /usr/include/mysql /usr/share/aclocal/mysql.m4 -%{_libdir}/mysql/libmysqlclient*.so +%{_libdir}/mysql/libmysqlclient.so +%{_libdir}/mysql/libmysqlclient_r.so %files embedded %defattr(-,root,root) -%doc COPYING EXCEPTIONS-CLIENT +%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so.* %files embedded-devel @@ -572,11 +590,18 @@ fi %files test %defattr(-,root,root) %{_bindir}/mysql_client_test +%{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Dec 23 2010 Tom Lane 5.5.8-1 +- Update to MySQL 5.5.8 (major version bump). Note this includes removal + of libmysqlclient_r.so. +- Add a linker version script to hide libmysqlclient functions that aren't + part of the documented API. + * Mon Nov 1 2010 Tom Lane 5.1.52-1 - Update to MySQL 5.1.52, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-52.html diff --git a/sources b/sources index c7065a3..00d9f3f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -998cc66664f6289596bde8fac85dd831 mysql-5.1.52-nodocs.tar.gz +a2214f5a79516c1e6b36b82f1dd361a0 mysql-5.5.8-nodocs.tar.gz From 7f906528f0ebb75e77177af47b7ea7d6b4865f06 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 26 Dec 2010 17:24:09 -0500 Subject: [PATCH 183/616] Update comments about disabled tests. --- mysql-disable-test.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index c48bc38..03ee4f0 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -8,8 +8,8 @@ Also disable sys_vars.plugin_dir_basic, which is broken because mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at http://bugs.mysql.com/bug.php?id=52223 -Also disable perfschema.binlog_mix and perfschema.binlog_row, which -perhaps just have wrong expected-output files? Upstream at +Also disable perfschema.binlog_mix and perfschema.binlog_row, which have +expected output that doesn't match when openssl is in use. Upstream at http://bugs.mysql.com/bug.php?id=59091 @@ -23,5 +23,5 @@ diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/d +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory -+perfschema.binlog_mix : bug#59091 possibly just forgot to update result file -+perfschema.binlog_row : bug#59091 possibly just forgot to update result file ++perfschema.binlog_mix : bug#59091 fails with openssl ++perfschema.binlog_row : bug#59091 fails with openssl From e827fc7993970a0bc9d3b6ece8b2ff7483e4f5d5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 27 Dec 2010 16:06:48 -0500 Subject: [PATCH 184/616] Add mysql_client_errors[] to the set of exported libmysqlclient symbols --- libmysql.version | 2 ++ mysql-dubious-exports.patch | 21 ++++++++++++++++----- mysql.spec | 6 +++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/libmysql.version b/libmysql.version index d53adbc..dcae997 100644 --- a/libmysql.version +++ b/libmysql.version @@ -126,4 +126,6 @@ libmysqlclient_16.1 { mysql_get_charset; mysql_get_charset_by_csname; mysql_net_realloc; +# PHP's mysqli.so requires this (via the ER() macro). + mysql_client_errors; }; diff --git a/mysql-dubious-exports.patch b/mysql-dubious-exports.patch index 30eeedb..3342bf8 100644 --- a/mysql-dubious-exports.patch +++ b/mysql-dubious-exports.patch @@ -1,11 +1,22 @@ Prefix mysql_ to the real names of several symbols that have to be exported -from libmysqlclient because mysql-connector-odbc depends on them. This -limits the intrusion on application namespace. +from libmysqlclient because mysql-connector-odbc and/or PHP depend on them. +This limits the intrusion on application namespace. +diff -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h +--- mysql-5.5.8.orig/include/errmsg.h 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/errmsg.h 2010-12-27 14:29:59.184552374 -0500 +@@ -24,6 +24,7 @@ + #endif + void init_client_errs(void); + void finish_client_errs(void); ++#define client_errors mysql_client_errors /* namespace sanity */ + extern const char *client_errors[]; /* Error messages */ + #ifdef __cplusplus + } diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h --- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/my_sys.h 2010-12-23 15:19:43.997552393 -0500 ++++ mysql-5.5.8/include/my_sys.h 2010-12-27 14:27:23.956926896 -0500 @@ -227,6 +227,7 @@ /* charsets */ @@ -26,7 +37,7 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp --- mysql-5.5.8.orig/include/mysql.h.pp 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/mysql.h.pp 2010-12-23 15:26:59.856608079 -0500 ++++ mysql-5.5.8/include/mysql.h.pp 2010-12-27 14:27:23.956926896 -0500 @@ -86,7 +86,7 @@ void my_net_local_init(NET *net); void net_end(NET *net); @@ -38,7 +49,7 @@ diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp my_bool net_write_command(NET *net,unsigned char command, diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h --- mysql-5.5.8.orig/include/mysql_com.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/mysql_com.h 2010-12-23 15:18:08.955552431 -0500 ++++ mysql-5.5.8/include/mysql_com.h 2010-12-27 14:27:23.957927198 -0500 @@ -448,6 +448,7 @@ void my_net_local_init(NET *net); void net_end(NET *net); diff --git a/mysql.spec b/mysql.spec index 0a73020..c0f4c29 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -596,6 +596,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Dec 27 2010 Tom Lane 5.5.8-2 +- Add mysql_client_errors[] to the set of exported libmysqlclient symbols; + needed by PHP. + * Thu Dec 23 2010 Tom Lane 5.5.8-1 - Update to MySQL 5.5.8 (major version bump). Note this includes removal of libmysqlclient_r.so. From 288764ba3f3538e8b4b0a701f0d7d90a7622204b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 3 Jan 2011 14:21:39 -0500 Subject: [PATCH 185/616] Add my_print_help, load_defaults, free_defaults, and handle_options back to the ABI. --- libmysql.version | 18 ++++++++++++++---- mysql.spec | 8 +++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/libmysql.version b/libmysql.version index dcae997..83ac3c9 100644 --- a/libmysql.version +++ b/libmysql.version @@ -107,6 +107,12 @@ libmysqlclient_16 { mysql_thread_safe; mysql_use_result; mysql_warning_count; +# These are documented in Paul DuBois' MySQL book, so we treat them as part +# of the de-facto API. + free_defaults; + handle_options; + load_defaults; + my_print_help; local: *; }; @@ -119,13 +125,17 @@ libmysqlclient_16.1 { mysql_load_plugin_v; mysql_plugin_options; mysql_stmt_next_result; -# Ideally these wouldn't be exported, but mysql-connector-odbc requires them. -# We limit the damage by prefixing mysql_ (see mysql-dubious-exports.patch), -# which means the symbols are not present in libmysqlclient_16. +# +# Ideally the following symbols wouldn't be exported, but various applications +# require them. We limit the namespace damage by prefixing mysql_ +# (see mysql-dubious-exports.patch), which means the symbols are not present +# in libmysqlclient_16. +# +# mysql-connector-odbc requires these mysql_default_charset_info; mysql_get_charset; mysql_get_charset_by_csname; mysql_net_realloc; -# PHP's mysqli.so requires this (via the ER() macro). +# PHP's mysqli.so requires this (via the ER() macro) mysql_client_errors; }; diff --git a/mysql.spec b/mysql.spec index c0f4c29..ac55f78 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -596,6 +596,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jan 3 2011 Tom Lane 5.5.8-3 +- my_print_help, load_defaults, free_defaults, and handle_options all turn + out to be documented/recommended in Paul DuBois' MySQL book, so we'd better + consider them part of the de-facto API. +Resolves: #666728 + * Mon Dec 27 2010 Tom Lane 5.5.8-2 - Add mysql_client_errors[] to the set of exported libmysqlclient symbols; needed by PHP. From 9f11c7960c5d25f8fae66e132a6a82b7b6c1bcd4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 13 Jan 2011 00:40:24 -0500 Subject: [PATCH 186/616] Fix crash during startup of embedded mysqld library --- mysql-embedded-crash.patch | 19 +++++++++++++++++++ mysql.spec | 8 +++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 mysql-embedded-crash.patch diff --git a/mysql-embedded-crash.patch b/mysql-embedded-crash.patch new file mode 100644 index 0000000..b445fce --- /dev/null +++ b/mysql-embedded-crash.patch @@ -0,0 +1,19 @@ +Fix crash in embedded mysql library when mysql_library_init() is invoked +with argc = 0, as is supposed to be a supported thing to do. +Patch from upstream bug #57931. + + +diff -Naur mysql-5.5.8.orig/libmysqld/lib_sql.cc mysql-5.5.8/libmysqld/lib_sql.cc +--- mysql-5.5.8.orig/libmysqld/lib_sql.cc 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/libmysqld/lib_sql.cc 2011-01-12 23:10:55.837471629 -0500 +@@ -510,8 +510,8 @@ + return 1; + defaults_argc= *argcp; + defaults_argv= *argvp; +- remaining_argc= argc; +- remaining_argv= argv; ++ remaining_argc= *argcp; ++ remaining_argv= *argvp; + + /* Must be initialized early for comparison of options name */ + system_charset_info= &my_charset_utf8_general_ci; diff --git a/mysql.spec b/mysql.spec index ac55f78..d282a0d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -40,6 +40,7 @@ Patch6: mysql-chain-certs.patch Patch7: mysql-versioning.patch Patch8: mysql-dubious-exports.patch Patch9: mysql-disable-test.patch +Patch10: mysql-embedded-crash.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -177,6 +178,7 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -596,6 +598,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 13 2011 Tom Lane 5.5.8-4 +- Fix crash during startup of embedded mysqld library +Resolves: #667365 + * Mon Jan 3 2011 Tom Lane 5.5.8-3 - my_print_help, load_defaults, free_defaults, and handle_options all turn out to be documented/recommended in Paul DuBois' MySQL book, so we'd better From 23dc9d67302c563271ae30971d77b0df709058c7 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 13 Jan 2011 12:38:23 -0500 Subject: [PATCH 187/616] Fix failure to honor MYSQL_HOME environment variable --- mysql-home.patch | 16 ++++++++++++++++ mysql.spec | 8 +++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 mysql-home.patch diff --git a/mysql-home.patch b/mysql-home.patch new file mode 100644 index 0000000..054d389 --- /dev/null +++ b/mysql-home.patch @@ -0,0 +1,16 @@ +mysql 5.5's new cmake-based build scripts forgot about defining +DEFAULT_HOME_ENV. Upstream at http://bugs.mysql.com/bug.php?id=59280 + + +diff -Naur mysql-5.5.8.orig/mysys/CMakeLists.txt mysql-5.5.8/mysys/CMakeLists.txt +--- mysql-5.5.8.orig/mysys/CMakeLists.txt 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/mysys/CMakeLists.txt 2011-01-13 11:58:42.583471734 -0500 +@@ -69,6 +69,8 @@ + SET(MYSYS_SOURCES ${MYSYS_SOURCES} my_port.c) + ENDIF() + ++ADD_DEFINITIONS( -DDEFAULT_HOME_ENV=MYSQL_HOME) ++ + ADD_CONVENIENCE_LIBRARY(mysys ${MYSYS_SOURCES}) + TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY} + ${LIBNSL} ${LIBM} ${LIBRT}) diff --git a/mysql.spec b/mysql.spec index d282a0d..223a797 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -41,6 +41,7 @@ Patch7: mysql-versioning.patch Patch8: mysql-dubious-exports.patch Patch9: mysql-disable-test.patch Patch10: mysql-embedded-crash.patch +Patch11: mysql-home.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -179,6 +180,7 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -598,6 +600,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 13 2011 Tom Lane 5.5.8-5 +- Fix failure to honor MYSQL_HOME environment variable +Resolves: #669364 + * Thu Jan 13 2011 Tom Lane 5.5.8-4 - Fix crash during startup of embedded mysqld library Resolves: #667365 From d6aa0db756fc6103309485787f7cbf4a3edb4601 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 20 Jan 2011 16:54:14 -0500 Subject: [PATCH 188/616] Remove no-longer-needed special switches in CXXFLAGS --- mysql.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mysql.spec b/mysql.spec index 223a797..4f5a8f6 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -211,8 +211,7 @@ CFLAGS="$CFLAGS -fPIC" %ifarch sparc sparcv9 sparc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif -# extra C++ flags as per recommendations in mysql's INSTALL-SOURCE doc -CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions" +CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -600,6 +599,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 20 2011 Tom Lane 5.5.8-6 +- Remove no-longer-needed special switches in CXXFLAGS, per yesterday's + discussion in fedora-devel about -fexceptions. +- Rebuild needed anyway to check compatibility with latest systemtap. + * Thu Jan 13 2011 Tom Lane 5.5.8-5 - Fix failure to honor MYSQL_HOME environment variable Resolves: #669364 From 6303e8444842ce847bf33be724260f7981bcfb9a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 2 Feb 2011 17:59:34 -0500 Subject: [PATCH 189/616] Work around some portability issues on PPC64 --- mysql-plugin-bool.patch | 42 +++++++++++++++++++++++++++++++++++++++++ mysql.spec | 17 ++++++++++++++--- 2 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 mysql-plugin-bool.patch diff --git a/mysql-plugin-bool.patch b/mysql-plugin-bool.patch new file mode 100644 index 0000000..a8458f4 --- /dev/null +++ b/mysql-plugin-bool.patch @@ -0,0 +1,42 @@ +Fix plugin boolean variables to receive the value "1", not "-1", when they +are set to 1. Aside from being bizarre, the existing behavior is unportable: +machines where char is unsigned print "255" instead. Filed upstream at +http://bugs.mysql.com/bug.php?id=59905 + + +diff -Naur mysql-5.5.8.orig/sql/sql_plugin.cc mysql-5.5.8/sql/sql_plugin.cc +--- mysql-5.5.8.orig/sql/sql_plugin.cc 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/sql/sql_plugin.cc 2011-02-01 20:34:10.218305349 -0500 +@@ -2024,7 +2024,7 @@ + goto err; + result= (int) tmp; + } +- *(my_bool *) save= -result; ++ *(my_bool *) save= result ? true : false; + return 0; + err: + return 1; +diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result +--- mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2010-12-03 12:58:25.000000000 -0500 ++++ mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2011-02-01 21:53:20.006302245 -0500 +@@ -45,7 +45,7 @@ + ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL + select @@global.rpl_semi_sync_master_enabled; + @@global.rpl_semi_sync_master_enabled +--1 ++1 + select @@session.rpl_semi_sync_master_enabled; + ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable + show global variables like 'rpl_semi_sync_master_enabled'; +diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result +--- mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2011-02-01 21:53:59.689249491 -0500 +@@ -45,7 +45,7 @@ + ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL + select @@global.rpl_semi_sync_slave_enabled; + @@global.rpl_semi_sync_slave_enabled +--1 ++1 + select @@session.rpl_semi_sync_slave_enabled; + ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable + show global variables like 'rpl_semi_sync_slave_enabled'; diff --git a/mysql.spec b/mysql.spec index 4f5a8f6..daad5bb 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -42,6 +42,7 @@ Patch8: mysql-dubious-exports.patch Patch9: mysql-disable-test.patch Patch10: mysql-embedded-crash.patch Patch11: mysql-home.patch +Patch12: mysql-plugin-bool.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -49,8 +50,8 @@ BuildRequires: gcc-c++, cmake, ncurses-devel, zlib-devel, libaio-devel BuildRequires: systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps -# Socket is needed to run regression tests -BuildRequires: perl(Socket) +# Socket and Time::HiRes are needed to run regression tests +BuildRequires: perl(Socket), perl(Time::HiRes) Requires: grep, fileutils Requires: %{name}-libs = %{version}-%{release} @@ -181,6 +182,7 @@ the MySQL sources. %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -206,6 +208,11 @@ CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" +# MySQL 5.5.8 fails its gis regression test on PPC without -ffloat-store; +# filed upstream at http://bugs.mysql.com/bug.php?id=59908 +%ifarch ppc ppc64 +CFLAGS="$CFLAGS -ffloat-store" +%endif # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization # submitted as bz #529298 %ifarch sparc sparcv9 sparc64 @@ -599,6 +606,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Feb 2 2011 Tom Lane 5.5.8-7 +- Work around some portability issues on PPC64 +Resolves: #674253 + * Thu Jan 20 2011 Tom Lane 5.5.8-6 - Remove no-longer-needed special switches in CXXFLAGS, per yesterday's discussion in fedora-devel about -fexceptions. From 5432a5d7e3940422b40677ec6d1d98b1bc922c21 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 3 Feb 2011 11:44:55 -0500 Subject: [PATCH 190/616] Disable gis test; adjust perl requires filtering for rpm 4.9. --- mysql-disable-test.patch | 9 +++++++-- mysql.spec | 16 +++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 03ee4f0..2719353 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -12,11 +12,15 @@ Also disable perfschema.binlog_mix and perfschema.binlog_row, which have expected output that doesn't match when openssl is in use. Upstream at http://bugs.mysql.com/bug.php?id=59091 +Also disable gis, which expects the results of floating-point calculations +to match to seventeen digits precision everywhere. Of course they won't. +Upstream at http://bugs.mysql.com/bug.php?id=59908 + diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/disabled.def --- mysql-5.5.8.orig/mysql-test/t/disabled.def 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/mysql-test/t/disabled.def 2010-12-21 11:03:07.288224692 -0500 -@@ -19,3 +19,8 @@ ++++ mysql-5.5.8/mysql-test/t/disabled.def 2011-02-03 11:10:31.325627589 -0500 +@@ -19,3 +19,9 @@ sum_distinct-big : Bug#56927 2010-11-15 mattiasj was not tested alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested create-big : Bug#37248 2010-11-15 mattiasj was not tested @@ -25,3 +29,4 @@ diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/d +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory +perfschema.binlog_mix : bug#59091 fails with openssl +perfschema.binlog_row : bug#59091 fails with openssl ++gis : bug#59908 has platform-dependent results diff --git a/mysql.spec b/mysql.spec index daad5bb..d533a4a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 7%{?dist} +Release: 8%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -62,8 +62,9 @@ Conflicts: MySQL # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 -# Working around perl dependency checking bug in rpm FTTB. Remove later. +# When rpm 4.9 is universal, this could be cleaned up: %global __perl_requires %{SOURCE999} +%global __perllib_requires %{SOURCE999} %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -208,11 +209,6 @@ CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# MySQL 5.5.8 fails its gis regression test on PPC without -ffloat-store; -# filed upstream at http://bugs.mysql.com/bug.php?id=59908 -%ifarch ppc ppc64 -CFLAGS="$CFLAGS -ffloat-store" -%endif # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization # submitted as bz #529298 %ifarch sparc sparcv9 sparc64 @@ -606,6 +602,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Feb 3 2011 Tom Lane 5.5.8-8 +- PPC64 floating-point differences are not masked by -ffloat-store after all, + so let's just disable gis regression test till upstream makes it less picky +Resolves: #674253 +- Add __perllib_requires setting to make rpm 4.9 do what we need + * Wed Feb 2 2011 Tom Lane 5.5.8-7 - Work around some portability issues on PPC64 Resolves: #674253 From 4277e45376cff001cc9e0103060c7f64cad294d4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 4 Feb 2011 12:52:14 -0500 Subject: [PATCH 191/616] Support s390/s390x in performance schema's cycle-counting functions --- mysql-s390-tsc.patch | 41 +++++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 mysql-s390-tsc.patch diff --git a/mysql-s390-tsc.patch b/mysql-s390-tsc.patch new file mode 100644 index 0000000..00811a4 --- /dev/null +++ b/mysql-s390-tsc.patch @@ -0,0 +1,41 @@ +Support s390/s390x in performance schema's cycle-counting functions. +Filed upstream at http://bugs.mysql.com/bug.php?id=59953 + + +diff -Naur mysql-5.5.8.orig/include/my_rdtsc.h mysql-5.5.8/include/my_rdtsc.h +--- mysql-5.5.8.orig/include/my_rdtsc.h 2010-12-03 12:58:24.000000000 -0500 ++++ mysql-5.5.8/include/my_rdtsc.h 2011-02-04 11:16:45.431459913 -0500 +@@ -124,6 +124,7 @@ + #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 + #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 + #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 ++#define MY_TIMER_ROUTINE_ASM_S390 28 + + #endif + +diff -Naur mysql-5.5.8.orig/mysys/my_rdtsc.c mysql-5.5.8/mysys/my_rdtsc.c +--- mysql-5.5.8.orig/mysys/my_rdtsc.c 2010-12-03 12:58:26.000000000 -0500 ++++ mysql-5.5.8/mysys/my_rdtsc.c 2011-02-04 11:16:45.432465577 -0500 +@@ -224,6 +224,13 @@ + clock_gettime(CLOCK_SGI_CYCLE, &tp); + return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; + } ++#elif defined(__GNUC__) && defined(__s390__) ++ /* covers both s390 and s390x */ ++ { ++ ulonglong result; ++ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); ++ return result; ++ } + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) + /* gethrtime may appear as either cycle or nanosecond counter */ + return (ulonglong) gethrtime(); +@@ -533,6 +540,8 @@ + mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; + #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) + mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; ++#elif defined(__GNUC__) && defined(__s390__) ++ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) + mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME; + #else diff --git a/mysql.spec b/mysql.spec index d533a4a..fa538d7 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 8%{?dist} +Release: 9%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -43,6 +43,7 @@ Patch9: mysql-disable-test.patch Patch10: mysql-embedded-crash.patch Patch11: mysql-home.patch Patch12: mysql-plugin-bool.patch +Patch13: mysql-s390-tsc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel @@ -184,6 +185,7 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -602,6 +604,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Feb 4 2011 Tom Lane 5.5.8-9 +- Support s390/s390x in performance schema's cycle-counting functions + (needed to make regression tests pass on these platforms) + * Thu Feb 3 2011 Tom Lane 5.5.8-8 - PPC64 floating-point differences are not masked by -ffloat-store after all, so let's just disable gis regression test till upstream makes it less picky From 35399bdcae1f568f2f4ea0d07165aaf6d1fc4f55 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 16:29:15 -0600 Subject: [PATCH 192/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index fa538d7..a8103db 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.8 -Release: 9%{?dist} +Release: 10%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -604,6 +604,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 5.5.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Fri Feb 4 2011 Tom Lane 5.5.8-9 - Support s390/s390x in performance schema's cycle-counting functions (needed to make regression tests pass on these platforms) From 0299bfe82ec7e8293dcc11fbb6332db94b66fcd4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 12 Feb 2011 19:08:41 -0500 Subject: [PATCH 193/616] Update to MySQL 5.5.9 --- .gitignore | 2 +- mysql.spec | 33 +++++++++++++++++++-------------- sources | 2 +- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index bb555d9..f6f4a05 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.8-nodocs.tar.gz +/mysql-5.5.9-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index a8103db..dacf189 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.8 -Release: 10%{?dist} +Version: 5.5.9 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -55,7 +55,7 @@ BuildRequires: time procps BuildRequires: perl(Socket), perl(Time::HiRes) Requires: grep, fileutils -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: bash # MySQL (with caps) is upstream's spelling of their own RPMs for mysql @@ -89,8 +89,8 @@ MySQL server. Summary: The MySQL server and related files Group: Applications/Databases -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd Requires(post): chkconfig @@ -112,9 +112,9 @@ the MySQL server and some accompanying files and directories. Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: openssl-devel +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel %description devel @@ -136,8 +136,8 @@ into a client application instead of running as a separate process. Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -148,7 +148,7 @@ the embedded version of the MySQL server. Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench %description bench @@ -160,9 +160,9 @@ MySQL. Summary: The test suite distributed with MySQL Group: Applications/Databases -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-server = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test %description test @@ -604,6 +604,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Feb 12 2011 Tom Lane 5.5.9-1 +- Update to MySQL 5.5.9, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-9.html +- Add %%{?_isa} to cross-subpackage Requires, per latest packaging guidelines + * Tue Feb 08 2011 Fedora Release Engineering - 5.5.8-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 00d9f3f..7f0f2c4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a2214f5a79516c1e6b36b82f1dd361a0 mysql-5.5.8-nodocs.tar.gz +bfefb571663d4716284d930f2c1b8278 mysql-5.5.9-nodocs.tar.gz From f1b89be9ae45d86963339e497fb99699d69bdb2c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 16 Feb 2011 23:27:10 -0500 Subject: [PATCH 194/616] Disable a platform-dependent regression test. --- mysql-disable-test.patch | 12 ++++++++---- mysql.spec | 6 +++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 2719353..48020b8 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -16,11 +16,14 @@ Also disable gis, which expects the results of floating-point calculations to match to seventeen digits precision everywhere. Of course they won't. Upstream at http://bugs.mysql.com/bug.php?id=59908 +Also disable innodb.innodb, which is showing platform-dependent results +as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/disabled.def ---- mysql-5.5.8.orig/mysql-test/t/disabled.def 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/mysql-test/t/disabled.def 2011-02-03 11:10:31.325627589 -0500 -@@ -19,3 +19,9 @@ + +diff -Naur mysql-5.5.9.orig/mysql-test/t/disabled.def mysql-5.5.9/mysql-test/t/disabled.def +--- mysql-5.5.9.orig/mysql-test/t/disabled.def 2011-01-19 17:37:09.000000000 -0500 ++++ mysql-5.5.9/mysql-test/t/disabled.def 2011-02-16 23:19:34.844378338 -0500 +@@ -18,3 +18,10 @@ sum_distinct-big : Bug#56927 2010-11-15 mattiasj was not tested alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested create-big : Bug#37248 2010-11-15 mattiasj was not tested @@ -30,3 +33,4 @@ diff -Naur mysql-5.5.8.orig/mysql-test/t/disabled.def mysql-5.5.8/mysql-test/t/d +perfschema.binlog_mix : bug#59091 fails with openssl +perfschema.binlog_row : bug#59091 fails with openssl +gis : bug#59908 has platform-dependent results ++innodb.innodb : bug#60155 has platform-dependent results diff --git a/mysql.spec b/mysql.spec index dacf189..90e1dbf 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -604,6 +604,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Feb 16 2011 Tom Lane 5.5.9-2 +- Disable a regression test that is now showing platform-dependent results +Resolves: #674253 + * Sat Feb 12 2011 Tom Lane 5.5.9-1 - Update to MySQL 5.5.9, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-9.html From a864013c84cbefe659d503f2afee2342d030c403 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 21 Mar 2011 14:58:49 -0400 Subject: [PATCH 195/616] Update to mysql 5.5.10; fix /var/run/mysqld problem. --- .gitignore | 2 +- libmysql.version | 2 +- mysql.spec | 20 ++++++++++++++++++-- mysql.tmpfiles.d | 1 + sources | 2 +- 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 mysql.tmpfiles.d diff --git a/.gitignore b/.gitignore index f6f4a05..42e0686 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.9-nodocs.tar.gz +/mysql-5.5.10-nodocs.tar.gz diff --git a/libmysql.version b/libmysql.version index 83ac3c9..5ed10ec 100644 --- a/libmysql.version +++ b/libmysql.version @@ -117,7 +117,7 @@ libmysqlclient_16 { *; }; # symbols added in mysql 5.5 -libmysqlclient_16.1 { +libmysqlclient_18 { global: mysql_client_find_plugin; mysql_client_register_plugin; diff --git a/mysql.spec b/mysql.spec index 90e1dbf..712107f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.9 -Release: 2%{?dist} +Version: 5.5.10 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -28,6 +28,7 @@ Source6: README.mysql-docs Source7: README.mysql-license Source8: libmysql.version Source9: mysql-embedded-check.c +Source10: mysql.tmpfiles.d # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -98,6 +99,8 @@ Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts Requires(postun): initscripts +# This is for /etc/tmpfiles.d +Requires: systemd-units # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server @@ -333,6 +336,9 @@ install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf +mkdir -p $RPM_BUILD_ROOT/etc/tmpfiles.d +install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT/etc/tmpfiles.d/mysql.conf + # Fix funny permissions that cmake build scripts apply to config files chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini @@ -567,6 +573,7 @@ fi %{_datadir}/mysql/config.*.ini /etc/rc.d/init.d/mysqld +/etc/tmpfiles.d/mysql.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log @@ -604,6 +611,15 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Mar 21 2011 Tom Lane 5.5.10-1 +- Update to MySQL 5.5.10, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html + Note that this includes a rather belated soname version bump for + libmysqlclient.so, from .16 to .18 +- Add tmpfiles.d config file so that /var/run/mysqld is recreated at boot + (only needed in Fedora 15 and later) +Resolves: #658938 + * Wed Feb 16 2011 Tom Lane 5.5.9-2 - Disable a regression test that is now showing platform-dependent results Resolves: #674253 diff --git a/mysql.tmpfiles.d b/mysql.tmpfiles.d new file mode 100644 index 0000000..74cd5f8 --- /dev/null +++ b/mysql.tmpfiles.d @@ -0,0 +1 @@ +d /var/run/mysqld 0755 mysql mysql - diff --git a/sources b/sources index 7f0f2c4..833f835 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bfefb571663d4716284d930f2c1b8278 mysql-5.5.9-nodocs.tar.gz +11a0edd0f9c46a3ce49773dd537c9236 mysql-5.5.10-nodocs.tar.gz From 6c5d92e21a301d2b20e109092e7aecf27bc7bb3e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 23 Mar 2011 19:35:26 -0400 Subject: [PATCH 196/616] Add my_make_scrambled_password to the list of exported symbols. --- libmysql.version | 4 ++++ mysql.spec | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libmysql.version b/libmysql.version index 5ed10ec..dc32cd7 100644 --- a/libmysql.version +++ b/libmysql.version @@ -113,6 +113,10 @@ libmysqlclient_16 { handle_options; load_defaults; my_print_help; +# This isn't really documented anywhere, but it seems to be part of the +# de-facto API as well. We're not going to export the deprecated version +# make_scrambled_password, however. + my_make_scrambled_password; local: *; }; diff --git a/mysql.spec b/mysql.spec index 712107f..447cdfd 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -611,6 +611,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Mar 23 2011 Tom Lane 5.5.10-2 +- Add my_make_scrambled_password to the list of symbols exported by + libmysqlclient.so. Needed at least by pure-ftpd. + * Mon Mar 21 2011 Tom Lane 5.5.10-1 - Update to MySQL 5.5.10, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html From eb8f59bfd8a7ad0b7f4b357bbc042011c6c6e702 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 10 May 2011 16:49:58 -0400 Subject: [PATCH 197/616] Add LSB init block to initscript, other fixes --- mysql-disable-test.patch | 7 +------ mysql.init | 23 ++++++++++++++++++++++- mysql.spec | 13 +++++++++++-- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 48020b8..0914f8f 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -12,10 +12,6 @@ Also disable perfschema.binlog_mix and perfschema.binlog_row, which have expected output that doesn't match when openssl is in use. Upstream at http://bugs.mysql.com/bug.php?id=59091 -Also disable gis, which expects the results of floating-point calculations -to match to seventeen digits precision everywhere. Of course they won't. -Upstream at http://bugs.mysql.com/bug.php?id=59908 - Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 @@ -23,7 +19,7 @@ as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 diff -Naur mysql-5.5.9.orig/mysql-test/t/disabled.def mysql-5.5.9/mysql-test/t/disabled.def --- mysql-5.5.9.orig/mysql-test/t/disabled.def 2011-01-19 17:37:09.000000000 -0500 +++ mysql-5.5.9/mysql-test/t/disabled.def 2011-02-16 23:19:34.844378338 -0500 -@@ -18,3 +18,10 @@ +@@ -18,3 +18,9 @@ sum_distinct-big : Bug#56927 2010-11-15 mattiasj was not tested alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested create-big : Bug#37248 2010-11-15 mattiasj was not tested @@ -32,5 +28,4 @@ diff -Naur mysql-5.5.9.orig/mysql-test/t/disabled.def mysql-5.5.9/mysql-test/t/d +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory +perfschema.binlog_mix : bug#59091 fails with openssl +perfschema.binlog_row : bug#59091 fails with openssl -+gis : bug#59908 has platform-dependent results +innodb.innodb : bug#60155 has platform-dependent results diff --git a/mysql.init b/mysql.init index 1661f3b..e644cb5 100644 --- a/mysql.init +++ b/mysql.init @@ -8,6 +8,15 @@ # processname: mysqld # config: /etc/my.cnf # pidfile: /var/run/mysqld/mysqld.pid +### BEGIN INIT INFO +# Provides: mysqld +# Required-Start: $local_fs $remote_fs $network $named $syslog $time +# Required-Stop: $local_fs $remote_fs $network $named $syslog $time +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start and stop MySQL server +# Description: MySQL database server +### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions @@ -107,7 +116,19 @@ start(){ ret=0 TIMEOUT="$STARTTIMEOUT" while [ $TIMEOUT -gt 0 ]; do - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break + RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + mret=$? + if [ $mret -eq 0 ]; then + break + fi + # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, + # anything else suggests a configuration error + if [ $mret -ne 1 -a $mret -ne 11 ]; then + echo "$RESPONSE" + echo "Cannot check for MySQL Daemon startup because of mysqladmin failure." + ret=1 + break + fi echo "$RESPONSE" | grep -q "Access denied for user" && break if ! /bin/kill -0 $safe_pid 2>/dev/null; then echo "MySQL Daemon failed to start." diff --git a/mysql.spec b/mysql.spec index 447cdfd..8deec95 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -47,7 +47,7 @@ Patch12: mysql-plugin-bool.patch Patch13: mysql-s390-tsc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -BuildRequires: gperf, perl, readline-devel, openssl-devel +BuildRequires: perl, readline-devel, openssl-devel BuildRequires: gcc-c++, cmake, ncurses-devel, zlib-devel, libaio-devel BuildRequires: systemtap-sdt-devel # make test requires time and ps @@ -611,6 +611,15 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue May 10 2011 Tom Lane 5.5.10-3 +- Add LSB init block to initscript, to ensure sane ordering at system boot +Resolves: #703214 +- Improve initscript start action to notice when mysqladmin is failing + because of configuration problems +Related: #703476 +- Remove exclusion of "gis" regression test, since upstream bug 59908 + is fixed (for some value of "fixed") as of 5.5.10. + * Wed Mar 23 2011 Tom Lane 5.5.10-2 - Add my_make_scrambled_password to the list of symbols exported by libmysqlclient.so. Needed at least by pure-ftpd. From 9595c341f377f4a7a744b3246ff36e64a20a817d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 10 May 2011 20:13:41 -0400 Subject: [PATCH 198/616] Update to MySQL 5.5.12 --- .gitignore | 2 +- mysql-disable-test.patch | 10 +++++----- mysql-home.patch | 16 ---------------- mysql.spec | 14 ++++++++------ sources | 2 +- 5 files changed, 15 insertions(+), 29 deletions(-) delete mode 100644 mysql-home.patch diff --git a/.gitignore b/.gitignore index 42e0686..f1c302c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.10-nodocs.tar.gz +/mysql-5.5.12-nodocs.tar.gz diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 0914f8f..cc80d2f 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -16,13 +16,13 @@ Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -diff -Naur mysql-5.5.9.orig/mysql-test/t/disabled.def mysql-5.5.9/mysql-test/t/disabled.def ---- mysql-5.5.9.orig/mysql-test/t/disabled.def 2011-01-19 17:37:09.000000000 -0500 -+++ mysql-5.5.9/mysql-test/t/disabled.def 2011-02-16 23:19:34.844378338 -0500 -@@ -18,3 +18,9 @@ - sum_distinct-big : Bug#56927 2010-11-15 mattiasj was not tested +diff -Naur mysql-5.5.12.orig/mysql-test/t/disabled.def mysql-5.5.12/mysql-test/t/disabled.def +--- mysql-5.5.12.orig/mysql-test/t/disabled.def 2011-04-11 06:44:01.000000000 -0400 ++++ mysql-5.5.12/mysql-test/t/disabled.def 2011-05-10 18:42:11.742438341 -0400 +@@ -17,3 +17,9 @@ alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested create-big : Bug#37248 2010-11-15 mattiasj was not tested + archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory diff --git a/mysql-home.patch b/mysql-home.patch deleted file mode 100644 index 054d389..0000000 --- a/mysql-home.patch +++ /dev/null @@ -1,16 +0,0 @@ -mysql 5.5's new cmake-based build scripts forgot about defining -DEFAULT_HOME_ENV. Upstream at http://bugs.mysql.com/bug.php?id=59280 - - -diff -Naur mysql-5.5.8.orig/mysys/CMakeLists.txt mysql-5.5.8/mysys/CMakeLists.txt ---- mysql-5.5.8.orig/mysys/CMakeLists.txt 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/mysys/CMakeLists.txt 2011-01-13 11:58:42.583471734 -0500 -@@ -69,6 +69,8 @@ - SET(MYSYS_SOURCES ${MYSYS_SOURCES} my_port.c) - ENDIF() - -+ADD_DEFINITIONS( -DDEFAULT_HOME_ENV=MYSQL_HOME) -+ - ADD_CONVENIENCE_LIBRARY(mysys ${MYSYS_SOURCES}) - TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY} - ${LIBNSL} ${LIBM} ${LIBRT}) diff --git a/mysql.spec b/mysql.spec index 8deec95..5056427 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.10 -Release: 3%{?dist} +Version: 5.5.12 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -42,9 +42,8 @@ Patch7: mysql-versioning.patch Patch8: mysql-dubious-exports.patch Patch9: mysql-disable-test.patch Patch10: mysql-embedded-crash.patch -Patch11: mysql-home.patch -Patch12: mysql-plugin-bool.patch -Patch13: mysql-s390-tsc.patch +Patch11: mysql-plugin-bool.patch +Patch12: mysql-s390-tsc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -188,7 +187,6 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch13 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -611,6 +609,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue May 10 2011 Tom Lane 5.5.12-1 +- Update to MySQL 5.5.12, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html + * Tue May 10 2011 Tom Lane 5.5.10-3 - Add LSB init block to initscript, to ensure sane ordering at system boot Resolves: #703214 diff --git a/sources b/sources index 833f835..5ed951e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -11a0edd0f9c46a3ce49773dd537c9236 mysql-5.5.10-nodocs.tar.gz +4bb8712ed3c4020b3d41be1a9dd233ec mysql-5.5.12-nodocs.tar.gz From 530bc9e7a4a4523a1e1f5b14fb0228da446e964c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 2 Jun 2011 00:49:52 -0400 Subject: [PATCH 199/616] Update to MySQL 5.5.13 --- .gitignore | 2 +- mysql-disable-test.patch | 11 ++++------- mysql.spec | 6 +++++- sources | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index f1c302c..923c31a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.12-nodocs.tar.gz +/mysql-5.5.13-nodocs.tar.gz diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index cc80d2f..902a068 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -3,14 +3,13 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 (note that upstream has also disabled it, but only for Solaris, so we still need this patch). +This is allegedly fixed for 5.5.14 ... Also disable sys_vars.plugin_dir_basic, which is broken because mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at http://bugs.mysql.com/bug.php?id=52223 - -Also disable perfschema.binlog_mix and perfschema.binlog_row, which have -expected output that doesn't match when openssl is in use. Upstream at -http://bugs.mysql.com/bug.php?id=59091 +Still fails in 5.5.13, but apparently due to be fixed soon? +upstream marked it closed on 2-May. Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 @@ -19,13 +18,11 @@ as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 diff -Naur mysql-5.5.12.orig/mysql-test/t/disabled.def mysql-5.5.12/mysql-test/t/disabled.def --- mysql-5.5.12.orig/mysql-test/t/disabled.def 2011-04-11 06:44:01.000000000 -0400 +++ mysql-5.5.12/mysql-test/t/disabled.def 2011-05-10 18:42:11.742438341 -0400 -@@ -17,3 +17,9 @@ +@@ -17,3 +17,7 @@ alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested create-big : Bug#37248 2010-11-15 mattiasj was not tested archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory -+perfschema.binlog_mix : bug#59091 fails with openssl -+perfschema.binlog_row : bug#59091 fails with openssl +innodb.innodb : bug#60155 has platform-dependent results diff --git a/mysql.spec b/mysql.spec index 5056427..6792b9b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.12 +Version: 5.5.13 Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -609,6 +609,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 2 2011 Tom Lane 5.5.13-1 +- Update to MySQL 5.5.13, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html + * Tue May 10 2011 Tom Lane 5.5.12-1 - Update to MySQL 5.5.12, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html diff --git a/sources b/sources index 5ed951e..12bbb1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4bb8712ed3c4020b3d41be1a9dd233ec mysql-5.5.12-nodocs.tar.gz +71b1b0f4ec421cc3505849a0ef7b1de6 mysql-5.5.13-nodocs.tar.gz From 452cc9ad3213d77e0f70848990ce655e26951aeb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 6 Jul 2011 18:32:24 -0400 Subject: [PATCH 200/616] Remove erroneously-included Default-Start line from LSB init block --- mysql.init | 2 -- mysql.spec | 6 +++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mysql.init b/mysql.init index e644cb5..d85c12d 100644 --- a/mysql.init +++ b/mysql.init @@ -12,8 +12,6 @@ # Provides: mysqld # Required-Start: $local_fs $remote_fs $network $named $syslog $time # Required-Stop: $local_fs $remote_fs $network $named $syslog $time -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 # Short-Description: start and stop MySQL server # Description: MySQL database server ### END INIT INFO diff --git a/mysql.spec b/mysql.spec index 6792b9b..0dc4bc9 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -609,6 +609,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 6 2011 Tom Lane 5.5.13-2 +- Remove erroneously-included Default-Start line from LSB init block +Resolves: #717024 + * Thu Jun 2 2011 Tom Lane 5.5.13-1 - Update to MySQL 5.5.13, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html From 0796115f4d73cb65ff62b0a0ecd2761abdada56b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 11 Jul 2011 22:23:34 -0400 Subject: [PATCH 201/616] Update to MySQL 5.5.14 --- .gitignore | 2 +- mysql-disable-test.patch | 15 +++++++-------- mysql-openssl-test.patch | 22 ++++++++++++++++++++++ mysql.spec | 10 ++++++++-- sources | 2 +- 5 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 mysql-openssl-test.patch diff --git a/.gitignore b/.gitignore index 923c31a..0e317ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.13-nodocs.tar.gz +/mysql-5.5.14-nodocs.tar.gz diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 902a068..be499bc 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -3,25 +3,24 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 (note that upstream has also disabled it, but only for Solaris, so we still need this patch). -This is allegedly fixed for 5.5.14 ... +Still broken in 5.5.14, despite alleged fix. Also disable sys_vars.plugin_dir_basic, which is broken because mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at http://bugs.mysql.com/bug.php?id=52223 -Still fails in 5.5.13, but apparently due to be fixed soon? -upstream marked it closed on 2-May. +Still fails in 5.5.14, even though upstream marked it closed. Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -diff -Naur mysql-5.5.12.orig/mysql-test/t/disabled.def mysql-5.5.12/mysql-test/t/disabled.def ---- mysql-5.5.12.orig/mysql-test/t/disabled.def 2011-04-11 06:44:01.000000000 -0400 -+++ mysql-5.5.12/mysql-test/t/disabled.def 2011-05-10 18:42:11.742438341 -0400 +diff -Naur mysql-5.5.14.orig/mysql-test/t/disabled.def mysql-5.5.14/mysql-test/t/disabled.def +--- mysql-5.5.14.orig/mysql-test/t/disabled.def 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/mysql-test/t/disabled.def 2011-07-11 14:33:46.560138525 -0400 @@ -17,3 +17,7 @@ - alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested - create-big : Bug#37248 2010-11-15 mattiasj was not tested archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc + main.query_cache_28249 : Bug#12584161 2009-03-25 main.query_cache_28249 fails sporadically + log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory diff --git a/mysql-openssl-test.patch b/mysql-openssl-test.patch new file mode 100644 index 0000000..f7e8f43 --- /dev/null +++ b/mysql-openssl-test.patch @@ -0,0 +1,22 @@ +Adjust openssl_1.result to match actual output when using OpenSSL. + +The given expected result seems to be yaSSL-specific, as of mysql 5.5.14. +Upstream at http://bugs.mysql.com/bug.php?id=61827 + + +diff -Naur mysql-5.5.14.orig/mysql-test/r/openssl_1.result mysql-5.5.14/mysql-test/r/openssl_1.result +--- mysql-5.5.14.orig/mysql-test/r/openssl_1.result 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/mysql-test/r/openssl_1.result 2011-07-11 18:52:39.925070616 -0400 +@@ -44,9 +44,9 @@ + drop user ssl_user1@localhost, ssl_user2@localhost, + ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost; + drop table t1; +-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation +-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation +-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation ++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) ++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) ++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) + SSL error: Unable to get private key from '' + mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key + SSL error: Unable to get certificate from '' diff --git a/mysql.spec b/mysql.spec index 0dc4bc9..af6ccbf 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.13 -Release: 2%{?dist} +Version: 5.5.14 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -44,6 +44,7 @@ Patch9: mysql-disable-test.patch Patch10: mysql-embedded-crash.patch Patch11: mysql-plugin-bool.patch Patch12: mysql-s390-tsc.patch +Patch13: mysql-openssl-test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -187,6 +188,7 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -609,6 +611,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 11 2011 Tom Lane 5.5.14-1 +- Update to MySQL 5.5.14, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html + * Wed Jul 6 2011 Tom Lane 5.5.13-2 - Remove erroneously-included Default-Start line from LSB init block Resolves: #717024 diff --git a/sources b/sources index 12bbb1a..5992a1e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -71b1b0f4ec421cc3505849a0ef7b1de6 mysql-5.5.13-nodocs.tar.gz +bbcb4fa2876714efc7c5f3e0c16c61e9 mysql-5.5.14-nodocs.tar.gz From c606a777c17e534d921fbffc5c95032fcf4399da Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 12 Jul 2011 13:58:47 -0400 Subject: [PATCH 202/616] Remove make_scrambled_password and make_scrambled_password_323 from mysql.h --- mysql-dubious-exports.patch | 139 ++++++++++++++++++++++++++++++++---- mysql.spec | 7 +- 2 files changed, 130 insertions(+), 16 deletions(-) diff --git a/mysql-dubious-exports.patch b/mysql-dubious-exports.patch index 3342bf8..0ccb412 100644 --- a/mysql-dubious-exports.patch +++ b/mysql-dubious-exports.patch @@ -2,10 +2,39 @@ Prefix mysql_ to the real names of several symbols that have to be exported from libmysqlclient because mysql-connector-odbc and/or PHP depend on them. This limits the intrusion on application namespace. +Also, remove all traces of make_scrambled_password and +make_scrambled_password_323, so that references to these functions draw +compile-time warnings, per a suggestion from Paul Howarth in bug #690346. +It doesn't seem worth trying to get rid of all the internal symbols exposed +by mysql.h, but these two are relatively easy to get rid of. -diff -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h ---- mysql-5.5.8.orig/include/errmsg.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/errmsg.h 2010-12-27 14:29:59.184552374 -0500 + +diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin.cc +--- mysql-5.5.14.orig/client/mysqladmin.cc 2011-06-21 12:42:41.000000000 -0400 ++++ mysql-5.5.14/client/mysqladmin.cc 2011-07-12 12:19:59.578066771 -0400 +@@ -20,6 +20,7 @@ + #include /* because of signal() */ + #include + #include ++#include /* my_make_scrambled_password_323, my_make_scrambled_password */ + #include + #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + +@@ -975,9 +976,9 @@ + } + } + if (old) +- make_scrambled_password_323(crypted_pw, typed_password); ++ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password)); + else +- make_scrambled_password(crypted_pw, typed_password); ++ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password)); + } + else + crypted_pw[0]=0; /* No password */ +diff -Naur mysql-5.5.14.orig/include/errmsg.h mysql-5.5.14/include/errmsg.h +--- mysql-5.5.14.orig/include/errmsg.h 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/errmsg.h 2011-07-12 11:55:29.194204015 -0400 @@ -24,6 +24,7 @@ #endif void init_client_errs(void); @@ -14,10 +43,10 @@ diff -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h extern const char *client_errors[]; /* Error messages */ #ifdef __cplusplus } -diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h ---- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/my_sys.h 2010-12-27 14:27:23.956926896 -0500 -@@ -227,6 +227,7 @@ +diff -Naur mysql-5.5.14.orig/include/my_sys.h mysql-5.5.14/include/my_sys.h +--- mysql-5.5.14.orig/include/my_sys.h 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/my_sys.h 2011-07-12 11:55:29.195231427 -0400 +@@ -223,6 +223,7 @@ /* charsets */ #define MY_ALL_CHARSETS_SIZE 2048 @@ -25,7 +54,7 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; extern CHARSET_INFO compiled_charsets[]; -@@ -914,6 +915,9 @@ +@@ -900,6 +901,9 @@ extern uint get_collation_number(const char *name); extern const char *get_charset_name(uint cs_number); @@ -35,9 +64,9 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h extern CHARSET_INFO *get_charset(uint cs_number, myf flags); extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, -diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp ---- mysql-5.5.8.orig/include/mysql.h.pp 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/mysql.h.pp 2010-12-27 14:27:23.956926896 -0500 +diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp +--- mysql-5.5.14.orig/include/mysql.h.pp 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/mysql.h.pp 2011-07-12 11:58:43.662068564 -0400 @@ -86,7 +86,7 @@ void my_net_local_init(NET *net); void net_end(NET *net); @@ -47,10 +76,24 @@ diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp my_bool net_flush(NET *net); my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); my_bool net_write_command(NET *net,unsigned char command, -diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h ---- mysql-5.5.8.orig/include/mysql_com.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/mysql_com.h 2010-12-27 14:27:23.957927198 -0500 -@@ -448,6 +448,7 @@ +@@ -128,13 +128,11 @@ + double my_rnd(struct rand_struct *); + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -Naur mysql-5.5.14.orig/include/mysql_com.h mysql-5.5.14/include/mysql_com.h +--- mysql-5.5.14.orig/include/mysql_com.h 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/mysql_com.h 2011-07-12 11:58:52.166065391 -0400 +@@ -452,6 +452,7 @@ void my_net_local_init(NET *net); void net_end(NET *net); void net_clear(NET *net, my_bool clear_buffer); @@ -58,3 +101,69 @@ diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h my_bool net_realloc(NET *net, size_t length); my_bool net_flush(NET *net); my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); +@@ -533,14 +534,12 @@ + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); + + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); + +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -Naur mysql-5.5.14.orig/sql/password.c mysql-5.5.14/sql/password.c +--- mysql-5.5.14.orig/sql/password.c 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/sql/password.c 2011-07-12 11:59:29.194068612 -0400 +@@ -154,23 +154,6 @@ + + + /* +- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI +- compatibility. +- In server code usage of my_make_scrambled_password_323() is preferred to +- avoid strlen(). +- SYNOPSIS +- make_scrambled_password_323() +- to OUT store scrambled password here +- password IN NULL-terminated string with user-supplied password +-*/ +- +-void make_scrambled_password_323(char *to, const char *password) +-{ +- my_make_scrambled_password_323(to, password, strlen(password)); +-} +- +- +-/* + Scramble string with password. + Used in pre 4.1 authentication phase. + SYNOPSIS +@@ -433,23 +416,6 @@ + + + /* +- Wrapper around my_make_scrambled_password() to maintain client lib ABI +- compatibility. +- In server code usage of my_make_scrambled_password() is preferred to +- avoid strlen(). +- SYNOPSIS +- make_scrambled_password() +- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string +- password IN NULL-terminated password string +-*/ +- +-void make_scrambled_password(char *to, const char *password) +-{ +- my_make_scrambled_password(to, password, strlen(password)); +-} +- +- +-/* + Produce an obscure octet sequence from password and random + string, recieved from the server. This sequence corresponds to the + password, but password can not be easily restored from it. The sequence diff --git a/mysql.spec b/mysql.spec index af6ccbf..0594a36 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -611,6 +611,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 12 2011 Tom Lane 5.5.14-2 +- Remove make_scrambled_password and make_scrambled_password_323 from mysql.h, + since we're not allowing clients to call those functions anyway +Related: #690346 + * Mon Jul 11 2011 Tom Lane 5.5.14-1 - Update to MySQL 5.5.14, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html From f316512a7359a2324f75cfad7f7d74fd0ffd1e7e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 27 Jul 2011 15:13:15 -0400 Subject: [PATCH 203/616] Convert to systemd startup support --- mysql.init | 228 ------------------------------------------ mysql.spec | 67 ++++++++++--- mysqld-nowatch.patch | 51 ++++++++++ mysqld-prepare-db-dir | 54 ++++++++++ mysqld-wait-ready | 56 +++++++++++ mysqld.service | 24 +++++ 6 files changed, 239 insertions(+), 241 deletions(-) delete mode 100644 mysql.init create mode 100644 mysqld-nowatch.patch create mode 100644 mysqld-prepare-db-dir create mode 100644 mysqld-wait-ready create mode 100644 mysqld.service diff --git a/mysql.init b/mysql.init deleted file mode 100644 index d85c12d..0000000 --- a/mysql.init +++ /dev/null @@ -1,228 +0,0 @@ -#!/bin/sh -# -# mysqld This shell script takes care of starting and stopping -# the MySQL subsystem (mysqld). -# -# chkconfig: - 64 36 -# description: MySQL database server. -# processname: mysqld -# config: /etc/my.cnf -# pidfile: /var/run/mysqld/mysqld.pid -### BEGIN INIT INFO -# Provides: mysqld -# Required-Start: $local_fs $remote_fs $network $named $syslog $time -# Required-Stop: $local_fs $remote_fs $network $named $syslog $time -# Short-Description: start and stop MySQL server -# Description: MySQL database server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - - -exec="/usr/bin/mysqld_safe" -prog="mysqld" - -# Set timeouts here so they can be overridden from /etc/sysconfig/mysqld -STARTTIMEOUT=120 -STOPTIMEOUT=60 - -[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog - -lockfile=/var/lock/subsys/$prog - - -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# 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(){ - result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -get_mysql_option mysqld datadir "/var/lib/mysql" -datadir="$result" -get_mysql_option mysqld socket "$datadir/mysql.sock" -socketfile="$result" -get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" -errlogfile="$result" -get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid" -mypidfile="$result" - - -start(){ - [ -x $exec ] || exit 5 - # check to see if it's already running - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - if [ $? = 0 ]; then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - elif echo "$RESPONSE" | grep -q "Access denied for user" - then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - else - # prepare for start - touch "$errlogfile" - chown mysql:mysql "$errlogfile" - chmod 0640 "$errlogfile" - [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" - if [ ! -d "$datadir/mysql" ] ; then - # First, make sure $datadir is there with correct permissions - if [ ! -e "$datadir" -a ! -h "$datadir" ] - then - mkdir -p "$datadir" || exit 1 - fi - chown mysql:mysql "$datadir" - chmod 0755 "$datadir" - [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" - # Now create the database - action $"Initializing MySQL database: " /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql - ret=$? - chown -R mysql:mysql "$datadir" - if [ $ret -ne 0 ] ; then - return $ret - fi - fi - chown mysql:mysql "$datadir" - chmod 0755 "$datadir" - # Pass all the options determined above, to ensure consistent behavior. - # In many cases mysqld_safe would arrive at the same conclusions anyway - # but we need to be sure. (An exception is that we don't force the - # log-error setting, since this script doesn't really depend on that, - # and some users might prefer to configure logging to syslog.) - # Note: set --basedir to prevent probes that might trigger SELinux - # alarms, per bug #547485 - $exec --datadir="$datadir" --socket="$socketfile" \ - --pid-file="$mypidfile" \ - --basedir=/usr --user=mysql >/dev/null 2>&1 & - safe_pid=$! - # Spin for a maximum of N seconds waiting for the server to come up; - # exit the loop immediately if mysqld_safe process disappears. - # Rather than assuming we know a valid username, accept an "access - # denied" response as meaning the server is functioning. - ret=0 - TIMEOUT="$STARTTIMEOUT" - while [ $TIMEOUT -gt 0 ]; do - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - mret=$? - if [ $mret -eq 0 ]; then - break - fi - # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, - # anything else suggests a configuration error - if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "$RESPONSE" - echo "Cannot check for MySQL Daemon startup because of mysqladmin failure." - ret=1 - break - fi - echo "$RESPONSE" | grep -q "Access denied for user" && break - if ! /bin/kill -0 $safe_pid 2>/dev/null; then - echo "MySQL Daemon failed to start." - ret=1 - break - fi - sleep 1 - let TIMEOUT=${TIMEOUT}-1 - done - if [ $TIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to start MySQL Daemon." - ret=1 - fi - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - touch $lockfile - else - action $"Starting $prog: " /bin/false - fi - fi - return $ret -} - -stop(){ - if [ ! -f "$mypidfile" ]; then - # not running; per LSB standards this is "ok" - action $"Stopping $prog: " /bin/true - return 0 - fi - MYSQLPID=`cat "$mypidfile"` - if [ -n "$MYSQLPID" ]; then - /bin/kill "$MYSQLPID" >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - TIMEOUT="$STOPTIMEOUT" - while [ $TIMEOUT -gt 0 ]; do - /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break - sleep 1 - let TIMEOUT=${TIMEOUT}-1 - done - if [ $TIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to stop MySQL Daemon." - ret=1 - action $"Stopping $prog: " /bin/false - else - rm -f $lockfile - rm -f "$socketfile" - action $"Stopping $prog: " /bin/true - fi - else - action $"Stopping $prog: " /bin/false - fi - else - # failed to read pidfile, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - return $ret -} - -restart(){ - stop - start -} - -condrestart(){ - [ -e $lockfile ] && restart || : -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status $prog - ;; - restart) - restart - ;; - condrestart|try-restart) - condrestart - ;; - reload) - exit 3 - ;; - force-reload) - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - exit 2 -esac - -exit $? diff --git a/mysql.spec b/mysql.spec index 0594a36..adfb127 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,9 @@ Name: mysql Version: 5.5.14 -Release: 2%{?dist} +Release: 3%{?dist} +# Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg: +%global first_systemd_version 5.5.14-3 + Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -20,7 +23,6 @@ Source0: mysql-%{version}-nodocs.tar.gz # the tarball into the current directory: # ./generate-tarball.sh $VERSION Source1: generate-tarball.sh -Source2: mysql.init Source3: my.cnf Source4: scriptstub.c Source5: my_config.h @@ -29,6 +31,9 @@ Source7: README.mysql-license Source8: libmysql.version Source9: mysql-embedded-check.c Source10: mysql.tmpfiles.d +Source11: mysqld.service +Source12: mysqld-prepare-db-dir +Source13: mysqld-wait-ready # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -45,6 +50,7 @@ Patch10: mysql-embedded-crash.patch Patch11: mysql-plugin-bool.patch Patch12: mysql-s390-tsc.patch Patch13: mysql-openssl-test.patch +Patch14: mysqld-nowatch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -54,6 +60,7 @@ BuildRequires: systemtap-sdt-devel BuildRequires: time procps # Socket and Time::HiRes are needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) +BuildRequires: systemd-units Requires: grep, fileutils Requires: %{name}-libs%{?_isa} = %{version}-%{release} @@ -96,11 +103,16 @@ Requires: sh-utils Requires(pre): /usr/sbin/useradd Requires(post): chkconfig Requires(preun): chkconfig -# This is for /sbin/service -Requires(preun): initscripts -Requires(postun): initscripts -# This is for /etc/tmpfiles.d +# We require this to be present for /etc/tmpfiles.d Requires: systemd-units +# Make sure it's there when scriptlets run, too +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +# This is actually needed for the %%triggerun script but Requires(triggerun) +# is not valid. We can use %%post because this particular %%triggerun script +# should fire just after this package is installed. +Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server @@ -189,6 +201,7 @@ the MySQL sources. %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -330,12 +343,18 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql -install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld + +mkdir -p $RPM_BUILD_ROOT/etc install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf +# install systemd unit files and scripts for handling server startup +mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} +install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ +install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ +install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ + mkdir -p $RPM_BUILD_ROOT/etc/tmpfiles.d install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT/etc/tmpfiles.d/mysql.conf @@ -408,15 +427,28 @@ rm -rf $RPM_BUILD_ROOT %post server if [ $1 = 1 ]; then - /sbin/chkconfig --add mysqld + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log +# Run this when upgrading from SysV initscript to native systemd unit +%triggerun server -- mysql-server < %{first_systemd_version} +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply mysqld +# to migrate them to systemd targets +/usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del mysqld >/dev/null 2>&1 || : +/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : + %preun server if [ $1 = 0 ]; then - /sbin/service mysqld stop >/dev/null 2>&1 - /sbin/chkconfig --del mysqld + # Package removal, not upgrade + /bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || : + /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : fi %postun libs @@ -425,8 +457,10 @@ if [ $1 = 0 ] ; then fi %postun server +/bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ]; then - /sbin/service mysqld condrestart >/dev/null 2>&1 || : + # Package upgrade, not uninstall + /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : fi @@ -572,7 +606,10 @@ fi %{_datadir}/mysql/my-*.cnf %{_datadir}/mysql/config.*.ini -/etc/rc.d/init.d/mysqld +%{_unitdir}/mysqld.service +%{_libexecdir}/mysqld-prepare-db-dir +%{_libexecdir}/mysqld-wait-ready + /etc/tmpfiles.d/mysql.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql @@ -611,6 +648,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 27 2011 Tom Lane 5.5.14-3 +- Convert to systemd startup support (no socket activation, for now anyway) +Related: #714426 + * Tue Jul 12 2011 Tom Lane 5.5.14-2 - Remove make_scrambled_password and make_scrambled_password_323 from mysql.h, since we're not allowing clients to call those functions anyway diff --git a/mysqld-nowatch.patch b/mysqld-nowatch.patch new file mode 100644 index 0000000..9ca2d12 --- /dev/null +++ b/mysqld-nowatch.patch @@ -0,0 +1,51 @@ +Add a --nowatch option to mysqld_safe that causes it to exit after +spawning mysqld. We don't need mysqld_safe to restart mysqld after +a crash, because systemd can do that just fine. + + +diff -Naur mysql-5.5.14.orig/scripts/mysqld_safe.sh mysql-5.5.14/scripts/mysqld_safe.sh +--- mysql-5.5.14.orig/scripts/mysqld_safe.sh 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/scripts/mysqld_safe.sh 2011-07-25 13:52:40.363068060 -0400 +@@ -15,6 +15,7 @@ + KILL_MYSQLD=1; + MYSQLD= + niceness=0 ++nowatch=0 + mysqld_ld_preload= + mysqld_ld_library_path= + +@@ -54,6 +55,7 @@ + --mysqld=FILE Use the specified file as mysqld + --mysqld-version=VERSION Use "mysqld-VERSION" as mysqld + --nice=NICE Set the scheduling priority of mysqld ++ --nowatch Exit after starting mysqld + --plugin-dir=DIR Plugins are under DIR or DIR/VERSION, if + VERSION is given + --skip-kill-mysqld Don't try to kill stray mysqld processes +@@ -140,8 +142,16 @@ + ;; + esac + +- #echo "Running mysqld: [$cmd]" +- eval "$cmd" ++ if test $nowatch -eq 1 ++ then ++ # We'd prefer to exec $cmd here, but SELinux needs to be fixed first ++ #/usr/bin/logger "Running mysqld: $cmd" ++ eval "$cmd &" ++ exit 0 ++ else ++ #echo "Running mysqld: [$cmd]" ++ eval "$cmd" ++ fi + } + + shell_quote_string() { +@@ -198,6 +208,7 @@ + fi + ;; + --nice=*) niceness="$val" ;; ++ --nowatch) nowatch=1 ;; + --open-files-limit=*) open_files="$val" ;; + --open_files_limit=*) open_files="$val" ;; + --skip-kill-mysqld*) KILL_MYSQLD=0 ;; diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir new file mode 100644 index 0000000..72badd7 --- /dev/null +++ b/mysqld-prepare-db-dir @@ -0,0 +1,54 @@ +#!/bin/sh + +# This script creates the mysql data directory during first service start. +# In subsequent starts, it does nothing much. + +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT +# result is returned in $result +# 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(){ + result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="$3" + fi +} + +# Defaults here had better match what mysqld_safe will default to +get_mysql_option mysqld datadir "/var/lib/mysql" +datadir="$result" +get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" +errlogfile="$result" + + +# Set up the errlogfile with appropriate permissions +touch "$errlogfile" +chown mysql:mysql "$errlogfile" +chmod 0640 "$errlogfile" +[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" + +# Make the data directory +if [ ! -d "$datadir/mysql" ] ; then + # First, make sure $datadir is there with correct permissions + # (note: if it's not, and we're not root, this'll fail ...) + if [ ! -e "$datadir" -a ! -h "$datadir" ] + then + mkdir -p "$datadir" || exit 1 + fi + chown mysql:mysql "$datadir" + chmod 0755 "$datadir" + [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" + + # Now create the database + echo "Initializing MySQL database" + /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql + ret=$? + chown -R mysql:mysql "$datadir" + if [ $ret -ne 0 ] ; then + exit $ret + fi +fi + +exit 0 diff --git a/mysqld-wait-ready b/mysqld-wait-ready new file mode 100644 index 0000000..10e86fe --- /dev/null +++ b/mysqld-wait-ready @@ -0,0 +1,56 @@ +#!/bin/sh + +# This script waits for mysqld to be ready to accept connections +# (which can be many seconds or even minutes after launch, if there's +# a lot of crash-recovery work to do). +# Running this as ExecStartPost is useful so that services declared as +# "After mysqld" won't be started until the database is really ready. + +# Service file passes us the daemon's PID +daemon_pid="$1" + +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT +# result is returned in $result +# 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(){ + result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="$3" + fi +} + +# Defaults here had better match what mysqld_safe will default to +get_mysql_option mysqld datadir "/var/lib/mysql" +datadir="$result" +get_mysql_option mysqld socket "$datadir/mysql.sock" +socketfile="$result" + +# Wait for the server to come up or for the mysqld process to disappear +ret=0 +while /bin/true; do + RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + mret=$? + if [ $mret -eq 0 ]; then + break + fi + # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, + # anything else suggests a configuration error + if [ $mret -ne 1 -a $mret -ne 11 ]; then + ret=1 + break + fi + # "Access denied" also means the server is alive + echo "$RESPONSE" | grep -q "Access denied for user" && break + + # Check process still exists + if ! /bin/kill -0 $daemon_pid 2>/dev/null; then + ret=1 + break + fi + sleep 1 +done + +exit $ret diff --git a/mysqld.service b/mysqld.service new file mode 100644 index 0000000..b3bc486 --- /dev/null +++ b/mysqld.service @@ -0,0 +1,24 @@ +[Unit] +Description=MySQL database server +After=syslog.target +After=network.target + +[Service] +Type=forking +User=mysql +Group=mysql + +ExecStartPre=/usr/libexec/mysqld-prepare-db-dir +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=/usr/bin/mysqld_safe --nowatch --basedir=/usr +ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# We rely on systemd, not mysqld_safe, to restart mysqld if it dies +Restart=always + +[Install] +WantedBy=multi-user.target From 5ad77d9c4f58fb83cdee41a2c305ae190f578efb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Jul 2011 16:55:55 -0400 Subject: [PATCH 204/616] Update to MySQL 5.5.15 --- .gitignore | 2 +- mysql-disable-test.patch | 10 +++++----- mysql-embedded-crash.patch | 19 ------------------- mysql.spec | 25 +++++++++++++++---------- sources | 2 +- 5 files changed, 22 insertions(+), 36 deletions(-) delete mode 100644 mysql-embedded-crash.patch diff --git a/.gitignore b/.gitignore index 0e317ed..994ce30 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.14-nodocs.tar.gz +/mysql-5.5.15-nodocs.tar.gz diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index be499bc..1d9403e 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -14,12 +14,12 @@ Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -diff -Naur mysql-5.5.14.orig/mysql-test/t/disabled.def mysql-5.5.14/mysql-test/t/disabled.def ---- mysql-5.5.14.orig/mysql-test/t/disabled.def 2011-06-21 12:42:40.000000000 -0400 -+++ mysql-5.5.14/mysql-test/t/disabled.def 2011-07-11 14:33:46.560138525 -0400 -@@ -17,3 +17,7 @@ +diff -Naur mysql-5.5.15.orig/mysql-test/t/disabled.def mysql-5.5.15/mysql-test/t/disabled.def +--- mysql-5.5.15.orig/mysql-test/t/disabled.def 2011-07-13 15:09:03.000000000 -0400 ++++ mysql-5.5.15/mysql-test/t/disabled.def 2011-07-29 11:48:39.214514072 -0400 +@@ -16,3 +16,7 @@ + create-big : Bug#11748731 2010-11-15 mattiasj was not tested archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc - main.query_cache_28249 : Bug#12584161 2009-03-25 main.query_cache_28249 fails sporadically log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too diff --git a/mysql-embedded-crash.patch b/mysql-embedded-crash.patch deleted file mode 100644 index b445fce..0000000 --- a/mysql-embedded-crash.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix crash in embedded mysql library when mysql_library_init() is invoked -with argc = 0, as is supposed to be a supported thing to do. -Patch from upstream bug #57931. - - -diff -Naur mysql-5.5.8.orig/libmysqld/lib_sql.cc mysql-5.5.8/libmysqld/lib_sql.cc ---- mysql-5.5.8.orig/libmysqld/lib_sql.cc 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/libmysqld/lib_sql.cc 2011-01-12 23:10:55.837471629 -0500 -@@ -510,8 +510,8 @@ - return 1; - defaults_argc= *argcp; - defaults_argv= *argvp; -- remaining_argc= argc; -- remaining_argv= argv; -+ remaining_argc= *argcp; -+ remaining_argv= *argvp; - - /* Must be initialized early for comparison of options name */ - system_charset_info= &my_charset_utf8_general_ci; diff --git a/mysql.spec b/mysql.spec index adfb127..87f111c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,8 +1,10 @@ Name: mysql -Version: 5.5.14 -Release: 3%{?dist} -# Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg: -%global first_systemd_version 5.5.14-3 +Version: 5.5.15 +Release: 2%{?dist} +# Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg. +# Our convention for the life of F15 is that sysv packages will be numbered +# 1dist.n while systemd packages will be 2dist and higher. +%global first_systemd_version 5.5.15-2 Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -37,6 +39,7 @@ Source13: mysqld-wait-ready # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh +# Comments for these patches are in the patch files. Patch1: mysql-errno.patch Patch2: mysql-strmov.patch Patch3: mysql-install-test.patch @@ -46,11 +49,10 @@ Patch6: mysql-chain-certs.patch Patch7: mysql-versioning.patch Patch8: mysql-dubious-exports.patch Patch9: mysql-disable-test.patch -Patch10: mysql-embedded-crash.patch -Patch11: mysql-plugin-bool.patch -Patch12: mysql-s390-tsc.patch -Patch13: mysql-openssl-test.patch -Patch14: mysqld-nowatch.patch +Patch10: mysql-plugin-bool.patch +Patch11: mysql-s390-tsc.patch +Patch12: mysql-openssl-test.patch +Patch13: mysqld-nowatch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -201,7 +203,6 @@ the MySQL sources. %patch11 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -648,6 +649,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 29 2011 Tom Lane 5.5.15-2 +- Update to MySQL 5.5.15, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-15.html + * Wed Jul 27 2011 Tom Lane 5.5.14-3 - Convert to systemd startup support (no socket activation, for now anyway) Related: #714426 diff --git a/sources b/sources index 5992a1e..cdd2507 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bbcb4fa2876714efc7c5f3e0c16c61e9 mysql-5.5.14-nodocs.tar.gz +3a276581349e8112975a12bb3100f67f mysql-5.5.15-nodocs.tar.gz From 6a1ccd79ddb07399fabce55d3bce36038805c566 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 16 Oct 2011 21:21:52 -0400 Subject: [PATCH 205/616] Update to MySQL 5.5.16 --- .gitignore | 2 +- mysql-disable-test.patch | 12 ++++++------ mysql.spec | 9 ++++++++- sources | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 994ce30..7648616 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.15-nodocs.tar.gz +/mysql-5.5.16-nodocs.tar.gz diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 1d9403e..74b87df 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -8,19 +8,19 @@ Still broken in 5.5.14, despite alleged fix. Also disable sys_vars.plugin_dir_basic, which is broken because mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at http://bugs.mysql.com/bug.php?id=52223 -Still fails in 5.5.14, even though upstream marked it closed. +Still fails in 5.5.16, even though upstream marked it closed. Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -diff -Naur mysql-5.5.15.orig/mysql-test/t/disabled.def mysql-5.5.15/mysql-test/t/disabled.def ---- mysql-5.5.15.orig/mysql-test/t/disabled.def 2011-07-13 15:09:03.000000000 -0400 -+++ mysql-5.5.15/mysql-test/t/disabled.def 2011-07-29 11:48:39.214514072 -0400 -@@ -16,3 +16,7 @@ - create-big : Bug#11748731 2010-11-15 mattiasj was not tested +diff -Naur mysql-5.5.16.orig/mysql-test/t/disabled.def mysql-5.5.16/mysql-test/t/disabled.def +--- mysql-5.5.16.orig/mysql-test/t/disabled.def 2011-09-09 11:56:40.000000000 -0400 ++++ mysql-5.5.16/mysql-test/t/disabled.def 2011-10-16 19:50:10.064578284 -0400 +@@ -17,3 +17,7 @@ archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists + mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 changes - eventum#41836 +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory diff --git a/mysql.spec b/mysql.spec index 87f111c..ea9723f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.15 +Version: 5.5.16 Release: 2%{?dist} # Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg. # Our convention for the life of F15 is that sysv packages will be numbered @@ -397,6 +397,7 @@ rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty # should move this to /etc/ ? rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf +rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic @@ -545,6 +546,7 @@ fi %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_install_db +%{_bindir}/mysql_plugin %{_bindir}/mysql_secure_installation %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql @@ -577,6 +579,7 @@ fi %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_install_db.1* +%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* @@ -649,6 +652,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Oct 16 2011 Tom Lane 5.5.16-2 +- Update to MySQL 5.5.16, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html + * Fri Jul 29 2011 Tom Lane 5.5.15-2 - Update to MySQL 5.5.15, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-15.html diff --git a/sources b/sources index cdd2507..f7951be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3a276581349e8112975a12bb3100f67f mysql-5.5.15-nodocs.tar.gz +f73cbec75c7d5937964271497c14ee39 mysql-5.5.16-nodocs.tar.gz From 247bef402779344824a136edeca4f9772050cee3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 16 Oct 2011 23:15:24 -0400 Subject: [PATCH 206/616] Fix unportable usage associated with va_list arguments --- mysql-va-list.patch | 55 +++++++++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 ++++++- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 mysql-va-list.patch diff --git a/mysql-va-list.patch b/mysql-va-list.patch new file mode 100644 index 0000000..a76d0eb --- /dev/null +++ b/mysql-va-list.patch @@ -0,0 +1,55 @@ +Fix unportable usage associated with va_list arguments. Passing "0" to +a va_list argument only works if va_list is an integer or pointer type, +which is not required by the C spec, and is not true on ARM for instance. +Per bug #744707. + + +diff -Naur mysql-5.5.16.orig/sql-common/client_plugin.c mysql-5.5.16/sql-common/client_plugin.c +--- mysql-5.5.16.orig/sql-common/client_plugin.c 2011-09-09 11:56:39.000000000 -0400 ++++ mysql-5.5.16/sql-common/client_plugin.c 2011-10-16 23:00:00.708799138 -0400 +@@ -228,11 +228,13 @@ + { + MYSQL mysql; + struct st_mysql_client_plugin **builtin; ++ va_list unused; + + if (initialized) + return 0; + + bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */ ++ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ + + pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW); + init_alloc_root(&mem_root, 128, 128); +@@ -244,7 +246,7 @@ + pthread_mutex_lock(&LOCK_load_client_plugin); + + for (builtin= mysql_client_builtins; *builtin; builtin++) +- add_plugin(&mysql, *builtin, 0, 0, 0); ++ add_plugin(&mysql, *builtin, 0, 0, unused); + + pthread_mutex_unlock(&LOCK_load_client_plugin); + +@@ -288,9 +290,13 @@ + mysql_client_register_plugin(MYSQL *mysql, + struct st_mysql_client_plugin *plugin) + { ++ va_list unused; ++ + if (is_not_initialized(mysql, plugin->name)) + return NULL; + ++ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ ++ + pthread_mutex_lock(&LOCK_load_client_plugin); + + /* make sure the plugin wasn't loaded meanwhile */ +@@ -302,7 +308,7 @@ + plugin= NULL; + } + else +- plugin= add_plugin(mysql, plugin, 0, 0, 0); ++ plugin= add_plugin(mysql, plugin, 0, 0, unused); + + pthread_mutex_unlock(&LOCK_load_client_plugin); + return plugin; diff --git a/mysql.spec b/mysql.spec index ea9723f..cf4023f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.16 -Release: 2%{?dist} +Release: 3%{?dist} # Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg. # Our convention for the life of F15 is that sysv packages will be numbered # 1dist.n while systemd packages will be 2dist and higher. @@ -53,6 +53,7 @@ Patch10: mysql-plugin-bool.patch Patch11: mysql-s390-tsc.patch Patch12: mysql-openssl-test.patch Patch13: mysqld-nowatch.patch +Patch14: mysql-va-list.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -203,6 +204,7 @@ the MySQL sources. %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -652,6 +654,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Oct 16 2011 Tom Lane 5.5.16-3 +- Fix unportable usage associated with va_list arguments +Resolves: #744707 + * Sun Oct 16 2011 Tom Lane 5.5.16-2 - Update to MySQL 5.5.16, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html From 885b130b7080f77363032af8c24e3023b7848d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 2 Nov 2011 12:42:22 +0100 Subject: [PATCH 207/616] Don't assume all ethernet devices are named ethX Resolves: #682365 --- mysql-netdevname.patch | 59 ++++++++++++++++++++++++++++++++++++++++++ mysql.spec | 8 +++++- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 mysql-netdevname.patch diff --git a/mysql-netdevname.patch b/mysql-netdevname.patch new file mode 100644 index 0000000..af17f13 --- /dev/null +++ b/mysql-netdevname.patch @@ -0,0 +1,59 @@ +diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c +--- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200 ++++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100 +@@ -68,28 +68,47 @@ err: + #include + #include + ++#define MAX_IFS 64 ++ + my_bool my_gethwaddr(uchar *to) + { + int fd, res= 1; + struct ifreq ifr; + char zero_array[ETHER_ADDR_LEN] = {0}; ++ struct ifconf ifc; ++ struct ifreq ifs[MAX_IFS], *ifri, *ifend; + + fd = socket(AF_INET, SOCK_DGRAM, 0); + if (fd < 0) + goto err; + +- bzero(&ifr, sizeof(ifr)); +- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1); ++ ifc.ifc_len = sizeof(ifs); ++ ifc.ifc_req = ifs; ++ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) ++ { ++ close(fd); ++ goto err; ++ } ++ ++ memcpy(to, zero_array, ETHER_ADDR_LEN); + +- do ++ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq)); ++ for (ifri = ifc.ifc_req; ifri < ifend; ifri++) + { +- if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) ++ if (ifri->ifr_addr.sa_family == AF_INET) + { +- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); +- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1; ++ bzero(&ifr, sizeof(ifr)); ++ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name)); ++ ++ /* Get HW address */ ++ if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) ++ { ++ memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); ++ if (!(res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1)) ++ break; ++ } + } +- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6'); +- ++ } + close(fd); + err: + return res; diff --git a/mysql.spec b/mysql.spec index cf4023f..61eda79 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.16 -Release: 3%{?dist} +Release: 4%{?dist} # Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg. # Our convention for the life of F15 is that sysv packages will be numbered # 1dist.n while systemd packages will be 2dist and higher. @@ -54,6 +54,7 @@ Patch11: mysql-s390-tsc.patch Patch12: mysql-openssl-test.patch Patch13: mysqld-nowatch.patch Patch14: mysql-va-list.patch +Patch15: mysql-netdevname.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -205,6 +206,7 @@ the MySQL sources. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -654,6 +656,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Nov 02 2011 Honza Horak 5.5.16-4 +- Don't assume all ethernet devices are named ethX +Resolves: #682365 + * Sun Oct 16 2011 Tom Lane 5.5.16-3 - Fix unportable usage associated with va_list arguments Resolves: #744707 From f542b8ae0012ed016040b0f83564cc825b4bbe40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 2 Nov 2011 12:43:16 +0100 Subject: [PATCH 208/616] Exclude user definition from my.cnf, user is defined in mysqld.service now Resolves: #661265 --- my.cnf | 5 ++++- mysql.spec | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/my.cnf b/my.cnf index fae0fa2..692a4bb 100644 --- a/my.cnf +++ b/my.cnf @@ -1,7 +1,10 @@ [mysqld] +# Settings user and group are ignored when systemd is used. +# If you need to run mysqld under different user or group, +# customize your systemd unit file for mysqld according to the +# instructions in http://fedoraproject.org/wiki/Systemd datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock -user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 diff --git a/mysql.spec b/mysql.spec index 61eda79..d420c11 100644 --- a/mysql.spec +++ b/mysql.spec @@ -659,6 +659,8 @@ fi * Wed Nov 02 2011 Honza Horak 5.5.16-4 - Don't assume all ethernet devices are named ethX Resolves: #682365 +- Exclude user definition from my.cnf, user is defined in mysqld.service now +Resolves: #661265 * Sun Oct 16 2011 Tom Lane 5.5.16-3 - Fix unportable usage associated with va_list arguments From 4b4f64892417fd8c01562422b17257bc2eda3790 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 12 Nov 2011 22:08:23 -0500 Subject: [PATCH 209/616] Update to MySQL 5.5.17 --- .gitignore | 2 +- mysql.spec | 35 ++++++++++++++++++++--------------- sources | 2 +- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 7648616..5fe8fc7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.16-nodocs.tar.gz +/mysql-5.5.17-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index d420c11..9d82a43 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,10 +1,6 @@ Name: mysql -Version: 5.5.16 -Release: 4%{?dist} -# Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg. -# Our convention for the life of F15 is that sysv packages will be numbered -# 1dist.n while systemd packages will be 2dist and higher. -%global first_systemd_version 5.5.15-2 +Version: 5.5.17 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -439,16 +435,20 @@ fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -# Run this when upgrading from SysV initscript to native systemd unit -%triggerun server -- mysql-server < %{first_systemd_version} -# Save the current service runlevel info -# User must manually run systemd-sysv-convert --apply mysqld -# to migrate them to systemd targets -/usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : +# Handle upgrading from SysV initscript to native systemd unit. +# We can tell if a SysV version of mysql was previously installed by +# checking to see if the initscript is present. +%triggerun server -- mysql-server +if [ -f /etc/rc.d/init.d/mysqld ]; then + # Save the current service runlevel info + # User must manually run systemd-sysv-convert --apply mysqld + # to migrate them to systemd targets + /usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : -# Run these because the SysV package being removed won't do them -/sbin/chkconfig --del mysqld >/dev/null 2>&1 || : -/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : + # Run these because the SysV package being removed won't do them + /sbin/chkconfig --del mysqld >/dev/null 2>&1 || : + /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : +fi %preun server if [ $1 = 0 ]; then @@ -656,6 +656,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Nov 12 2011 Tom Lane 5.5.17-1 +- Update to MySQL 5.5.17, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html +- Get rid of version-number assumption in sysv-to-systemd conversion trigger + * Wed Nov 02 2011 Honza Horak 5.5.16-4 - Don't assume all ethernet devices are named ethX Resolves: #682365 diff --git a/sources b/sources index f7951be..471ee1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f73cbec75c7d5937964271497c14ee39 mysql-5.5.16-nodocs.tar.gz +48b4df648747f49468c4753db786acbf mysql-5.5.17-nodocs.tar.gz From 2351422434ba09e643f48886c305e76e68e522d8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 20 Nov 2011 01:22:47 -0500 Subject: [PATCH 210/616] Update to MySQL 5.5.18 --- .gitignore | 2 +- mysql.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5fe8fc7..4e58793 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.17-nodocs.tar.gz +/mysql-5.5.18-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index 9d82a43..0bd218b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.17 +Version: 5.5.18 Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -656,6 +656,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Nov 20 2011 Tom Lane 5.5.18-1 +- Update to MySQL 5.5.18, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html + * Sat Nov 12 2011 Tom Lane 5.5.17-1 - Update to MySQL 5.5.17, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html diff --git a/sources b/sources index 471ee1a..87a1a0c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -48b4df648747f49468c4753db786acbf mysql-5.5.17-nodocs.tar.gz +22e4bbacb27efdb38c0b54b5c5fab3e8 mysql-5.5.18-nodocs.tar.gz From 8a8a7442fbae72cc2eeb264514281c0313ca52b8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 4 Jan 2012 22:23:21 -0500 Subject: [PATCH 211/616] Update to MySQL 5.5.19 --- .gitignore | 2 +- mysql.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4e58793..dc8839a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.18-nodocs.tar.gz +/mysql-5.5.19-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index 0bd218b..9c2dd72 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.18 +Version: 5.5.19 Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -656,6 +656,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 4 2012 Tom Lane 5.5.19-1 +- Update to MySQL 5.5.19, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html + * Sun Nov 20 2011 Tom Lane 5.5.18-1 - Update to MySQL 5.5.18, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html diff --git a/sources b/sources index 87a1a0c..d4c4b0c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -22e4bbacb27efdb38c0b54b5c5fab3e8 mysql-5.5.18-nodocs.tar.gz +76c434e3db654f59d06b220daaeeed39 mysql-5.5.19-nodocs.tar.gz From 8d619c0aa14fefe907ef7b460691be0a1eed5cff Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 27 Jan 2012 00:58:01 -0500 Subject: [PATCH 212/616] Update to MySQL 5.5.20 --- .gitignore | 2 +- mysql-logrotate.patch | 25 +++++++++++++++++++++++++ mysql.spec | 20 ++++++++++++++++++-- sources | 2 +- 4 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 mysql-logrotate.patch diff --git a/.gitignore b/.gitignore index dc8839a..dd6011c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.19-nodocs.tar.gz +/mysql-5.5.20-nodocs.tar.gz diff --git a/mysql-logrotate.patch b/mysql-logrotate.patch new file mode 100644 index 0000000..dd8742a --- /dev/null +++ b/mysql-logrotate.patch @@ -0,0 +1,25 @@ +Adjust the mysql-log-rotate script to contain the correct log file +name for Red Hat installations. + + +diff -Naur mysql-5.5.20.orig/support-files/mysql-log-rotate.sh mysql-5.5.20/support-files/mysql-log-rotate.sh +--- mysql-5.5.20.orig/support-files/mysql-log-rotate.sh 2011-12-16 14:52:06.000000000 -0500 ++++ mysql-5.5.20/support-files/mysql-log-rotate.sh 2012-01-26 23:24:54.402676177 -0500 +@@ -3,7 +3,7 @@ + # in the [safe_mysqld] section as follows: + # + # [safe_mysqld] +-# err-log=@localstatedir@/mysqld.log ++# err-log=/var/log/mysqld.log + # + # If the root user has a password you have to create a + # /root/.my.cnf configuration file with the following +@@ -18,7 +18,7 @@ + # ATTENTION: This /root/.my.cnf should be readable ONLY + # for root ! + +-@localstatedir@/mysqld.log { ++/var/log/mysqld.log { + # create 600 mysql mysql + notifempty + daily diff --git a/mysql.spec b/mysql.spec index 9c2dd72..487506a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.19 +Version: 5.5.20 Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -51,6 +51,7 @@ Patch12: mysql-openssl-test.patch Patch13: mysqld-nowatch.patch Patch14: mysql-va-list.patch Patch15: mysql-netdevname.patch +Patch16: mysql-logrotate.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -203,6 +204,7 @@ the MySQL sources. %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -404,11 +406,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* +# put logrotate script where it needs to be +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld +chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld + mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -622,6 +628,7 @@ fi %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log +%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel %defattr(-,root,root) @@ -656,6 +663,15 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 27 2012 Tom Lane 5.5.20-1 +- Update to MySQL 5.5.20, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html + as well as security fixes described at + http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html +Resolves: #783828 +- Re-include the mysqld logrotate script, now that it's not so bogus +Resolves: #547007 + * Wed Jan 4 2012 Tom Lane 5.5.19-1 - Update to MySQL 5.5.19, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html diff --git a/sources b/sources index d4c4b0c..3184dd4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -76c434e3db654f59d06b220daaeeed39 mysql-5.5.19-nodocs.tar.gz +5968913aa16e7ec207c3e3ab1d6ff0f0 mysql-5.5.20-nodocs.tar.gz From 7ab7b5299c3140095b3a79b66d774297c4570d3a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 10 Feb 2012 19:12:00 -0500 Subject: [PATCH 213/616] Fixes for #773116 and #785243 --- mysql-disable-test.patch | 27 ------------------------- mysql-install-test.patch | 41 ++++++++++++++++++++++++++++---------- mysql.spec | 32 +++++++++++++++++++++++++---- mysqld.service | 16 +++++++++++++++ rh-skipped-tests-arm.list | 8 ++++++++ rh-skipped-tests-base.list | 20 +++++++++++++++++++ 6 files changed, 102 insertions(+), 42 deletions(-) delete mode 100644 mysql-disable-test.patch create mode 100644 rh-skipped-tests-arm.list create mode 100644 rh-skipped-tests-base.list diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch deleted file mode 100644 index 74b87df..0000000 --- a/mysql-disable-test.patch +++ /dev/null @@ -1,27 +0,0 @@ -Disable the outfile_loaddata test, which as of 5.1.38 is giving -platform-dependent results, with the "expected" results being arguably the -wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -(note that upstream has also disabled it, but only for Solaris, so we still -need this patch). -Still broken in 5.5.14, despite alleged fix. - -Also disable sys_vars.plugin_dir_basic, which is broken because -mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at -http://bugs.mysql.com/bug.php?id=52223 -Still fails in 5.5.16, even though upstream marked it closed. - -Also disable innodb.innodb, which is showing platform-dependent results -as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 - - -diff -Naur mysql-5.5.16.orig/mysql-test/t/disabled.def mysql-5.5.16/mysql-test/t/disabled.def ---- mysql-5.5.16.orig/mysql-test/t/disabled.def 2011-09-09 11:56:40.000000000 -0400 -+++ mysql-5.5.16/mysql-test/t/disabled.def 2011-10-16 19:50:10.064578284 -0400 -@@ -17,3 +17,7 @@ - archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc - log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists - mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 changes - eventum#41836 -+# -+outfile_loaddata : bug#46895 code wrong, expected results wrong too -+sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory -+innodb.innodb : bug#60155 has platform-dependent results diff --git a/mysql-install-test.patch b/mysql-install-test.patch index 5980aea..a31a280 100644 --- a/mysql-install-test.patch +++ b/mysql-install-test.patch @@ -1,27 +1,46 @@ Improve the documentation that will be installed in the mysql-test RPM. -diff -Naur mysql-5.1.43.orig/mysql-test/README mysql-5.1.43/mysql-test/README ---- mysql-5.1.43.orig/mysql-test/README 2010-01-15 12:14:43.000000000 -0500 -+++ mysql-5.1.43/mysql-test/README 2010-02-13 21:18:06.000000000 -0500 -@@ -6,6 +6,16 @@ - actually have a co-existing MySQL installation. The tests will not - conflict with it. +diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README +--- mysql-5.5.20.orig/mysql-test/README 2011-12-16 14:52:05.000000000 -0500 ++++ mysql-5.5.20/mysql-test/README 2012-02-10 17:06:19.531082253 -0500 +@@ -1,14 +1,26 @@ + This directory contains a test suite for the MySQL daemon. To run +-the currently existing test cases, simply execute ./mysql-test-run in +-this directory. It will fire up the newly built mysqld and test it. ++the currently existing test cases, execute ./mysql-test-run in ++this directory. +-Note that you do not have to have to do "make install", and you could +-actually have a co-existing MySQL installation. The tests will not +-conflict with it. +- +-All tests must pass. If one or more of them fail on your system, please +-read the following manual section for instructions on how to report the +-problem: +For use in Red Hat distributions, you should run the script as user mysql, +so the best bet is something like + cd /usr/share/mysql-test -+ sudo -u mysql ./mysql-test-run ++ sudo -u mysql ./mysql-test-run --skip-test-list=rh-skipped-tests.list +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. ++ ++The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++known to fail on one or more Red-Hat-supported platforms. You can omit it ++if you want to check whether such failures occur for you. Documentation ++about the reasons for omitting such tests can be found in the file ++rh-skipped-tests.list. ++ +To clean up afterwards, remove the created "var" subdirectory, eg + sudo -u mysql rm -rf /usr/share/mysql-test/var + - All tests must pass. If one or more of them fail on your system, please - read the following manual section for instructions on how to report the - problem: -@@ -25,7 +35,8 @@ ++If one or more tests fail on your system, please read the following manual ++section for instructions on how to report the problem: + + http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html + +@@ -25,7 +37,8 @@ With no test cases named on the command line, mysql-test-run falls back to the normal "non-extern" behavior. The reason for this is that some diff --git a/mysql.spec b/mysql.spec index 487506a..d0fd6b5 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.20 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -32,6 +32,8 @@ Source10: mysql.tmpfiles.d Source11: mysqld.service Source12: mysqld-prepare-db-dir Source13: mysqld-wait-ready +Source14: rh-skipped-tests-base.list +Source15: rh-skipped-tests-arm.list # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -44,7 +46,6 @@ Patch5: mysql-stack-guard.patch Patch6: mysql-chain-certs.patch Patch7: mysql-versioning.patch Patch8: mysql-dubious-exports.patch -Patch9: mysql-disable-test.patch Patch10: mysql-plugin-bool.patch Patch11: mysql-s390-tsc.patch Patch12: mysql-openssl-test.patch @@ -197,7 +198,6 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 @@ -212,6 +212,13 @@ rm -f mysql-test/t/ssl_8k_key-master.opt # upstream has fallen down badly on symbol versioning, do it ourselves cp %{SOURCE8} libmysql/libmysql.version +# generate a list of tests that fail, but are not disabled by upstream +cat %{SOURCE14} > mysql-test/rh-skipped-tests.list +# disable some tests failing on ARM architectures +%ifarch %{arm} +cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list +%endif + %build # fail quickly and obviously if user tries to build as root @@ -305,11 +312,15 @@ cd ../.. # --force to continue tests after a failure # no retries please # test SSL with --ssl + # skip tests that are listed in rh-skipped-tests.list # avoid redundant test runs with --binlog-format=mixed # increase timeouts to prevent unwanted failures during mass rebuilds ( cd mysql-test - perl ./mysql-test-run.pl --force --retry=0 --ssl --mysqld=--binlog-format=mixed --suite-timeout=720 --testcase-timeout=30 + perl ./mysql-test-run.pl --force --retry=0 --ssl \ + --skip-test-list=rh-skipped-tests.list \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) @@ -422,6 +433,9 @@ echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf cp %{SOURCE6} README.mysql-docs cp %{SOURCE7} README.mysql-license +# install the list of skipped tests to be available for user runs +install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test + %clean rm -rf $RPM_BUILD_ROOT @@ -663,6 +677,16 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Feb 10 2012 Tom Lane 5.5.20-2 +- Revise our test-disabling method to make it possible to disable tests on a + platform-specific basis, and also to get rid of mysql-disable-test.patch, + which broke in just about every upstream update (Honza Horak) +- Disable cycle-counter-dependent regression tests on ARM, since there is + not currently any support for that in Fedora ARM kernels +Resolves: #773116 +- Add some comments to mysqld.service documenting how to customize it +Resolves: #785243 + * Fri Jan 27 2012 Tom Lane 5.5.20-1 - Update to MySQL 5.5.20, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html diff --git a/mysqld.service b/mysqld.service index b3bc486..b7fa095 100644 --- a/mysqld.service +++ b/mysqld.service @@ -1,3 +1,19 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to create a file "/etc/systemd/system/mysqld.service", +# containing +# .include /lib/systemd/system/mysqld.service +# ...make your changes here... +# For more info about custom unit files, see +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F + +# For example, if you want to increase mysql's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, so create a file named +# "/etc/systemd/system/mysqld.service" containing: +# .include /lib/systemd/system/mysqld.service +# [Service] +# LimitNOFILE=10000 + [Unit] Description=MySQL database server After=syslog.target diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list new file mode 100644 index 0000000..a6ae9bf --- /dev/null +++ b/rh-skipped-tests-arm.list @@ -0,0 +1,8 @@ + +# Disable perfschema.func_file_io and perfschema.func_mutex, which fail +# because cycle counter returns 0 every time on ARM architectures. +# This is caused by missing hardware performance counter support on ARM. +# Discussion about fixing that can be found in RH bug #741325. + +perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm +perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list new file mode 100644 index 0000000..a855f78 --- /dev/null +++ b/rh-skipped-tests-base.list @@ -0,0 +1,20 @@ +# Disable the outfile_loaddata test, which as of 5.1.38 is giving +# platform-dependent results, with the "expected" results being arguably the +# wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 +# (note that upstream has also disabled it, but only for Solaris, so we still +# need to disable it here). +# Still broken in 5.5.14, despite alleged fix. + +outfile_loaddata : bug#46895 code wrong, expected results wrong too + +# Disable sys_vars.plugin_dir_basic, which is broken because +# mysql-test-run doesn't set the right value of MYSQL_LIBDIR. +# Upstream at http://bugs.mysql.com/bug.php?id=52223 +# Still fails in 5.5.16, even though upstream marked it closed. + +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory + +# Disable innodb.innodb, which is showing platform-dependent results +# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 + +innodb.innodb : bug#60155 has platform-dependent results From 2d45b49ace1b777dc20c47bff8e2b829d760e3fb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 27 Feb 2012 21:44:12 -0500 Subject: [PATCH 214/616] Update to MySQL 5.5.21 --- .gitignore | 2 +- mysql-default-cipher.patch | 246 +++++++++++++++++++++++++++++++++++++ mysql-file-contents.patch | 27 ++++ mysql-plugin-test.patch | 132 ++++++++++++++++++++ mysql.spec | 25 +++- sources | 2 +- 6 files changed, 430 insertions(+), 4 deletions(-) create mode 100644 mysql-default-cipher.patch create mode 100644 mysql-file-contents.patch create mode 100644 mysql-plugin-test.patch diff --git a/.gitignore b/.gitignore index dd6011c..6039a2e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.20-nodocs.tar.gz +/mysql-5.5.21-nodocs.tar.gz diff --git a/mysql-default-cipher.patch b/mysql-default-cipher.patch new file mode 100644 index 0000000..17964bd --- /dev/null +++ b/mysql-default-cipher.patch @@ -0,0 +1,246 @@ +Skip a few test items that assume the default SSL cipher is +DHE-RSA-AES256-SHA, which is no longer the case as of openssl 1.0.1. +There is probably a better answer than diking out these checks entirely, +but I will leave it to upstream to figure one out. + +Upstream at http://bugs.mysql.com/bug.php?id=64461 + + +diff -Naur mysql-5.5.21.orig/mysql-test/r/openssl_1.result mysql-5.5.21/mysql-test/r/openssl_1.result +--- mysql-5.5.21.orig/mysql-test/r/openssl_1.result 2012-01-31 06:28:16.000000000 -0500 ++++ mysql-5.5.21/mysql-test/r/openssl_1.result 2012-02-27 00:31:11.789705322 -0500 +@@ -2,40 +2,28 @@ + create table t1(f1 int); + insert into t1 values (5); + grant select on test.* to ssl_user1@localhost require SSL; +-grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; +-grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; +-grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; +-grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; ++grant select on test.* to ssl_user2@localhost require SSL; ++grant select on test.* to ssl_user3@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user4@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user5@localhost require SUBJECT "xxx"; + flush privileges; + connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); + ERROR 28000: Access denied for user 'ssl_user5'@'localhost' (using password: NO) +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + select * from t1; + f1 + 5 + delete from t1; + ERROR 42000: DELETE command denied to user 'ssl_user1'@'localhost' for table 't1' +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + select * from t1; + f1 + 5 + delete from t1; + ERROR 42000: DELETE command denied to user 'ssl_user2'@'localhost' for table 't1' +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + select * from t1; + f1 + 5 + delete from t1; + ERROR 42000: DELETE command denied to user 'ssl_user3'@'localhost' for table 't1' +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + select * from t1; + f1 + 5 +@@ -51,11 +39,6 @@ + mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key + SSL error: Unable to get certificate from '' + mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get certificate +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + End of 5.0 tests + DROP TABLE IF EXISTS thread_status; + DROP EVENT IF EXISTS event_status; +@@ -204,8 +187,5 @@ + is still running; no cipher request crashed the server + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + DROP USER bug42158@localhost; + End of 5.1 tests +diff -Naur mysql-5.5.21.orig/mysql-test/r/ssl.result mysql-5.5.21/mysql-test/r/ssl.result +--- mysql-5.5.21.orig/mysql-test/r/ssl.result 2012-01-31 06:28:16.000000000 -0500 ++++ mysql-5.5.21/mysql-test/r/ssl.result 2012-02-27 00:32:31.503920619 -0500 +@@ -1,6 +1,3 @@ +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + drop table if exists t1,t2,t3,t4; + CREATE TABLE t1 ( + Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, +@@ -2154,6 +2151,3 @@ + Warnings: + Warning 1052 Column 'kundentyp' in group statement is ambiguous + drop table t1; +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA +diff -Naur mysql-5.5.21.orig/mysql-test/r/ssl_compress.result mysql-5.5.21/mysql-test/r/ssl_compress.result +--- mysql-5.5.21.orig/mysql-test/r/ssl_compress.result 2012-01-31 06:28:16.000000000 -0500 ++++ mysql-5.5.21/mysql-test/r/ssl_compress.result 2012-02-27 00:36:03.726113717 -0500 +@@ -1,6 +1,3 @@ +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Compression'; + Variable_name Value + Compression ON +@@ -2157,9 +2154,6 @@ + Warnings: + Warning 1052 Column 'kundentyp' in group statement is ambiguous + drop table t1; +-SHOW STATUS LIKE 'Ssl_cipher'; +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Compression'; + Variable_name Value + Compression ON +diff -Naur mysql-5.5.21.orig/mysql-test/t/openssl_1.test mysql-5.5.21/mysql-test/t/openssl_1.test +--- mysql-5.5.21.orig/mysql-test/t/openssl_1.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/openssl_1.test 2012-02-27 00:31:14.031717958 -0500 +@@ -14,10 +14,10 @@ + insert into t1 values (5); + + grant select on test.* to ssl_user1@localhost require SSL; +-grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; +-grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; +-grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; +-grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; ++grant select on test.* to ssl_user2@localhost require SSL; ++grant select on test.* to ssl_user3@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user4@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; ++grant select on test.* to ssl_user5@localhost require SUBJECT "xxx"; + flush privileges; + + connect (con1,localhost,ssl_user1,,,,,SSL); +@@ -29,29 +29,21 @@ + connect (con5,localhost,ssl_user5,,,,,SSL); + + connection con1; +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR + delete from t1; + + connection con2; +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR + delete from t1; + + connection con3; +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR + delete from t1; + + connection con4; +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR + delete from t1; +@@ -104,22 +96,6 @@ + --error 1 + --exec $MYSQL_TEST --ssl-cert= --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 + +-# +-# Bug#21611 Slave can't connect when master-ssl-cipher specified +-# - Apparently selecting a cipher doesn't work at all +-# - Usa a cipher that both yaSSL and OpenSSL supports +-# +---exec echo "SHOW STATUS LIKE 'Ssl_cipher'; exit;" > $MYSQLTEST_VARDIR/tmp/test.sql +---exec $MYSQL_TEST --ssl-cipher=DHE-RSA-AES256-SHA < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 +- +-# +-# Bug#25309 SSL connections without CA certificate broken since MySQL 5.0.23 +-# +-# Test that we can open encrypted connection to server without +-# verification of servers certificate by setting both ca certificate +-# and ca path to NULL +-# +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + --echo End of 5.0 tests + + # +@@ -245,7 +221,6 @@ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +-SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; + DROP USER bug42158@localhost; +diff -Naur mysql-5.5.21.orig/mysql-test/t/ssl.test mysql-5.5.21/mysql-test/t/ssl.test +--- mysql-5.5.21.orig/mysql-test/t/ssl.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/ssl.test 2012-02-27 00:32:26.000889684 -0500 +@@ -8,15 +8,9 @@ + + connect (ssl_con,localhost,root,,,,,SSL); + +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; +- + # Source select test case + -- source include/common-tests.inc + +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; +- + connection default; + disconnect ssl_con; + +diff -Naur mysql-5.5.21.orig/mysql-test/t/ssl_8k_key.test mysql-5.5.21/mysql-test/t/ssl_8k_key.test +--- mysql-5.5.21.orig/mysql-test/t/ssl_8k_key.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/ssl_8k_key.test 2012-02-27 00:34:41.994654229 -0500 +@@ -2,7 +2,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other + ## encryption routines that the SSL library happens to provide! +diff -Naur mysql-5.5.21.orig/mysql-test/t/ssl_compress.test mysql-5.5.21/mysql-test/t/ssl_compress.test +--- mysql-5.5.21.orig/mysql-test/t/ssl_compress.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/ssl_compress.test 2012-02-27 00:35:22.681882970 -0500 +@@ -9,18 +9,12 @@ + + connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); + +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; +- + # Check compression turned on + SHOW STATUS LIKE 'Compression'; + + # Source select test case + -- source include/common-tests.inc + +-# Check ssl turned on +-SHOW STATUS LIKE 'Ssl_cipher'; +- + # Check compression turned on + SHOW STATUS LIKE 'Compression'; + diff --git a/mysql-file-contents.patch b/mysql-file-contents.patch new file mode 100644 index 0000000..73c680d --- /dev/null +++ b/mysql-file-contents.patch @@ -0,0 +1,27 @@ +Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which +breaks at least two packaging commandments, so we put them into $libdir +instead. That means we have to hack the file_contents regression test +to know about this. + +Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 + + +diff -Naur mysql-5.5.21.orig/mysql-test/t/file_contents.test mysql-5.5.21/mysql-test/t/file_contents.test +--- mysql-5.5.21.orig/mysql-test/t/file_contents.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/file_contents.test 2012-02-27 17:18:57.716087918 -0500 +@@ -31,6 +31,15 @@ + } else { + # RedHat: version number in directory name + $dir_docs = glob "$dir_docs/MySQL-server*"; ++ ++ # All the above is entirely wacko, because these files are not docs; ++ # they should be kept in libdir instead. mtr does not provide a nice ++ # way to find libdir though, so we have to kluge it like this: ++ if (-d "/usr/lib64/mysql") { ++ $dir_docs = "/usr/lib64/mysql"; ++ } else { ++ $dir_docs = "/usr/lib/mysql"; ++ } + } + } else { + # tar.gz package, Windows, or developer work (in BZR) diff --git a/mysql-plugin-test.patch b/mysql-plugin-test.patch new file mode 100644 index 0000000..c2fbd0c --- /dev/null +++ b/mysql-plugin-test.patch @@ -0,0 +1,132 @@ +mysql_plugin.test fails when run in mysql-test RPM, though the build-time +regression test is OK. This patch is from the pre-existing upstream bug +report, except we also remove the part that tries to scribble on the +read-only-to-us plugin directory. (That's not a terribly satisfactory +solution, of course, but I'll leave it to upstream to find a better one.) + +rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 + + +diff -Naur mysql-5.5.21.orig/mysql-test/r/mysql_plugin.result mysql-5.5.21/mysql-test/r/mysql_plugin.result +--- mysql-5.5.21.orig/mysql-test/r/mysql_plugin.result 2012-01-31 06:28:16.000000000 -0500 ++++ mysql-5.5.21/mysql-test/r/mysql_plugin.result 2012-02-26 21:45:40.940840973 -0500 +@@ -29,15 +29,6 @@ + name dl + daemon_example libdaemon_example.so + # +-# Ensure the plugin is replaced. +-# +-SELECT * FROM mysql.plugin WHERE dl like '%libdaemon%' ORDER BY name; +-name dl +-daemon_example liblibdaemon_example.so +-# +-# Disable the plugin... +-# +-# + # Ensure the plugin isn't loaded. + # + SELECT * FROM mysql.plugin WHERE dl like '%libdaemon%' ORDER BY name; +diff -Naur mysql-5.5.21.orig/mysql-test/t/mysql_plugin.test mysql-5.5.21/mysql-test/t/mysql_plugin.test +--- mysql-5.5.21.orig/mysql-test/t/mysql_plugin.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/mysql_plugin.test 2012-02-26 21:50:43.973450081 -0500 +@@ -24,7 +24,7 @@ + + # Add the datadir, basedir, plugin_dir to the bootstrap command + let $MYSQLD_DATADIR= `select @@datadir`; +-let $MYSQL_BASEDIR= `select @@basedir`; ++let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp; + let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`; + let $PLUGIN_DIR=`select @@plugin_dir`; + +@@ -66,10 +66,10 @@ + # mysql version, so errmsg.sys will be copied to "basedir/share", we create + # and remove this structure. + +---mkdir $MYSQLD_BASEDIR/share +---mkdir $MYSQLD_BASEDIR/share/mysql +---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys +---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys ++--mkdir $MYSQLD_TMP_BASEDIR/share ++--mkdir $MYSQLD_TMP_BASEDIR/share/mysql ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys + + # The mysql_plugin tool now accepts --my-print-defaults which points to the + # executable my_print_defaults.exe we can get this path from the variable +@@ -100,7 +100,7 @@ + + # Build client command for reuse. + +-let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; ++let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; + + --echo # + --echo # Ensure the plugin isn't loaded. +@@ -198,52 +198,10 @@ + --shutdown_server 10 + --source include/wait_until_disconnected.inc + +-# To test the case where the same plugin is reloaded with a different soname, +-# we must copy the example daemon to a new location renaming it. +- +-let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; +---copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD +---copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini +- +-# Now reload it and see that it is a different name. +---exec $MYSQL_PLUGIN_CMD ENABLE libdaemon_example +- +-# +-# Restart the server +-# +---append_file $expect_file +-restart +-EOF +---enable_reconnect +---source include/wait_until_connected_again.inc +- +---echo # +---echo # Ensure the plugin is replaced. +---echo # +---replace_regex /\.dll/.so/ +-SELECT * FROM mysql.plugin WHERE dl like '%libdaemon%' ORDER BY name; +- +---echo # +---echo # Disable the plugin... +---echo # +-# MTR will remove this file later, but this might be too late. +---error 0,1 +---remove_file $expect_file +---write_file $expect_file +-wait +-EOF +---shutdown_server 10 +---source include/wait_until_disconnected.inc +- + # + # Disable the plugin + # +---exec $MYSQL_PLUGIN_CMD DISABLE libdaemon_example +- +-# Remove files for last test case. +- +---remove_file $PLUGIN_DIR/$DAEMON_RELOAD +---remove_file $DAEMONEXAMPLE_DIR/libdaemon_example.ini ++--exec $MYSQL_PLUGIN_CMD DISABLE daemon_example + + # + # Restart the server +@@ -395,8 +353,10 @@ + --remove_file $expect_file + + # Cleanup the share folder in the binary path. +---remove_file $MYSQLD_BASEDIR/share/errmsg.sys +---rmdir $MYSQLD_BASEDIR/share/mysql +---rmdir $MYSQLD_BASEDIR/share ++--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys ++--remove_file $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys ++ ++--rmdir $MYSQLD_TMP_BASEDIR/share/mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share + + --enable_abort_on_error diff --git a/mysql.spec b/mysql.spec index d0fd6b5..9a8fe0e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.20 -Release: 2%{?dist} +Version: 5.5.21 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -53,6 +53,9 @@ Patch13: mysqld-nowatch.patch Patch14: mysql-va-list.patch Patch15: mysql-netdevname.patch Patch16: mysql-logrotate.patch +Patch17: mysql-plugin-test.patch +Patch18: mysql-default-cipher.patch +Patch19: mysql-file-contents.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -205,6 +208,9 @@ the MySQL sources. %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -354,6 +360,11 @@ sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, +# but that's pretty wacko --- see also mysql-file-contents.patch) +install -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +install -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ + mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log @@ -590,6 +601,9 @@ fi /usr/libexec/mysqld +%{_libdir}/mysql/INFO_SRC +%{_libdir}/mysql/INFO_BIN + %{_libdir}/mysql/mysqlbug %{_libdir}/mysql/plugin @@ -677,6 +691,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Feb 27 2012 Tom Lane 5.5.21-1 +- Update to MySQL 5.5.21, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html +- Hack openssl regression test to still work with rawhide's openssl +- Fix assorted failures in post-install regression tests (mysql-test RPM) +Resolves: #789530 + * Fri Feb 10 2012 Tom Lane 5.5.20-2 - Revise our test-disabling method to make it possible to disable tests on a platform-specific basis, and also to get rid of mysql-disable-test.patch, diff --git a/sources b/sources index 3184dd4..2250902 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5968913aa16e7ec207c3e3ab1d6ff0f0 mysql-5.5.20-nodocs.tar.gz +fe73067444e4cc8cdf95b0f32a92363b mysql-5.5.21-nodocs.tar.gz From 18724338ad491ca115976469107031669ad086f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 13 Mar 2012 18:03:48 +0100 Subject: [PATCH 215/616] Fix ssl-related tests to specify expected cipher explicitly Related: #789600 --- mysql-cipherspec.patch | 115 +++++++++++++++++ mysql-default-cipher.patch | 246 ------------------------------------- mysql.spec | 8 +- 3 files changed, 121 insertions(+), 248 deletions(-) create mode 100644 mysql-cipherspec.patch delete mode 100644 mysql-default-cipher.patch diff --git a/mysql-cipherspec.patch b/mysql-cipherspec.patch new file mode 100644 index 0000000..b9180f2 --- /dev/null +++ b/mysql-cipherspec.patch @@ -0,0 +1,115 @@ +Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, +which is no longer the case as of openssl 1.0.1. +This patch enhances connect command by an option to specify a cipher +and tests are adjusted to specify the expected cipher explicitly. +Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 + +diff -up mysql-5.5.21/client/mysqltest.cc.cipherspec mysql-5.5.21/client/mysqltest.cc +--- mysql-5.5.21/client/mysqltest.cc.cipherspec 2012-01-31 12:28:16.000000000 +0100 ++++ mysql-5.5.21/client/mysqltest.cc 2012-03-09 14:38:37.083890817 +0100 +@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma + my_bool con_ssl= 0, con_compress= 0; + my_bool con_pipe= 0, con_shm= 0; + struct st_connection* con_slot; ++ char *con_cipher=NULL; + + static DYNAMIC_STRING ds_connection_name; + static DYNAMIC_STRING ds_host; +@@ -5546,6 +5547,8 @@ void do_connect(struct st_command *comma + con_pipe= 1; + else if (!strncmp(con_options, "SHM", 3)) + con_shm= 1; ++ else if (!strncmp(con_options, "CIPHER:", 7)) ++ con_cipher = con_options + 7; + else + die("Illegal option to connect: %.*s", + (int) (end - con_options), con_options); +@@ -5593,8 +5596,11 @@ void do_connect(struct st_command *comma + if (con_ssl) + { + #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) ++ /* default cipher */ ++ if (con_cipher == NULL && opt_ssl_cipher != NULL) ++ con_cipher = opt_ssl_cipher; + mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, +- opt_ssl_capath, opt_ssl_cipher); ++ opt_ssl_capath, con_cipher); + #if MYSQL_VERSION_ID >= 50000 + /* Turn on ssl_verify_server_cert only if host is "localhost" */ + opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost"); +diff -up mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec mysql-5.5.21/mysql-test/t/openssl_1.test +--- mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/openssl_1.test 2012-03-09 14:59:52.305752562 +0100 +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca + grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; + flush privileges; + +-connect (con1,localhost,ssl_user1,,,,,SSL); +-connect (con2,localhost,ssl_user2,,,,,SSL); +-connect (con3,localhost,ssl_user3,,,,,SSL); +-connect (con4,localhost,ssl_user4,,,,,SSL); ++connect (con1,localhost,ssl_user1,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); ++connect (con2,localhost,ssl_user2,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); ++connect (con3,localhost,ssl_user3,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); ++connect (con4,localhost,ssl_user4,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT + --error ER_ACCESS_DENIED_ERROR +-connect (con5,localhost,ssl_user5,,,,,SSL); ++connect (con5,localhost,ssl_user5,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + + connection con1; + # Check ssl turned on +@@ -119,7 +119,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + --echo End of 5.0 tests + + # +@@ -244,7 +244,7 @@ select 'is still running; no cipher requ + + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; +-connect(con1,localhost,bug42158,,,,,SSL); ++connect(con1,localhost,bug42158,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -up mysql-5.5.21/mysql-test/t/ssl_8k_key.test.cipherspec mysql-5.5.21/mysql-test/t/ssl_8k_key.test +--- mysql-5.5.21/mysql-test/t/ssl_8k_key.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/ssl_8k_key.test 2012-03-09 14:38:37.084890702 +0100 +@@ -2,7 +2,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other + ## encryption routines that the SSL library happens to provide! +diff -up mysql-5.5.21/mysql-test/t/ssl_compress.test.cipherspec mysql-5.5.21/mysql-test/t/ssl_compress.test +--- mysql-5.5.21/mysql-test/t/ssl_compress.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/ssl_compress.test 2012-03-09 14:38:37.085890587 +0100 +@@ -7,7 +7,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); ++connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; +diff -up mysql-5.5.21/mysql-test/t/ssl.test.cipherspec mysql-5.5.21/mysql-test/t/ssl.test +--- mysql-5.5.21/mysql-test/t/ssl.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/ssl.test 2012-03-09 14:38:37.086890472 +0100 +@@ -6,7 +6,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_con,localhost,root,,,,,SSL); ++connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/mysql-default-cipher.patch b/mysql-default-cipher.patch deleted file mode 100644 index 17964bd..0000000 --- a/mysql-default-cipher.patch +++ /dev/null @@ -1,246 +0,0 @@ -Skip a few test items that assume the default SSL cipher is -DHE-RSA-AES256-SHA, which is no longer the case as of openssl 1.0.1. -There is probably a better answer than diking out these checks entirely, -but I will leave it to upstream to figure one out. - -Upstream at http://bugs.mysql.com/bug.php?id=64461 - - -diff -Naur mysql-5.5.21.orig/mysql-test/r/openssl_1.result mysql-5.5.21/mysql-test/r/openssl_1.result ---- mysql-5.5.21.orig/mysql-test/r/openssl_1.result 2012-01-31 06:28:16.000000000 -0500 -+++ mysql-5.5.21/mysql-test/r/openssl_1.result 2012-02-27 00:31:11.789705322 -0500 -@@ -2,40 +2,28 @@ - create table t1(f1 int); - insert into t1 values (5); - grant select on test.* to ssl_user1@localhost require SSL; --grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; --grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; --grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; --grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; -+grant select on test.* to ssl_user2@localhost require SSL; -+grant select on test.* to ssl_user3@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user4@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user5@localhost require SUBJECT "xxx"; - flush privileges; - connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); - ERROR 28000: Access denied for user 'ssl_user5'@'localhost' (using password: NO) --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - select * from t1; - f1 - 5 - delete from t1; - ERROR 42000: DELETE command denied to user 'ssl_user1'@'localhost' for table 't1' --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - select * from t1; - f1 - 5 - delete from t1; - ERROR 42000: DELETE command denied to user 'ssl_user2'@'localhost' for table 't1' --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - select * from t1; - f1 - 5 - delete from t1; - ERROR 42000: DELETE command denied to user 'ssl_user3'@'localhost' for table 't1' --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - select * from t1; - f1 - 5 -@@ -51,11 +39,6 @@ - mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key - SSL error: Unable to get certificate from '' - mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get certificate --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - End of 5.0 tests - DROP TABLE IF EXISTS thread_status; - DROP EVENT IF EXISTS event_status; -@@ -204,8 +187,5 @@ - is still running; no cipher request crashed the server - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - DROP USER bug42158@localhost; - End of 5.1 tests -diff -Naur mysql-5.5.21.orig/mysql-test/r/ssl.result mysql-5.5.21/mysql-test/r/ssl.result ---- mysql-5.5.21.orig/mysql-test/r/ssl.result 2012-01-31 06:28:16.000000000 -0500 -+++ mysql-5.5.21/mysql-test/r/ssl.result 2012-02-27 00:32:31.503920619 -0500 -@@ -1,6 +1,3 @@ --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - drop table if exists t1,t2,t3,t4; - CREATE TABLE t1 ( - Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, -@@ -2154,6 +2151,3 @@ - Warnings: - Warning 1052 Column 'kundentyp' in group statement is ambiguous - drop table t1; --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA -diff -Naur mysql-5.5.21.orig/mysql-test/r/ssl_compress.result mysql-5.5.21/mysql-test/r/ssl_compress.result ---- mysql-5.5.21.orig/mysql-test/r/ssl_compress.result 2012-01-31 06:28:16.000000000 -0500 -+++ mysql-5.5.21/mysql-test/r/ssl_compress.result 2012-02-27 00:36:03.726113717 -0500 -@@ -1,6 +1,3 @@ --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Compression'; - Variable_name Value - Compression ON -@@ -2157,9 +2154,6 @@ - Warnings: - Warning 1052 Column 'kundentyp' in group statement is ambiguous - drop table t1; --SHOW STATUS LIKE 'Ssl_cipher'; --Variable_name Value --Ssl_cipher DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Compression'; - Variable_name Value - Compression ON -diff -Naur mysql-5.5.21.orig/mysql-test/t/openssl_1.test mysql-5.5.21/mysql-test/t/openssl_1.test ---- mysql-5.5.21.orig/mysql-test/t/openssl_1.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/openssl_1.test 2012-02-27 00:31:14.031717958 -0500 -@@ -14,10 +14,10 @@ - insert into t1 values (5); - - grant select on test.* to ssl_user1@localhost require SSL; --grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; --grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; --grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; --grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; -+grant select on test.* to ssl_user2@localhost require SSL; -+grant select on test.* to ssl_user3@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user4@localhost require SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; -+grant select on test.* to ssl_user5@localhost require SUBJECT "xxx"; - flush privileges; - - connect (con1,localhost,ssl_user1,,,,,SSL); -@@ -29,29 +29,21 @@ - connect (con5,localhost,ssl_user5,,,,,SSL); - - connection con1; --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR - delete from t1; - - connection con2; --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR - delete from t1; - - connection con3; --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR - delete from t1; - - connection con4; --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR - delete from t1; -@@ -104,22 +96,6 @@ - --error 1 - --exec $MYSQL_TEST --ssl-cert= --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 - --# --# Bug#21611 Slave can't connect when master-ssl-cipher specified --# - Apparently selecting a cipher doesn't work at all --# - Usa a cipher that both yaSSL and OpenSSL supports --# ----exec echo "SHOW STATUS LIKE 'Ssl_cipher'; exit;" > $MYSQLTEST_VARDIR/tmp/test.sql ----exec $MYSQL_TEST --ssl-cipher=DHE-RSA-AES256-SHA < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 -- --# --# Bug#25309 SSL connections without CA certificate broken since MySQL 5.0.23 --# --# Test that we can open encrypted connection to server without --# verification of servers certificate by setting both ca certificate --# and ca path to NULL --# ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - --echo End of 5.0 tests - - # -@@ -245,7 +221,6 @@ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); --SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; - DROP USER bug42158@localhost; -diff -Naur mysql-5.5.21.orig/mysql-test/t/ssl.test mysql-5.5.21/mysql-test/t/ssl.test ---- mysql-5.5.21.orig/mysql-test/t/ssl.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/ssl.test 2012-02-27 00:32:26.000889684 -0500 -@@ -8,15 +8,9 @@ - - connect (ssl_con,localhost,root,,,,,SSL); - --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; -- - # Source select test case - -- source include/common-tests.inc - --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; -- - connection default; - disconnect ssl_con; - -diff -Naur mysql-5.5.21.orig/mysql-test/t/ssl_8k_key.test mysql-5.5.21/mysql-test/t/ssl_8k_key.test ---- mysql-5.5.21.orig/mysql-test/t/ssl_8k_key.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/ssl_8k_key.test 2012-02-27 00:34:41.994654229 -0500 -@@ -2,7 +2,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other - ## encryption routines that the SSL library happens to provide! -diff -Naur mysql-5.5.21.orig/mysql-test/t/ssl_compress.test mysql-5.5.21/mysql-test/t/ssl_compress.test ---- mysql-5.5.21.orig/mysql-test/t/ssl_compress.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/ssl_compress.test 2012-02-27 00:35:22.681882970 -0500 -@@ -9,18 +9,12 @@ - - connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); - --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; -- - # Check compression turned on - SHOW STATUS LIKE 'Compression'; - - # Source select test case - -- source include/common-tests.inc - --# Check ssl turned on --SHOW STATUS LIKE 'Ssl_cipher'; -- - # Check compression turned on - SHOW STATUS LIKE 'Compression'; - diff --git a/mysql.spec b/mysql.spec index 9a8fe0e..c93c3ba 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.21 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -54,7 +54,7 @@ Patch14: mysql-va-list.patch Patch15: mysql-netdevname.patch Patch16: mysql-logrotate.patch Patch17: mysql-plugin-test.patch -Patch18: mysql-default-cipher.patch +Patch18: mysql-cipherspec.patch Patch19: mysql-file-contents.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -691,6 +691,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Mar 13 2012 Honza Horak 5.5.21-2 +- Fix ssl-related tests to specify expected cipher explicitly +Related: #789600 + * Mon Feb 27 2012 Tom Lane 5.5.21-1 - Update to MySQL 5.5.21, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html From 1e9ed43cb0a24ac89366d46947e20244132944e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 13 Mar 2012 18:05:56 +0100 Subject: [PATCH 216/616] Fix several strcpy calls to check destination size --- mysql-string-overflow.patch | 52 +++++++++++++++++++++++++++++++++++++ mysql.spec | 3 +++ 2 files changed, 55 insertions(+) create mode 100644 mysql-string-overflow.patch diff --git a/mysql-string-overflow.patch b/mysql-string-overflow.patch new file mode 100644 index 0000000..80cf5bc --- /dev/null +++ b/mysql-string-overflow.patch @@ -0,0 +1,52 @@ +These issues were found by Coverity static analysis tool, for more info +see messages by particular fixes (messages belong to 5.1.61). + +Error: BUFFER_SIZE_WARNING: +/builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. + +diff -up mysql-5.5.21/sql/sql_prepare.cc.coverity mysql-5.5.21/sql/sql_prepare.cc +--- mysql-5.5.21/sql/sql_prepare.cc.coverity 2012-03-13 17:24:40.493658626 +0100 ++++ mysql-5.5.21/sql/sql_prepare.cc 2012-03-13 17:25:14.574338307 +0100 +@@ -2863,7 +2863,7 @@ void mysql_stmt_get_longdata(THD *thd, c + { + stmt->state= Query_arena::STMT_ERROR; + stmt->last_errno= thd->stmt_da->sql_errno(); +- strncpy(stmt->last_error, thd->stmt_da->message(), MYSQL_ERRMSG_SIZE); ++ strncpy(stmt->last_error, thd->stmt_da->message(), sizeof(stmt->last_error)-1); + } + thd->stmt_da= save_stmt_da; + thd->warning_info= save_warinig_info; + + +Error: STRING_OVERFLOW: +/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. +/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +diff -up mysql-5.5.21/sql/sql_trigger.cc.coverity mysql-5.5.21/sql/sql_trigger.cc +--- mysql-5.5.21/sql/sql_trigger.cc.coverity 2012-03-13 17:25:50.781985493 +0100 ++++ mysql-5.5.21/sql/sql_trigger.cc 2012-03-13 17:27:04.589225626 +0100 +@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us + void Table_triggers_list::set_parse_error_message(char *error_message) + { + m_has_unparseable_trigger= true; +- strcpy(m_parse_error_message, error_message); ++ strncpy(m_parse_error_message, error_message, sizeof(m_parse_error_message)-1); + } + + +Error: STRING_OVERFLOW: +/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length. +/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +diff -up mysql-5.5.21/storage/innobase/handler/ha_innodb.cc.coverity mysql-5.5.21/storage/innobase/handler/ha_innodb.cc +--- mysql-5.5.21/storage/innobase/handler/ha_innodb.cc.coverity 2012-03-13 17:28:52.982738150 +0100 ++++ mysql-5.5.21/storage/innobase/handler/ha_innodb.cc 2012-03-13 17:29:14.952427553 +0100 +@@ -6926,7 +6926,7 @@ ha_innobase::create( + DBUG_RETURN(HA_ERR_TO_BIG_ROW); + } + +- strcpy(name2, name); ++ strncpy(name2, name, sizeof(name2)-1); + + normalize_table_name(norm_name, name2); + diff --git a/mysql.spec b/mysql.spec index c93c3ba..47a7024 100644 --- a/mysql.spec +++ b/mysql.spec @@ -56,6 +56,7 @@ Patch16: mysql-logrotate.patch Patch17: mysql-plugin-test.patch Patch18: mysql-cipherspec.patch Patch19: mysql-file-contents.patch +Patch20: mysql-string-overflow.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -211,6 +212,7 @@ the MySQL sources. %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -694,6 +696,7 @@ fi * Tue Mar 13 2012 Honza Horak 5.5.21-2 - Fix ssl-related tests to specify expected cipher explicitly Related: #789600 +- Fix several strcpy calls to check destination size * Mon Feb 27 2012 Tom Lane 5.5.21-1 - Update to MySQL 5.5.21, for various fixes described at From 1d834821fb762dfde847636d7dae2db7791bd1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 20 Mar 2012 17:22:41 +0100 Subject: [PATCH 217/616] Revise mysql_plugin test patch which moves plugin files to a temporary directory now Resolves: #789530 --- mysql-plugin-test.patch | 136 ++++++++++++++-------------------------- mysql.spec | 7 ++- 2 files changed, 52 insertions(+), 91 deletions(-) diff --git a/mysql-plugin-test.patch b/mysql-plugin-test.patch index c2fbd0c..51c8328 100644 --- a/mysql-plugin-test.patch +++ b/mysql-plugin-test.patch @@ -1,44 +1,40 @@ -mysql_plugin.test fails when run in mysql-test RPM, though the build-time -regression test is OK. This patch is from the pre-existing upstream bug -report, except we also remove the part that tries to scribble on the -read-only-to-us plugin directory. (That's not a terribly satisfactory -solution, of course, but I'll leave it to upstream to find a better one.) - -rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 - - -diff -Naur mysql-5.5.21.orig/mysql-test/r/mysql_plugin.result mysql-5.5.21/mysql-test/r/mysql_plugin.result ---- mysql-5.5.21.orig/mysql-test/r/mysql_plugin.result 2012-01-31 06:28:16.000000000 -0500 -+++ mysql-5.5.21/mysql-test/r/mysql_plugin.result 2012-02-26 21:45:40.940840973 -0500 -@@ -29,15 +29,6 @@ - name dl - daemon_example libdaemon_example.so - # --# Ensure the plugin is replaced. --# --SELECT * FROM mysql.plugin WHERE dl like '%libdaemon%' ORDER BY name; --name dl --daemon_example liblibdaemon_example.so --# --# Disable the plugin... --# --# - # Ensure the plugin isn't loaded. - # - SELECT * FROM mysql.plugin WHERE dl like '%libdaemon%' ORDER BY name; -diff -Naur mysql-5.5.21.orig/mysql-test/t/mysql_plugin.test mysql-5.5.21/mysql-test/t/mysql_plugin.test ---- mysql-5.5.21.orig/mysql-test/t/mysql_plugin.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/mysql_plugin.test 2012-02-26 21:50:43.973450081 -0500 -@@ -24,7 +24,7 @@ - +diff -up mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt +--- mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt 2012-03-14 16:54:19.060951822 +0100 +@@ -1 +1 @@ +---plugin-dir=$DAEMONEXAMPLE_DIR ++--plugin-dir=$MYSQLTEST_VARDIR/plugin +diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-test/t/mysql_plugin.test +--- mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/mysql_plugin.test 2012-03-14 17:11:40.769295981 +0100 +@@ -25,8 +25,10 @@ # Add the datadir, basedir, plugin_dir to the bootstrap command let $MYSQLD_DATADIR= `select @@datadir`; --let $MYSQL_BASEDIR= `select @@basedir`; + let $MYSQL_BASEDIR= `select @@basedir`; +let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp; let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`; let $PLUGIN_DIR=`select @@plugin_dir`; ++let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR; -@@ -66,10 +66,10 @@ + --disable_abort_on_error + +@@ -51,10 +53,11 @@ use File::Basename; + { + print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n"; + } +- if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) +- { +- print FILE "let \$PLUGIN_DIR= $not_found;\n"; +- } ++# This test doesn't work because $ENV{PLUGIN_DIR} is empty ++# if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) ++# { ++# print FILE "let \$PLUGIN_DIR= $not_found;\n"; ++# } + close FILE; + EOF + +@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc; # mysql version, so errmsg.sys will be copied to "basedir/share", we create # and remove this structure. @@ -48,12 +44,16 @@ diff -Naur mysql-5.5.21.orig/mysql-test/t/mysql_plugin.test mysql-5.5.21/mysql-t ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys +--mkdir $MYSQLD_TMP_BASEDIR/share +--mkdir $MYSQLD_TMP_BASEDIR/share/mysql ++--mkdir $PLUGIN_DIR +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys ++--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so ++--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini ++ # The mysql_plugin tool now accepts --my-print-defaults which points to the # executable my_print_defaults.exe we can get this path from the variable -@@ -100,7 +100,7 @@ +@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '') # Build client command for reuse. @@ -62,70 +62,26 @@ diff -Naur mysql-5.5.21.orig/mysql-test/t/mysql_plugin.test mysql-5.5.21/mysql-t --echo # --echo # Ensure the plugin isn't loaded. -@@ -198,52 +198,10 @@ - --shutdown_server 10 - --source include/wait_until_disconnected.inc +@@ -202,7 +209,7 @@ EOF + # we must copy the example daemon to a new location renaming it. --# To test the case where the same plugin is reloaded with a different soname, --# we must copy the example daemon to a new location renaming it. -- --let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; + let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; ---copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD ----copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini -- --# Now reload it and see that it is a different name. ----exec $MYSQL_PLUGIN_CMD ENABLE libdaemon_example -- --# --# Restart the server --# ----append_file $expect_file --restart --EOF ----enable_reconnect ----source include/wait_until_connected_again.inc -- ----echo # ----echo # Ensure the plugin is replaced. ----echo # ----replace_regex /\.dll/.so/ --SELECT * FROM mysql.plugin WHERE dl like '%libdaemon%' ORDER BY name; -- ----echo # ----echo # Disable the plugin... ----echo # --# MTR will remove this file later, but this might be too late. ----error 0,1 ----remove_file $expect_file ----write_file $expect_file --wait --EOF ----shutdown_server 10 ----source include/wait_until_disconnected.inc -- - # - # Disable the plugin - # ----exec $MYSQL_PLUGIN_CMD DISABLE libdaemon_example -- --# Remove files for last test case. -- ----remove_file $PLUGIN_DIR/$DAEMON_RELOAD ----remove_file $DAEMONEXAMPLE_DIR/libdaemon_example.ini -+--exec $MYSQL_PLUGIN_CMD DISABLE daemon_example ++--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD + --copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini - # - # Restart the server -@@ -395,8 +353,10 @@ + # Now reload it and see that it is a different name. +@@ -395,8 +402,11 @@ EOF --remove_file $expect_file # Cleanup the share folder in the binary path. ---remove_file $MYSQLD_BASEDIR/share/errmsg.sys ---rmdir $MYSQLD_BASEDIR/share/mysql ---rmdir $MYSQLD_BASEDIR/share ++--remove_file $PLUGIN_DIR/daemon_example.ini ++--remove_file $PLUGIN_DIR/libdaemon_example.so ++--rmdir $PLUGIN_DIR +--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--remove_file $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys -+ +--rmdir $MYSQLD_TMP_BASEDIR/share/mysql +--rmdir $MYSQLD_TMP_BASEDIR/share diff --git a/mysql.spec b/mysql.spec index 47a7024..8f4af2a 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.21 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -693,6 +693,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Mar 20 2012 Honza Horak 5.5.21-3 +- Revise mysql_plugin test patch which moves plugin files to + a temporary directory now +Resolves: #789530 + * Tue Mar 13 2012 Honza Horak 5.5.21-2 - Fix ssl-related tests to specify expected cipher explicitly Related: #789600 From 2feadec414f3e7f44be045c118ef01ea31b573a0 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 24 Mar 2012 01:06:31 -0400 Subject: [PATCH 218/616] Update to MySQL 5.5.22 --- .gitignore | 2 +- mysql-logrotate.patch | 60 ++++++++++++++++++++++++++++++------- mysql-plugin-test.patch | 8 +++++ mysql-string-overflow.patch | 3 ++ mysql.spec | 20 +++++++++---- mysqld.service | 6 ++++ sources | 2 +- 7 files changed, 84 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 6039a2e..c15416c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.21-nodocs.tar.gz +/mysql-5.5.22-nodocs.tar.gz diff --git a/mysql-logrotate.patch b/mysql-logrotate.patch index dd8742a..8ad9d2c 100644 --- a/mysql-logrotate.patch +++ b/mysql-logrotate.patch @@ -1,10 +1,21 @@ -Adjust the mysql-log-rotate script to contain the correct log file -name for Red Hat installations. +Adjust the mysql-log-rotate script in several ways: + +* Use the correct log file pathname for Red Hat installations. +* Enable creation of the log file by logrotate (needed since + /var/log/ isn't writable by mysql user). +* Comment out the actual rotation commands, so that user must edit + the file to enable rotation. This is unfortunate, but the fact + that the script will probably fail without manual configuration + (to set a root password) means that we can't really have it turned + on by default. Fortunately, in most configurations the log file + is low-volume and so rotation is not critical functionality. + +See discussions at RH bugs 799735, 547007 -diff -Naur mysql-5.5.20.orig/support-files/mysql-log-rotate.sh mysql-5.5.20/support-files/mysql-log-rotate.sh ---- mysql-5.5.20.orig/support-files/mysql-log-rotate.sh 2011-12-16 14:52:06.000000000 -0500 -+++ mysql-5.5.20/support-files/mysql-log-rotate.sh 2012-01-26 23:24:54.402676177 -0500 +diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/support-files/mysql-log-rotate.sh +--- mysql-5.5.22.orig/support-files/mysql-log-rotate.sh 2012-03-02 14:44:46.000000000 -0500 ++++ mysql-5.5.22/support-files/mysql-log-rotate.sh 2012-03-23 22:33:29.092043705 -0400 @@ -3,7 +3,7 @@ # in the [safe_mysqld] section as follows: # @@ -14,12 +25,41 @@ diff -Naur mysql-5.5.20.orig/support-files/mysql-log-rotate.sh mysql-5.5.20/supp # # If the root user has a password you have to create a # /root/.my.cnf configuration file with the following -@@ -18,7 +18,7 @@ +@@ -18,19 +18,21 @@ # ATTENTION: This /root/.my.cnf should be readable ONLY # for root ! -@localstatedir@/mysqld.log { -+/var/log/mysqld.log { - # create 600 mysql mysql - notifempty - daily +- # create 600 mysql mysql +- notifempty +- daily +- rotate 3 +- missingok +- compress +- postrotate +- # just if mysqld is really running +- if test -x @bindir@/mysqladmin && \ +- @bindir@/mysqladmin ping &>/dev/null +- then +- @bindir@/mysqladmin flush-logs +- fi +- endscript +-} ++# Then, un-comment the following lines to enable rotation of mysql's log file: ++ ++#/var/log/mysqld.log { ++# create 600 mysql mysql ++# notifempty ++# daily ++# rotate 3 ++# missingok ++# compress ++# postrotate ++# # just if mysqld is really running ++# if test -x @bindir@/mysqladmin && \ ++# @bindir@/mysqladmin ping &>/dev/null ++# then ++# @bindir@/mysqladmin flush-logs ++# fi ++# endscript ++#} diff --git a/mysql-plugin-test.patch b/mysql-plugin-test.patch index 51c8328..5d08c32 100644 --- a/mysql-plugin-test.patch +++ b/mysql-plugin-test.patch @@ -1,3 +1,11 @@ +mysql_plugin.test fails when run in mysql-test RPM, though the build-time +regression test is OK. This patch is from the pre-existing upstream bug +report, except we also fix the part that tries to scribble on the +read-only-to-us plugin directory. + +rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 + + diff -up mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt --- mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin 2012-01-31 12:28:15.000000000 +0100 +++ mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt 2012-03-14 16:54:19.060951822 +0100 diff --git a/mysql-string-overflow.patch b/mysql-string-overflow.patch index 80cf5bc..f86d3b9 100644 --- a/mysql-string-overflow.patch +++ b/mysql-string-overflow.patch @@ -1,6 +1,9 @@ These issues were found by Coverity static analysis tool, for more info see messages by particular fixes (messages belong to 5.1.61). +Filed upstream at http://bugs.mysql.com/bug.php?id=64631 + + Error: BUFFER_SIZE_WARNING: /builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. diff --git a/mysql.spec b/mysql.spec index 8f4af2a..bc831dd 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.21 -Release: 3%{?dist} +Version: 5.5.22 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -693,10 +693,20 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Mar 24 2012 Tom Lane 5.5.22-1 +- Update to MySQL 5.5.22, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html +- Turn on PrivateTmp in service file +Resolves: #782513 +- Comment out the contents of /etc/logrotate.d/mysqld, so that manual + action is needed to enable log rotation. Given the multiple ways in + which the rotation script can fail, it seems imprudent to try to make + it run by default. +Resolves: #799735 + * Tue Mar 20 2012 Honza Horak 5.5.21-3 -- Revise mysql_plugin test patch which moves plugin files to - a temporary directory now -Resolves: #789530 +- Revise mysql_plugin test patch so it moves plugin files to + a temporary directory (better solution to #789530) * Tue Mar 13 2012 Honza Horak 5.5.21-2 - Fix ssl-related tests to specify expected cipher explicitly diff --git a/mysqld.service b/mysqld.service index b7fa095..7289f9d 100644 --- a/mysqld.service +++ b/mysqld.service @@ -14,6 +14,9 @@ # [Service] # LimitNOFILE=10000 +# Note: in F-17 and beyond, /usr/lib/... is recommended in the .include line +# though /lib/... will still work. + [Unit] Description=MySQL database server After=syslog.target @@ -36,5 +39,8 @@ TimeoutSec=300 # We rely on systemd, not mysqld_safe, to restart mysqld if it dies Restart=always +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + [Install] WantedBy=multi-user.target diff --git a/sources b/sources index 2250902..7be9ec4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fe73067444e4cc8cdf95b0f32a92363b mysql-5.5.21-nodocs.tar.gz +897d8ac3e1880de4ad9c27c4a20f887f mysql-5.5.22-nodocs.tar.gz From c375f2fcbc7efc5fbe88bec1694c1b105cd08df2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 27 Apr 2012 23:51:49 -0400 Subject: [PATCH 219/616] Update to MySQL 5.5.23 --- .gitignore | 2 +- mysql-string-overflow.patch | 30 ++++++++++++++++-------------- mysql.spec | 6 +++++- sources | 2 +- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index c15416c..7f4a138 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.22-nodocs.tar.gz +/mysql-5.5.23-nodocs.tar.gz diff --git a/mysql-string-overflow.patch b/mysql-string-overflow.patch index f86d3b9..eaa11e8 100644 --- a/mysql-string-overflow.patch +++ b/mysql-string-overflow.patch @@ -7,10 +7,10 @@ Filed upstream at http://bugs.mysql.com/bug.php?id=64631 Error: BUFFER_SIZE_WARNING: /builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. -diff -up mysql-5.5.21/sql/sql_prepare.cc.coverity mysql-5.5.21/sql/sql_prepare.cc ---- mysql-5.5.21/sql/sql_prepare.cc.coverity 2012-03-13 17:24:40.493658626 +0100 -+++ mysql-5.5.21/sql/sql_prepare.cc 2012-03-13 17:25:14.574338307 +0100 -@@ -2863,7 +2863,7 @@ void mysql_stmt_get_longdata(THD *thd, c +diff -Naur mysql-5.5.23.orig/sql/sql_prepare.cc mysql-5.5.23/sql/sql_prepare.cc +--- mysql-5.5.23.orig/sql/sql_prepare.cc 2012-03-29 15:07:12.000000000 -0400 ++++ mysql-5.5.23/sql/sql_prepare.cc 2012-04-27 22:19:09.196076848 -0400 +@@ -2871,7 +2871,7 @@ { stmt->state= Query_arena::STMT_ERROR; stmt->last_errno= thd->stmt_da->sql_errno(); @@ -25,10 +25,10 @@ Error: STRING_OVERFLOW: /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -up mysql-5.5.21/sql/sql_trigger.cc.coverity mysql-5.5.21/sql/sql_trigger.cc ---- mysql-5.5.21/sql/sql_trigger.cc.coverity 2012-03-13 17:25:50.781985493 +0100 -+++ mysql-5.5.21/sql/sql_trigger.cc 2012-03-13 17:27:04.589225626 +0100 -@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us +diff -Naur mysql-5.5.23.orig/sql/sql_trigger.cc mysql-5.5.23/sql/sql_trigger.cc +--- mysql-5.5.23.orig/sql/sql_trigger.cc 2012-03-29 15:07:12.000000000 -0400 ++++ mysql-5.5.23/sql/sql_trigger.cc 2012-04-27 22:19:09.198076947 -0400 +@@ -2260,7 +2260,7 @@ void Table_triggers_list::set_parse_error_message(char *error_message) { m_has_unparseable_trigger= true; @@ -36,17 +36,19 @@ diff -up mysql-5.5.21/sql/sql_trigger.cc.coverity mysql-5.5.21/sql/sql_trigger.c + strncpy(m_parse_error_message, error_message, sizeof(m_parse_error_message)-1); } + + Error: STRING_OVERFLOW: /builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length. /builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -up mysql-5.5.21/storage/innobase/handler/ha_innodb.cc.coverity mysql-5.5.21/storage/innobase/handler/ha_innodb.cc ---- mysql-5.5.21/storage/innobase/handler/ha_innodb.cc.coverity 2012-03-13 17:28:52.982738150 +0100 -+++ mysql-5.5.21/storage/innobase/handler/ha_innodb.cc 2012-03-13 17:29:14.952427553 +0100 -@@ -6926,7 +6926,7 @@ ha_innobase::create( - DBUG_RETURN(HA_ERR_TO_BIG_ROW); - } +diff -Naur mysql-5.5.23.orig/storage/innobase/handler/ha_innodb.cc mysql-5.5.23/storage/innobase/handler/ha_innodb.cc +--- mysql-5.5.23.orig/storage/innobase/handler/ha_innodb.cc 2012-03-29 15:07:11.000000000 -0400 ++++ mysql-5.5.23/storage/innobase/handler/ha_innodb.cc 2012-04-27 22:19:09.201077088 -0400 +@@ -7023,7 +7023,7 @@ + + ut_a(strlen(name) < sizeof(name2)); - strcpy(name2, name); + strncpy(name2, name, sizeof(name2)-1); diff --git a/mysql.spec b/mysql.spec index bc831dd..2e828e7 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.22 +Version: 5.5.23 Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -693,6 +693,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Apr 28 2012 Tom Lane 5.5.23-1 +- Update to MySQL 5.5.23, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html + * Sat Mar 24 2012 Tom Lane 5.5.22-1 - Update to MySQL 5.5.22, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html diff --git a/sources b/sources index 7be9ec4..88f4c0c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -897d8ac3e1880de4ad9c27c4a20f887f mysql-5.5.22-nodocs.tar.gz +dfdae08b57c51740344a3b4ce930127a mysql-5.5.23-nodocs.tar.gz From 7f33180e01a60ea661d398d57b9920fbf68ccd3b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 11 Jun 2012 17:25:25 -0400 Subject: [PATCH 220/616] Update to MySQL 5.5.24 --- .gitignore | 2 +- mysql-logrotate.patch | 5 +++-- mysql.spec | 18 +++++++++++++----- sources | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 7f4a138..d942bd7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.23-nodocs.tar.gz +/mysql-5.5.24-nodocs.tar.gz diff --git a/mysql-logrotate.patch b/mysql-logrotate.patch index 8ad9d2c..f76237d 100644 --- a/mysql-logrotate.patch +++ b/mysql-logrotate.patch @@ -2,7 +2,8 @@ Adjust the mysql-log-rotate script in several ways: * Use the correct log file pathname for Red Hat installations. * Enable creation of the log file by logrotate (needed since - /var/log/ isn't writable by mysql user). + /var/log/ isn't writable by mysql user); and set the same 640 + permissions we normally use. * Comment out the actual rotation commands, so that user must edit the file to enable rotation. This is unfortunate, but the fact that the script will probably fail without manual configuration @@ -48,7 +49,7 @@ diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/supp +# Then, un-comment the following lines to enable rotation of mysql's log file: + +#/var/log/mysqld.log { -+# create 600 mysql mysql ++# create 640 mysql mysql +# notifempty +# daily +# rotate 3 diff --git a/mysql.spec b/mysql.spec index 2e828e7..b521eb3 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.23 +Version: 5.5.24 Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -109,7 +109,7 @@ Requires: sh-utils Requires(pre): /usr/sbin/useradd Requires(post): chkconfig Requires(preun): chkconfig -# We require this to be present for /etc/tmpfiles.d +# We require this to be present for %%{_prefix}/lib/tmpfiles.d Requires: systemd-units # Make sure it's there when scriptlets run, too Requires(post): systemd-units @@ -382,8 +382,8 @@ install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ -mkdir -p $RPM_BUILD_ROOT/etc/tmpfiles.d -install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT/etc/tmpfiles.d/mysql.conf +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d +install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/mysql.conf # Fix funny permissions that cmake build scripts apply to config files chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini @@ -654,7 +654,7 @@ fi %{_libexecdir}/mysqld-prepare-db-dir %{_libexecdir}/mysqld-wait-ready -/etc/tmpfiles.d/mysql.conf +%{_prefix}/lib/tmpfiles.d/mysql.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log @@ -693,6 +693,14 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jun 11 2012 Tom Lane 5.5.24-1 +- Update to MySQL 5.5.24, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html + including the fix for CVE-2012-2122 +Resolves: #830680 +- Tweak logrotate script to put the right permissions on mysqld.log +- Minor specfile fixes for recent packaging guidelines changes + * Sat Apr 28 2012 Tom Lane 5.5.23-1 - Update to MySQL 5.5.23, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html diff --git a/sources b/sources index 88f4c0c..87aa00a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dfdae08b57c51740344a3b4ce930127a mysql-5.5.23-nodocs.tar.gz +e42efbddfa93a16ec137dfcbeb996c24 mysql-5.5.24-nodocs.tar.gz From 45c128c5a5418244a66750f4c2c7d7e2c8730df2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 6 Jul 2012 11:49:25 -0400 Subject: [PATCH 221/616] Update to MySQL 5.5.25a; stop using systemd's Restart option --- .gitignore | 2 +- mysql.spec | 11 +++++++--- mysqld-nowatch.patch | 51 -------------------------------------------- mysqld-wait-ready | 2 +- mysqld.service | 7 ++---- sources | 2 +- 6 files changed, 13 insertions(+), 62 deletions(-) delete mode 100644 mysqld-nowatch.patch diff --git a/.gitignore b/.gitignore index d942bd7..f6d64c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.24-nodocs.tar.gz +/mysql-5.5.25a-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index b521eb3..f3492e2 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.24 +Version: 5.5.25a Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -49,7 +49,6 @@ Patch8: mysql-dubious-exports.patch Patch10: mysql-plugin-bool.patch Patch11: mysql-s390-tsc.patch Patch12: mysql-openssl-test.patch -Patch13: mysqld-nowatch.patch Patch14: mysql-va-list.patch Patch15: mysql-netdevname.patch Patch16: mysql-logrotate.patch @@ -205,7 +204,6 @@ the MySQL sources. %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 @@ -693,6 +691,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 6 2012 Tom Lane 5.5.25a-1 +- Update to MySQL 5.5.25a, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25a.html + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25.html +- Don't use systemd's Restart feature; rely on mysqld_safe instead +Resolves: #832029 + * Mon Jun 11 2012 Tom Lane 5.5.24-1 - Update to MySQL 5.5.24, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html diff --git a/mysqld-nowatch.patch b/mysqld-nowatch.patch deleted file mode 100644 index 9ca2d12..0000000 --- a/mysqld-nowatch.patch +++ /dev/null @@ -1,51 +0,0 @@ -Add a --nowatch option to mysqld_safe that causes it to exit after -spawning mysqld. We don't need mysqld_safe to restart mysqld after -a crash, because systemd can do that just fine. - - -diff -Naur mysql-5.5.14.orig/scripts/mysqld_safe.sh mysql-5.5.14/scripts/mysqld_safe.sh ---- mysql-5.5.14.orig/scripts/mysqld_safe.sh 2011-06-21 12:42:40.000000000 -0400 -+++ mysql-5.5.14/scripts/mysqld_safe.sh 2011-07-25 13:52:40.363068060 -0400 -@@ -15,6 +15,7 @@ - KILL_MYSQLD=1; - MYSQLD= - niceness=0 -+nowatch=0 - mysqld_ld_preload= - mysqld_ld_library_path= - -@@ -54,6 +55,7 @@ - --mysqld=FILE Use the specified file as mysqld - --mysqld-version=VERSION Use "mysqld-VERSION" as mysqld - --nice=NICE Set the scheduling priority of mysqld -+ --nowatch Exit after starting mysqld - --plugin-dir=DIR Plugins are under DIR or DIR/VERSION, if - VERSION is given - --skip-kill-mysqld Don't try to kill stray mysqld processes -@@ -140,8 +142,16 @@ - ;; - esac - -- #echo "Running mysqld: [$cmd]" -- eval "$cmd" -+ if test $nowatch -eq 1 -+ then -+ # We'd prefer to exec $cmd here, but SELinux needs to be fixed first -+ #/usr/bin/logger "Running mysqld: $cmd" -+ eval "$cmd &" -+ exit 0 -+ else -+ #echo "Running mysqld: [$cmd]" -+ eval "$cmd" -+ fi - } - - shell_quote_string() { -@@ -198,6 +208,7 @@ - fi - ;; - --nice=*) niceness="$val" ;; -+ --nowatch) nowatch=1 ;; - --open-files-limit=*) open_files="$val" ;; - --open_files_limit=*) open_files="$val" ;; - --skip-kill-mysqld*) KILL_MYSQLD=0 ;; diff --git a/mysqld-wait-ready b/mysqld-wait-ready index 10e86fe..8fe99ec 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready @@ -6,7 +6,7 @@ # Running this as ExecStartPost is useful so that services declared as # "After mysqld" won't be started until the database is really ready. -# Service file passes us the daemon's PID +# Service file passes us the daemon's PID (actually, mysqld_safe's PID) daemon_pid="$1" # extract value of a MySQL option from config files diff --git a/mysqld.service b/mysqld.service index 7289f9d..c6e4dea 100644 --- a/mysqld.service +++ b/mysqld.service @@ -23,22 +23,19 @@ After=syslog.target After=network.target [Service] -Type=forking +Type=simple User=mysql Group=mysql ExecStartPre=/usr/libexec/mysqld-prepare-db-dir # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=/usr/bin/mysqld_safe --nowatch --basedir=/usr +ExecStart=/usr/bin/mysqld_safe --basedir=/usr ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 -# We rely on systemd, not mysqld_safe, to restart mysqld if it dies -Restart=always - # Place temp files in a secure directory, not /tmp PrivateTmp=true diff --git a/sources b/sources index 87aa00a..1598ba1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e42efbddfa93a16ec137dfcbeb996c24 mysql-5.5.24-nodocs.tar.gz +4f0db6cea9f201aa89fb7c80ac915796 mysql-5.5.25a-nodocs.tar.gz From e98ef89237f25e91a414ffe38c4ad05f818b1ae7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 19 Jul 2012 22:28:10 -0500 Subject: [PATCH 222/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index f3492e2..277d649 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.25a -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -691,6 +691,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 20 2012 Fedora Release Engineering - 5.5.25a-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Fri Jul 6 2012 Tom Lane 5.5.25a-1 - Update to MySQL 5.5.25a, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25a.html From 98b903b690fecf7f63ba7cb84d44ef44cf76ec8f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 5 Aug 2012 23:16:11 -0400 Subject: [PATCH 223/616] Update to MySQL 5.5.27 --- .gitignore | 2 +- mysql-cipherspec.patch | 84 +++++++++++++++++++------------------- mysql.spec | 8 +++- rh-skipped-tests-base.list | 7 ---- sources | 2 +- 5 files changed, 50 insertions(+), 53 deletions(-) diff --git a/.gitignore b/.gitignore index f6d64c5..658f35a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.25a-nodocs.tar.gz +/mysql-5.5.27-nodocs.tar.gz diff --git a/mysql-cipherspec.patch b/mysql-cipherspec.patch index b9180f2..18b8fee 100644 --- a/mysql-cipherspec.patch +++ b/mysql-cipherspec.patch @@ -4,27 +4,27 @@ This patch enhances connect command by an option to specify a cipher and tests are adjusted to specify the expected cipher explicitly. Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 -diff -up mysql-5.5.21/client/mysqltest.cc.cipherspec mysql-5.5.21/client/mysqltest.cc ---- mysql-5.5.21/client/mysqltest.cc.cipherspec 2012-01-31 12:28:16.000000000 +0100 -+++ mysql-5.5.21/client/mysqltest.cc 2012-03-09 14:38:37.083890817 +0100 -@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma +diff -Naur mysql-5.5.27.orig/client/mysqltest.cc mysql-5.5.27/client/mysqltest.cc +--- mysql-5.5.27.orig/client/mysqltest.cc 2012-07-20 13:38:02.000000000 -0400 ++++ mysql-5.5.27/client/mysqltest.cc 2012-08-05 01:01:21.502130550 -0400 +@@ -5458,6 +5458,7 @@ my_bool con_ssl= 0, con_compress= 0; - my_bool con_pipe= 0, con_shm= 0; + my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; struct st_connection* con_slot; + char *con_cipher=NULL; static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5546,6 +5547,8 @@ void do_connect(struct st_command *comma - con_pipe= 1; - else if (!strncmp(con_options, "SHM", 3)) +@@ -5548,6 +5549,8 @@ con_shm= 1; + else if (!strncmp(con_options, "CLEARTEXT", 9)) + con_cleartext_enable= 1; + else if (!strncmp(con_options, "CIPHER:", 7)) + con_cipher = con_options + 7; else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5593,8 +5596,11 @@ void do_connect(struct st_command *comma +@@ -5595,8 +5598,11 @@ if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) @@ -37,10 +37,10 @@ diff -up mysql-5.5.21/client/mysqltest.cc.cipherspec mysql-5.5.21/client/mysqlte #if MYSQL_VERSION_ID >= 50000 /* Turn on ssl_verify_server_cert only if host is "localhost" */ opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost"); -diff -up mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec mysql-5.5.21/mysql-test/t/openssl_1.test ---- mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/openssl_1.test 2012-03-09 14:59:52.305752562 +0100 -@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca +diff -Naur mysql-5.5.27.orig/mysql-test/t/openssl_1.test mysql-5.5.27/mysql-test/t/openssl_1.test +--- mysql-5.5.27.orig/mysql-test/t/openssl_1.test 2012-07-20 13:38:03.000000000 -0400 ++++ mysql-5.5.27/mysql-test/t/openssl_1.test 2012-08-05 01:00:27.798822919 -0400 +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; @@ -59,7 +59,7 @@ diff -up mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec mysql-5.5.21/mysql- connection con1; # Check ssl turned on -@@ -119,7 +119,7 @@ drop table t1; +@@ -119,7 +119,7 @@ # verification of servers certificate by setting both ca certificate # and ca path to NULL # @@ -68,7 +68,7 @@ diff -up mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec mysql-5.5.21/mysql- --echo End of 5.0 tests # -@@ -244,7 +244,7 @@ select 'is still running; no cipher requ +@@ -244,7 +244,7 @@ GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -77,33 +77,9 @@ diff -up mysql-5.5.21/mysql-test/t/openssl_1.test.cipherspec mysql-5.5.21/mysql- SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; -diff -up mysql-5.5.21/mysql-test/t/ssl_8k_key.test.cipherspec mysql-5.5.21/mysql-test/t/ssl_8k_key.test ---- mysql-5.5.21/mysql-test/t/ssl_8k_key.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/ssl_8k_key.test 2012-03-09 14:38:37.084890702 +0100 -@@ -2,7 +2,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other - ## encryption routines that the SSL library happens to provide! -diff -up mysql-5.5.21/mysql-test/t/ssl_compress.test.cipherspec mysql-5.5.21/mysql-test/t/ssl_compress.test ---- mysql-5.5.21/mysql-test/t/ssl_compress.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/ssl_compress.test 2012-03-09 14:38:37.085890587 +0100 -@@ -7,7 +7,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); -+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; -diff -up mysql-5.5.21/mysql-test/t/ssl.test.cipherspec mysql-5.5.21/mysql-test/t/ssl.test ---- mysql-5.5.21/mysql-test/t/ssl.test.cipherspec 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/ssl.test 2012-03-09 14:38:37.086890472 +0100 +diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl.test mysql-5.5.27/mysql-test/t/ssl.test +--- mysql-5.5.27.orig/mysql-test/t/ssl.test 2012-07-20 13:38:03.000000000 -0400 ++++ mysql-5.5.27/mysql-test/t/ssl.test 2012-08-05 01:00:27.800822919 -0400 @@ -6,7 +6,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -113,3 +89,27 @@ diff -up mysql-5.5.21/mysql-test/t/ssl.test.cipherspec mysql-5.5.21/mysql-test/t # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; +diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl_8k_key.test mysql-5.5.27/mysql-test/t/ssl_8k_key.test +--- mysql-5.5.27.orig/mysql-test/t/ssl_8k_key.test 2012-07-20 13:38:03.000000000 -0400 ++++ mysql-5.5.27/mysql-test/t/ssl_8k_key.test 2012-08-05 01:00:27.799822918 -0400 +@@ -2,7 +2,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other + ## encryption routines that the SSL library happens to provide! +diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl_compress.test mysql-5.5.27/mysql-test/t/ssl_compress.test +--- mysql-5.5.27.orig/mysql-test/t/ssl_compress.test 2012-07-20 13:38:03.000000000 -0400 ++++ mysql-5.5.27/mysql-test/t/ssl_compress.test 2012-08-05 01:00:27.799822918 -0400 +@@ -7,7 +7,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); ++connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/mysql.spec b/mysql.spec index 277d649..121f96b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.25a -Release: 2%{?dist} +Version: 5.5.27 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -691,6 +691,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Aug 5 2012 Tom Lane 5.5.27-1 +- Update to MySQL 5.5.27, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html + * Fri Jul 20 2012 Fedora Release Engineering - 5.5.25a-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index a855f78..8d92952 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -7,13 +7,6 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too -# Disable sys_vars.plugin_dir_basic, which is broken because -# mysql-test-run doesn't set the right value of MYSQL_LIBDIR. -# Upstream at http://bugs.mysql.com/bug.php?id=52223 -# Still fails in 5.5.16, even though upstream marked it closed. - -sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory - # Disable innodb.innodb, which is showing platform-dependent results # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 diff --git a/sources b/sources index 1598ba1..ca44937 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4f0db6cea9f201aa89fb7c80ac915796 mysql-5.5.25a-nodocs.tar.gz +fc115ac6b28412298886651cffc70ccf mysql-5.5.27-nodocs.tar.gz From cae704db91b2b46bd397a6d9fef43cc935f83362 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 7 Sep 2012 11:17:05 -0400 Subject: [PATCH 224/616] Clean up partially-created database files when mysql_install_db fails. This allows a subsequent attempt to succeed. Per discussion of bug #835131. --- mysqld-prepare-db-dir | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir index 72badd7..78c0bd7 100644 --- a/mysqld-prepare-db-dir +++ b/mysqld-prepare-db-dir @@ -45,10 +45,17 @@ if [ ! -d "$datadir/mysql" ] ; then echo "Initializing MySQL database" /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql ret=$? - chown -R mysql:mysql "$datadir" if [ $ret -ne 0 ] ; then + echo "Initialization of MySQL database failed." >&2 + echo "Perhaps /etc/my.cnf is misconfigured." >&2 + # Clean up any partially-created database files + if [ ! -e "$datadir/mysql/user.frm" ] ; then + rm -rf "$datadir"/* + fi exit $ret fi + # In case we're running as root, make sure files are owned properly + chown -R mysql:mysql "$datadir" fi exit 0 From b29f12be3a56a976b2bbcdc26e260e66877c8596 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 29 Sep 2012 15:57:43 -0400 Subject: [PATCH 225/616] Update to MySQL 5.5.28; assorted minor packaging fixes --- .gitignore | 2 +- libmysql.version | 3 +++ mysql-chain-certs.patch | 32 ++++++++++++++++---------------- mysql-openssl-test.patch | 22 ---------------------- mysql.spec | 30 +++++++++++++++++++++++++++--- mysqld-prepare-db-dir | 29 +++++++++++++++++++++++++---- mysqld-wait-ready | 2 +- mysqld.service | 2 +- sources | 2 +- 9 files changed, 75 insertions(+), 49 deletions(-) delete mode 100644 mysql-openssl-test.patch diff --git a/.gitignore b/.gitignore index 658f35a..d54f41e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.27-nodocs.tar.gz +/mysql-5.5.28-nodocs.tar.gz diff --git a/libmysql.version b/libmysql.version index dc32cd7..d547b5d 100644 --- a/libmysql.version +++ b/libmysql.version @@ -117,6 +117,9 @@ libmysqlclient_16 { # de-facto API as well. We're not going to export the deprecated version # make_scrambled_password, however. my_make_scrambled_password; +# This really shouldn't be exported, but some applications use it as a +# workaround for inadequate threading support; see bug #846602 + THR_KEY_mysys; local: *; }; diff --git a/mysql-chain-certs.patch b/mysql-chain-certs.patch index 3b20a28..164c22e 100644 --- a/mysql-chain-certs.patch +++ b/mysql-chain-certs.patch @@ -10,22 +10,10 @@ Fedora builds, I'm not feeling motivated to try to fix yassl for this. See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158 -diff -Naur mysql-5.1.47.orig/vio/viosslfactories.c mysql-5.1.47/vio/viosslfactories.c ---- mysql-5.1.47.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400 -+++ mysql-5.1.47/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400 -@@ -100,7 +100,7 @@ - (long) ctx, cert_file, key_file)); - if (cert_file) - { -- if (SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) -+ if (SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) - { - *error= SSL_INITERR_CERT; - DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file)); -diff -Naur mysql-5.1.47.orig/extra/yassl/src/ssl.cpp mysql-5.1.47/extra/yassl/src/ssl.cpp ---- mysql-5.1.47.orig/extra/yassl/src/ssl.cpp 2010-05-06 11:24:26.000000000 -0400 -+++ mysql-5.1.47/extra/yassl/src/ssl.cpp 2010-05-26 23:29:13.000000000 -0400 -@@ -1606,10 +1606,10 @@ +diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp +--- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400 ++++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400 +@@ -1627,10 +1627,10 @@ } @@ -39,3 +27,15 @@ diff -Naur mysql-5.1.47.orig/extra/yassl/src/ssl.cpp mysql-5.1.47/extra/yassl/sr } +diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c +--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400 ++++ mysql-5.5.28/vio/viosslfactories.c 2012-09-29 12:46:35.124975585 -0400 +@@ -106,7 +106,7 @@ + key_file= cert_file; + + if (cert_file && +- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) ++ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) + { + *error= SSL_INITERR_CERT; + DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file)); diff --git a/mysql-openssl-test.patch b/mysql-openssl-test.patch deleted file mode 100644 index f7e8f43..0000000 --- a/mysql-openssl-test.patch +++ /dev/null @@ -1,22 +0,0 @@ -Adjust openssl_1.result to match actual output when using OpenSSL. - -The given expected result seems to be yaSSL-specific, as of mysql 5.5.14. -Upstream at http://bugs.mysql.com/bug.php?id=61827 - - -diff -Naur mysql-5.5.14.orig/mysql-test/r/openssl_1.result mysql-5.5.14/mysql-test/r/openssl_1.result ---- mysql-5.5.14.orig/mysql-test/r/openssl_1.result 2011-06-21 12:42:40.000000000 -0400 -+++ mysql-5.5.14/mysql-test/r/openssl_1.result 2011-07-11 18:52:39.925070616 -0400 -@@ -44,9 +44,9 @@ - drop user ssl_user1@localhost, ssl_user2@localhost, - ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost; - drop table t1; --mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation --mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation --mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation -+mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) -+mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) -+mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) - SSL error: Unable to get private key from '' - mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key - SSL error: Unable to get certificate from '' diff --git a/mysql.spec b/mysql.spec index 121f96b..dff5a8e 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,5 +1,5 @@ Name: mysql -Version: 5.5.27 +Version: 5.5.28 Release: 1%{?dist} Summary: MySQL client programs and shared libraries @@ -48,7 +48,6 @@ Patch7: mysql-versioning.patch Patch8: mysql-dubious-exports.patch Patch10: mysql-plugin-bool.patch Patch11: mysql-s390-tsc.patch -Patch12: mysql-openssl-test.patch Patch14: mysql-va-list.patch Patch15: mysql-netdevname.patch Patch16: mysql-logrotate.patch @@ -203,7 +202,6 @@ the MySQL sources. %patch8 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 @@ -459,10 +457,14 @@ rm -rf $RPM_BUILD_ROOT /sbin/ldconfig %post server +%if 0%{?systemd_post:1} +%systemd_post mysqld.service +%else if [ $1 = 1 ]; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi +%endif /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log @@ -482,11 +484,15 @@ if [ -f /etc/rc.d/init.d/mysqld ]; then fi %preun server +%if 0%{?systemd_preun:1} +%systemd_preun mysqld.service +%else if [ $1 = 0 ]; then # Package removal, not upgrade /bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || : /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : fi +%endif %postun libs if [ $1 = 0 ] ; then @@ -494,11 +500,15 @@ if [ $1 = 0 ] ; then fi %postun server +%if 0%{?systemd_postun_with_restart:1} +%systemd_postun_with_restart mysqld.service +%else /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ]; then # Package upgrade, not uninstall /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : fi +%endif %files @@ -691,6 +701,20 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Sep 29 2012 Tom Lane 5.5.28-1 +- Update to MySQL 5.5.28, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html +- Clean up partially-created database files when mysql_install_db fails +Related: #835131 +- Honor user and group settings from service file in mysqld-prepare-db-dir +Resolves: #840431 +- Export THR_KEY_mysys as a workaround for inadequate threading support +Resolves: #846602 +- Adopt new systemd macros for server package install/uninstall triggers +Resolves: #850222 +- Use --no-defaults when invoking mysqladmin to wait for the server to start +Related: #855704 + * Sun Aug 5 2012 Tom Lane 5.5.27-1 - Update to MySQL 5.5.27, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir index 78c0bd7..f73bc66 100644 --- a/mysqld-prepare-db-dir +++ b/mysqld-prepare-db-dir @@ -22,10 +22,31 @@ datadir="$result" get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" errlogfile="$result" +# Absorb configuration settings from the specified systemd service file, +# or the default "mysqld" service if not specified +SERVICE_NAME="$1" +if [ x"$SERVICE_NAME" = x ] +then + SERVICE_NAME=mysqld.service +fi + +myuser=`systemctl show -p User "${SERVICE_NAME}" | + sed 's/^User=//'` +if [ x"$myuser" = x ] +then + myuser=mysql +fi + +mygroup=`systemctl show -p Group "${SERVICE_NAME}" | + sed 's/^Group=//'` +if [ x"$mygroup" = x ] +then + mygroup=mysql +fi # Set up the errlogfile with appropriate permissions touch "$errlogfile" -chown mysql:mysql "$errlogfile" +chown "$myuser:$mygroup" "$errlogfile" chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" @@ -37,13 +58,13 @@ if [ ! -d "$datadir/mysql" ] ; then then mkdir -p "$datadir" || exit 1 fi - chown mysql:mysql "$datadir" + chown "$myuser:$mygroup" "$datadir" chmod 0755 "$datadir" [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" # Now create the database echo "Initializing MySQL database" - /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql + /usr/bin/mysql_install_db --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of MySQL database failed." >&2 @@ -55,7 +76,7 @@ if [ ! -d "$datadir/mysql" ] ; then exit $ret fi # In case we're running as root, make sure files are owned properly - chown -R mysql:mysql "$datadir" + chown -R "$myuser:$mygroup" "$datadir" fi exit 0 diff --git a/mysqld-wait-ready b/mysqld-wait-ready index 8fe99ec..9b0fd0c 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready @@ -31,7 +31,7 @@ socketfile="$result" # Wait for the server to come up or for the mysqld process to disappear ret=0 while /bin/true; do - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` mret=$? if [ $mret -eq 0 ]; then break diff --git a/mysqld.service b/mysqld.service index c6e4dea..3193ce2 100644 --- a/mysqld.service +++ b/mysqld.service @@ -27,7 +27,7 @@ Type=simple User=mysql Group=mysql -ExecStartPre=/usr/libexec/mysqld-prepare-db-dir +ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=/usr/bin/mysqld_safe --basedir=/usr diff --git a/sources b/sources index ca44937..0e73348 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fc115ac6b28412298886651cffc70ccf mysql-5.5.27-nodocs.tar.gz +88d39960d3f348836f803aca091ee601 mysql-5.5.28-nodocs.tar.gz From a07f8915422b9403a6f8e45b288abc21677e77bd Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 5 Dec 2012 12:06:17 -0500 Subject: [PATCH 226/616] Add patch for CVE-2012-5611, and widen DH key length from 512 to 1024 bits --- mysql-cve-2012-5611.patch | 81 +++++++++++++++++++++++++++++++++++++++ mysql-dh1024.patch | 63 ++++++++++++++++++++++++++++++ mysql.spec | 13 ++++++- 3 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 mysql-cve-2012-5611.patch create mode 100644 mysql-dh1024.patch diff --git a/mysql-cve-2012-5611.patch b/mysql-cve-2012-5611.patch new file mode 100644 index 0000000..45f414b --- /dev/null +++ b/mysql-cve-2012-5611.patch @@ -0,0 +1,81 @@ +Back-ported patch for CVE-2012-5611 --- see +http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.17 + + +diff -Naur mysql-5.5.28.orig/mysql-test/r/information_schema.result mysql-5.5.28/mysql-test/r/information_schema.result +--- mysql-5.5.28.orig/mysql-test/r/information_schema.result 2012-08-29 04:50:47.000000000 -0400 ++++ mysql-5.5.28/mysql-test/r/information_schema.result 2012-12-05 10:33:56.906738492 -0500 +@@ -1712,6 +1712,10 @@ + length(CAST(b AS CHAR)) + 20 + DROP TABLE ubig; ++grant usage on *.* to mysqltest_1@localhost; ++select 1 from information_schema.tables where table_schema=repeat('a', 2000); ++1 ++drop user mysqltest_1@localhost; + End of 5.1 tests. + # + # Additional test for WL#3726 "DDL locking for all metadata objects" +diff -Naur mysql-5.5.28.orig/mysql-test/t/information_schema.test mysql-5.5.28/mysql-test/t/information_schema.test +--- mysql-5.5.28.orig/mysql-test/t/information_schema.test 2012-08-29 04:50:47.000000000 -0400 ++++ mysql-5.5.28/mysql-test/t/information_schema.test 2012-12-05 10:33:56.908738590 -0500 +@@ -1444,6 +1444,13 @@ + + DROP TABLE ubig; + ++grant usage on *.* to mysqltest_1@localhost; ++connect (con1, localhost, mysqltest_1,,); ++connection con1; ++select 1 from information_schema.tables where table_schema=repeat('a', 2000); ++connection default; ++disconnect con1; ++drop user mysqltest_1@localhost; + + --echo End of 5.1 tests. + +diff -Naur mysql-5.5.28.orig/sql/sql_acl.cc mysql-5.5.28/sql/sql_acl.cc +--- mysql-5.5.28.orig/sql/sql_acl.cc 2012-08-29 04:50:46.000000000 -0400 ++++ mysql-5.5.28/sql/sql_acl.cc 2012-12-05 10:35:47.608766346 -0500 +@@ -1573,14 +1573,20 @@ + acl_entry *entry; + DBUG_ENTER("acl_get"); + +- mysql_mutex_lock(&acl_cache->lock); +- end=strmov((tmp_db=strmov(strmov(key, ip ? ip : "")+1,user)+1),db); ++ tmp_db= strmov(strmov(key, ip ? ip : "") + 1, user) + 1; ++ end= strnmov(tmp_db, db, key + sizeof(key) - tmp_db); ++ ++ if (end >= key + sizeof(key)) // db name was truncated ++ DBUG_RETURN(0); // no privileges for an invalid db name ++ + if (lower_case_table_names) + { + my_casedn_str(files_charset_info, tmp_db); + db=tmp_db; + } + key_length= (size_t) (end-key); ++ ++ mysql_mutex_lock(&acl_cache->lock); + if (!db_is_pattern && (entry=(acl_entry*) acl_cache->search((uchar*) key, + key_length))) + { +@@ -4902,11 +4908,17 @@ + bool check_grant_db(THD *thd,const char *db) + { + Security_context *sctx= thd->security_ctx; +- char helping [NAME_LEN+USERNAME_LENGTH+2]; ++ char helping [NAME_LEN+USERNAME_LENGTH+2], *end; + uint len; + bool error= TRUE; + +- len= (uint) (strmov(strmov(helping, sctx->priv_user) + 1, db) - helping) + 1; ++ end= strmov(helping, sctx->priv_user) + 1; ++ end= strnmov(end, db, helping + sizeof(helping) - end); ++ ++ if (end >= helping + sizeof(helping)) // db name was truncated ++ return 1; // no privileges for an invalid db name ++ ++ len= (uint) (end - helping) + 1; + + mysql_rwlock_rdlock(&LOCK_grant); + diff --git a/mysql-dh1024.patch b/mysql-dh1024.patch new file mode 100644 index 0000000..620ee0b --- /dev/null +++ b/mysql-dh1024.patch @@ -0,0 +1,63 @@ +Change the DH key length from 512 to 1024 bits to meet minimum requirements +of FIPS 140-2. (In principle we could use the larger size only when FIPS +mode is on, but it doesn't seem worth the trouble.) + +The new parameter value was generated using "openssl dhparam -C 1024". + + +diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c +--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400 ++++ mysql-5.5.28/vio/viosslfactories.c 2012-11-15 11:19:38.575701435 -0500 +@@ -20,27 +20,32 @@ + static my_bool ssl_algorithms_added = FALSE; + static my_bool ssl_error_strings_loaded= FALSE; + +-static unsigned char dh512_p[]= ++static unsigned char dh1024_p[]= + { +- 0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75, +- 0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F, +- 0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3, +- 0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12, +- 0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C, +- 0x47,0x74,0xE8,0x33, ++ 0xBF,0x5C,0xFA,0xD1,0xDD,0xBB,0xB3,0x0A,0x58,0x29,0x05,0xF5, ++ 0x7D,0x64,0xB2,0xE1,0xCE,0xE8,0xE0,0xE1,0x7A,0xB6,0xBC,0x5B, ++ 0x21,0x56,0xDF,0x2C,0x82,0x60,0xDC,0x31,0xCA,0x1E,0x02,0xFE, ++ 0xC4,0xE7,0x24,0x63,0x31,0xE4,0x67,0x1C,0x0B,0xFF,0x86,0x12, ++ 0x0D,0x2E,0xE6,0x35,0x0A,0x07,0x4F,0xE7,0x3F,0xDE,0xFE,0xF0, ++ 0x13,0x1C,0xA2,0x2B,0xF4,0xEE,0x2C,0x90,0x10,0x57,0x6B,0x2B, ++ 0xB9,0x1E,0x1B,0x47,0xB0,0x25,0xBF,0x45,0x86,0xDA,0x87,0x35, ++ 0x2C,0xF5,0x6A,0x41,0xA2,0x57,0xD8,0x16,0x5E,0x82,0x91,0x99, ++ 0x33,0xA0,0x8B,0x9D,0x34,0xCE,0x03,0x01,0x80,0x32,0x07,0x3B, ++ 0xF2,0x93,0xFC,0x3A,0x25,0xEC,0xB3,0xED,0x5C,0x4E,0x57,0xF2, ++ 0x3C,0x2E,0x0D,0xB1,0x59,0xA2,0x08,0x93, + }; + +-static unsigned char dh512_g[]={ ++static unsigned char dh1024_g[]={ + 0x02, + }; + +-static DH *get_dh512(void) ++static DH *get_dh1024(void) + { + DH *dh; + if ((dh=DH_new())) + { +- dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL); +- dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL); ++ dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL); ++ dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL); + if (! dh->p || ! dh->g) + { + DH_free(dh); +@@ -255,7 +260,7 @@ + } + + /* DH stuff */ +- dh=get_dh512(); ++ dh=get_dh1024(); + SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh); + DH_free(dh); + diff --git a/mysql.spec b/mysql.spec index dff5a8e..d4c2277 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.28 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -55,6 +55,8 @@ Patch17: mysql-plugin-test.patch Patch18: mysql-cipherspec.patch Patch19: mysql-file-contents.patch Patch20: mysql-string-overflow.patch +Patch21: mysql-dh1024.patch +Patch22: mysql-cve-2012-5611.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -209,6 +211,8 @@ the MySQL sources. %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 +%patch22 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -701,6 +705,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Dec 5 2012 Tom Lane 5.5.28-2 +- Add patch for CVE-2012-5611 +Resolves: #883642 +- Widen DH key length from 512 to 1024 bits to meet minimum requirements + of FIPS 140-2 +Related: #877124 + * Sat Sep 29 2012 Tom Lane 5.5.28-1 - Update to MySQL 5.5.28, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html From bded96964ae1aa5208e73916068769295a998158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 6 Dec 2012 22:53:33 +0100 Subject: [PATCH 227/616] Rebase patches to not leave backup files when not applied smoothly --- mysql-cipherspec.patch | 60 ++++++++--------- mysql-dubious-exports.patch | 124 ++++++++++++++++++------------------ mysql-errno.patch | 8 +-- mysql-plugin-bool.patch | 40 ++++++------ mysql-s390-tsc.patch | 18 +++--- mysql-stack-guard.patch | 12 ++-- mysql-string-overflow.patch | 26 ++++---- mysql-strmov.patch | 8 +-- mysql-va-list.patch | 14 ++-- mysql-versioning.patch | 8 +-- mysql.spec | 5 +- 11 files changed, 163 insertions(+), 160 deletions(-) diff --git a/mysql-cipherspec.patch b/mysql-cipherspec.patch index 18b8fee..5210055 100644 --- a/mysql-cipherspec.patch +++ b/mysql-cipherspec.patch @@ -4,10 +4,10 @@ This patch enhances connect command by an option to specify a cipher and tests are adjusted to specify the expected cipher explicitly. Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 -diff -Naur mysql-5.5.27.orig/client/mysqltest.cc mysql-5.5.27/client/mysqltest.cc ---- mysql-5.5.27.orig/client/mysqltest.cc 2012-07-20 13:38:02.000000000 -0400 -+++ mysql-5.5.27/client/mysqltest.cc 2012-08-05 01:01:21.502130550 -0400 -@@ -5458,6 +5458,7 @@ +diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc +--- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100 +@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma my_bool con_ssl= 0, con_compress= 0; my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; struct st_connection* con_slot; @@ -15,7 +15,7 @@ diff -Naur mysql-5.5.27.orig/client/mysqltest.cc mysql-5.5.27/client/mysqltest.c static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5548,6 +5549,8 @@ +@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma con_shm= 1; else if (!strncmp(con_options, "CLEARTEXT", 9)) con_cleartext_enable= 1; @@ -24,7 +24,7 @@ diff -Naur mysql-5.5.27.orig/client/mysqltest.cc mysql-5.5.27/client/mysqltest.c else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5595,8 +5598,11 @@ +@@ -5595,8 +5598,11 @@ void do_connect(struct st_command *comma if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) @@ -37,10 +37,10 @@ diff -Naur mysql-5.5.27.orig/client/mysqltest.cc mysql-5.5.27/client/mysqltest.c #if MYSQL_VERSION_ID >= 50000 /* Turn on ssl_verify_server_cert only if host is "localhost" */ opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost"); -diff -Naur mysql-5.5.27.orig/mysql-test/t/openssl_1.test mysql-5.5.27/mysql-test/t/openssl_1.test ---- mysql-5.5.27.orig/mysql-test/t/openssl_1.test 2012-07-20 13:38:03.000000000 -0400 -+++ mysql-5.5.27/mysql-test/t/openssl_1.test 2012-08-05 01:00:27.798822919 -0400 -@@ -20,13 +20,13 @@ +diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test +--- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100 +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; @@ -59,7 +59,7 @@ diff -Naur mysql-5.5.27.orig/mysql-test/t/openssl_1.test mysql-5.5.27/mysql-test connection con1; # Check ssl turned on -@@ -119,7 +119,7 @@ +@@ -125,7 +125,7 @@ drop table t1; # verification of servers certificate by setting both ca certificate # and ca path to NULL # @@ -68,7 +68,7 @@ diff -Naur mysql-5.5.27.orig/mysql-test/t/openssl_1.test mysql-5.5.27/mysql-test --echo End of 5.0 tests # -@@ -244,7 +244,7 @@ +@@ -250,7 +250,7 @@ select 'is still running; no cipher requ GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -77,21 +77,9 @@ diff -Naur mysql-5.5.27.orig/mysql-test/t/openssl_1.test mysql-5.5.27/mysql-test SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; -diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl.test mysql-5.5.27/mysql-test/t/ssl.test ---- mysql-5.5.27.orig/mysql-test/t/ssl.test 2012-07-20 13:38:03.000000000 -0400 -+++ mysql-5.5.27/mysql-test/t/ssl.test 2012-08-05 01:00:27.800822919 -0400 -@@ -6,7 +6,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_con,localhost,root,,,,,SSL); -+connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; -diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl_8k_key.test mysql-5.5.27/mysql-test/t/ssl_8k_key.test ---- mysql-5.5.27.orig/mysql-test/t/ssl_8k_key.test 2012-07-20 13:38:03.000000000 -0400 -+++ mysql-5.5.27/mysql-test/t/ssl_8k_key.test 2012-08-05 01:00:27.799822918 -0400 +diff -up mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test +--- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100 @@ -2,7 +2,7 @@ # # Bug#29784 YaSSL assertion failure when reading 8k key. @@ -101,9 +89,9 @@ diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl_8k_key.test mysql-5.5.27/mysql-tes ## This test file is for testing encrypted communication only, not other ## encryption routines that the SSL library happens to provide! -diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl_compress.test mysql-5.5.27/mysql-test/t/ssl_compress.test ---- mysql-5.5.27.orig/mysql-test/t/ssl_compress.test 2012-07-20 13:38:03.000000000 -0400 -+++ mysql-5.5.27/mysql-test/t/ssl_compress.test 2012-08-05 01:00:27.799822918 -0400 +diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test +--- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100 @@ -7,7 +7,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -113,3 +101,15 @@ diff -Naur mysql-5.5.27.orig/mysql-test/t/ssl_compress.test mysql-5.5.27/mysql-t # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; +diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test +--- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100 +@@ -6,7 +6,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_con,localhost,root,,,,,SSL); ++connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/mysql-dubious-exports.patch b/mysql-dubious-exports.patch index 0ccb412..4a88d1d 100644 --- a/mysql-dubious-exports.patch +++ b/mysql-dubious-exports.patch @@ -9,10 +9,10 @@ It doesn't seem worth trying to get rid of all the internal symbols exposed by mysql.h, but these two are relatively easy to get rid of. -diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin.cc ---- mysql-5.5.14.orig/client/mysqladmin.cc 2011-06-21 12:42:41.000000000 -0400 -+++ mysql-5.5.14/client/mysqladmin.cc 2011-07-12 12:19:59.578066771 -0400 -@@ -20,6 +20,7 @@ +diff -up mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc +--- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100 +@@ -21,6 +21,7 @@ #include /* because of signal() */ #include #include @@ -20,7 +20,7 @@ diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin #include #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ -@@ -975,9 +976,9 @@ +@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql } } if (old) @@ -32,10 +32,10 @@ diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin } else crypted_pw[0]=0; /* No password */ -diff -Naur mysql-5.5.14.orig/include/errmsg.h mysql-5.5.14/include/errmsg.h ---- mysql-5.5.14.orig/include/errmsg.h 2011-06-21 12:42:39.000000000 -0400 -+++ mysql-5.5.14/include/errmsg.h 2011-07-12 11:55:29.194204015 -0400 -@@ -24,6 +24,7 @@ +diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h +--- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100 +@@ -24,6 +24,7 @@ extern "C" { #endif void init_client_errs(void); void finish_client_errs(void); @@ -43,31 +43,36 @@ diff -Naur mysql-5.5.14.orig/include/errmsg.h mysql-5.5.14/include/errmsg.h extern const char *client_errors[]; /* Error messages */ #ifdef __cplusplus } -diff -Naur mysql-5.5.14.orig/include/my_sys.h mysql-5.5.14/include/my_sys.h ---- mysql-5.5.14.orig/include/my_sys.h 2011-06-21 12:42:39.000000000 -0400 -+++ mysql-5.5.14/include/my_sys.h 2011-07-12 11:55:29.195231427 -0400 -@@ -223,6 +223,7 @@ +diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h +--- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100 +@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio); + void my_net_local_init(NET *net); + void net_end(NET *net); + void net_clear(NET *net, my_bool clear_buffer); ++#define net_realloc mysql_net_realloc /* namespace sanity */ + my_bool net_realloc(NET *net, size_t length); + my_bool net_flush(NET *net); + my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); +@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *); + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); - /* charsets */ - #define MY_ALL_CHARSETS_SIZE 2048 -+#define default_charset_info mysql_default_charset_info /* namespace sanity */ - extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; - extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; - extern CHARSET_INFO compiled_charsets[]; -@@ -900,6 +901,9 @@ - extern uint get_collation_number(const char *name); - extern const char *get_charset_name(uint cs_number); + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); -+#define get_charset mysql_get_charset /* namespace sanity */ -+#define get_charset_by_csname mysql_get_charset_by_csname -+ - extern CHARSET_INFO *get_charset(uint cs_number, myf flags); - extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); - extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, -diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp ---- mysql-5.5.14.orig/include/mysql.h.pp 2011-06-21 12:42:39.000000000 -0400 -+++ mysql-5.5.14/include/mysql.h.pp 2011-07-12 11:58:43.662068564 -0400 -@@ -86,7 +86,7 @@ +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp +--- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100 +@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio); void my_net_local_init(NET *net); void net_end(NET *net); void net_clear(NET *net, my_bool clear_buffer); @@ -76,7 +81,7 @@ diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp my_bool net_flush(NET *net); my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); my_bool net_write_command(NET *net,unsigned char command, -@@ -128,13 +128,11 @@ +@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un double my_rnd(struct rand_struct *); void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); void hash_password(unsigned long *to, const char *password, unsigned int password_len); @@ -90,36 +95,31 @@ diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp void scramble(char *to, const char *message, const char *password); my_bool check_scramble(const unsigned char *reply, const char *message, const unsigned char *hash_stage2); -diff -Naur mysql-5.5.14.orig/include/mysql_com.h mysql-5.5.14/include/mysql_com.h ---- mysql-5.5.14.orig/include/mysql_com.h 2011-06-21 12:42:39.000000000 -0400 -+++ mysql-5.5.14/include/mysql_com.h 2011-07-12 11:58:52.166065391 -0400 -@@ -452,6 +452,7 @@ - void my_net_local_init(NET *net); - void net_end(NET *net); - void net_clear(NET *net, my_bool clear_buffer); -+#define net_realloc mysql_net_realloc /* namespace sanity */ - my_bool net_realloc(NET *net, size_t length); - my_bool net_flush(NET *net); - my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); -@@ -533,14 +534,12 @@ - void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); +diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h +--- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100 ++++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100 +@@ -218,6 +218,7 @@ extern uint my_large_page_size; - void hash_password(unsigned long *to, const char *password, unsigned int password_len); --void make_scrambled_password_323(char *to, const char *password); - void scramble_323(char *to, const char *message, const char *password); - my_bool check_scramble_323(const unsigned char *reply, const char *message, - unsigned long *salt); - void get_salt_from_password_323(unsigned long *res, const char *password); - void make_password_from_salt_323(char *to, const unsigned long *salt); + /* charsets */ + #define MY_ALL_CHARSETS_SIZE 2048 ++#define default_charset_info mysql_default_charset_info /* namespace sanity */ + extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; + extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; + extern CHARSET_INFO compiled_charsets[]; +@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha + extern uint get_collation_number(const char *name); + extern const char *get_charset_name(uint cs_number); --void make_scrambled_password(char *to, const char *password); - void scramble(char *to, const char *message, const char *password); - my_bool check_scramble(const unsigned char *reply, const char *message, - const unsigned char *hash_stage2); -diff -Naur mysql-5.5.14.orig/sql/password.c mysql-5.5.14/sql/password.c ---- mysql-5.5.14.orig/sql/password.c 2011-06-21 12:42:40.000000000 -0400 -+++ mysql-5.5.14/sql/password.c 2011-07-12 11:59:29.194068612 -0400 -@@ -154,23 +154,6 @@ ++#define get_charset mysql_get_charset /* namespace sanity */ ++#define get_charset_by_csname mysql_get_charset_by_csname ++ + extern CHARSET_INFO *get_charset(uint cs_number, myf flags); + extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); + extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, +diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c +--- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100 +@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char /* @@ -143,7 +143,7 @@ diff -Naur mysql-5.5.14.orig/sql/password.c mysql-5.5.14/sql/password.c Scramble string with password. Used in pre 4.1 authentication phase. SYNOPSIS -@@ -433,23 +416,6 @@ +@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to /* diff --git a/mysql-errno.patch b/mysql-errno.patch index 93e61de..ce9d7a1 100644 --- a/mysql-errno.patch +++ b/mysql-errno.patch @@ -1,10 +1,10 @@ "extern int errno" is just a really bad idea. -diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h ---- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/my_sys.h 2010-12-20 21:20:12.622190325 -0500 -@@ -201,13 +201,8 @@ +diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h +--- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100 +@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr); #define my_afree(PTR) my_free(PTR) #endif /* HAVE_ALLOCA */ diff --git a/mysql-plugin-bool.patch b/mysql-plugin-bool.patch index a8458f4..abea580 100644 --- a/mysql-plugin-bool.patch +++ b/mysql-plugin-bool.patch @@ -4,22 +4,10 @@ machines where char is unsigned print "255" instead. Filed upstream at http://bugs.mysql.com/bug.php?id=59905 -diff -Naur mysql-5.5.8.orig/sql/sql_plugin.cc mysql-5.5.8/sql/sql_plugin.cc ---- mysql-5.5.8.orig/sql/sql_plugin.cc 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/sql/sql_plugin.cc 2011-02-01 20:34:10.218305349 -0500 -@@ -2024,7 +2024,7 @@ - goto err; - result= (int) tmp; - } -- *(my_bool *) save= -result; -+ *(my_bool *) save= result ? true : false; - return 0; - err: - return 1; -diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result ---- mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2010-12-03 12:58:25.000000000 -0500 -+++ mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2011-02-01 21:53:20.006302245 -0500 -@@ -45,7 +45,7 @@ +diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result +--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 +@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL select @@global.rpl_semi_sync_master_enabled; @@global.rpl_semi_sync_master_enabled @@ -28,10 +16,10 @@ diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_ena select @@session.rpl_semi_sync_master_enabled; ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable show global variables like 'rpl_semi_sync_master_enabled'; -diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result ---- mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2011-02-01 21:53:59.689249491 -0500 -@@ -45,7 +45,7 @@ +diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result +--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 +@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled= ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL select @@global.rpl_semi_sync_slave_enabled; @@global.rpl_semi_sync_slave_enabled @@ -40,3 +28,15 @@ diff -Naur mysql-5.5.8.orig/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enab select @@session.rpl_semi_sync_slave_enabled; ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable show global variables like 'rpl_semi_sync_slave_enabled'; +diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc +--- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100 +@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str + goto err; + result= (int) tmp; + } +- *(my_bool *) save= -result; ++ *(my_bool *) save= result ? true : false; + return 0; + err: + return 1; diff --git a/mysql-s390-tsc.patch b/mysql-s390-tsc.patch index 00811a4..f995266 100644 --- a/mysql-s390-tsc.patch +++ b/mysql-s390-tsc.patch @@ -2,10 +2,10 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 -diff -Naur mysql-5.5.8.orig/include/my_rdtsc.h mysql-5.5.8/include/my_rdtsc.h ---- mysql-5.5.8.orig/include/my_rdtsc.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/my_rdtsc.h 2011-02-04 11:16:45.431459913 -0500 -@@ -124,6 +124,7 @@ +diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h +--- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100 +@@ -125,6 +125,7 @@ C_MODE_END #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 @@ -13,10 +13,10 @@ diff -Naur mysql-5.5.8.orig/include/my_rdtsc.h mysql-5.5.8/include/my_rdtsc.h #endif -diff -Naur mysql-5.5.8.orig/mysys/my_rdtsc.c mysql-5.5.8/mysys/my_rdtsc.c ---- mysql-5.5.8.orig/mysys/my_rdtsc.c 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/mysys/my_rdtsc.c 2011-02-04 11:16:45.432465577 -0500 -@@ -224,6 +224,13 @@ +diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c +--- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100 +@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void) clock_gettime(CLOCK_SGI_CYCLE, &tp); return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; } @@ -30,7 +30,7 @@ diff -Naur mysql-5.5.8.orig/mysys/my_rdtsc.c mysql-5.5.8/mysys/my_rdtsc.c #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ return (ulonglong) gethrtime(); -@@ -533,6 +540,8 @@ +@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti) mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; diff --git a/mysql-stack-guard.patch b/mysql-stack-guard.patch index 0634560..c01c1a7 100644 --- a/mysql-stack-guard.patch +++ b/mysql-stack-guard.patch @@ -8,10 +8,10 @@ mysqld.cc; is it important to fix any of the others? Filed upstream at http://bugs.mysql.com/bug.php?id=35019 -diff -Naur mysql-5.5.8.orig/sql/mysqld.cc mysql-5.5.8/sql/mysqld.cc ---- mysql-5.5.8.orig/sql/mysqld.cc 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/sql/mysqld.cc 2010-12-20 22:01:08.939186906 -0500 -@@ -2602,6 +2602,70 @@ +diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc +--- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100 +@@ -2599,6 +2599,70 @@ static void init_signals(void) } @@ -82,7 +82,7 @@ diff -Naur mysql-5.5.8.orig/sql/mysqld.cc mysql-5.5.8/sql/mysqld.cc static void start_signal_handler(void) { int error; -@@ -2612,15 +2676,7 @@ +@@ -2609,15 +2673,7 @@ static void start_signal_handler(void) #if !defined(HAVE_DEC_3_2_THREADS) pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM); (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); @@ -99,7 +99,7 @@ diff -Naur mysql-5.5.8.orig/sql/mysqld.cc mysql-5.5.8/sql/mysqld.cc #endif mysql_mutex_lock(&LOCK_thread_count); -@@ -4361,36 +4417,8 @@ +@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv) unireg_abort(1); // Will do exit init_signals(); diff --git a/mysql-string-overflow.patch b/mysql-string-overflow.patch index eaa11e8..eaa40f6 100644 --- a/mysql-string-overflow.patch +++ b/mysql-string-overflow.patch @@ -1,4 +1,4 @@ -These issues were found by Coverity static analysis tool, for more info +These issues were found by Coverity static analysis tool, for more info see messages by particular fixes (messages belong to 5.1.61). Filed upstream at http://bugs.mysql.com/bug.php?id=64631 @@ -7,10 +7,10 @@ Filed upstream at http://bugs.mysql.com/bug.php?id=64631 Error: BUFFER_SIZE_WARNING: /builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. -diff -Naur mysql-5.5.23.orig/sql/sql_prepare.cc mysql-5.5.23/sql/sql_prepare.cc ---- mysql-5.5.23.orig/sql/sql_prepare.cc 2012-03-29 15:07:12.000000000 -0400 -+++ mysql-5.5.23/sql/sql_prepare.cc 2012-04-27 22:19:09.196076848 -0400 -@@ -2871,7 +2871,7 @@ +diff -up mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc +--- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100 +@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c { stmt->state= Query_arena::STMT_ERROR; stmt->last_errno= thd->stmt_da->sql_errno(); @@ -25,10 +25,10 @@ Error: STRING_OVERFLOW: /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -Naur mysql-5.5.23.orig/sql/sql_trigger.cc mysql-5.5.23/sql/sql_trigger.cc ---- mysql-5.5.23.orig/sql/sql_trigger.cc 2012-03-29 15:07:12.000000000 -0400 -+++ mysql-5.5.23/sql/sql_trigger.cc 2012-04-27 22:19:09.198076947 -0400 -@@ -2260,7 +2260,7 @@ +diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc +--- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100 +@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us void Table_triggers_list::set_parse_error_message(char *error_message) { m_has_unparseable_trigger= true; @@ -43,10 +43,10 @@ Error: STRING_OVERFLOW: /builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length. /builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -Naur mysql-5.5.23.orig/storage/innobase/handler/ha_innodb.cc mysql-5.5.23/storage/innobase/handler/ha_innodb.cc ---- mysql-5.5.23.orig/storage/innobase/handler/ha_innodb.cc 2012-03-29 15:07:11.000000000 -0400 -+++ mysql-5.5.23/storage/innobase/handler/ha_innodb.cc 2012-04-27 22:19:09.201077088 -0400 -@@ -7023,7 +7023,7 @@ +diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc +--- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100 +@@ -7054,7 +7054,7 @@ ha_innobase::create( ut_a(strlen(name) < sizeof(name2)); diff --git a/mysql-strmov.patch b/mysql-strmov.patch index 3d8ccec..2a78619 100644 --- a/mysql-strmov.patch +++ b/mysql-strmov.patch @@ -13,10 +13,10 @@ of any real performance gain from optimizing these calls. So I'm keeping this patch. -diff -Naur mysql-5.5.8.orig/include/m_string.h mysql-5.5.8/include/m_string.h ---- mysql-5.5.8.orig/include/m_string.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/m_string.h 2010-12-20 21:39:13.905186372 -0500 -@@ -74,15 +74,6 @@ +diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h +--- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100 +@@ -77,15 +77,6 @@ extern "C" { extern void *(*my_str_malloc)(size_t); extern void (*my_str_free)(void *); diff --git a/mysql-va-list.patch b/mysql-va-list.patch index a76d0eb..552457c 100644 --- a/mysql-va-list.patch +++ b/mysql-va-list.patch @@ -4,10 +4,10 @@ which is not required by the C spec, and is not true on ARM for instance. Per bug #744707. -diff -Naur mysql-5.5.16.orig/sql-common/client_plugin.c mysql-5.5.16/sql-common/client_plugin.c ---- mysql-5.5.16.orig/sql-common/client_plugin.c 2011-09-09 11:56:39.000000000 -0400 -+++ mysql-5.5.16/sql-common/client_plugin.c 2011-10-16 23:00:00.708799138 -0400 -@@ -228,11 +228,13 @@ +diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c +--- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100 +@@ -233,11 +233,13 @@ int mysql_client_plugin_init() { MYSQL mysql; struct st_mysql_client_plugin **builtin; @@ -21,7 +21,7 @@ diff -Naur mysql-5.5.16.orig/sql-common/client_plugin.c mysql-5.5.16/sql-common/ pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW); init_alloc_root(&mem_root, 128, 128); -@@ -244,7 +246,7 @@ +@@ -249,7 +251,7 @@ int mysql_client_plugin_init() pthread_mutex_lock(&LOCK_load_client_plugin); for (builtin= mysql_client_builtins; *builtin; builtin++) @@ -30,7 +30,7 @@ diff -Naur mysql-5.5.16.orig/sql-common/client_plugin.c mysql-5.5.16/sql-common/ pthread_mutex_unlock(&LOCK_load_client_plugin); -@@ -288,9 +290,13 @@ +@@ -293,9 +295,13 @@ struct st_mysql_client_plugin * mysql_client_register_plugin(MYSQL *mysql, struct st_mysql_client_plugin *plugin) { @@ -44,7 +44,7 @@ diff -Naur mysql-5.5.16.orig/sql-common/client_plugin.c mysql-5.5.16/sql-common/ pthread_mutex_lock(&LOCK_load_client_plugin); /* make sure the plugin wasn't loaded meanwhile */ -@@ -302,7 +308,7 @@ +@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq plugin= NULL; } else diff --git a/mysql-versioning.patch b/mysql-versioning.patch index aaaa828..6374b6c 100644 --- a/mysql-versioning.patch +++ b/mysql-versioning.patch @@ -4,10 +4,10 @@ forgotten the issue entirely. So we now maintain our own list of exported symbols and jam it into the build with this hack. -diff -Naur mysql-5.5.8.orig/libmysql/CMakeLists.txt mysql-5.5.8/libmysql/CMakeLists.txt ---- mysql-5.5.8.orig/libmysql/CMakeLists.txt 2010-12-03 12:58:26.000000000 -0500 -+++ mysql-5.5.8/libmysql/CMakeLists.txt 2010-12-21 21:00:07.135311386 -0500 -@@ -197,7 +197,7 @@ +diff -up mysql-5.5.28/libmysql/CMakeLists.txt.p7 mysql-5.5.28/libmysql/CMakeLists.txt +--- mysql-5.5.28/libmysql/CMakeLists.txt.p7 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/libmysql/CMakeLists.txt 2012-12-06 14:15:03.905461517 +0100 +@@ -209,7 +209,7 @@ IF(NOT DISABLE_SHARED) SET(libmysql_link_flags) ENDIF() SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS diff --git a/mysql.spec b/mysql.spec index d4c2277..cdfcf4f 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.28 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -705,6 +705,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Dec 6 2012 Honza Horak 5.5.28-3 +- Rebase patches to not leave backup files when not applied smoothly + * Wed Dec 5 2012 Tom Lane 5.5.28-2 - Add patch for CVE-2012-5611 Resolves: #883642 From 95a6a64ceddace9539b08b091c9f968d657b5b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 12 Dec 2012 16:50:50 +0100 Subject: [PATCH 228/616] Use --no-backup-if-mismatch to prevent including backup files --- mysql.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mysql.spec b/mysql.spec index cdfcf4f..a6facc5 100644 --- a/mysql.spec +++ b/mysql.spec @@ -81,6 +81,11 @@ Obsoletes: mysql-cluster < 5.1.44 %global __perl_requires %{SOURCE999} %global __perllib_requires %{SOURCE999} +# patch utility does automatically back-up of chunks that didn't apply +# smoothly, but we don't want to create that files because they could be +# included in RPM incorrectly +%global _default_patch_flags --no-backup-if-mismatch + %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) @@ -707,6 +712,7 @@ fi %changelog * Thu Dec 6 2012 Honza Horak 5.5.28-3 - Rebase patches to not leave backup files when not applied smoothly +- Use --no-backup-if-mismatch to prevent including backup files * Wed Dec 5 2012 Tom Lane 5.5.28-2 - Add patch for CVE-2012-5611 From 0d93c47aceb34584542e3a1b35fd28e37de16d3e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 2 Jan 2013 15:02:47 -0500 Subject: [PATCH 229/616] Update to MySQL 5.5.29 --- .gitignore | 2 +- my.cnf | 8 ++-- mysql-cve-2012-5611.patch | 81 --------------------------------------- mysql.spec | 17 ++++---- mysqld-wait-ready | 2 +- sources | 2 +- 6 files changed, 17 insertions(+), 95 deletions(-) delete mode 100644 mysql-cve-2012-5611.patch diff --git a/.gitignore b/.gitignore index d54f41e..a7f3c6c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.28-nodocs.tar.gz +/mysql-5.5.29-nodocs.tar.gz diff --git a/my.cnf b/my.cnf index 692a4bb..96282ea 100644 --- a/my.cnf +++ b/my.cnf @@ -1,12 +1,12 @@ [mysqld] -# Settings user and group are ignored when systemd is used. -# If you need to run mysqld under different user or group, -# customize your systemd unit file for mysqld according to the -# instructions in http://fedoraproject.org/wiki/Systemd datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 +# Settings user and group are ignored when systemd is used. +# If you need to run mysqld under a different user or group, +# customize your systemd unit file for mysqld according to the +# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mysqld.log diff --git a/mysql-cve-2012-5611.patch b/mysql-cve-2012-5611.patch deleted file mode 100644 index 45f414b..0000000 --- a/mysql-cve-2012-5611.patch +++ /dev/null @@ -1,81 +0,0 @@ -Back-ported patch for CVE-2012-5611 --- see -http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.17 - - -diff -Naur mysql-5.5.28.orig/mysql-test/r/information_schema.result mysql-5.5.28/mysql-test/r/information_schema.result ---- mysql-5.5.28.orig/mysql-test/r/information_schema.result 2012-08-29 04:50:47.000000000 -0400 -+++ mysql-5.5.28/mysql-test/r/information_schema.result 2012-12-05 10:33:56.906738492 -0500 -@@ -1712,6 +1712,10 @@ - length(CAST(b AS CHAR)) - 20 - DROP TABLE ubig; -+grant usage on *.* to mysqltest_1@localhost; -+select 1 from information_schema.tables where table_schema=repeat('a', 2000); -+1 -+drop user mysqltest_1@localhost; - End of 5.1 tests. - # - # Additional test for WL#3726 "DDL locking for all metadata objects" -diff -Naur mysql-5.5.28.orig/mysql-test/t/information_schema.test mysql-5.5.28/mysql-test/t/information_schema.test ---- mysql-5.5.28.orig/mysql-test/t/information_schema.test 2012-08-29 04:50:47.000000000 -0400 -+++ mysql-5.5.28/mysql-test/t/information_schema.test 2012-12-05 10:33:56.908738590 -0500 -@@ -1444,6 +1444,13 @@ - - DROP TABLE ubig; - -+grant usage on *.* to mysqltest_1@localhost; -+connect (con1, localhost, mysqltest_1,,); -+connection con1; -+select 1 from information_schema.tables where table_schema=repeat('a', 2000); -+connection default; -+disconnect con1; -+drop user mysqltest_1@localhost; - - --echo End of 5.1 tests. - -diff -Naur mysql-5.5.28.orig/sql/sql_acl.cc mysql-5.5.28/sql/sql_acl.cc ---- mysql-5.5.28.orig/sql/sql_acl.cc 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/sql/sql_acl.cc 2012-12-05 10:35:47.608766346 -0500 -@@ -1573,14 +1573,20 @@ - acl_entry *entry; - DBUG_ENTER("acl_get"); - -- mysql_mutex_lock(&acl_cache->lock); -- end=strmov((tmp_db=strmov(strmov(key, ip ? ip : "")+1,user)+1),db); -+ tmp_db= strmov(strmov(key, ip ? ip : "") + 1, user) + 1; -+ end= strnmov(tmp_db, db, key + sizeof(key) - tmp_db); -+ -+ if (end >= key + sizeof(key)) // db name was truncated -+ DBUG_RETURN(0); // no privileges for an invalid db name -+ - if (lower_case_table_names) - { - my_casedn_str(files_charset_info, tmp_db); - db=tmp_db; - } - key_length= (size_t) (end-key); -+ -+ mysql_mutex_lock(&acl_cache->lock); - if (!db_is_pattern && (entry=(acl_entry*) acl_cache->search((uchar*) key, - key_length))) - { -@@ -4902,11 +4908,17 @@ - bool check_grant_db(THD *thd,const char *db) - { - Security_context *sctx= thd->security_ctx; -- char helping [NAME_LEN+USERNAME_LENGTH+2]; -+ char helping [NAME_LEN+USERNAME_LENGTH+2], *end; - uint len; - bool error= TRUE; - -- len= (uint) (strmov(strmov(helping, sctx->priv_user) + 1, db) - helping) + 1; -+ end= strmov(helping, sctx->priv_user) + 1; -+ end= strnmov(end, db, helping + sizeof(helping) - end); -+ -+ if (end >= helping + sizeof(helping)) // db name was truncated -+ return 1; // no privileges for an invalid db name -+ -+ len= (uint) (end - helping) + 1; - - mysql_rwlock_rdlock(&LOCK_grant); - diff --git a/mysql.spec b/mysql.spec index a6facc5..3e9fdca 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.28 -Release: 3%{?dist} +Version: 5.5.29 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -56,7 +56,6 @@ Patch18: mysql-cipherspec.patch Patch19: mysql-file-contents.patch Patch20: mysql-string-overflow.patch Patch21: mysql-dh1024.patch -Patch22: mysql-cve-2012-5611.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -81,9 +80,8 @@ Obsoletes: mysql-cluster < 5.1.44 %global __perl_requires %{SOURCE999} %global __perllib_requires %{SOURCE999} -# patch utility does automatically back-up of chunks that didn't apply -# smoothly, but we don't want to create that files because they could be -# included in RPM incorrectly +# By default, patch(1) creates backup files when chunks apply with offsets. +# Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch %description @@ -217,7 +215,6 @@ the MySQL sources. %patch19 -p1 %patch20 -p1 %patch21 -p1 -%patch22 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -710,6 +707,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 2 2013 Tom Lane 5.5.29-1 +- Update to MySQL 5.5.29, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html +- Fix inaccurate default for socket location in mysqld-wait-ready +Resolves: #890535 + * Thu Dec 6 2012 Honza Horak 5.5.28-3 - Rebase patches to not leave backup files when not applied smoothly - Use --no-backup-if-mismatch to prevent including backup files diff --git a/mysqld-wait-ready b/mysqld-wait-ready index 9b0fd0c..9e5d3e4 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready @@ -25,7 +25,7 @@ get_mysql_option(){ # Defaults here had better match what mysqld_safe will default to get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" -get_mysql_option mysqld socket "$datadir/mysql.sock" +get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" socketfile="$result" # Wait for the server to come up or for the mysqld process to disappear diff --git a/sources b/sources index 0e73348..093f772 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -88d39960d3f348836f803aca091ee601 mysql-5.5.28-nodocs.tar.gz +2b9473a36a98c54cd671ba60ce873289 mysql-5.5.29-nodocs.tar.gz From 95a0a0aa9f7e521640e139bd10ba903545e1edfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 17:48:42 +0100 Subject: [PATCH 230/616] Provide own symbols with real- prefix to distinguish packages from other MySQL implementations unambiguously --- mysql.spec | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/mysql.spec b/mysql.spec index 3e9fdca..628ca65 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.29 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -71,6 +71,11 @@ Requires: grep, fileutils Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: bash +# We can use real- prefix to distinguish from other MySQL implementations +# like MariaDB unambiguously +Provides: real-%{name} = %{version}-%{release} +Provides: real-%{name}%{?_isa} = %{version}-%{release} + # MySQL (with caps) is upstream's spelling of their own RPMs for mysql Conflicts: MySQL # mysql-cluster used to be built from this SRPM, but no more @@ -95,6 +100,8 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig +Provides: real-%{name}-libs = %{version}-%{release} +Provides: real-%{name}-libs%{?_isa} = %{version}-%{release} %description libs The mysql-libs package provides the essential shared libraries for any @@ -125,6 +132,8 @@ Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server +Provides: real-%{name}-server = %{version}-%{release} +Provides: real-%{name}-server%{?_isa} = %{version}-%{release} %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -140,6 +149,8 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel +Provides: real-%{name}-devel = %{version}-%{release} +Provides: real-%{name}-devel%{?_isa} = %{version}-%{release} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -150,6 +161,8 @@ developing MySQL client applications. Summary: MySQL as an embeddable library Group: Applications/Databases +Provides: real-%{name}-embedded = %{version}-%{release} +Provides: real-%{name}-embedded%{?_isa} = %{version}-%{release} %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -162,6 +175,8 @@ Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Provides: real-%{name}-embedded-devel = %{version}-%{release} +Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -174,6 +189,8 @@ Summary: MySQL benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench +Provides: real-%{name}-bench = %{version}-%{release} +Provides: real-%{name}-bench%{?_isa} = %{version}-%{release} %description bench MySQL is a multi-user, multi-threaded SQL database server. This @@ -188,6 +205,8 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test +Provides: real-%{name}-test = %{version}-%{release} +Provides: real-%{name}-test%{?_isa} = %{version}-%{release} %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -707,6 +726,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Feb 11 2013 Honza Horak 5.5.29-2 +- Provide own symbols with real- prefix to distinguish packages from other + MySQL implementations unambiguously + * Wed Jan 2 2013 Tom Lane 5.5.29-1 - Update to MySQL 5.5.29, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html From c6e30efe80b1e255c3ed9b8b197022a4d6d96c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 12 Feb 2013 12:30:39 +0100 Subject: [PATCH 231/616] Use real- prefix for cross-package requirements --- mysql.spec | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/mysql.spec b/mysql.spec index 628ca65..29c1f45 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.29 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -68,7 +68,7 @@ BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: systemd-units Requires: grep, fileutils -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} Requires: bash # We can use real- prefix to distinguish from other MySQL implementations @@ -113,8 +113,8 @@ MySQL server. Summary: The MySQL server and related files Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd Requires(post): chkconfig @@ -145,8 +145,8 @@ the MySQL server and some accompanying files and directories. Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel Provides: real-%{name}-devel = %{version}-%{release} @@ -173,8 +173,8 @@ into a client application instead of running as a separate process. Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: real-%{name}-embedded%{?_isa} = %{version}-%{release} +Requires: real-%{name}-devel%{?_isa} = %{version}-%{release} Provides: real-%{name}-embedded-devel = %{version}-%{release} Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} @@ -187,7 +187,7 @@ the embedded version of the MySQL server. Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench Provides: real-%{name}-bench = %{version}-%{release} Provides: real-%{name}-bench%{?_isa} = %{version}-%{release} @@ -201,9 +201,9 @@ MySQL. Summary: The test suite distributed with MySQL Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test Provides: real-%{name}-test = %{version}-%{release} Provides: real-%{name}-test%{?_isa} = %{version}-%{release} @@ -726,6 +726,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 12 2013 Honza Horak 5.5.29-3 +- Use real- prefix for cross-package requirements + * Mon Feb 11 2013 Honza Horak 5.5.29-2 - Provide own symbols with real- prefix to distinguish packages from other MySQL implementations unambiguously From d2322534e3009dc83a5a74f8f98a4d55583e7a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 12 Feb 2013 19:01:31 +0100 Subject: [PATCH 232/616] Update to MySQL 5.5.30 --- .gitignore | 1 + mysql.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a7f3c6c..d15a15f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /mysql-5.5.29-nodocs.tar.gz +/mysql-5.5.30-nodocs.tar.gz diff --git a/mysql.spec b/mysql.spec index 29c1f45..a62d06b 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.29 -Release: 3%{?dist} +Version: 5.5.30 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -726,6 +726,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 12 2013 Honza Horak 5.5.30-1 +- Update to MySQL 5.5.30, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html + * Tue Feb 12 2013 Honza Horak 5.5.29-3 - Use real- prefix for cross-package requirements diff --git a/sources b/sources index 093f772..bd950ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2b9473a36a98c54cd671ba60ce873289 mysql-5.5.29-nodocs.tar.gz +382ab22fd33ec4fb65ecd61d92b61736 mysql-5.5.30-nodocs.tar.gz From c80ae3ea7b70b1e9556323028a058d553e88d888 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 11 Mar 2013 12:17:03 -0400 Subject: [PATCH 233/616] mysql is being replaced by mariadb and/or MySQL. this commit is squash of: last commit(s) of 'mysql' repo 'rawhide' branch and first commit(s) of 'community-mysql' repo 'rawhide' branch --- .gitignore | 1 - mysql.tmpfiles.d => MySQL.tmpfiles.d | 0 ...patch => community-mysql-chain-certs.patch | 0 ....patch => community-mysql-cipherspec.patch | 0 ...1024.patch => community-mysql-dh1024.patch | 0 ...h => community-mysql-dubious-exports.patch | 0 ...errno.patch => community-mysql-errno.patch | 0 ...tch => community-mysql-expired-certs.patch | 0 ...tch => community-mysql-file-contents.patch | 0 ...atch => community-mysql-install-test.patch | 0 ...e.patch => community-mysql-logrotate.patch | 0 community-mysql-major.patch | 12 + ....patch => community-mysql-netdevname.patch | 0 ...patch => community-mysql-plugin-bool.patch | 0 ...patch => community-mysql-plugin-test.patch | 6 +- ...sc.patch => community-mysql-s390-tsc.patch | 0 ...patch => community-mysql-stack-guard.patch | 0 ...h => community-mysql-string-overflow.patch | 0 ...rmov.patch => community-mysql-strmov.patch | 0 ...ist.patch => community-mysql-va-list.patch | 0 ....patch => community-mysql-versioning.patch | 0 mysql.spec => community-mysql.spec | 328 +++++++++--------- my.cnf | 6 + mysql-stack.patch | 27 -- rh-skipped-tests-base.list | 1 + scriptstub.c | 32 -- 26 files changed, 180 insertions(+), 233 deletions(-) rename mysql.tmpfiles.d => MySQL.tmpfiles.d (100%) rename mysql-chain-certs.patch => community-mysql-chain-certs.patch (100%) rename mysql-cipherspec.patch => community-mysql-cipherspec.patch (100%) rename mysql-dh1024.patch => community-mysql-dh1024.patch (100%) rename mysql-dubious-exports.patch => community-mysql-dubious-exports.patch (100%) rename mysql-errno.patch => community-mysql-errno.patch (100%) rename mysql-expired-certs.patch => community-mysql-expired-certs.patch (100%) rename mysql-file-contents.patch => community-mysql-file-contents.patch (100%) rename mysql-install-test.patch => community-mysql-install-test.patch (100%) rename mysql-logrotate.patch => community-mysql-logrotate.patch (100%) create mode 100644 community-mysql-major.patch rename mysql-netdevname.patch => community-mysql-netdevname.patch (100%) rename mysql-plugin-bool.patch => community-mysql-plugin-bool.patch (100%) rename mysql-plugin-test.patch => community-mysql-plugin-test.patch (96%) rename mysql-s390-tsc.patch => community-mysql-s390-tsc.patch (100%) rename mysql-stack-guard.patch => community-mysql-stack-guard.patch (100%) rename mysql-string-overflow.patch => community-mysql-string-overflow.patch (100%) rename mysql-strmov.patch => community-mysql-strmov.patch (100%) rename mysql-va-list.patch => community-mysql-va-list.patch (100%) rename mysql-versioning.patch => community-mysql-versioning.patch (100%) rename mysql.spec => community-mysql.spec (90%) delete mode 100644 mysql-stack.patch delete mode 100644 scriptstub.c diff --git a/.gitignore b/.gitignore index d15a15f..84390da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/mysql-5.5.29-nodocs.tar.gz /mysql-5.5.30-nodocs.tar.gz diff --git a/mysql.tmpfiles.d b/MySQL.tmpfiles.d similarity index 100% rename from mysql.tmpfiles.d rename to MySQL.tmpfiles.d diff --git a/mysql-chain-certs.patch b/community-mysql-chain-certs.patch similarity index 100% rename from mysql-chain-certs.patch rename to community-mysql-chain-certs.patch diff --git a/mysql-cipherspec.patch b/community-mysql-cipherspec.patch similarity index 100% rename from mysql-cipherspec.patch rename to community-mysql-cipherspec.patch diff --git a/mysql-dh1024.patch b/community-mysql-dh1024.patch similarity index 100% rename from mysql-dh1024.patch rename to community-mysql-dh1024.patch diff --git a/mysql-dubious-exports.patch b/community-mysql-dubious-exports.patch similarity index 100% rename from mysql-dubious-exports.patch rename to community-mysql-dubious-exports.patch diff --git a/mysql-errno.patch b/community-mysql-errno.patch similarity index 100% rename from mysql-errno.patch rename to community-mysql-errno.patch diff --git a/mysql-expired-certs.patch b/community-mysql-expired-certs.patch similarity index 100% rename from mysql-expired-certs.patch rename to community-mysql-expired-certs.patch diff --git a/mysql-file-contents.patch b/community-mysql-file-contents.patch similarity index 100% rename from mysql-file-contents.patch rename to community-mysql-file-contents.patch diff --git a/mysql-install-test.patch b/community-mysql-install-test.patch similarity index 100% rename from mysql-install-test.patch rename to community-mysql-install-test.patch diff --git a/mysql-logrotate.patch b/community-mysql-logrotate.patch similarity index 100% rename from mysql-logrotate.patch rename to community-mysql-logrotate.patch diff --git a/community-mysql-major.patch b/community-mysql-major.patch new file mode 100644 index 0000000..1b1071e --- /dev/null +++ b/community-mysql-major.patch @@ -0,0 +1,12 @@ +diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake +--- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100 ++++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100 +@@ -17,7 +17,7 @@ + # Global constants, only to be changed between major releases. + # + +-SET(SHARED_LIB_MAJOR_VERSION "18") ++SET(SHARED_LIB_MAJOR_VERSION "1018") + SET(PROTOCOL_VERSION "10") + SET(DOT_FRM_VERSION "6") + diff --git a/mysql-netdevname.patch b/community-mysql-netdevname.patch similarity index 100% rename from mysql-netdevname.patch rename to community-mysql-netdevname.patch diff --git a/mysql-plugin-bool.patch b/community-mysql-plugin-bool.patch similarity index 100% rename from mysql-plugin-bool.patch rename to community-mysql-plugin-bool.patch diff --git a/mysql-plugin-test.patch b/community-mysql-plugin-test.patch similarity index 96% rename from mysql-plugin-test.patch rename to community-mysql-plugin-test.patch index 5d08c32..8ffb46b 100644 --- a/mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -51,10 +51,10 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys +--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/mysql ++--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql +--mkdir $PLUGIN_DIR +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys +--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so +--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini + @@ -90,7 +90,7 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR +--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql +--rmdir $MYSQLD_TMP_BASEDIR/share --enable_abort_on_error diff --git a/mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch similarity index 100% rename from mysql-s390-tsc.patch rename to community-mysql-s390-tsc.patch diff --git a/mysql-stack-guard.patch b/community-mysql-stack-guard.patch similarity index 100% rename from mysql-stack-guard.patch rename to community-mysql-stack-guard.patch diff --git a/mysql-string-overflow.patch b/community-mysql-string-overflow.patch similarity index 100% rename from mysql-string-overflow.patch rename to community-mysql-string-overflow.patch diff --git a/mysql-strmov.patch b/community-mysql-strmov.patch similarity index 100% rename from mysql-strmov.patch rename to community-mysql-strmov.patch diff --git a/mysql-va-list.patch b/community-mysql-va-list.patch similarity index 100% rename from mysql-va-list.patch rename to community-mysql-va-list.patch diff --git a/mysql-versioning.patch b/community-mysql-versioning.patch similarity index 100% rename from mysql-versioning.patch rename to community-mysql-versioning.patch diff --git a/mysql.spec b/community-mysql.spec similarity index 90% rename from mysql.spec rename to community-mysql.spec index a62d06b..0877f06 100644 --- a/mysql.spec +++ b/community-mysql.spec @@ -1,16 +1,18 @@ -Name: mysql +Name: community-mysql Version: 5.5.30 -Release: 1%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com # exceptions allow client libraries to be linked with most open source SW, # not only GPL code. See README.mysql-license -License: GPLv2 with exceptions +# Some innobase code from Percona and Google is under BSD license +# Some code related to test-suite is under LGPLv2 +License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from @@ -22,13 +24,12 @@ Source0: mysql-%{version}-nodocs.tar.gz # ./generate-tarball.sh $VERSION Source1: generate-tarball.sh Source3: my.cnf -Source4: scriptstub.c Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license Source8: libmysql.version Source9: mysql-embedded-check.c -Source10: mysql.tmpfiles.d +Source10: MySQL.tmpfiles.d Source11: mysqld.service Source12: mysqld-prepare-db-dir Source13: mysqld-wait-ready @@ -38,48 +39,43 @@ Source15: rh-skipped-tests-arm.list Source999: filter-requires-mysql.sh # Comments for these patches are in the patch files. -Patch1: mysql-errno.patch -Patch2: mysql-strmov.patch -Patch3: mysql-install-test.patch -Patch4: mysql-expired-certs.patch -Patch5: mysql-stack-guard.patch -Patch6: mysql-chain-certs.patch -Patch7: mysql-versioning.patch -Patch8: mysql-dubious-exports.patch -Patch10: mysql-plugin-bool.patch -Patch11: mysql-s390-tsc.patch -Patch14: mysql-va-list.patch -Patch15: mysql-netdevname.patch -Patch16: mysql-logrotate.patch -Patch17: mysql-plugin-test.patch -Patch18: mysql-cipherspec.patch -Patch19: mysql-file-contents.patch -Patch20: mysql-string-overflow.patch -Patch21: mysql-dh1024.patch +Patch1: community-mysql-errno.patch +Patch2: community-mysql-strmov.patch +Patch3: community-mysql-install-test.patch +Patch4: community-mysql-expired-certs.patch +Patch5: community-mysql-stack-guard.patch +Patch6: community-mysql-chain-certs.patch +Patch7: community-mysql-versioning.patch +Patch8: community-mysql-dubious-exports.patch +Patch10: community-mysql-plugin-bool.patch +Patch11: community-mysql-s390-tsc.patch +Patch14: community-mysql-va-list.patch +Patch15: community-mysql-netdevname.patch +Patch16: community-mysql-logrotate.patch +Patch17: community-mysql-plugin-test.patch +Patch18: community-mysql-cipherspec.patch +Patch19: community-mysql-file-contents.patch +Patch20: community-mysql-string-overflow.patch +Patch21: community-mysql-dh1024.patch +Patch22: community-mysql-major.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel -BuildRequires: gcc-c++, cmake, ncurses-devel, zlib-devel, libaio-devel -BuildRequires: systemtap-sdt-devel +BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel +BuildRequires: systemd-units, systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps -# Socket and Time::HiRes are needed to run regression tests +# perl modules needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) -BuildRequires: systemd-units -Requires: grep, fileutils -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} -Requires: bash +Requires: grep, fileutils, bash +Requires: %{name}-common%{?_isa} = %{version}-%{release} +%{?systemd_requires: %systemd_requires} -# We can use real- prefix to distinguish from other MySQL implementations -# like MariaDB unambiguously -Provides: real-%{name} = %{version}-%{release} -Provides: real-%{name}%{?_isa} = %{version}-%{release} - -# MySQL (with caps) is upstream's spelling of their own RPMs for mysql -Conflicts: MySQL -# mysql-cluster used to be built from this SRPM, but no more -Obsoletes: mysql-cluster < 5.1.44 +# mariadb is MySQL replacement that is used in Fedora as a default +# MySQL implementation +Conflicts: mariadb +Provides: mysql = %{version}-%{release} +Provides: mysql%{?_isa} = %{version}-%{release} # When rpm 4.9 is universal, this could be cleaned up: %global __perl_requires %{SOURCE999} @@ -100,8 +96,9 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig -Provides: real-%{name}-libs = %{version}-%{release} -Provides: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Provides: mysql-libs = %{version}-%{release} +Provides: mysql-libs%{?_isa} = %{version}-%{release} %description libs The mysql-libs package provides the essential shared libraries for any @@ -109,16 +106,24 @@ MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. +%package common + +Summary: The shared files required for MySQL server and client +Group: Applications/Databases + +%description common +The mysql-common package provides the essential shared files for any +MySQL program. You will need to install this package to use any other +MySQL package. + %package server Summary: The MySQL server and related files Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: mysql%{?_isa} +Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd -Requires(post): chkconfig -Requires(preun): chkconfig # We require this to be present for %%{_prefix}/lib/tmpfiles.d Requires: systemd-units # Make sure it's there when scriptlets run, too @@ -131,9 +136,9 @@ Requires(postun): systemd-units Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL -Conflicts: MySQL-server -Provides: real-%{name}-server = %{version}-%{release} -Provides: real-%{name}-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-server +Provides: mysql-server = %{version}-%{release} +Provides: mysql-server%{?_isa} = %{version}-%{release} %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -145,12 +150,12 @@ the MySQL server and some accompanying files and directories. Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} -Conflicts: MySQL-devel -Provides: real-%{name}-devel = %{version}-%{release} -Provides: real-%{name}-devel%{?_isa} = %{version}-%{release} +Conflicts: mariadb-devel +Provides: mysql-devel = %{version}-%{release} +Provides: mysql-devel%{?_isa} = %{version}-%{release} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -161,8 +166,8 @@ developing MySQL client applications. Summary: MySQL as an embeddable library Group: Applications/Databases -Provides: real-%{name}-embedded = %{version}-%{release} -Provides: real-%{name}-embedded%{?_isa} = %{version}-%{release} +Provides: mysql-embedded = %{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{version}-%{release} %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -173,10 +178,11 @@ into a client application instead of running as a separate process. Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: real-%{name}-embedded%{?_isa} = %{version}-%{release} -Requires: real-%{name}-devel%{?_isa} = %{version}-%{release} -Provides: real-%{name}-embedded-devel = %{version}-%{release} -Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Conflicts: mariadb-embedded-devel +Provides: mysql-embedded-devel = %{version}-%{release} +Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -187,10 +193,10 @@ the embedded version of the MySQL server. Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Conflicts: MySQL-bench -Provides: real-%{name}-bench = %{version}-%{release} -Provides: real-%{name}-bench%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: mariadb-bench +Provides: mysql-bench = %{version}-%{release} +Provides: mysql-bench%{?_isa} = %{version}-%{release} %description bench MySQL is a multi-user, multi-threaded SQL database server. This @@ -201,12 +207,12 @@ MySQL. Summary: The test suite distributed with MySQL Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} -Requires: real-%{name}-server%{?_isa} = %{version}-%{release} -Conflicts: MySQL-test -Provides: real-%{name}-test = %{version}-%{release} -Provides: real-%{name}-test%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-test +Provides: mysql-test = %{version}-%{release} +Provides: mysql-test%{?_isa} = %{version}-%{release} %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -234,6 +240,7 @@ the MySQL sources. %patch19 -p1 %patch20 -p1 %patch21 -p1 +%patch22 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -285,7 +292,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_MYSQLSHAREDIR=share/%{name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ @@ -301,8 +308,6 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_SSL=system \ -DWITH_ZLIB=system -gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} - make %{?_smp_mflags} VERBOSE=1 # regular build will make libmysqld.a but not libmysqld.so :-( @@ -321,10 +326,11 @@ gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 LD_LIBRARY_PATH=. ldd ./a.out cd ../.. +%check %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine case `uname -m` in - ppc64 | s390x | x86_64 | sparc64 ) + ppc64 | ppc64p7 | s390x | x86_64 | sparc64 ) MTR_BUILD_THREAD=7 ;; *) @@ -333,7 +339,7 @@ cd ../.. esac export MTR_BUILD_THREAD - make test + make test VERBOSE=1 # The cmake build scripts don't provide any simple way to control the # options for mysql-test-run, so ignore the make target and just call it @@ -356,8 +362,6 @@ cd ../.. %endif %install -rm -rf $RPM_BUILD_ROOT - make DESTDIR=$RPM_BUILD_ROOT install # List the installed tree for RPM package maintenance purposes. @@ -366,9 +370,9 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in - i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) - mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 ) + mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ ;; *) ;; @@ -394,8 +398,8 @@ touch $RPM_BUILD_ROOT/var/log/mysqld.log mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql -mkdir -p $RPM_BUILD_ROOT/etc -install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} @@ -404,16 +408,16 @@ install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d -install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/mysql.conf +install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf # Fix funny permissions that cmake build scripts apply to config files chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini # Fix scripts for multilib safety -mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug -install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config -install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +ln -sf %{_libdir}/mysql/mysql_config ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug +ln -sf %{_libdir}/mysql/mysqlbug ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug # Remove libmysqld.a, install libmysqld.so rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a @@ -433,6 +437,13 @@ ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir} ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process +# We specified a different share dir, but the test suite expects some +# data files under /usr/share/mysql, so we create symlinks to compatibility +for f in errmsg-utf8.txt fill_help_tables.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql + do + ln -sf "../MySQL/$f" "${RPM_BUILD_ROOT}/usr/share/mysql/$f" + done + # Remove files that %%doc will install in preferred location rm -f ${RPM_BUILD_ROOT}/usr/COPYING rm -f ${RPM_BUILD_ROOT}/usr/README @@ -470,75 +481,33 @@ cp %{SOURCE7} README.mysql-license # install the list of skipped tests to be available for user runs install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test -%clean -rm -rf $RPM_BUILD_ROOT - %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%post libs -/sbin/ldconfig +%post libs -p /sbin/ldconfig %post server -%if 0%{?systemd_post:1} %systemd_post mysqld.service -%else -if [ $1 = 1 ]; then - # Initial installation - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -fi -%endif /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -# Handle upgrading from SysV initscript to native systemd unit. -# We can tell if a SysV version of mysql was previously installed by -# checking to see if the initscript is present. -%triggerun server -- mysql-server -if [ -f /etc/rc.d/init.d/mysqld ]; then - # Save the current service runlevel info - # User must manually run systemd-sysv-convert --apply mysqld - # to migrate them to systemd targets - /usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : - - # Run these because the SysV package being removed won't do them - /sbin/chkconfig --del mysqld >/dev/null 2>&1 || : - /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : -fi +%post embedded -p /sbin/ldconfig %preun server -%if 0%{?systemd_preun:1} %systemd_preun mysqld.service -%else -if [ $1 = 0 ]; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || : - /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : -fi -%endif -%postun libs -if [ $1 = 0 ] ; then - /sbin/ldconfig -fi +%postun libs -p /sbin/ldconfig %postun server -%if 0%{?systemd_postun_with_restart:1} %systemd_postun_with_restart mysqld.service -%else -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ]; then - # Package upgrade, not uninstall - /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : -fi -%endif +%postun embedded -p /sbin/ldconfig %files -%defattr(-,root,root) %doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README.mysql-docs %{_bindir}/msql2mysql @@ -570,8 +539,8 @@ fi %{_libdir}/mysql/mysql_config %files libs -%defattr(-,root,root) %doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # 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 @@ -579,34 +548,34 @@ fi %{_libdir}/mysql/libmysqlclient.so.* /etc/ld.so.conf.d/* -%dir %{_datadir}/mysql -%{_datadir}/mysql/english -%lang(cs) %{_datadir}/mysql/czech -%lang(da) %{_datadir}/mysql/danish -%lang(nl) %{_datadir}/mysql/dutch -%lang(et) %{_datadir}/mysql/estonian -%lang(fr) %{_datadir}/mysql/french -%lang(de) %{_datadir}/mysql/german -%lang(el) %{_datadir}/mysql/greek -%lang(hu) %{_datadir}/mysql/hungarian -%lang(it) %{_datadir}/mysql/italian -%lang(ja) %{_datadir}/mysql/japanese -%lang(ko) %{_datadir}/mysql/korean -%lang(no) %{_datadir}/mysql/norwegian -%lang(no) %{_datadir}/mysql/norwegian-ny -%lang(pl) %{_datadir}/mysql/polish -%lang(pt) %{_datadir}/mysql/portuguese -%lang(ro) %{_datadir}/mysql/romanian -%lang(ru) %{_datadir}/mysql/russian -%lang(sr) %{_datadir}/mysql/serbian -%lang(sk) %{_datadir}/mysql/slovak -%lang(es) %{_datadir}/mysql/spanish -%lang(sv) %{_datadir}/mysql/swedish -%lang(uk) %{_datadir}/mysql/ukrainian -%{_datadir}/mysql/charsets +%files common +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/english +%lang(cs) %{_datadir}/%{name}/czech +%lang(da) %{_datadir}/%{name}/danish +%lang(nl) %{_datadir}/%{name}/dutch +%lang(et) %{_datadir}/%{name}/estonian +%lang(fr) %{_datadir}/%{name}/french +%lang(de) %{_datadir}/%{name}/german +%lang(el) %{_datadir}/%{name}/greek +%lang(hu) %{_datadir}/%{name}/hungarian +%lang(it) %{_datadir}/%{name}/italian +%lang(ja) %{_datadir}/%{name}/japanese +%lang(ko) %{_datadir}/%{name}/korean +%lang(no) %{_datadir}/%{name}/norwegian +%lang(no) %{_datadir}/%{name}/norwegian-ny +%lang(pl) %{_datadir}/%{name}/polish +%lang(pt) %{_datadir}/%{name}/portuguese +%lang(ro) %{_datadir}/%{name}/romanian +%lang(ru) %{_datadir}/%{name}/russian +%lang(sr) %{_datadir}/%{name}/serbian +%lang(sk) %{_datadir}/%{name}/slovak +%lang(es) %{_datadir}/%{name}/spanish +%lang(sv) %{_datadir}/%{name}/swedish +%lang(uk) %{_datadir}/%{name}/ukrainian +%{_datadir}/%{name}/charsets %files server -%defattr(-,root,root) %doc support-files/*.cnf %{_bindir}/myisamchk @@ -634,7 +603,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -/usr/libexec/mysqld +%{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -675,6 +644,11 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* +%{_datadir}/%{name}/errmsg-utf8.txt +%{_datadir}/%{name}/fill_help_tables.sql +%{_datadir}/%{name}/mysql_system_tables.sql +%{_datadir}/%{name}/mysql_system_tables_data.sql +%{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/mysql/errmsg-utf8.txt %{_datadir}/mysql/fill_help_tables.sql %{_datadir}/mysql/mysql_system_tables.sql @@ -687,26 +661,24 @@ fi %{_libexecdir}/mysqld-prepare-db-dir %{_libexecdir}/mysqld-wait-ready -%{_prefix}/lib/tmpfiles.d/mysql.conf +%{_prefix}/lib/tmpfiles.d/%{name}.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel -%defattr(-,root,root) -/usr/include/mysql -/usr/share/aclocal/mysql.m4 +%{_includedir}/mysql +%{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %files embedded -%defattr(-,root,root) %doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %{_libdir}/mysql/libmysqld.so.* %files embedded-devel -%defattr(-,root,root) %{_libdir}/mysql/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded @@ -714,11 +686,9 @@ fi %{_mandir}/man1/mysqltest_embedded.1* %files bench -%defattr(-,root,root) %{_datadir}/sql-bench %files test -%defattr(-,root,root) %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test @@ -726,6 +696,24 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Mar 20 2013 Honza Horak 5.5.30-5 +- Renaming package MySQL to community-mysql to handle issues + introduced by case-insensitive operations of yum and for proper + prioritizing mariadb over community-mysql + +* Tue Mar 12 2013 Honza Horak 5.5.30-4 +- Allow server to be installed without client side +- Separate -lib and -common sub-packages +- Fix some path issues in tests + +* Mon Mar 11 2013 Honza Horak 5.5.30-3 +- Adjusting major soname number of libmysqlclient to avoid + library name conflicts with mariadb + +* Mon Mar 4 2013 Honza Horak 5.5.30-2 +- Renaming package mysql to MySQL to handle conflicting issues + with mariadb, which became default + * Tue Feb 12 2013 Honza Horak 5.5.30-1 - Update to MySQL 5.5.30, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html diff --git a/my.cnf b/my.cnf index 96282ea..1df1f70 100644 --- a/my.cnf +++ b/my.cnf @@ -11,3 +11,9 @@ symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid + +# +# include all files from the config directory +# +!includedir /etc/my.cnf.d + diff --git a/mysql-stack.patch b/mysql-stack.patch deleted file mode 100644 index c4fd437..0000000 --- a/mysql-stack.patch +++ /dev/null @@ -1,27 +0,0 @@ -Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE -does not work on s390x, and probably not on some other platforms either. -Knock it up to twice the pre-5.0.33 value to have some margin for future -changes in compiler, glibc, etc. Suspect this number if -"execution_constants" regression test fails. - -Note: STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8 -to provide some headroom, which means that its value can't be raised too much -further without increasing the latter as well. - -As of 5.1.33 the stock value is 16000, which might be enough ... or maybe -not. For the moment, we keep this patch around for reference, but it's -not being applied. - - -diff -Naur mysql-5.1.30.orig/sql/mysql_priv.h mysql-5.1.30/sql/mysql_priv.h ---- mysql-5.1.30.orig/sql/mysql_priv.h 2008-11-14 11:37:13.000000000 -0500 -+++ mysql-5.1.30/sql/mysql_priv.h 2009-01-13 11:07:35.000000000 -0500 -@@ -286,7 +286,7 @@ - Feel free to raise this by the smallest amount you can to get the - "execution_constants" test to pass. - */ --#define STACK_MIN_SIZE 12000 ///< Abort if less stack during eval. -+#define STACK_MIN_SIZE 16384 ///< Abort if less stack during eval. - - #define STACK_MIN_SIZE_FOR_OPEN 1024*80 - #define STACK_BUFF_ALLOC 352 ///< For stack overrun checks diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 8d92952..32f477c 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -11,3 +11,4 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 innodb.innodb : bug#60155 has platform-dependent results + diff --git a/scriptstub.c b/scriptstub.c deleted file mode 100644 index de942c1..0000000 --- a/scriptstub.c +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include -#include -#include - -/* Translate call of myself into call of same-named script in LIBDIR */ -/* The macro LIBDIR must be defined as a double-quoted string */ - -int main (int argc, char **argv) -{ - char *basename; - char *fullname; - char **newargs; - int i; - - basename = strrchr(argv[0], '/'); - if (basename) - basename++; - else - basename = argv[0]; - fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2); - sprintf(fullname, "%s/%s", LIBDIR, basename); - newargs = malloc((argc+1) * sizeof(char *)); - newargs[0] = fullname; - for (i = 1; i < argc; i++) - newargs[i] = argv[i]; - newargs[argc] = NULL; - - execvp(fullname, newargs); - - return 1; -} From 849395bef698b4464ddfe02815ccdd066be9211c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 22 Mar 2013 15:26:15 +0100 Subject: [PATCH 234/616] run test suite --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0877f06..a5e7cf1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -12,7 +12,7 @@ URL: http://www.mysql.com License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from From bcfa13df0168649d4c451979b147496f7e5e89b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 19 Apr 2013 14:06:13 +0200 Subject: [PATCH 235/616] Update to MySQL 5.5.31 --- .gitignore | 1 + community-mysql-plugin-test.patch | 24 ++++++++++++------------ community-mysql.spec | 8 ++++++-- sources | 2 +- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 84390da..ee32730 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /mysql-5.5.30-nodocs.tar.gz +/mysql-5.5.31-nodocs.tar.gz diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch index 8ffb46b..a467d3c 100644 --- a/community-mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -6,15 +6,15 @@ read-only-to-us plugin directory. rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 -diff -up mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt ---- mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt 2012-03-14 16:54:19.060951822 +0100 +diff -up mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt +--- mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt 2013-04-19 13:38:23.761741532 +0200 @@ -1 +1 @@ ---plugin-dir=$DAEMONEXAMPLE_DIR +--plugin-dir=$MYSQLTEST_VARDIR/plugin -diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-test/t/mysql_plugin.test ---- mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/mysql_plugin.test 2012-03-14 17:11:40.769295981 +0100 +diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test/t/mysql_plugin.test +--- mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-19 13:38:25.606742145 +0200 @@ -25,8 +25,10 @@ # Add the datadir, basedir, plugin_dir to the bootstrap command let $MYSQLD_DATADIR= `select @@datadir`; @@ -51,10 +51,10 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys +--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--mkdir $MYSQLD_TMP_BASEDIR/share/mysql +--mkdir $PLUGIN_DIR +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys +--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so +--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini + @@ -70,7 +70,7 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t --echo # --echo # Ensure the plugin isn't loaded. -@@ -202,7 +209,7 @@ EOF +@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like # we must copy the example daemon to a new location renaming it. let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; @@ -79,8 +79,8 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t --copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini # Now reload it and see that it is a different name. -@@ -395,8 +402,11 @@ EOF - --remove_file $expect_file +@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi + --remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect # Cleanup the share folder in the binary path. ---remove_file $MYSQLD_BASEDIR/share/errmsg.sys @@ -90,7 +90,7 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR +--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share/mysql +--rmdir $MYSQLD_TMP_BASEDIR/share --enable_abort_on_error diff --git a/community-mysql.spec b/community-mysql.spec index a5e7cf1..6b14c33 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql -Version: 5.5.30 -Release: 5%{?dist} +Version: 5.5.31 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -696,6 +696,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 19 2013 Honza Horak 5.5.31-1 +- Update to MySQL 5.5.31, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-31.html + * Wed Mar 20 2013 Honza Horak 5.5.30-5 - Renaming package MySQL to community-mysql to handle issues introduced by case-insensitive operations of yum and for proper diff --git a/sources b/sources index bd950ed..c09c60e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -382ab22fd33ec4fb65ecd61d92b61736 mysql-5.5.30-nodocs.tar.gz +2dd78a69ceaaf40fcbf985add94c4a2b mysql-5.5.31-nodocs.tar.gz From 4497a055f91d8f799beb58da58e9bd8f23c3936d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 22 Apr 2013 15:58:52 +0200 Subject: [PATCH 236/616] fix paths in -plugin-test patch --- community-mysql-plugin-test.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch index a467d3c..5fdce09 100644 --- a/community-mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -51,10 +51,10 @@ diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys +--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/mysql ++--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql +--mkdir $PLUGIN_DIR +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys +--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so +--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini + @@ -89,8 +89,8 @@ diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test +--remove_file $PLUGIN_DIR/daemon_example.ini +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR -+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/mysql -+--rmdir $MYSQLD_TMP_BASEDIR/share ++--remove_file $MYSQLD_TMP_BASEDIR/community-share/errmsg.sys ++--rmdir $MYSQLD_TMP_BASEDIR/community-share/mysql ++--rmdir $MYSQLD_TMP_BASEDIR/community-share --enable_abort_on_error From 74caac9abffc99686a660b92aefc0456af047b6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 22 Apr 2013 17:13:01 +0200 Subject: [PATCH 237/616] Build with _hardened_build --- community-mysql.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6b14c33..10c62f5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -14,6 +14,9 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} +# Build with -fPIE and -z now +%global _hardened_build 1 + # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ @@ -696,6 +699,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Apr 22 2013 Honza Horak 5.5.31-2 +- Build with _hardened_build + * Fri Apr 19 2013 Honza Horak 5.5.31-1 - Update to MySQL 5.5.31, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-31.html From 50bf53ed7f91fb4620ceaa1821b629a135200c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 24 Apr 2013 20:23:23 +0200 Subject: [PATCH 238/616] Fix some paths related to test suite --- community-mysql-sharedir.patch | 38 ++++++++++++++++++++++++++++++++++ community-mysql.spec | 3 +++ 2 files changed, 41 insertions(+) create mode 100644 community-mysql-sharedir.patch diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch new file mode 100644 index 0000000..0311bfc --- /dev/null +++ b/community-mysql-sharedir.patch @@ -0,0 +1,38 @@ +diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm +--- mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 2013-04-24 20:15:14.085623163 +0200 ++++ mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm 2013-04-24 20:15:37.456630939 +0200 +@@ -36,7 +36,7 @@ my @pre_rules= + ); + + +-my @share_locations= ("share/mysql", "sql/share", "share"); ++my @share_locations= ("share/community-mysql", "sql/share", "share"); + + + sub get_basedir { +diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/mysql-test-run.pl +--- mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysql-test/mysql-test-run.pl 2013-04-24 20:18:28.538687866 +0200 +@@ -1238,11 +1238,11 @@ sub command_line_setup { + } + + # Look for language files and charsetsdir, use same share +- $path_language= mtr_path_exists("$bindir/share/mysql", ++ $path_language= mtr_path_exists("$bindir/share/community-mysql", + "$bindir/sql/share", + "$bindir/share"); + my $path_share= $path_language; +- $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets", ++ $path_charsetsdir = mtr_path_exists("$basedir/share/community-mysql/charsets", + "$basedir/sql/share/charsets", + "$basedir/share/charsets"); + +@@ -3324,7 +3324,7 @@ sub mysql_install_db { + } + + my $path_sql= my_find_file($install_basedir, +- ["mysql", "sql/share", "share/mysql", ++ ["mysql", "sql/share", "share/community-mysql", + "share", "scripts"], + "mysql_system_tables.sql", + NOT_REQUIRED); diff --git a/community-mysql.spec b/community-mysql.spec index 10c62f5..184466b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -61,6 +61,7 @@ Patch19: community-mysql-file-contents.patch Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch +Patch23: community-mysql-sharedir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -244,6 +245,7 @@ the MySQL sources. %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -701,6 +703,7 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %changelog * Mon Apr 22 2013 Honza Horak 5.5.31-2 - Build with _hardened_build +- Fix some paths related to test suite * Fri Apr 19 2013 Honza Horak 5.5.31-1 - Update to MySQL 5.5.31, for various fixes described at From dd5f004a66e4dce4549a2cf56d1f2a35d32997c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 25 Apr 2013 09:05:02 +0200 Subject: [PATCH 239/616] Add BR for perl(Env) needed by test rpl_manual_change_index_file --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 184466b..221e549 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -69,7 +69,7 @@ BuildRequires: systemd-units, systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps # perl modules needed to run regression tests -BuildRequires: perl(Socket), perl(Time::HiRes) +BuildRequires: perl(Socket), perl(Time::HiRes), perl(Env) Requires: grep, fileutils, bash Requires: %{name}-common%{?_isa} = %{version}-%{release} @@ -703,7 +703,7 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %changelog * Mon Apr 22 2013 Honza Horak 5.5.31-2 - Build with _hardened_build -- Fix some paths related to test suite +- Fix some paths and require perl(Env), which is needed by tests * Fri Apr 19 2013 Honza Horak 5.5.31-1 - Update to MySQL 5.5.31, for various fixes described at From 33af135575f15367c70e0d291caa7254bd5c3540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 25 Apr 2013 11:14:03 +0200 Subject: [PATCH 240/616] Fix paths in -plugin-test patch --- community-mysql-plugin-test.patch | 6 +++--- community-mysql.spec | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch index 5fdce09..6d6093d 100644 --- a/community-mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -89,8 +89,8 @@ diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test +--remove_file $PLUGIN_DIR/daemon_example.ini +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR -+--remove_file $MYSQLD_TMP_BASEDIR/community-share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/community-share/mysql -+--rmdir $MYSQLD_TMP_BASEDIR/community-share ++--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys ++--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share --enable_abort_on_error diff --git a/community-mysql.spec b/community-mysql.spec index 221e549..ba5103d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -701,6 +701,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Apr 25 2013 Honza Horak 5.5.31-3 +- Fix paths in -plugin-test patch + * Mon Apr 22 2013 Honza Horak 5.5.31-2 - Build with _hardened_build - Fix some paths and require perl(Env), which is needed by tests From 53e30da6fc22f248646026b067acc129deb3caca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 25 Apr 2013 18:30:48 +0200 Subject: [PATCH 241/616] Fix building with relro and PIE --- community-mysql.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ba5103d..c05c10b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -14,9 +14,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} -# Build with -fPIE and -z now -%global _hardened_build 1 - # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ @@ -285,6 +282,9 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS +# building with PIE +LDFLAGS="$LDFLAGS -pie" +export LDFLAGS # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -311,7 +311,8 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ - -DWITH_ZLIB=system + -DWITH_ZLIB=system \ + -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -701,6 +702,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 26 2013 Honza Horak 5.5.31-4 +- Fix building with relro and PIE + * Thu Apr 25 2013 Honza Horak 5.5.31-3 - Fix paths in -plugin-test patch From bcb6c3a615f16dfee698f50fc680e00af308626a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Apr 2013 21:06:11 +0200 Subject: [PATCH 242/616] Remove mysql provides from devel sub-packages to not build against community-mysql if mysql-devel is specified --- community-mysql.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index c05c10b..1c1021c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -155,8 +155,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: mariadb-devel -Provides: mysql-devel = %{version}-%{release} -Provides: mysql-devel%{?_isa} = %{version}-%{release} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -182,8 +180,6 @@ Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Conflicts: mariadb-embedded-devel -Provides: mysql-embedded-devel = %{version}-%{release} -Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -702,6 +698,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Apr 30 2013 Honza Horak 5.5.31-5 +- Remove mysql provides from devel sub-packages to not build against + community-mysql if mysql-devel is specified + * Fri Apr 26 2013 Honza Horak 5.5.31-4 - Fix building with relro and PIE From 1d87c09dd2fa75d584ae3db7d692e4c3a35b0ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Stan=C4=9Bk?= Date: Wed, 29 May 2013 12:35:28 +0200 Subject: [PATCH 243/616] Added missing command-line options to man-pages (#948930) --- community-mysql-man-pages.patch | 1013 +++++++++++++++++++++++++++++++ community-mysql.spec | 7 +- 2 files changed, 1019 insertions(+), 1 deletion(-) create mode 100644 community-mysql-man-pages.patch diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch new file mode 100644 index 0000000..fbed073 --- /dev/null +++ b/community-mysql-man-pages.patch @@ -0,0 +1,1013 @@ +# Amalgamation of patches to various mysql man pages + +# ===== mysqladmin manual page ===== + +diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 +--- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 ++++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 +@@ -689,6 +689,21 @@ Compress all information sent between th + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: connect-timeout option ++.\" connect-timeout option: mysqladmin ++\fB\-\-connect-timeout=\fR\fB\fItimeout\fR\fR ++.sp ++Equivalent to \fB\-\-connect_timeout\fR, see the end of this section\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: count option + .\" count option: mysqladmin + \fB\-\-count=\fR\fB\fIN\fR\fR, +@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: defaults-extra-file option ++.\" defaults-extra-file option: mysqladmin ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqladmin: defaults-file option ++.\" defaults-file option: mysqladmin ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: enable-cleartext-plugin option + .\" enable-cleartext-plugin option: mysqladmin + \fB\-\-enable\-cleartext\-plugin\fR +@@ -861,6 +907,21 @@ Suppress the warning beep that is emitte + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: no-defaults option ++.\" no-defaults option: mysqladmin ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: password option + .\" password option: mysqladmin + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -944,6 +1005,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: print-defaults option ++.\" print-defaults option: mysqladmin ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: protocol option + .\" protocol option: mysqladmin + \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR +@@ -973,6 +1049,21 @@ command\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqladmin: shutdown-timeout option ++.\" shutdown-timeout option: mysqladmin ++\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR ++.sp ++Equivalent of \fB\-\-shutdown_timeout\fR, see the end of this section\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlbinlog manual page ===== + +diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 +--- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 ++++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 +@@ -599,6 +599,7 @@ privilege\&. + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -708,6 +709,22 @@ entries in the log\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlbinlog: open-files-limit option ++.\" open-files-limit option: mysqlbinlog ++\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR ++.sp ++Sets the open_files_limit variable, which is used to reserve file descriptors for ++\fBmysqlbinlog\fR\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlconfig manual page ===== + +diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 +--- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 ++++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 +@@ -176,6 +176,22 @@ The default Unix socket file, defined wh + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql_config: variable option ++.\" variable option: mysql_config ++\fB\-\-variable=VAR\fR ++.sp ++Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of ++`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql_config: version option + .\" version option: mysql_config + \fB\-\-version\fR + +# ===== mysqldump manual page ===== + +diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 +--- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 ++++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 +@@ -611,7 +611,8 @@ Compress all information sent between th + .\} + .\" mysqldump: create-options option + .\" create-options option: mysqldump +-\fB\-\-create\-options\fR ++\fB\-\-create\-options\fR, ++\fB\-a\fR + .sp + Include all MySQL\-specific table options in the + CREATE TABLE +@@ -738,6 +739,38 @@ latin1\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: defaults-extra-file option ++.\" defaults-extra-file option: mysqldump ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: defaults-file option ++.\" defaults-file option: mysqldump ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: delayed-insert option + .\" delayed-insert option: mysqldump + \fB\-\-delayed\-insert\fR +@@ -1400,6 +1433,36 @@ to point the slave to the correct master + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: max-allowed-packet option ++.\" max-allowed-packet option: mysqldump ++\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR ++.sp ++Sets the maximum packet length to send to or recieve from server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: net-buffer-length option ++.\" net-buffer-length option: mysqldump ++\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR ++.sp ++Sets the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-autocommit option + .\" no-autocommit option: mysqldump + \fB\-\-no\-autocommit\fR +@@ -1500,6 +1563,21 @@ statement for the table (for example, to + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: no-defaults option ++.\" no-defaults option: mysqldump ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-set-names option + .\" no-set-names option: mysqldump + \fB\-\-no\-set\-names\fR, +@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: print-defaults option ++.\" print-defaults option: mysqldump ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must begiven as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlcheck manual page ===== + +diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 +--- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 ++++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 +@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlcheck: defaults-extra-file option ++.\" defaults-extra-file option: mysqlcheck ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlcheck: defaults-file option ++.\" defaults-file option: mysqlcheck ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlcheck: extended option + .\" extended option: mysqlcheck + \fB\-\-extended\fR, +@@ -622,6 +654,21 @@ operation\&. This finds only 99\&.99% of + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlcheck: no-defaults option ++.\" no-defaults option: mysqlcheck ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlcheck: optimize option + .\" optimize option: mysqlcheck + \fB\-\-optimize\fR, +@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlcheck: print-defaults option ++.\" print-defaults option: mysqlcheck ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlimport manual page ===== + +diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 +--- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 ++++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 +@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlimport: defaults-extra-file option ++.\" defaults-extra-file option: mysqlimport ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlimport: defaults-file option ++.\" defaults-file option: mysqlimport ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: delete option + .\" delete option: mysqlimport + \fB\-\-delete\fR, +-\fB\-D\fR ++\fB\-d\fR + .sp + Empty the table before importing the text file\&. + .RE +@@ -449,6 +481,22 @@ MERGE)\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlimport: no-defaults option ++.\" no-defaults option: mysqlimport ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: password option + .\" password option: mysqlimport + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlimport: print-defaults option ++.\" print-defaults option: mysqlimport ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysql manual page ===== + +diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 +--- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 ++++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 +@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -311,6 +312,21 @@ Compress all information sent between th + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: connect-timeout option ++.\" connect-timeout option: mysql ++\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR ++.sp ++Set the time for connection timeout in seconds\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: database option + .\" database option: mysql + \fB\-\-database=\fR\fB\fIdb_name\fR\fR, +@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: defaults-file option ++.\" defaults-file option: mysql ++\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: defaults-extra-file option ++.\" defaults-extra-file option: mysql ++\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: delimiter option + .\" delimiter option: mysql + \fB\-\-delimiter=\fR\fB\fIstr\fR\fR +@@ -623,6 +670,36 @@ has no effect if the server does not als + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: max-allowed-packet option ++.\" max-allowed-packet option: mysql ++\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR ++.sp ++Specify the maximum packet length to send to or recieve form server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: max-join-size option ++.\" max-join-size option: mysql ++\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR ++.sp ++Set the automatic limit for rows in a join when using \fB\-\-safe\-updates\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: named-commands option + .\" named-commands option: mysql + \fB\-\-named\-commands\fR, +@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: net-buffer-length option ++.\" net-buffer-length option: mysql ++\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR ++.sp ++Set the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-auto-rehash option + .\" no-auto-rehash option: mysql + \fB\-\-no\-auto\-rehash\fR, + \fB\-A\fR + .sp + This has the same effect as +-\fB\-skip\-auto\-rehash\fR\&. See the description for ++\fB\-\-skip\-auto\-rehash\fR\&. See the description for + \fB\-\-auto\-rehash\fR\&. + .RE + .sp +@@ -682,6 +774,21 @@ Do not beep when errors occur\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: no-defaults option ++.\" no-defaults option: mysql ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-named-commands option + .\" no-named-commands option: mysql + \fB\-\-no\-named\-commands\fR, +@@ -951,6 +1058,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: print-defaults option ++.\" print-defaults option: mysql ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: prompt option + .\" prompt option: mysql + \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR +@@ -1114,6 +1236,36 @@ Do not send passwords to the server in o + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: select-limit option ++.\" select-limit option: mysql ++\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR ++.sp ++Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: server-arg option ++.\" server-arg option: mysql ++\fB\-\-server\-arg=\fR\fB\fIname\fR\fR ++.sp ++Send \fB\fIname\fR\fR as a parameter to the embedded server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: show-warnings option + .\" show-warnings option: mysql + \fB\-\-show\-warnings\fR +@@ -1166,6 +1318,21 @@ option\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: skip-auto-rehash option ++.\" skip-auto-rehash option: mysql ++\fB\-\-skip\-auto\-rehash\fR ++.sp ++Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: skip-column-names option + .\" skip-column-names option: mysql + \fB\-\-skip\-column\-names\fR, +@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR + .sp + Options that begin with +-\fB\-\-ssl\fR ++\fB\-\-ssl\fR, + specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See + Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. + .RE +@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR ++shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR + + + +@@ -2963,16 +3130,16 @@ statements that probably need to examine + .RE + .PP + To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the +-\fB\-\-select_limit\fR ++\fB\-\-select\-limit\fR + and +-\fB\-\-max_join_size\fR ++\fB\-\-max\-join\-size\fR + options: + .sp + .if n \{\ + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR ++shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR + .fi + .if n \{\ + .RE + +# ===== mysqlshow manual page ===== + +diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 +--- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 ++++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 +@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I + .\} + .\" mysqlshow: character-sets-dir option + .\" character-sets-dir option: mysqlshow +-\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR ++\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, ++\fB\-c\fR + .sp + The directory where character sets are installed\&. See + Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. +@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlshow: defaults-extra-file option ++.\" defaults-extra-file option: mysqlshow ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlshow: defaults-file option ++.\" defaults-file option: mysqlshow ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: host option + .\" host option: mysqlshow + \fB\-\-host=\fR\fB\fIhost_name\fR\fR, +@@ -339,6 +372,22 @@ Show table indexes\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlshow: no-defaults option ++.\" no-defaults option: mysqlshow ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: password option + .\" password option: mysqlshow + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlshow: print-defaults option ++.\" print-defaults option: mysqlshow ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlslap manual page ===== + +diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 +--- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 ++++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 +@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 + .el \{\ + .sp -1 + .IP \(bu 2.3 ++.\" mysqlslap: defaults-extra-file option ++.\" defaults-extra-file option: mysqlslap ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: defaults-file option ++.\" defaults-file option: mysqlslap ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\} + .\" mysqlslap: delimiter option + .\" delimiter option: mysqlslap +@@ -643,6 +675,37 @@ The number of times to run the tests\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlslap: no-defaults option ++.\" no-defaults option: mysqlslap ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: no-drop option ++.\" no-drop option: mysqlslap ++\fB\-\-no\-drop\fR ++.sp ++Do not drop the schema after the test\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: number-char-cols option + .\" number-char-cols option: mysqlslap + \fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, +@@ -821,6 +884,22 @@ The file or string containing the statem + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: print-defaults option ++.\" print-defaults option: mysqlslap ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + diff --git a/community-mysql.spec b/community-mysql.spec index 1c1021c..19aacfe 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -59,6 +59,7 @@ Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch +Patch24: community-mysql-man-pages.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -239,6 +240,7 @@ the MySQL sources. %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -698,6 +700,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed May 29 2013 Jan Stanek 5.5.31-6 +- Added missing command-line options to man-pages (#948930) + * Tue Apr 30 2013 Honza Horak 5.5.31-5 - Remove mysql provides from devel sub-packages to not build against community-mysql if mysql-devel is specified From f48240871d66cedecb94e3b337b19b30426d8e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 16:07:28 +0200 Subject: [PATCH 244/616] Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 --- community-mysql-tmpdir.patch | 88 ++++++++++++++++++++++++++++++++++++ community-mysql.spec | 7 +++ 2 files changed, 95 insertions(+) create mode 100644 community-mysql-tmpdir.patch diff --git a/community-mysql-tmpdir.patch b/community-mysql-tmpdir.patch new file mode 100644 index 0000000..2dc7293 --- /dev/null +++ b/community-mysql-tmpdir.patch @@ -0,0 +1,88 @@ +Directory /tmp is now on tmpfs, which can cause problems with limitted space +or replication. It's documented here: +http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_tmpdir + +"If the MySQL server is acting as a replication slave, you should not set --tmpdir +to point to a directory on a memory-based file system or to a directory that is +cleared when the server host restarts." + +RHBZ#962087 +Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-4165 +MySQL bug report: http://bugs.mysql.com/bug.php?id=68338 + +diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt +--- mysql-5.5.31/CMakeLists.txt.tmpdir 2013-06-03 15:14:51.149345233 +0200 ++++ mysql-5.5.31/CMakeLists.txt 2013-06-03 15:29:23.263489056 +0200 +@@ -253,6 +253,10 @@ IF(SYSCONFDIR) + SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") + ENDIF() + ++IF(TMPDIR) ++ SET(DEFAULT_TMPDIR "${TMPDIR}") ++ENDIF() ++ + + # Run platform tests + INCLUDE(configure.cmake) +diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake +--- mysql-5.5.31/config.h.cmake.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/config.h.cmake 2013-06-03 15:14:51.149345233 +0200 +@@ -600,6 +600,7 @@ + #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" + #cmakedefine PLUGINDIR "@PLUGINDIR@" + #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" ++#cmakedefine DEFAULT_TMPDIR "@DEFAULT_TMPDIR@" + + #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" + +diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.h +--- mysql-5.5.31/include/my_global.h.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/include/my_global.h 2013-06-03 15:14:51.150345232 +0200 +@@ -1501,4 +1501,11 @@ static inline double rint(double x) + + #endif /* EMBEDDED_LIBRARY */ + ++/* ++ Define default tmpdir if not already set. ++*/ ++#if !defined(DEFAULT_TMPDIR) ++#define DEFAULT_TMPDIR P_tmpdir ++#endif ++ + #endif /* my_global_h */ +diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql.cc +--- mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/libmysqld/lib_sql.cc 2013-06-03 15:14:51.150345232 +0200 +@@ -558,7 +558,7 @@ int init_embedded_server(int argc, char + opt_mysql_tmpdir=getenv("TMP"); + #endif + if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) +- opt_mysql_tmpdir=(char*) P_tmpdir; /* purecov: inspected */ ++ opt_mysql_tmpdir=(char*) DEFAULT_TMPDIR; /* purecov: inspected */ + + init_ssl(); + umask(((~my_umask) & 0666)); +diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c +--- mysql-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysys/mf_tempdir.c 2013-06-03 15:14:51.150345232 +0200 +@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c + pathlist=getenv("TMP"); + #endif + if (!pathlist || !pathlist[0]) +- pathlist=(char*) P_tmpdir; ++ pathlist=(char*) DEFAULT_TMPDIR; + } + do + { +diff -up mysql-5.5.31/mysys/mf_tempfile.c.tmpdir mysql-5.5.31/mysys/mf_tempfile.c +--- mysql-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysys/mf_tempfile.c 2013-06-03 15:14:51.150345232 +0200 +@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch + sizeof(prefix_buff)-7),"XXXXXX") - + prefix_buff); + if (!dir && ! (dir =getenv("TMPDIR"))) +- dir=P_tmpdir; ++ dir=DEFAULT_TMPDIR; + if (strlen(dir)+ pfx_len > FN_REFLEN-2) + { + errno=my_errno= ENAMETOOLONG; diff --git a/community-mysql.spec b/community-mysql.spec index 19aacfe..b0581ba 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -60,6 +60,7 @@ Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch Patch24: community-mysql-man-pages.patch +Patch25: community-mysql-tmpdir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -241,6 +242,7 @@ the MySQL sources. %patch22 -p1 %patch23 -p1 %patch24 -p1 +%patch25 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -310,6 +312,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -700,6 +703,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jun 3 2013 Honza Horak 5.5.31-7 +- Use /var/tmp as default tmpdir to prevent potential issues + Resolves: #905635 + * Wed May 29 2013 Jan Stanek 5.5.31-6 - Added missing command-line options to man-pages (#948930) From a8bc704d6d1426498f74df00ed4d5e8f423d7b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 16:10:58 +0200 Subject: [PATCH 245/616] Fix test suite requirements --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index b0581ba..b37f6dd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -212,6 +212,7 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} +Requires: perl(Socket), perl(Time::HiRes), perl(Env) %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -706,6 +707,7 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my * Mon Jun 3 2013 Honza Horak 5.5.31-7 - Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 +- Fix test suite requirements * Wed May 29 2013 Jan Stanek 5.5.31-6 - Added missing command-line options to man-pages (#948930) From 74bb4c4ea0742d058b78ca7b1aca76cbc2f8ed1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 17:30:42 +0200 Subject: [PATCH 246/616] Fix for CVE-2013-1861 backported from MariaDB Resolves: #921836 --- community-mysql-cve-2013-1861.patch | 170 ++++++++++++++++++++++++++++ community-mysql.spec | 4 + 2 files changed, 174 insertions(+) create mode 100644 community-mysql-cve-2013-1861.patch diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch new file mode 100644 index 0000000..e8a27cf --- /dev/null +++ b/community-mysql-cve-2013-1861.patch @@ -0,0 +1,170 @@ +diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result +--- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200 ++++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200 +@@ -1113,4 +1113,19 @@ SELECT 1 FROM g1 WHERE a >= ANY + (SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ; + 1 + DROP TABLE g1; ++# ++# TODO-424 geometry query crashes server ++# ++select astext(0x0100000000030000000100000000000010); ++astext(0x0100000000030000000100000000000010) ++NULL ++select area(0x0100000000030000000100000000000010); ++area(0x0100000000030000000100000000000010) ++NULL ++select astext(exteriorring(0x0100000000030000000100000000000010)); ++astext(exteriorring(0x0100000000030000000100000000000010)) ++NULL ++select astext(centroid(0x0100000000030000000100000000000010)); ++astext(centroid(0x0100000000030000000100000000000010)) ++NULL + End of 5.5 tests +diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.test +--- mysql-5.5.31/mysql-test/t/gis.test.cve 2013-06-03 16:32:33.733025512 +0200 ++++ mysql-5.5.31/mysql-test/t/gis.test 2013-06-03 16:34:38.942560749 +0200 +@@ -868,4 +868,11 @@ SELECT 1 FROM g1 WHERE a >= ANY + + DROP TABLE g1; + ++--echo # ++--echo # TODO-424 geometry query crashes server ++--echo # ++select astext(0x0100000000030000000100000000000010); ++select area(0x0100000000030000000100000000000010); ++select astext(exteriorring(0x0100000000030000000100000000000010)); ++select astext(centroid(0x0100000000030000000100000000000010)); + --echo End of 5.5 tests +diff -up mysql-5.5.31/sql/spatial.cc.cve mysql-5.5.31/sql/spatial.cc +--- mysql-5.5.31/sql/spatial.cc.cve 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/sql/spatial.cc 2013-06-03 16:45:52.790665557 +0200 +@@ -538,7 +538,7 @@ bool Gis_line_string::get_data_as_wkt(St + n_points= uint4korr(data); + data += 4; + +- if (n_points < 1 || ++ if (n_points < 1 || n_points > max_n_points || + no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) || + txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points)) + return 1; +@@ -576,7 +576,8 @@ int Gis_line_string::geom_length(double + return 1; + n_points= uint4korr(data); + data+= 4; +- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) ++ if (n_points < 1 || n_points > max_n_points || ++ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) + return 1; + + get_point(&prev_x, &prev_y, data); +@@ -610,7 +611,7 @@ int Gis_line_string::is_closed(int *clos + return 0; + } + data+= 4; +- if (n_points == 0 || ++ if (n_points == 0 || n_points > max_n_points || + no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) + return 1; + +@@ -780,7 +781,7 @@ bool Gis_polygon::get_data_as_wkt(String + return 1; + n_points= uint4korr(data); + data+= 4; +- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || ++ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || + txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) + return 1; + txt->qs_append('('); +@@ -834,7 +835,7 @@ int Gis_polygon::area(double *ar, const + if (no_data(data, 4)) + return 1; + n_points= uint4korr(data); +- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) ++ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) + return 1; + get_point(&prev_x, &prev_y, data+4); + data+= (4+SIZEOF_STORED_DOUBLE*2); +@@ -870,7 +871,8 @@ int Gis_polygon::exterior_ring(String *r + n_points= uint4korr(data); + data+= 4; + length= n_points * POINT_DATA_SIZE; +- if (no_data(data, length) || result->reserve(1+4+4+ length)) ++ if (n_points > max_n_points || ++ no_data(data, length) || result->reserve(1+4+4+ length)) + return 1; + + result->q_append((char) wkb_ndr); +@@ -916,7 +918,8 @@ int Gis_polygon::interior_ring_n(uint32 + n_points= uint4korr(data); + points_size= n_points * POINT_DATA_SIZE; + data+= 4; +- if (no_data(data, points_size) || result->reserve(1+4+4+ points_size)) ++ if (n_points > max_n_points || ++ no_data(data, points_size) || result->reserve(1+4+4+ points_size)) + return 1; + + result->q_append((char) wkb_ndr); +@@ -955,7 +958,7 @@ int Gis_polygon::centroid_xy(double *x, + return 1; + org_n_points= n_points= uint4korr(data); + data+= 4; +- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) ++ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) + return 1; + get_point(&prev_x, &prev_y, data); + data+= (SIZEOF_STORED_DOUBLE*2); +@@ -1242,7 +1245,7 @@ bool Gis_multi_line_string::get_data_as_ + return 1; + n_points= uint4korr(data + WKB_HEADER_SIZE); + data+= WKB_HEADER_SIZE + 4; +- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || ++ if (n_points > max_n_points || no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || + txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) + return 1; + txt->qs_append('('); +@@ -1503,7 +1506,8 @@ bool Gis_multi_polygon::get_data_as_wkt( + return 1; + uint32 n_points= uint4korr(data); + data+= 4; +- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || ++ if (n_points > max_n_points || ++ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || + txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points, + 512)) + return 1; +@@ -1586,6 +1590,8 @@ int Gis_multi_polygon::geometry_n(uint32 + if (no_data(data, 4)) + return 1; + n_points= uint4korr(data); ++ if (n_points > max_n_points) ++ return 1; + data+= 4 + POINT_DATA_SIZE * n_points; + } + } while (--num); +diff -up mysql-5.5.31/sql/spatial.h.cve mysql-5.5.31/sql/spatial.h +--- mysql-5.5.31/sql/spatial.h.cve 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/sql/spatial.h 2013-06-03 16:32:33.737025500 +0200 +@@ -200,6 +200,11 @@ struct Geometry_buffer; + class Geometry + { + public: ++ // Maximum number of points in feature that can fit into String ++ static const uint32 max_n_points= ++ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / ++ POINT_DATA_SIZE; ++ + Geometry() {} /* Remove gcc warning */ + virtual ~Geometry() {} /* Remove gcc warning */ + static void *operator new(size_t size, void *buffer) +@@ -383,10 +388,6 @@ public: + + class Gis_line_string: public Geometry + { +- // Maximum number of points in LineString that can fit into String +- static const uint32 max_n_points= +- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / +- POINT_DATA_SIZE; + public: + Gis_line_string() {} /* Remove gcc warning */ + virtual ~Gis_line_string() {} /* Remove gcc warning */ diff --git a/community-mysql.spec b/community-mysql.spec index b37f6dd..176c6df 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -61,6 +61,7 @@ Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch +Patch26: community-mysql-cve-2013-1861.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -244,6 +245,7 @@ the MySQL sources. %patch23 -p1 %patch24 -p1 %patch25 -p1 +%patch26 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -708,6 +710,8 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my - Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 - Fix test suite requirements +- Fix for CVE-2013-1861 backported from MariaDB + Resolves: #921836 * Wed May 29 2013 Jan Stanek 5.5.31-6 - Added missing command-line options to man-pages (#948930) From e6a00cb0a6314ec959ec8ba49d580b361a6ff34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 17:50:14 +0200 Subject: [PATCH 247/616] Release bump --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 176c6df..cc66d61 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases From c8c1b8c56c5618d95c40fd6bd3920ca985591b45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 7 Jun 2013 13:26:53 +0200 Subject: [PATCH 248/616] Update to MySQL 5.5.32 --- .gitignore | 1 + community-mysql-cve-2013-1861.patch | 137 +--------------------------- community-mysql.spec | 19 ++-- sources | 2 +- 4 files changed, 20 insertions(+), 139 deletions(-) diff --git a/.gitignore b/.gitignore index ee32730..819fd32 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /mysql-5.5.30-nodocs.tar.gz /mysql-5.5.31-nodocs.tar.gz +/mysql-5.5.32-nodocs.tar.gz diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch index e8a27cf..75e35c3 100644 --- a/community-mysql-cve-2013-1861.patch +++ b/community-mysql-cve-2013-1861.patch @@ -1,3 +1,8 @@ +It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't +ship a test case for that. This patch only includes the test case ported +from MariaDB fix: +https://mariadb.atlassian.net/browse/MDEV-4252 + diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result --- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200 +++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200 @@ -36,135 +41,3 @@ diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.te +select astext(exteriorring(0x0100000000030000000100000000000010)); +select astext(centroid(0x0100000000030000000100000000000010)); --echo End of 5.5 tests -diff -up mysql-5.5.31/sql/spatial.cc.cve mysql-5.5.31/sql/spatial.cc ---- mysql-5.5.31/sql/spatial.cc.cve 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/sql/spatial.cc 2013-06-03 16:45:52.790665557 +0200 -@@ -538,7 +538,7 @@ bool Gis_line_string::get_data_as_wkt(St - n_points= uint4korr(data); - data += 4; - -- if (n_points < 1 || -+ if (n_points < 1 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) || - txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points)) - return 1; -@@ -576,7 +576,8 @@ int Gis_line_string::geom_length(double - return 1; - n_points= uint4korr(data); - data+= 4; -- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) -+ if (n_points < 1 || n_points > max_n_points || -+ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - - get_point(&prev_x, &prev_y, data); -@@ -610,7 +611,7 @@ int Gis_line_string::is_closed(int *clos - return 0; - } - data+= 4; -- if (n_points == 0 || -+ if (n_points == 0 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - -@@ -780,7 +781,7 @@ bool Gis_polygon::get_data_as_wkt(String - return 1; - n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || -+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -834,7 +835,7 @@ int Gis_polygon::area(double *ar, const - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data+4); - data+= (4+SIZEOF_STORED_DOUBLE*2); -@@ -870,7 +871,8 @@ int Gis_polygon::exterior_ring(String *r - n_points= uint4korr(data); - data+= 4; - length= n_points * POINT_DATA_SIZE; -- if (no_data(data, length) || result->reserve(1+4+4+ length)) -+ if (n_points > max_n_points || -+ no_data(data, length) || result->reserve(1+4+4+ length)) - return 1; - - result->q_append((char) wkb_ndr); -@@ -916,7 +918,8 @@ int Gis_polygon::interior_ring_n(uint32 - n_points= uint4korr(data); - points_size= n_points * POINT_DATA_SIZE; - data+= 4; -- if (no_data(data, points_size) || result->reserve(1+4+4+ points_size)) -+ if (n_points > max_n_points || -+ no_data(data, points_size) || result->reserve(1+4+4+ points_size)) - return 1; - - result->q_append((char) wkb_ndr); -@@ -955,7 +958,7 @@ int Gis_polygon::centroid_xy(double *x, - return 1; - org_n_points= n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data); - data+= (SIZEOF_STORED_DOUBLE*2); -@@ -1242,7 +1245,7 @@ bool Gis_multi_line_string::get_data_as_ - return 1; - n_points= uint4korr(data + WKB_HEADER_SIZE); - data+= WKB_HEADER_SIZE + 4; -- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || -+ if (n_points > max_n_points || no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -1503,7 +1506,8 @@ bool Gis_multi_polygon::get_data_as_wkt( - return 1; - uint32 n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points, - 512)) - return 1; -@@ -1586,6 +1590,8 @@ int Gis_multi_polygon::geometry_n(uint32 - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -+ if (n_points > max_n_points) -+ return 1; - data+= 4 + POINT_DATA_SIZE * n_points; - } - } while (--num); -diff -up mysql-5.5.31/sql/spatial.h.cve mysql-5.5.31/sql/spatial.h ---- mysql-5.5.31/sql/spatial.h.cve 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/sql/spatial.h 2013-06-03 16:32:33.737025500 +0200 -@@ -200,6 +200,11 @@ struct Geometry_buffer; - class Geometry - { - public: -+ // Maximum number of points in feature that can fit into String -+ static const uint32 max_n_points= -+ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -+ POINT_DATA_SIZE; -+ - Geometry() {} /* Remove gcc warning */ - virtual ~Geometry() {} /* Remove gcc warning */ - static void *operator new(size_t size, void *buffer) -@@ -383,10 +388,6 @@ public: - - class Gis_line_string: public Geometry - { -- // Maximum number of points in LineString that can fit into String -- static const uint32 max_n_points= -- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -- POINT_DATA_SIZE; - public: - Gis_line_string() {} /* Remove gcc warning */ - virtual ~Gis_line_string() {} /* Remove gcc warning */ diff --git a/community-mysql.spec b/community-mysql.spec index cc66d61..f08367d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql -Version: 5.5.31 -Release: 7%{?dist} +Version: 5.5.32 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -491,6 +491,9 @@ cp %{SOURCE7} README.mysql-license # install the list of skipped tests to be available for user runs install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test +# we don't care about scripts for solaris +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ @@ -706,6 +709,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 7 2013 Honza Horak 5.5.32-1 +- Update to MySQL 5.5.32, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-32.html + * Mon Jun 3 2013 Honza Horak 5.5.31-7 - Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 @@ -1806,7 +1813,7 @@ Resolves: #199368 - 3.23.28 (gamma) - remove old patches, as they are now upstreamed -* Thu Nov 14 2000 Trond Eivind Glomsrd +* Tue Nov 14 2000 Trond Eivind Glomsrd - Add a requirement for a new glibc (#20735) - build on IA64 @@ -1846,7 +1853,7 @@ Resolves: #199368 - Don't try to include no-longer-existing PUBLIC file as doc (#17532) -* Thu Sep 12 2000 Trond Eivind Glomsrd +* Tue Sep 12 2000 Trond Eivind Glomsrd - rename config file to /etc/my.cnf, which is what mysqld wants... doh. (#17432) - include a changed safe_mysqld, so the pid file option @@ -1878,7 +1885,7 @@ Resolves: #199368 * Sat Aug 05 2000 Bill Nottingham - condrestart fixes -* Mon Aug 01 2000 Trond Eivind Glomsrd +* Tue Aug 01 2000 Trond Eivind Glomsrd - 3.23.22. Disable the old patches, they're now in. * Thu Jul 27 2000 Trond Eivind Glomsrd @@ -1937,7 +1944,7 @@ Resolves: #199368 - include a /etc/my.conf (empty, FTTB) - add conditional restart to spec file -* Tue Jul 2 2000 Jakub Jelinek +* Sun Jul 2 2000 Jakub Jelinek - Rebuild with new C++ * Fri Jun 30 2000 Trond Eivind Glomsrd diff --git a/sources b/sources index c09c60e..a947c94 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2dd78a69ceaaf40fcbf985add94c4a2b mysql-5.5.31-nodocs.tar.gz +42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz From 3a4491d3c886cad76bc486c284fab351a23b7c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 08:32:55 +0200 Subject: [PATCH 249/616] Strip warning in rpl_deadlock_innodb --- community-mysql-innodbwarn.patch | 20 ++++++++++++++++++++ community-mysql.spec | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 community-mysql-innodbwarn.patch diff --git a/community-mysql-innodbwarn.patch b/community-mysql-innodbwarn.patch new file mode 100644 index 0000000..c513442 --- /dev/null +++ b/community-mysql-innodbwarn.patch @@ -0,0 +1,20 @@ +Test case rpl.rpl_daedlock_innodb fails when dropping tables because some +warnings are generated in the slave server. The test is working fine when +running alone, but fails when all tests are running, so it seems not to be +so bad thing to ignore that warnings. + +http://bugs.mysql.com/bug.php?id=69458 + +diff -up mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn mysql-5.5.32/mysql-test/include/mtr_warnings.sql +--- mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn 2013-06-13 16:45:27.723525133 +0200 ++++ mysql-5.5.32/mysql-test/include/mtr_warnings.sql 2013-06-13 16:46:24.879524133 +0200 +@@ -162,6 +162,9 @@ INSERT INTO global_suppressions VALUES + ("InnoDB: Error: in RENAME TABLE table `test`.`t1`"), + ("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"), + ++ /* rpl.rpl_deadlock_innodb fails when trying DROP tables */ ++ ("InnoDB: Error: table `mysqld.2`.`#sql.*` does not exist in the InnoDB internal"), ++ + /* + BUG#32080 - Excessive warnings on Solaris: setrlimit could not + change the size of core files diff --git a/community-mysql.spec b/community-mysql.spec index f08367d..63af6dd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,6 +62,7 @@ Patch23: community-mysql-sharedir.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch +Patch27: community-mysql-innodbwarn.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -246,6 +247,7 @@ the MySQL sources. %patch24 -p1 %patch25 -p1 %patch26 -p1 +%patch27 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt From 17693971aa7b70e3b48fce9784b7860a622a57ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 10:49:15 +0200 Subject: [PATCH 250/616] Use man pages from 5.5.30, because their license do not allow us to ship them since 5.5.31 --- .gitignore | 1 + community-mysql-man-pages.patch | 1013 ------------------------------- community-mysql.spec | 18 +- generate-tarball.sh | 1 + sources | 1 + 5 files changed, 16 insertions(+), 1018 deletions(-) delete mode 100644 community-mysql-man-pages.patch diff --git a/.gitignore b/.gitignore index 819fd32..2245f8f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /mysql-5.5.30-nodocs.tar.gz /mysql-5.5.31-nodocs.tar.gz /mysql-5.5.32-nodocs.tar.gz +/mysql-man-gpl.tar.gz diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch deleted file mode 100644 index fbed073..0000000 --- a/community-mysql-man-pages.patch +++ /dev/null @@ -1,1013 +0,0 @@ -# Amalgamation of patches to various mysql man pages - -# ===== mysqladmin manual page ===== - -diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 ---- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 -+++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 -@@ -689,6 +689,21 @@ Compress all information sent between th - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: connect-timeout option -+.\" connect-timeout option: mysqladmin -+\fB\-\-connect-timeout=\fR\fB\fItimeout\fR\fR -+.sp -+Equivalent to \fB\-\-connect_timeout\fR, see the end of this section\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: count option - .\" count option: mysqladmin - \fB\-\-count=\fR\fB\fIN\fR\fR, -@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: defaults-extra-file option -+.\" defaults-extra-file option: mysqladmin -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqladmin: defaults-file option -+.\" defaults-file option: mysqladmin -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: enable-cleartext-plugin option - .\" enable-cleartext-plugin option: mysqladmin - \fB\-\-enable\-cleartext\-plugin\fR -@@ -861,6 +907,21 @@ Suppress the warning beep that is emitte - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: no-defaults option -+.\" no-defaults option: mysqladmin -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: password option - .\" password option: mysqladmin - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -944,6 +1005,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: print-defaults option -+.\" print-defaults option: mysqladmin -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: protocol option - .\" protocol option: mysqladmin - \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR -@@ -973,6 +1049,21 @@ command\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqladmin: shutdown-timeout option -+.\" shutdown-timeout option: mysqladmin -+\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR -+.sp -+Equivalent of \fB\-\-shutdown_timeout\fR, see the end of this section\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysqlbinlog manual page ===== - -diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 ---- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 -+++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 -@@ -599,6 +599,7 @@ privilege\&. - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -708,6 +709,22 @@ entries in the log\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlbinlog: open-files-limit option -+.\" open-files-limit option: mysqlbinlog -+\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR -+.sp -+Sets the open_files_limit variable, which is used to reserve file descriptors for -+\fBmysqlbinlog\fR\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysqlconfig manual page ===== - -diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 ---- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 -+++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 -@@ -176,6 +176,22 @@ The default Unix socket file, defined wh - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql_config: variable option -+.\" variable option: mysql_config -+\fB\-\-variable=VAR\fR -+.sp -+Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of -+`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql_config: version option - .\" version option: mysql_config - \fB\-\-version\fR - -# ===== mysqldump manual page ===== - -diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 ---- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 -+++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 -@@ -611,7 +611,8 @@ Compress all information sent between th - .\} - .\" mysqldump: create-options option - .\" create-options option: mysqldump --\fB\-\-create\-options\fR -+\fB\-\-create\-options\fR, -+\fB\-a\fR - .sp - Include all MySQL\-specific table options in the - CREATE TABLE -@@ -738,6 +739,38 @@ latin1\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: defaults-extra-file option -+.\" defaults-extra-file option: mysqldump -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: defaults-file option -+.\" defaults-file option: mysqldump -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: delayed-insert option - .\" delayed-insert option: mysqldump - \fB\-\-delayed\-insert\fR -@@ -1400,6 +1433,36 @@ to point the slave to the correct master - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: max-allowed-packet option -+.\" max-allowed-packet option: mysqldump -+\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR -+.sp -+Sets the maximum packet length to send to or recieve from server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: net-buffer-length option -+.\" net-buffer-length option: mysqldump -+\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR -+.sp -+Sets the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: no-autocommit option - .\" no-autocommit option: mysqldump - \fB\-\-no\-autocommit\fR -@@ -1500,6 +1563,21 @@ statement for the table (for example, to - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: no-defaults option -+.\" no-defaults option: mysqldump -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: no-set-names option - .\" no-set-names option: mysqldump - \fB\-\-no\-set\-names\fR, -@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: print-defaults option -+.\" print-defaults option: mysqldump -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must begiven as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysqlcheck manual page ===== - -diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 ---- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 -+++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 -@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlcheck: defaults-extra-file option -+.\" defaults-extra-file option: mysqlcheck -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlcheck: defaults-file option -+.\" defaults-file option: mysqlcheck -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlcheck: extended option - .\" extended option: mysqlcheck - \fB\-\-extended\fR, -@@ -622,6 +654,21 @@ operation\&. This finds only 99\&.99% of - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlcheck: no-defaults option -+.\" no-defaults option: mysqlcheck -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlcheck: optimize option - .\" optimize option: mysqlcheck - \fB\-\-optimize\fR, -@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlcheck: print-defaults option -+.\" print-defaults option: mysqlcheck -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysqlimport manual page ===== - -diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 ---- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 -+++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 -@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlimport: defaults-extra-file option -+.\" defaults-extra-file option: mysqlimport -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlimport: defaults-file option -+.\" defaults-file option: mysqlimport -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: delete option - .\" delete option: mysqlimport - \fB\-\-delete\fR, --\fB\-D\fR -+\fB\-d\fR - .sp - Empty the table before importing the text file\&. - .RE -@@ -449,6 +481,22 @@ MERGE)\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlimport: no-defaults option -+.\" no-defaults option: mysqlimport -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: password option - .\" password option: mysqlimport - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlimport: print-defaults option -+.\" print-defaults option: mysqlimport -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysql manual page ===== - -diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 ---- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 -+++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 -@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -311,6 +312,21 @@ Compress all information sent between th - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: connect-timeout option -+.\" connect-timeout option: mysql -+\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR -+.sp -+Set the time for connection timeout in seconds\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: database option - .\" database option: mysql - \fB\-\-database=\fR\fB\fIdb_name\fR\fR, -@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: defaults-file option -+.\" defaults-file option: mysql -+\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: defaults-extra-file option -+.\" defaults-extra-file option: mysql -+\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: delimiter option - .\" delimiter option: mysql - \fB\-\-delimiter=\fR\fB\fIstr\fR\fR -@@ -623,6 +670,36 @@ has no effect if the server does not als - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: max-allowed-packet option -+.\" max-allowed-packet option: mysql -+\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR -+.sp -+Specify the maximum packet length to send to or recieve form server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: max-join-size option -+.\" max-join-size option: mysql -+\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR -+.sp -+Set the automatic limit for rows in a join when using \fB\-\-safe\-updates\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: named-commands option - .\" named-commands option: mysql - \fB\-\-named\-commands\fR, -@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: net-buffer-length option -+.\" net-buffer-length option: mysql -+\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR -+.sp -+Set the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-auto-rehash option - .\" no-auto-rehash option: mysql - \fB\-\-no\-auto\-rehash\fR, - \fB\-A\fR - .sp - This has the same effect as --\fB\-skip\-auto\-rehash\fR\&. See the description for -+\fB\-\-skip\-auto\-rehash\fR\&. See the description for - \fB\-\-auto\-rehash\fR\&. - .RE - .sp -@@ -682,6 +774,21 @@ Do not beep when errors occur\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: no-defaults option -+.\" no-defaults option: mysql -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-named-commands option - .\" no-named-commands option: mysql - \fB\-\-no\-named\-commands\fR, -@@ -951,6 +1058,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: print-defaults option -+.\" print-defaults option: mysql -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: prompt option - .\" prompt option: mysql - \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR -@@ -1114,6 +1236,36 @@ Do not send passwords to the server in o - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: select-limit option -+.\" select-limit option: mysql -+\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR -+.sp -+Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: server-arg option -+.\" server-arg option: mysql -+\fB\-\-server\-arg=\fR\fB\fIname\fR\fR -+.sp -+Send \fB\fIname\fR\fR as a parameter to the embedded server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: show-warnings option - .\" show-warnings option: mysql - \fB\-\-show\-warnings\fR -@@ -1166,6 +1318,21 @@ option\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: skip-auto-rehash option -+.\" skip-auto-rehash option: mysql -+\fB\-\-skip\-auto\-rehash\fR -+.sp -+Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: skip-column-names option - .\" skip-column-names option: mysql - \fB\-\-skip\-column\-names\fR, -@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, - \fB\-\-ssl*\fR - .sp - Options that begin with --\fB\-\-ssl\fR -+\fB\-\-ssl\fR, - specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. - .RE -@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac - .RS 4 - .\} - .nf --shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR -+shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR - - - -@@ -2963,16 +3130,16 @@ statements that probably need to examine - .RE - .PP - To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the --\fB\-\-select_limit\fR -+\fB\-\-select\-limit\fR - and --\fB\-\-max_join_size\fR -+\fB\-\-max\-join\-size\fR - options: - .sp - .if n \{\ - .RS 4 - .\} - .nf --shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR -+shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR - .fi - .if n \{\ - .RE - -# ===== mysqlshow manual page ===== - -diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 ---- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 -+++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 -@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I - .\} - .\" mysqlshow: character-sets-dir option - .\" character-sets-dir option: mysqlshow --\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR -+\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, -+\fB\-c\fR - .sp - The directory where character sets are installed\&. See - Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlshow: defaults-extra-file option -+.\" defaults-extra-file option: mysqlshow -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlshow: defaults-file option -+.\" defaults-file option: mysqlshow -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlshow: host option - .\" host option: mysqlshow - \fB\-\-host=\fR\fB\fIhost_name\fR\fR, -@@ -339,6 +372,22 @@ Show table indexes\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlshow: no-defaults option -+.\" no-defaults option: mysqlshow -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlshow: password option - .\" password option: mysqlshow - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlshow: print-defaults option -+.\" print-defaults option: mysqlshow -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysqlslap manual page ===== - -diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 ---- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 -+++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 -@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 - .el \{\ - .sp -1 - .IP \(bu 2.3 -+.\" mysqlslap: defaults-extra-file option -+.\" defaults-extra-file option: mysqlslap -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: defaults-file option -+.\" defaults-file option: mysqlslap -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\} - .\" mysqlslap: delimiter option - .\" delimiter option: mysqlslap -@@ -643,6 +675,37 @@ The number of times to run the tests\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlslap: no-defaults option -+.\" no-defaults option: mysqlslap -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: no-drop option -+.\" no-drop option: mysqlslap -+\fB\-\-no\-drop\fR -+.sp -+Do not drop the schema after the test\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlslap: number-char-cols option - .\" number-char-cols option: mysqlslap - \fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, -@@ -821,6 +884,22 @@ The file or string containing the statem - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: print-defaults option -+.\" print-defaults option: mysqlslap -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - diff --git a/community-mysql.spec b/community-mysql.spec index 63af6dd..5e263c6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -18,11 +18,15 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ Source0: mysql-%{version}-nodocs.tar.gz -# The upstream tarball includes non-free documentation that we cannot ship. +# The upstream tarball includes non-free documentation and man pages that +# we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: # ./generate-tarball.sh $VERSION -Source1: generate-tarball.sh +# man pages were licensed under GPL until 5.5.30, so we use man pages from +# that version instead of files from current source tarball +Source1: mysql-man-gpl.tar.gz +Source2: generate-tarball.sh Source3: my.cnf Source5: my_config.h Source6: README.mysql-docs @@ -59,7 +63,6 @@ Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch -Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch @@ -224,6 +227,8 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} +tar -xvf %{SOURCE1} + %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -244,7 +249,6 @@ the MySQL sources. %patch21 -p1 %patch22 -p1 %patch23 -p1 -%patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 @@ -711,6 +715,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 14 2013 Honza Horak 5.5.32-2 +- Use man pages from 5.5.30, because their license do not + allow us to ship them since 5.5.31 + * Fri Jun 7 2013 Honza Horak 5.5.32-1 - Update to MySQL 5.5.32, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-32.html diff --git a/generate-tarball.sh b/generate-tarball.sh index 2ff4bff..d3e859b 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -7,6 +7,7 @@ rm -rf mysql-$VERSION tar xfz mysql-$VERSION.tar.gz || exit 1 rm mysql-$VERSION/Docs/mysql.info +rm mysql-$VERSION/man/* tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 diff --git a/sources b/sources index a947c94..707beb5 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz +5e9973ed0c74c3888620290c82514812 mysql-man-gpl.tar.gz From 1a38df5b1e7d95183413b594a230f00a3f580628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 13:14:57 +0200 Subject: [PATCH 251/616] Uploaded correctly stripped sources --- community-mysql.spec | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5e263c6..267cb6b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -715,7 +715,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog -* Fri Jun 14 2013 Honza Horak 5.5.32-2 +* Fri Jun 14 2013 Honza Horak 5.5.32-3 - Use man pages from 5.5.30, because their license do not allow us to ship them since 5.5.31 diff --git a/sources b/sources index 707beb5..d3d560e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz +55b008d92abd01cd553021346a0da853 mysql-5.5.32-nodocs.tar.gz 5e9973ed0c74c3888620290c82514812 mysql-man-gpl.tar.gz From 357b8cde007d31dd03ade534a81c75da128c085b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 27 Jun 2013 16:16:19 +0200 Subject: [PATCH 252/616] Remove external man pages, upstream fixed man pages license --- community-mysql-man-pages.patch | 1013 +++++++++++++++++++++++++++++++ community-mysql.spec | 15 +- generate-tarball.sh | 1 - sources | 3 +- 4 files changed, 1021 insertions(+), 11 deletions(-) create mode 100644 community-mysql-man-pages.patch diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch new file mode 100644 index 0000000..fbed073 --- /dev/null +++ b/community-mysql-man-pages.patch @@ -0,0 +1,1013 @@ +# Amalgamation of patches to various mysql man pages + +# ===== mysqladmin manual page ===== + +diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 +--- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 ++++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 +@@ -689,6 +689,21 @@ Compress all information sent between th + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: connect-timeout option ++.\" connect-timeout option: mysqladmin ++\fB\-\-connect-timeout=\fR\fB\fItimeout\fR\fR ++.sp ++Equivalent to \fB\-\-connect_timeout\fR, see the end of this section\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: count option + .\" count option: mysqladmin + \fB\-\-count=\fR\fB\fIN\fR\fR, +@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: defaults-extra-file option ++.\" defaults-extra-file option: mysqladmin ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqladmin: defaults-file option ++.\" defaults-file option: mysqladmin ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: enable-cleartext-plugin option + .\" enable-cleartext-plugin option: mysqladmin + \fB\-\-enable\-cleartext\-plugin\fR +@@ -861,6 +907,21 @@ Suppress the warning beep that is emitte + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: no-defaults option ++.\" no-defaults option: mysqladmin ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: password option + .\" password option: mysqladmin + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -944,6 +1005,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: print-defaults option ++.\" print-defaults option: mysqladmin ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: protocol option + .\" protocol option: mysqladmin + \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR +@@ -973,6 +1049,21 @@ command\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqladmin: shutdown-timeout option ++.\" shutdown-timeout option: mysqladmin ++\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR ++.sp ++Equivalent of \fB\-\-shutdown_timeout\fR, see the end of this section\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlbinlog manual page ===== + +diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 +--- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 ++++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 +@@ -599,6 +599,7 @@ privilege\&. + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -708,6 +709,22 @@ entries in the log\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlbinlog: open-files-limit option ++.\" open-files-limit option: mysqlbinlog ++\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR ++.sp ++Sets the open_files_limit variable, which is used to reserve file descriptors for ++\fBmysqlbinlog\fR\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlconfig manual page ===== + +diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 +--- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 ++++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 +@@ -176,6 +176,22 @@ The default Unix socket file, defined wh + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql_config: variable option ++.\" variable option: mysql_config ++\fB\-\-variable=VAR\fR ++.sp ++Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of ++`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql_config: version option + .\" version option: mysql_config + \fB\-\-version\fR + +# ===== mysqldump manual page ===== + +diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 +--- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 ++++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 +@@ -611,7 +611,8 @@ Compress all information sent between th + .\} + .\" mysqldump: create-options option + .\" create-options option: mysqldump +-\fB\-\-create\-options\fR ++\fB\-\-create\-options\fR, ++\fB\-a\fR + .sp + Include all MySQL\-specific table options in the + CREATE TABLE +@@ -738,6 +739,38 @@ latin1\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: defaults-extra-file option ++.\" defaults-extra-file option: mysqldump ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: defaults-file option ++.\" defaults-file option: mysqldump ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: delayed-insert option + .\" delayed-insert option: mysqldump + \fB\-\-delayed\-insert\fR +@@ -1400,6 +1433,36 @@ to point the slave to the correct master + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: max-allowed-packet option ++.\" max-allowed-packet option: mysqldump ++\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR ++.sp ++Sets the maximum packet length to send to or recieve from server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: net-buffer-length option ++.\" net-buffer-length option: mysqldump ++\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR ++.sp ++Sets the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-autocommit option + .\" no-autocommit option: mysqldump + \fB\-\-no\-autocommit\fR +@@ -1500,6 +1563,21 @@ statement for the table (for example, to + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: no-defaults option ++.\" no-defaults option: mysqldump ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-set-names option + .\" no-set-names option: mysqldump + \fB\-\-no\-set\-names\fR, +@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: print-defaults option ++.\" print-defaults option: mysqldump ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must begiven as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlcheck manual page ===== + +diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 +--- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 ++++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 +@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlcheck: defaults-extra-file option ++.\" defaults-extra-file option: mysqlcheck ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlcheck: defaults-file option ++.\" defaults-file option: mysqlcheck ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlcheck: extended option + .\" extended option: mysqlcheck + \fB\-\-extended\fR, +@@ -622,6 +654,21 @@ operation\&. This finds only 99\&.99% of + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlcheck: no-defaults option ++.\" no-defaults option: mysqlcheck ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlcheck: optimize option + .\" optimize option: mysqlcheck + \fB\-\-optimize\fR, +@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlcheck: print-defaults option ++.\" print-defaults option: mysqlcheck ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlimport manual page ===== + +diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 +--- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 ++++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 +@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlimport: defaults-extra-file option ++.\" defaults-extra-file option: mysqlimport ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlimport: defaults-file option ++.\" defaults-file option: mysqlimport ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: delete option + .\" delete option: mysqlimport + \fB\-\-delete\fR, +-\fB\-D\fR ++\fB\-d\fR + .sp + Empty the table before importing the text file\&. + .RE +@@ -449,6 +481,22 @@ MERGE)\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlimport: no-defaults option ++.\" no-defaults option: mysqlimport ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: password option + .\" password option: mysqlimport + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlimport: print-defaults option ++.\" print-defaults option: mysqlimport ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysql manual page ===== + +diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 +--- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 ++++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 +@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -311,6 +312,21 @@ Compress all information sent between th + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: connect-timeout option ++.\" connect-timeout option: mysql ++\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR ++.sp ++Set the time for connection timeout in seconds\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: database option + .\" database option: mysql + \fB\-\-database=\fR\fB\fIdb_name\fR\fR, +@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: defaults-file option ++.\" defaults-file option: mysql ++\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: defaults-extra-file option ++.\" defaults-extra-file option: mysql ++\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: delimiter option + .\" delimiter option: mysql + \fB\-\-delimiter=\fR\fB\fIstr\fR\fR +@@ -623,6 +670,36 @@ has no effect if the server does not als + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: max-allowed-packet option ++.\" max-allowed-packet option: mysql ++\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR ++.sp ++Specify the maximum packet length to send to or recieve form server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: max-join-size option ++.\" max-join-size option: mysql ++\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR ++.sp ++Set the automatic limit for rows in a join when using \fB\-\-safe\-updates\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: named-commands option + .\" named-commands option: mysql + \fB\-\-named\-commands\fR, +@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: net-buffer-length option ++.\" net-buffer-length option: mysql ++\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR ++.sp ++Set the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-auto-rehash option + .\" no-auto-rehash option: mysql + \fB\-\-no\-auto\-rehash\fR, + \fB\-A\fR + .sp + This has the same effect as +-\fB\-skip\-auto\-rehash\fR\&. See the description for ++\fB\-\-skip\-auto\-rehash\fR\&. See the description for + \fB\-\-auto\-rehash\fR\&. + .RE + .sp +@@ -682,6 +774,21 @@ Do not beep when errors occur\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: no-defaults option ++.\" no-defaults option: mysql ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-named-commands option + .\" no-named-commands option: mysql + \fB\-\-no\-named\-commands\fR, +@@ -951,6 +1058,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: print-defaults option ++.\" print-defaults option: mysql ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: prompt option + .\" prompt option: mysql + \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR +@@ -1114,6 +1236,36 @@ Do not send passwords to the server in o + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: select-limit option ++.\" select-limit option: mysql ++\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR ++.sp ++Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: server-arg option ++.\" server-arg option: mysql ++\fB\-\-server\-arg=\fR\fB\fIname\fR\fR ++.sp ++Send \fB\fIname\fR\fR as a parameter to the embedded server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: show-warnings option + .\" show-warnings option: mysql + \fB\-\-show\-warnings\fR +@@ -1166,6 +1318,21 @@ option\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: skip-auto-rehash option ++.\" skip-auto-rehash option: mysql ++\fB\-\-skip\-auto\-rehash\fR ++.sp ++Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: skip-column-names option + .\" skip-column-names option: mysql + \fB\-\-skip\-column\-names\fR, +@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR + .sp + Options that begin with +-\fB\-\-ssl\fR ++\fB\-\-ssl\fR, + specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See + Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. + .RE +@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR ++shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR + + + +@@ -2963,16 +3130,16 @@ statements that probably need to examine + .RE + .PP + To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the +-\fB\-\-select_limit\fR ++\fB\-\-select\-limit\fR + and +-\fB\-\-max_join_size\fR ++\fB\-\-max\-join\-size\fR + options: + .sp + .if n \{\ + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR ++shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR + .fi + .if n \{\ + .RE + +# ===== mysqlshow manual page ===== + +diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 +--- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 ++++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 +@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I + .\} + .\" mysqlshow: character-sets-dir option + .\" character-sets-dir option: mysqlshow +-\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR ++\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, ++\fB\-c\fR + .sp + The directory where character sets are installed\&. See + Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. +@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlshow: defaults-extra-file option ++.\" defaults-extra-file option: mysqlshow ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlshow: defaults-file option ++.\" defaults-file option: mysqlshow ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: host option + .\" host option: mysqlshow + \fB\-\-host=\fR\fB\fIhost_name\fR\fR, +@@ -339,6 +372,22 @@ Show table indexes\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlshow: no-defaults option ++.\" no-defaults option: mysqlshow ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: password option + .\" password option: mysqlshow + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlshow: print-defaults option ++.\" print-defaults option: mysqlshow ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + +# ===== mysqlslap manual page ===== + +diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 +--- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 ++++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 +@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 + .el \{\ + .sp -1 + .IP \(bu 2.3 ++.\" mysqlslap: defaults-extra-file option ++.\" defaults-extra-file option: mysqlslap ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: defaults-file option ++.\" defaults-file option: mysqlslap ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\} + .\" mysqlslap: delimiter option + .\" delimiter option: mysqlslap +@@ -643,6 +675,37 @@ The number of times to run the tests\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlslap: no-defaults option ++.\" no-defaults option: mysqlslap ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: no-drop option ++.\" no-drop option: mysqlslap ++\fB\-\-no\-drop\fR ++.sp ++Do not drop the schema after the test\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: number-char-cols option + .\" number-char-cols option: mysqlslap + \fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, +@@ -821,6 +884,22 @@ The file or string containing the statem + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: print-defaults option ++.\" print-defaults option: mysqlslap ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} + diff --git a/community-mysql.spec b/community-mysql.spec index 267cb6b..2bb0e3b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -18,14 +18,10 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ Source0: mysql-%{version}-nodocs.tar.gz -# The upstream tarball includes non-free documentation and man pages that -# we cannot ship. +# The upstream tarball includes non-free documentation that we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: # ./generate-tarball.sh $VERSION -# man pages were licensed under GPL until 5.5.30, so we use man pages from -# that version instead of files from current source tarball -Source1: mysql-man-gpl.tar.gz Source2: generate-tarball.sh Source3: my.cnf Source5: my_config.h @@ -63,6 +59,7 @@ Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch +Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch @@ -227,8 +224,6 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} -tar -xvf %{SOURCE1} - %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -249,6 +244,7 @@ tar -xvf %{SOURCE1} %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 @@ -715,6 +711,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 27 2013 Honza Horak 5.5.32-4 +- Remove external man pages, upstream fixed man pages license + * Fri Jun 14 2013 Honza Horak 5.5.32-3 - Use man pages from 5.5.30, because their license do not allow us to ship them since 5.5.31 diff --git a/generate-tarball.sh b/generate-tarball.sh index d3e859b..2ff4bff 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -7,7 +7,6 @@ rm -rf mysql-$VERSION tar xfz mysql-$VERSION.tar.gz || exit 1 rm mysql-$VERSION/Docs/mysql.info -rm mysql-$VERSION/man/* tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 diff --git a/sources b/sources index d3d560e..d3c7cd1 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -55b008d92abd01cd553021346a0da853 mysql-5.5.32-nodocs.tar.gz -5e9973ed0c74c3888620290c82514812 mysql-man-gpl.tar.gz +2ce2dd09ec4c69e6fc5b3dabf70a333d mysql-5.5.32-nodocs.tar.gz From 53c3274f2696f496102b479b76d0b61a929780b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 27 Jun 2013 16:34:43 +0200 Subject: [PATCH 253/616] Apply fixes found by Coverity static analysis tool --- community-mysql-covscan-signexpr.patch | 16 +++++ community-mysql-covscan-stroverflow.patch | 73 +++++++++++++++++++++++ community-mysql.spec | 5 ++ 3 files changed, 94 insertions(+) create mode 100644 community-mysql-covscan-signexpr.patch create mode 100644 community-mysql-covscan-stroverflow.patch diff --git a/community-mysql-covscan-signexpr.patch b/community-mysql-covscan-signexpr.patch new file mode 100644 index 0000000..1bbb3db --- /dev/null +++ b/community-mysql-covscan-signexpr.patch @@ -0,0 +1,16 @@ +This issue has been found by Coverity - static analysis tool. + +mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. + +diff -up mysql-5.5.31/strings/ctype-ucs2.c.covscan1 mysql-5.5.31/strings/ctype-ucs2.c +--- mysql-5.5.31/strings/ctype-ucs2.c.covscan1 2013-06-14 12:12:29.663300314 +0200 ++++ mysql-5.5.31/strings/ctype-ucs2.c 2013-06-14 12:13:07.809299646 +0200 +@@ -1704,7 +1704,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut + { + if (s + 4 > e) + return MY_CS_TOOSMALL4; +- *pwc= (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); ++ *pwc= (((my_wc_t)s[0]) << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); + return 4; + } + diff --git a/community-mysql-covscan-stroverflow.patch b/community-mysql-covscan-stroverflow.patch new file mode 100644 index 0000000..d671b45 --- /dev/null +++ b/community-mysql-covscan-stroverflow.patch @@ -0,0 +1,73 @@ +The following problems have been found by Coverity - static analysis tool. + +mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +mysql-5.5.31/plugin/semisync/semisync_master.cc:555:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mysql-5.5.31/plugin/semisync/semisync_master.cc +--- mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow 2013-06-17 09:04:47.214621154 +0200 ++++ mysql-5.5.31/plugin/semisync/semisync_master.cc 2013-06-17 09:08:32.189617218 +0200 +@@ -552,7 +552,8 @@ int ReplSemiSyncMaster::reportReplyBinlo + + if (need_copy_send_pos) + { +- strcpy(reply_file_name_, log_file_name); ++ strncpy(reply_file_name_, log_file_name, sizeof(reply_file_name_)-1); ++ reply_file_name_[sizeof(reply_file_name_)-1] = '\0'; + reply_file_pos_ = log_file_pos; + reply_file_name_inited_ = true; + +@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const + if (cmp <= 0) + { + /* This thd has a lower position, let's update the minimum info. */ +- strcpy(wait_file_name_, trx_wait_binlog_name); ++ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); ++ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; + wait_file_pos_ = trx_wait_binlog_pos; + + rpl_semi_sync_master_wait_pos_backtraverse++; +@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const + } + else + { +- strcpy(wait_file_name_, trx_wait_binlog_name); ++ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); ++ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; + wait_file_pos_ = trx_wait_binlog_pos; + wait_file_name_inited_ = true; + + +mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 512 byte fixed-size string "log_info->log_file" by copying "log_file + dirname_length(log_file)" without checking the length. diff -up mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow mysql-5.5.31/sql/rpl_handler.cc + +--- mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow 2013-06-17 10:51:04.940509594 +0200 ++++ mysql-5.5.31/sql/rpl_handler.cc 2013-06-17 10:51:08.959509523 +0200 +@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush + my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info); + } + +- strcpy(log_info->log_file, log_file+dirname_length(log_file)); ++ strncpy(log_info->log_file, log_file+dirname_length(log_file), sizeof(log_info->log_file)-1); ++ log_info->log_file[sizeof(log_info->log_file)-1] = '\0'; + log_info->log_pos = log_pos; + + int ret= 0; + + +mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated. + +diff -up mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow mysql-5.5.31/sql/sp_rcontext.h +--- mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow 2013-06-17 13:28:32.540344334 +0200 ++++ mysql-5.5.31/sql/sp_rcontext.h 2013-06-17 13:29:23.673343443 +0200 +@@ -84,7 +84,8 @@ public: + memcpy(m_sql_state, sqlstate, SQLSTATE_LENGTH); + m_sql_state[SQLSTATE_LENGTH]= '\0'; + +- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE); ++ strncpy(m_message, msg, sizeof(m_message)-1); ++ m_message[sizeof(m_message)-1] = '\0'; + } + + void clear() diff --git a/community-mysql.spec b/community-mysql.spec index 2bb0e3b..374c542 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -63,6 +63,8 @@ Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch +Patch28: community-mysql-covscan-signexpr.patch +Patch29: community-mysql-covscan-stroverflow.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -248,6 +250,8 @@ the MySQL sources. %patch25 -p1 %patch26 -p1 %patch27 -p1 +%patch28 -p1 +%patch29 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -713,6 +717,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %changelog * Thu Jun 27 2013 Honza Horak 5.5.32-4 - Remove external man pages, upstream fixed man pages license +- Apply fixes found by Coverity static analysis tool * Fri Jun 14 2013 Honza Horak 5.5.32-3 - Use man pages from 5.5.30, because their license do not From b954a4cc68c6643c9dfa74262946e2b0db1751a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 1 Jul 2013 16:31:53 +0200 Subject: [PATCH 254/616] Fix misleading error message when uninstalling built-in plugins Related: #966645 --- community-mysql-pluginerrmsg.patch | 74 ++++++++++++++++++++++++++++++ community-mysql.spec | 8 +++- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 community-mysql-pluginerrmsg.patch diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch new file mode 100644 index 0000000..dc000d0 --- /dev/null +++ b/community-mysql-pluginerrmsg.patch @@ -0,0 +1,74 @@ +In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in. +In this case, the plugin cannot be uninstalled and we get error when trying +to do so: + +mysql> uninstall plugin innodb; +ERROR 1305 (42000): PLUGIN innodb does not exist + +But the error message is misleading. The plugin does exist, it just cannot +be installed because it's not dynamically loaded. + +MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 +MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 +MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 + +diff -up mysql-5.5.32/include/mysql.h.pluginerrmsg mysql-5.5.32/include/mysql.h +--- mysql-5.5.32/include/mysql.h.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 ++++ mysql-5.5.32/include/mysql.h 2013-07-01 16:07:29.175690210 +0200 +@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; + + /* backward compatibility define - to be removed eventually */ + #define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED ++#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN + + typedef struct st_mysql_rows { + struct st_mysql_rows *next; /* list of rows */ +diff -up mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg mysql-5.5.32/mysql-test/r/plugin.result +--- mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 ++++ mysql-5.5.32/mysql-test/r/plugin.result 2013-07-01 16:07:29.176690210 +0200 +@@ -63,3 +63,5 @@ set session sql_mode=@old_sql_mode; + set session old=bla; + ERROR HY000: Variable 'old' is a read only variable + UNINSTALL PLUGIN example; ++UNINSTALL PLUGIN MyISAM; ++ERROR HY000: Built-in plugins cannot be deleted +diff -up mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg mysql-5.5.32/mysql-test/t/plugin.test +--- mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 ++++ mysql-5.5.32/mysql-test/t/plugin.test 2013-07-01 16:07:29.199690210 +0200 +@@ -85,3 +85,10 @@ set session sql_mode=@old_sql_mode; + set session old=bla; + + UNINSTALL PLUGIN example; ++ ++# ++# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins ++# ++--error ER_PLUGIN_DELETE_BUILTIN ++UNINSTALL PLUGIN MyISAM; ++ +diff -up mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg mysql-5.5.32/sql/share/errmsg-utf8.txt +--- mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 ++++ mysql-5.5.32/sql/share/errmsg-utf8.txt 2013-07-01 16:07:29.203690210 +0200 +@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO + WARN_OPTION_IGNORED + eng "<%-.64s> option ignored" + ger "Option <%-.64s> ignoriert" +-WARN_PLUGIN_DELETE_BUILTIN ++ER_PLUGIN_DELETE_BUILTIN + eng "Built-in plugins cannot be deleted" + ger "Eingebaute Plugins können nicht gelöscht werden" + WARN_PLUGIN_BUSY +diff -up mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg mysql-5.5.32/sql/sql_plugin.cc +--- mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg 2013-07-01 16:07:29.205690210 +0200 ++++ mysql-5.5.32/sql/sql_plugin.cc 2013-07-01 16:07:54.721689764 +0200 +@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co + } + if (!plugin->plugin_dl) + { +- push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, +- WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN)); +- my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str); ++ my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0)); + goto err; + } + if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT) diff --git a/community-mysql.spec b/community-mysql.spec index 374c542..000ed0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -65,6 +65,7 @@ Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch Patch28: community-mysql-covscan-signexpr.patch Patch29: community-mysql-covscan-stroverflow.patch +Patch30: community-mysql-pluginerrmsg.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -252,6 +253,7 @@ the MySQL sources. %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -715,6 +717,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 1 2013 Honza Horak 5.5.32-5 +- Fix misleading error message when uninstalling built-in plugins + Related: #966645 + * Thu Jun 27 2013 Honza Horak 5.5.32-4 - Remove external man pages, upstream fixed man pages license - Apply fixes found by Coverity static analysis tool From ae00096103dbf5bac1b9814a89e4eb7644075cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 9 Jul 2013 10:05:55 +0200 Subject: [PATCH 255/616] Use proper path to ldconfig --- community-mysql.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 000ed0a..c8ec840 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -103,7 +103,6 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: /sbin/ldconfig Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql-libs = %{version}-%{release} Provides: mysql-libs%{?_isa} = %{version}-%{release} @@ -507,24 +506,24 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%post libs -p /sbin/ldconfig +%post libs -p /usr/sbin/ldconfig %post server %systemd_post mysqld.service /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post embedded -p /sbin/ldconfig +%post embedded -p /usr/sbin/ldconfig %preun server %systemd_preun mysqld.service -%postun libs -p /sbin/ldconfig +%postun libs -p /usr/sbin/ldconfig %postun server %systemd_postun_with_restart mysqld.service -%postun embedded -p /sbin/ldconfig +%postun embedded -p /usr/sbin/ldconfig %files %doc README COPYING README.mysql-license @@ -717,6 +716,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 9 2013 Honza Horak 5.5.32-6 +- Use proper path to ldconfig + * Mon Jul 1 2013 Honza Horak 5.5.32-5 - Fix misleading error message when uninstalling built-in plugins Related: #966645 From f6965ec0a19d9cfd65e466e290e67e41db3328f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 9 Jul 2013 10:11:48 +0200 Subject: [PATCH 256/616] Use xz instead of gzip Resolves: #982387 --- .gitignore | 1 + community-mysql.spec | 4 +++- generate-tarball.sh | 2 +- sources | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2245f8f..2b742f3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /mysql-5.5.31-nodocs.tar.gz /mysql-5.5.32-nodocs.tar.gz /mysql-man-gpl.tar.gz +/mysql-5.5.32-nodocs.tar.xz diff --git a/community-mysql.spec b/community-mysql.spec index c8ec840..93eadcc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,7 +17,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ -Source0: mysql-%{version}-nodocs.tar.gz +Source0: mysql-%{version}-nodocs.tar.xz # The upstream tarball includes non-free documentation that we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: @@ -718,6 +718,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %changelog * Tue Jul 9 2013 Honza Horak 5.5.32-6 - Use proper path to ldconfig +- Use xz instead of gzip + Resolves: #982387 * Mon Jul 1 2013 Honza Horak 5.5.32-5 - Fix misleading error message when uninstalling built-in plugins diff --git a/generate-tarball.sh b/generate-tarball.sh index 2ff4bff..4482e67 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -8,7 +8,7 @@ tar xfz mysql-$VERSION.tar.gz || exit 1 rm mysql-$VERSION/Docs/mysql.info -tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 +tar cfJ mysql-$VERSION-nodocs.tar.xz mysql-$VERSION || exit 1 rm -rf mysql-$VERSION diff --git a/sources b/sources index d3c7cd1..15ea7e0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2ce2dd09ec4c69e6fc5b3dabf70a333d mysql-5.5.32-nodocs.tar.gz +fb7995da81f2654d87335c6700a12e86 mysql-5.5.32-nodocs.tar.xz From a55bb65ceee9a9a7e4b526749e1e6ca22e4b3c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 10 Jul 2013 12:42:29 +0200 Subject: [PATCH 257/616] Arm support for multilib hacks --- community-mysql.spec | 11 +++++++++-- my_config.h | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 93eadcc..cbba601 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -387,10 +387,14 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 ) + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | arm* | aarch64 ) mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ ;; + arm* ) + mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ + ;; *) ;; esac @@ -716,6 +720,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 10 2013 Honza Horak 5.5.32-7 +- Arm support for multilib hacks + * Tue Jul 9 2013 Honza Horak 5.5.32-6 - Use proper path to ldconfig - Use xz instead of gzip diff --git a/my_config.h b/my_config.h index 435a126..02baa3d 100644 --- a/my_config.h +++ b/my_config.h @@ -26,4 +26,8 @@ #include "my_config_sparc64.h" #elif defined(__sparc__) #include "my_config_sparc.h" +#elif defined(__arm__) +#include "my_config_arm.h" +#elif defined(__aarch64__) +#include "my_config_aarch64.h" #endif From aef7663e53a1c79eb6c294b4c648d0c1c5901156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 15 Jul 2013 10:42:52 +0200 Subject: [PATCH 258/616] Revert path change to ldconfig, UsrMove is not complete yet --- community-mysql.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cbba601..e5aed3c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 7%{?dist} +Release: 8%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -510,24 +510,24 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%post libs -p /usr/sbin/ldconfig +%post libs -p /sbin/ldconfig %post server %systemd_post mysqld.service /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post embedded -p /usr/sbin/ldconfig +%post embedded -p /sbin/ldconfig %preun server %systemd_preun mysqld.service -%postun libs -p /usr/sbin/ldconfig +%postun libs -p /sbin/ldconfig %postun server %systemd_postun_with_restart mysqld.service -%postun embedded -p /usr/sbin/ldconfig +%postun embedded -p /sbin/ldconfig %files %doc README COPYING README.mysql-license @@ -720,6 +720,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 15 2013 Honza Horak 5.5.32-8 +- Revert path change to ldconfig, UsrMove is not complete yet + * Wed Jul 10 2013 Honza Horak 5.5.32-7 - Arm support for multilib hacks From aa4500691eaa7c13430af12b5308599c3b8f0456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Thu, 18 Jul 2013 00:03:25 +0200 Subject: [PATCH 259/616] Perl 5.18 rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index e5aed3c..ba5a3ec 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 8%{?dist} +Release: 9%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -720,6 +720,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 17 2013 Petr Pisar - 5.5.32-9 +- Perl 5.18 rebuild + * Mon Jul 15 2013 Honza Horak 5.5.32-8 - Revert path change to ldconfig, UsrMove is not complete yet From 3ceacf37e30af5af04befb5ec166e647dfb6774a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 26 Jul 2013 15:27:22 +0200 Subject: [PATCH 260/616] Copy some generated files in order find-debuginfo.sh finds them Related: #729040 --- community-mysql.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ba5a3ec..c7a1471 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 9%{?dist} +Release: 10%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -343,6 +343,13 @@ gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 LD_LIBRARY_PATH=. ldd ./a.out cd ../.. +# debuginfo extraction scripts fail to find source files in their real +# location -- satisfy them by copying these files into location, which +# is expected by scripts +for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do + cp -p "storage/innobase/pars/$f" "storage/innobase/$f" +done + %check %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine @@ -720,6 +727,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 26 2013 Honza Horak 5.5.32-10 +- Copy some generated files in order find-debuginfo.sh finds them + Related: #729040 + * Wed Jul 17 2013 Petr Pisar - 5.5.32-9 - Perl 5.18 rebuild From 0ac0170a6c2f48bb0493cf71445d3898a02d4c49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 26 Jul 2013 15:47:04 +0200 Subject: [PATCH 261/616] Fix systemd and perl requirements --- community-mysql.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index c7a1471..451ac2a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -69,11 +69,12 @@ Patch30: community-mysql-pluginerrmsg.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel -BuildRequires: systemd-units, systemtap-sdt-devel +BuildRequires: systemd, systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps # perl modules needed to run regression tests -BuildRequires: perl(Socket), perl(Time::HiRes), perl(Env) +BuildRequires: perl(Socket), perl(Time::HiRes) +BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) Requires: grep, fileutils, bash Requires: %{name}-common%{?_isa} = %{version}-%{release} @@ -132,11 +133,11 @@ Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d -Requires: systemd-units +Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd # This is actually needed for the %%triggerun script but Requires(triggerun) # is not valid. We can use %%post because this particular %%triggerun script # should fire just after this package is installed. @@ -216,7 +217,8 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} -Requires: perl(Socket), perl(Time::HiRes), perl(Env) +Requires: perl(Socket), perl(Time::HiRes) +Requires: perl(Data::Dumper), perl(Test::More), perl(Env) %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -730,6 +732,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris * Fri Jul 26 2013 Honza Horak 5.5.32-10 - Copy some generated files in order find-debuginfo.sh finds them Related: #729040 +- Fix systemd and perl requirements * Wed Jul 17 2013 Petr Pisar - 5.5.32-9 - Perl 5.18 rebuild From 3323aa2c860dd8c34e382518eb7511571574557e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 13:26:51 +0200 Subject: [PATCH 262/616] Fix multilib header location for arm --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 451ac2a..b3c502b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 10%{?dist} +Release: 11%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -396,7 +396,7 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | arm* | aarch64 ) + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ ;; @@ -729,6 +729,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 30 2013 Honza Horak 5.5.32-11 +- Fix multilib header location for arm + * Fri Jul 26 2013 Honza Horak 5.5.32-10 - Copy some generated files in order find-debuginfo.sh finds them Related: #729040 From b0fd4045fdbfaddf4f1b1d50279f91b358acae91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 20 Aug 2013 17:06:43 +0200 Subject: [PATCH 263/616] Merge branch 'master' of ssh://pkgs.fedoraproject.org/community-mysql Conflicts: community-mysql.spec --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index b3c502b..61e88eb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 11%{?dist} +Release: 12%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -729,9 +729,12 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog -* Tue Jul 30 2013 Honza Horak 5.5.32-11 +* Tue Jul 30 2013 Honza Horak 5.5.32-12 - Fix multilib header location for arm +* Sat Aug 03 2013 Petr Pisar - 5.5.32-11 +- Perl 5.18 rebuild + * Fri Jul 26 2013 Honza Horak 5.5.32-10 - Copy some generated files in order find-debuginfo.sh finds them Related: #729040 From c24d02a91f5870b8b716de9dc090003880b69e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 20 Aug 2013 17:13:19 +0200 Subject: [PATCH 264/616] Update to MySQL 5.5.33, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html --- .gitignore | 1 + community-mysql.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2b742f3..e6e27bc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /mysql-5.5.32-nodocs.tar.gz /mysql-man-gpl.tar.gz /mysql-5.5.32-nodocs.tar.xz +/mysql-5.5.33-nodocs.tar.xz diff --git a/community-mysql.spec b/community-mysql.spec index 61e88eb..a5cf786 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql -Version: 5.5.32 -Release: 12%{?dist} +Version: 5.5.33 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -729,7 +729,11 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog -* Tue Jul 30 2013 Honza Horak 5.5.32-12 +* Tue Aug 20 2013 Honza Horak 5.5.33-1 +- Update to MySQL 5.5.33, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html + +* Tue Aug 20 2013 Honza Horak 5.5.32-12 - Fix multilib header location for arm * Sat Aug 03 2013 Petr Pisar - 5.5.32-11 diff --git a/sources b/sources index 15ea7e0..7c848fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fb7995da81f2654d87335c6700a12e86 mysql-5.5.32-nodocs.tar.xz +eca726ea3457ac885f31aeeee65f9ba3 mysql-5.5.33-nodocs.tar.xz From 96d68559a36c3a81dd6482a850f7bf75f04aef10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 20 Aug 2013 17:28:47 +0200 Subject: [PATCH 265/616] Rebase patch30 --- community-mysql-pluginerrmsg.patch | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch index dc000d0..9e4461d 100644 --- a/community-mysql-pluginerrmsg.patch +++ b/community-mysql-pluginerrmsg.patch @@ -12,9 +12,9 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 -diff -up mysql-5.5.32/include/mysql.h.pluginerrmsg mysql-5.5.32/include/mysql.h ---- mysql-5.5.32/include/mysql.h.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 -+++ mysql-5.5.32/include/mysql.h 2013-07-01 16:07:29.175690210 +0200 +diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h +--- mysql-5.5.33/include/mysql.h.p30 2013-07-15 14:01:50.000000000 +0200 ++++ mysql-5.5.33/include/mysql.h 2013-08-20 17:26:56.745334059 +0200 @@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; /* backward compatibility define - to be removed eventually */ @@ -23,20 +23,20 @@ diff -up mysql-5.5.32/include/mysql.h.pluginerrmsg mysql-5.5.32/include/mysql.h typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ -diff -up mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg mysql-5.5.32/mysql-test/r/plugin.result ---- mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 -+++ mysql-5.5.32/mysql-test/r/plugin.result 2013-07-01 16:07:29.176690210 +0200 -@@ -63,3 +63,5 @@ set session sql_mode=@old_sql_mode; - set session old=bla; - ERROR HY000: Variable 'old' is a read only variable +diff -up mysql-5.5.33/mysql-test/r/plugin.result.p30 mysql-5.5.33/mysql-test/r/plugin.result +--- mysql-5.5.33/mysql-test/r/plugin.result.p30 2013-07-15 14:01:49.000000000 +0200 ++++ mysql-5.5.33/mysql-test/r/plugin.result 2013-08-20 17:26:56.746334059 +0200 +@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar; + @@SESSION.example_double_thdvar + 1000.500000 UNINSTALL PLUGIN example; +UNINSTALL PLUGIN MyISAM; +ERROR HY000: Built-in plugins cannot be deleted -diff -up mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg mysql-5.5.32/mysql-test/t/plugin.test ---- mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 -+++ mysql-5.5.32/mysql-test/t/plugin.test 2013-07-01 16:07:29.199690210 +0200 -@@ -85,3 +85,10 @@ set session sql_mode=@old_sql_mode; - set session old=bla; +diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plugin.test +--- mysql-5.5.33/mysql-test/t/plugin.test.p30 2013-07-15 14:01:49.000000000 +0200 ++++ mysql-5.5.33/mysql-test/t/plugin.test 2013-08-20 17:26:56.746334059 +0200 +@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000 + SELECT @@SESSION.example_double_thdvar; UNINSTALL PLUGIN example; + @@ -46,9 +46,9 @@ diff -up mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg mysql-5.5.32/mysql-t +--error ER_PLUGIN_DELETE_BUILTIN +UNINSTALL PLUGIN MyISAM; + -diff -up mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg mysql-5.5.32/sql/share/errmsg-utf8.txt ---- mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 -+++ mysql-5.5.32/sql/share/errmsg-utf8.txt 2013-07-01 16:07:29.203690210 +0200 +diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errmsg-utf8.txt +--- mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 2013-07-15 14:01:50.000000000 +0200 ++++ mysql-5.5.33/sql/share/errmsg-utf8.txt 2013-08-20 17:26:56.750334057 +0200 @@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO WARN_OPTION_IGNORED eng "<%-.64s> option ignored" @@ -58,9 +58,9 @@ diff -up mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg mysql-5.5.32/sql/sh eng "Built-in plugins cannot be deleted" ger "Eingebaute Plugins können nicht gelöscht werden" WARN_PLUGIN_BUSY -diff -up mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg mysql-5.5.32/sql/sql_plugin.cc ---- mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg 2013-07-01 16:07:29.205690210 +0200 -+++ mysql-5.5.32/sql/sql_plugin.cc 2013-07-01 16:07:54.721689764 +0200 +diff -up mysql-5.5.33/sql/sql_plugin.cc.p30 mysql-5.5.33/sql/sql_plugin.cc +--- mysql-5.5.33/sql/sql_plugin.cc.p30 2013-08-20 17:26:56.640334104 +0200 ++++ mysql-5.5.33/sql/sql_plugin.cc 2013-08-20 17:26:56.752334057 +0200 @@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co } if (!plugin->plugin_dl) From ab3f3d0d30b44bed8088bec74f2d5472e46af5de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 2 Sep 2013 17:48:59 +0200 Subject: [PATCH 266/616] Enhanced my.cnf to be the same as in mariadb Resolves: #1003115 --- community-mysql.spec | 6 +++++- my.cnf | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a5cf786..1e45798 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.33 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -729,6 +729,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Sep 2 2013 Honza Horak 5.5.33-2 +- Enhanced my.cnf to be the same as in mariadb + Resolves: #1003115 + * Tue Aug 20 2013 Honza Horak 5.5.33-1 - Update to MySQL 5.5.33, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html diff --git a/my.cnf b/my.cnf index 1df1f70..ac882ac 100644 --- a/my.cnf +++ b/my.cnf @@ -5,13 +5,23 @@ socket=/var/lib/mysql/mysql.sock symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, -# customize your systemd unit file for mysqld according to the +# customize your systemd unit file for mysqld/mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd -[mysqld_safe] +# Currently, there are mariadb and community-mysql packages in Fedora. +# This particular config file is included in respective RPMs of both of them, +# so the following settings are general and will be also used by both of them. +# Otherwise the RPMs would be in conflict. +# Settings for particular implementations like MariaDB are then +# defined in appropriate sections; for MariaDB server in [mariadb] section in +# /etc/my.cnf.d/server.cnf (part of mariadb-server). +# It doesn't matter that we set these settings only for [mysqld] here, +# because they will be read and used in mysqld_safe as well. log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid +[mysqld_safe] + # # include all files from the config directory # From 535f967c18cd725778ba28fa368a8ea06e519741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 9 Oct 2013 17:55:08 +0200 Subject: [PATCH 267/616] Update to 5.6.14 --- .gitignore | 1 + community-mysql-5.6.10-libmysql-version.patch | 150 ++++ ...=> community-mysql-5.6.11-cipherspec.patch | 99 +-- community-mysql-5.6.13-major.patch | 11 + community-mysql-5.6.13-mtr-secure-file.patch | 115 +++ community-mysql-5.6.13-truncate-file.patch | 21 + community-mysql-5.6.14-mysql-install.patch | 239 ++++++ community-mysql-covscan-stroverflow.patch | 58 +- community-mysql-cve-2013-1861.patch | 22 +- community-mysql-dubious-exports.patch | 169 ---- community-mysql-errno.patch | 21 - community-mysql-expired-certs.patch | 16 + community-mysql-logrotate.patch | 32 +- community-mysql-major.patch | 12 - community-mysql-netdevname.patch | 23 +- community-mysql-plugin-bool.patch | 42 - community-mysql-plugin-test.patch | 96 --- community-mysql-pluginerrmsg.patch | 40 +- community-mysql-stack-guard.patch | 139 --- community-mysql-string-overflow.patch | 43 +- community-mysql-strmov.patch | 10 +- community-mysql-tmpdir.patch | 49 +- community-mysql-va-list.patch | 55 -- community-mysql-versioning.patch | 18 - community-mysql.spec | 789 +++++++++--------- filter-requires-mysql.sh | 5 - libmysql.version | 148 ---- my.cnf | 14 +- my_config.h | 1 + mysql-5.6.10-rpmlintrc | 48 ++ MySQL.tmpfiles.d => mysql.tmpfiles.d | 0 mysql_config.sh | 26 + rh-skipped-tests-arm.list | 6 + rh-skipped-tests-base.list | 1 - sources | 2 +- 35 files changed, 1218 insertions(+), 1303 deletions(-) create mode 100644 community-mysql-5.6.10-libmysql-version.patch rename community-mysql-cipherspec.patch => community-mysql-5.6.11-cipherspec.patch (66%) create mode 100644 community-mysql-5.6.13-major.patch create mode 100644 community-mysql-5.6.13-mtr-secure-file.patch create mode 100644 community-mysql-5.6.13-truncate-file.patch create mode 100644 community-mysql-5.6.14-mysql-install.patch delete mode 100644 community-mysql-dubious-exports.patch delete mode 100644 community-mysql-errno.patch delete mode 100644 community-mysql-major.patch delete mode 100644 community-mysql-plugin-bool.patch delete mode 100644 community-mysql-plugin-test.patch delete mode 100644 community-mysql-stack-guard.patch delete mode 100644 community-mysql-va-list.patch delete mode 100644 community-mysql-versioning.patch delete mode 100755 filter-requires-mysql.sh delete mode 100644 libmysql.version create mode 100644 mysql-5.6.10-rpmlintrc rename MySQL.tmpfiles.d => mysql.tmpfiles.d (100%) create mode 100644 mysql_config.sh diff --git a/.gitignore b/.gitignore index e6e27bc..bd19720 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /mysql-man-gpl.tar.gz /mysql-5.5.32-nodocs.tar.xz /mysql-5.5.33-nodocs.tar.xz +/mysql-5.6.14-nodocs.tar.xz diff --git a/community-mysql-5.6.10-libmysql-version.patch b/community-mysql-5.6.10-libmysql-version.patch new file mode 100644 index 0000000..66994e7 --- /dev/null +++ b/community-mysql-5.6.10-libmysql-version.patch @@ -0,0 +1,150 @@ +--- mysql-5.6.10/libmysql/libmysql.ver.in 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/libmysql/libmysql.ver.in.fedora 2013-02-21 12:59:40.108881131 +0100 +@@ -1,1 +1,146 @@ +-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; ++# symbols exported from mysql 5.1 ++libmysqlclient_16 { ++ global: ++ _fini; ++ _init; ++ my_init; ++ myodbc_remove_escape; ++ mysql_affected_rows; ++ mysql_autocommit; ++ mysql_change_user; ++ mysql_character_set_name; ++ mysql_close; ++ mysql_commit; ++ mysql_data_seek; ++ mysql_debug; ++ mysql_dump_debug_info; ++ mysql_embedded; ++ mysql_eof; ++ mysql_errno; ++ mysql_error; ++ mysql_escape_string; ++ mysql_fetch_field; ++ mysql_fetch_field_direct; ++ mysql_fetch_fields; ++ mysql_fetch_lengths; ++ mysql_fetch_row; ++ mysql_field_count; ++ mysql_field_seek; ++ mysql_field_tell; ++ mysql_free_result; ++ mysql_get_character_set_info; ++ mysql_get_client_info; ++ mysql_get_client_version; ++ mysql_get_host_info; ++ mysql_get_parameters; ++ mysql_get_proto_info; ++ mysql_get_server_info; ++ mysql_get_server_version; ++ mysql_get_ssl_cipher; ++ mysql_hex_string; ++ mysql_info; ++ mysql_init; ++ mysql_insert_id; ++ mysql_kill; ++ mysql_list_dbs; ++ mysql_list_fields; ++ mysql_list_processes; ++ mysql_list_tables; ++ mysql_more_results; ++ mysql_next_result; ++ mysql_num_fields; ++ mysql_num_rows; ++ mysql_options; ++ mysql_ping; ++ mysql_query; ++ mysql_read_query_result; ++ mysql_real_connect; ++ mysql_real_escape_string; ++ mysql_real_query; ++ mysql_refresh; ++ mysql_rollback; ++ mysql_row_seek; ++ mysql_row_tell; ++ mysql_select_db; ++ mysql_send_query; ++ mysql_server_end; ++ mysql_server_init; ++ mysql_set_character_set; ++ mysql_set_local_infile_default; ++ mysql_set_local_infile_handler; ++ mysql_set_server_option; ++ mysql_shutdown; ++ mysql_sqlstate; ++ mysql_ssl_set; ++ mysql_stat; ++ mysql_stmt_affected_rows; ++ mysql_stmt_attr_get; ++ mysql_stmt_attr_set; ++ mysql_stmt_bind_param; ++ mysql_stmt_bind_result; ++ mysql_stmt_close; ++ mysql_stmt_data_seek; ++ mysql_stmt_errno; ++ mysql_stmt_error; ++ mysql_stmt_execute; ++ mysql_stmt_fetch; ++ mysql_stmt_fetch_column; ++ mysql_stmt_field_count; ++ mysql_stmt_free_result; ++ mysql_stmt_init; ++ mysql_stmt_insert_id; ++ mysql_stmt_num_rows; ++ mysql_stmt_param_count; ++ mysql_stmt_param_metadata; ++ mysql_stmt_prepare; ++ mysql_stmt_reset; ++ mysql_stmt_result_metadata; ++ mysql_stmt_row_seek; ++ mysql_stmt_row_tell; ++ mysql_stmt_send_long_data; ++ mysql_stmt_sqlstate; ++ mysql_stmt_store_result; ++ mysql_store_result; ++ mysql_thread_end; ++ mysql_thread_id; ++ mysql_thread_init; ++ mysql_thread_safe; ++ mysql_use_result; ++ mysql_warning_count; ++# These are documented in Paul DuBois' MySQL book, so we treat them as part ++# of the de-facto API. ++ free_defaults; ++ handle_options; ++ load_defaults; ++ my_print_help; ++# This isn't really documented anywhere, but it seems to be part of the ++# de-facto API as well. We're not going to export the deprecated version ++# make_scrambled_password, however. ++ my_make_scrambled_password; ++# This really shouldn't be exported, but some applications use it as a ++# workaround for inadequate threading support; see bug #846602 ++ THR_KEY_mysys; ++ local: ++ *; ++}; ++# symbols added in mysql 5.5 ++libmysqlclient_18 { ++ global: ++ mysql_client_find_plugin; ++ mysql_client_register_plugin; ++ mysql_load_plugin; ++ mysql_load_plugin_v; ++ mysql_plugin_options; ++ mysql_stmt_next_result; ++# ++# Ideally the following symbols wouldn't be exported, but various applications ++# require them. ++# ++# mysql-connector-odbc requires these ++ default_charset_info; ++ get_charset; ++ get_charset_by_csname; ++ net_realloc; ++# PHP's mysqli.so requires this (via the ER() macro) ++ client_errors; ++}; diff --git a/community-mysql-cipherspec.patch b/community-mysql-5.6.11-cipherspec.patch similarity index 66% rename from community-mysql-cipherspec.patch rename to community-mysql-5.6.11-cipherspec.patch index 5210055..a79e5b3 100644 --- a/community-mysql-cipherspec.patch +++ b/community-mysql-5.6.11-cipherspec.patch @@ -1,46 +1,48 @@ -Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, +Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, which is no longer the case as of openssl 1.0.1. -This patch enhances connect command by an option to specify a cipher +This patch enhances connect command by an option to specify a cipher and tests are adjusted to specify the expected cipher explicitly. Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 -diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc ---- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100 -@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma - my_bool con_ssl= 0, con_compress= 0; +diff --git a/client/mysqltest.cc b/client/mysqltest.cc +index b6c8643..0e40b0d 100644 +--- a/client/mysqltest.cc ++++ b/client/mysqltest.cc +@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command) my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; + my_bool con_secure_auth= 1; struct st_connection* con_slot; + char *con_cipher=NULL; static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma - con_shm= 1; - else if (!strncmp(con_options, "CLEARTEXT", 9)) +@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command) con_cleartext_enable= 1; + else if (!strncmp(con_options, "SKIPSECUREAUTH",14)) + con_secure_auth= 0; + else if (!strncmp(con_options, "CIPHER:", 7)) + con_cipher = con_options + 7; else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5595,8 +5598,11 @@ void do_connect(struct st_command *comma +@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command) if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) -+ /* default cipher */ ++ /* default cipher */ + if (con_cipher == NULL && opt_ssl_cipher != NULL) + con_cipher = opt_ssl_cipher; mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, - opt_ssl_capath, opt_ssl_cipher); + opt_ssl_capath, con_cipher); + mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRL, opt_ssl_crl); + mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRLPATH, opt_ssl_crlpath); #if MYSQL_VERSION_ID >= 50000 - /* Turn on ssl_verify_server_cert only if host is "localhost" */ - opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost"); -diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test ---- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100 -@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca +diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test +index 3e907f1..02b89ad 100644 +--- a/mysql-test/t/openssl_1.test ++++ b/mysql-test/t/openssl_1.test +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; @@ -68,7 +70,7 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/ --echo End of 5.0 tests # -@@ -250,7 +250,7 @@ select 'is still running; no cipher requ +@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -77,34 +79,11 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/ SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; -diff -up mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test ---- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100 -@@ -2,7 +2,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other - ## encryption routines that the SSL library happens to provide! -diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test ---- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100 -@@ -7,7 +7,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); -+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; -diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test ---- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100 -@@ -6,7 +6,7 @@ +diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test +index ea8be39..c61ca8b 100644 +--- a/mysql-test/t/ssl.test ++++ b/mysql-test/t/ssl.test +@@ -8,7 +8,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -113,3 +92,29 @@ diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.te # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; +diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test +index d94c2fc..c27ca58 100644 +--- a/mysql-test/t/ssl_8k_key.test ++++ b/mysql-test/t/ssl_8k_key.test +@@ -4,7 +4,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other + ## encryption routines that the SSL library happens to provide! +diff --git a/mysql-test/t/ssl_compress.test b/mysql-test/t/ssl_compress.test +index 2cb4c0d..feaa0e7 100644 +--- a/mysql-test/t/ssl_compress.test ++++ b/mysql-test/t/ssl_compress.test +@@ -9,7 +9,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); ++connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/community-mysql-5.6.13-major.patch b/community-mysql-5.6.13-major.patch new file mode 100644 index 0000000..8d65acf --- /dev/null +++ b/community-mysql-5.6.13-major.patch @@ -0,0 +1,11 @@ +--- mysql-5.6.13/cmake/mysql_version.cmake.orig 2013-08-15 13:48:26.177017731 +0200 ++++ mysql-5.6.13/cmake/mysql_version.cmake 2013-08-15 13:49:35.478949928 +0200 +@@ -17,7 +17,7 @@ + # Global constants, only to be changed between major releases. + # + +-SET(SHARED_LIB_MAJOR_VERSION "18") ++SET(SHARED_LIB_MAJOR_VERSION "1018") + SET(SHARED_LIB_MINOR_VERSION "1") + SET(PROTOCOL_VERSION "10") + SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-5.6.13-mtr-secure-file.patch b/community-mysql-5.6.13-mtr-secure-file.patch new file mode 100644 index 0000000..fa3cf8e --- /dev/null +++ b/community-mysql-5.6.13-mtr-secure-file.patch @@ -0,0 +1,115 @@ +------------------------------------------------------------ +revno: 5459 +committer: horst.hunger@oracle.com +branch nick: mysql-trunk +timestamp: Tue 2013-04-02 11:24:05 +0200 +message: + Changes concerning secure-file-prev. +diff: +=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR diff --git a/community-mysql-5.6.13-truncate-file.patch b/community-mysql-5.6.13-truncate-file.patch new file mode 100644 index 0000000..4bbeece --- /dev/null +++ b/community-mysql-5.6.13-truncate-file.patch @@ -0,0 +1,21 @@ +Unneccesary use of Env module in Perl code in a test + +Code used Env just to get the value of a single environment variable, +causing the test to fail on systems which does not have this +installed. This use is overkill, can easily be replaced by standard +access via the ENV hash. + +diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc +--- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200 ++++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200 +@@ -9,8 +9,7 @@ if (!$file) + let TRUNCATE_FILE= $file; + + perl; +-use Env; +-Env::import('TRUNCATE_FILE'); +-open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file"; ++my $file= $ENV{'TRUNCATE_FILE'}; ++open FILE, '>', $file || die "Can not open file $file"; + close FILE; + EOF diff --git a/community-mysql-5.6.14-mysql-install.patch b/community-mysql-5.6.14-mysql-install.patch new file mode 100644 index 0000000..b8201f8 --- /dev/null +++ b/community-mysql-5.6.14-mysql-install.patch @@ -0,0 +1,239 @@ +diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in +index c142d4f..f1f2891 100644 +--- a/scripts/mysql_install_db.pl.in ++++ b/scripts/mysql_install_db.pl.in +@@ -34,13 +34,35 @@ + # + ############################################################################## + +-use Fcntl; +-use File::Basename; +-use File::Copy; +-use Getopt::Long; +-use Sys::Hostname; +-use Data::Dumper; + use strict; ++use warnings; ++ ++############################################################################## ++# Check if all needed modules are available, exit if something is missing. ++############################################################################## ++ ++BEGIN { ++ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', ++ 'Sys::Hostname', 'Data::Dumper'); ++ my @missing_mods; ++ my $req; ++ foreach $req (@req_mods) { ++ eval 'require ' . $req; ++ if ($@) { ++ push(@missing_mods, $req); ++ } else { ++ $req->import(); ++ } ++ } ++ # this avoids the confusing "BEGIN failed--compilation aborted" message ++ local $SIG{__DIE__} = sub {warn @_; exit 1}; ++ ++ if (@missing_mods) { ++ my $msg = "FATAL ERROR: please install the following Perl modules " . ++ "before executing $0:\n" . join("\n",@missing_mods)."\n"; ++ die $msg; ++ } ++} + + Getopt::Long::Configure("pass_through"); + +@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] + --help Display this help and exit. + --ldata=path The path to the MySQL data directory. Same as --datadir. + --no-defaults Don't read default options from any option file. ++ --keep-my-cnf Don't try to create my.cnf based on template. ++ Useful for systems with working, updated my.cnf. + EOF1 + if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { + print <{srcdir} and $opt->{basedir} ) + { + error($opt,"Specify either --basedir or --srcdir, not both"); + } ++if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) ++{ ++ $keep_my_cnf = 1; ++} + if ( $opt->{srcdir} ) + { + $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; +@@ -425,13 +462,18 @@ my $config_file; + my $copy_cfg_file; + + # ---------------------------------------------------------------------- +-# This will be the default config file ++# This will be the default config file (unless creation is unwanted) + # ---------------------------------------------------------------------- + + $config_file= "$basedir/my.cnf"; + + my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", + "share","share/mysql","support-files"); ++# Distros might move files ++if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { ++ $cfg_template = "@pkgdatadir@/my-default.cnf"; ++} ++ + -e $cfg_template or cannot_find_file("my-default.cnf"); + + $copy_cfg_file= $config_file; +@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.cnf/my-new.cnf/; + # Too early to print warning here, the user may not notice + } +-open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); +-if (open (CFG, "> $copy_cfg_file")) +-{ +- while () +- { +- # Remove lines beginning with # *** which are template comments +- print CFG $_ unless /^# \*\*\*/; ++ ++if ( ! $keep_my_cnf ) { ++ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); ++ if (open (CFG, "> $copy_cfg_file")) { ++ while () { ++ # Remove lines beginning with # *** which are template comments ++ print CFG $_ unless /^# \*\*\*/; ++ } ++ close CFG; ++ } else { ++ warning($opt,"Could not write to config file $copy_cfg_file: $!"); ++ $failed_write_cfg= 1; + } +- close CFG; ++ close TEMPL; + } +-else +-{ +- warning($opt,"Could not write to config file $copy_cfg_file: $!"); +- $failed_write_cfg= 1; +-} +-close TEMPL; + + # ---------------------------------------------------------------------- + # Now we can get arguments from the groups [mysqld] and [mysql_install_db] +@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) + } + + # ---------------------------------------------------------------------- +-# Create database directories mysql & test ++# Create database directory mysql + # ---------------------------------------------------------------------- + + # FIXME The shell variant uses "mkdir -p": +@@ -652,7 +693,7 @@ if ($opt_user) + } + } + +-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) ++foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") + { + mkdir($dir, 0700) unless -d $dir; + if ($opt_user and -w "/") +@@ -838,15 +879,26 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) + " cd mysql-test ; perl mysql-test-run.pl"); + } + report($opt, +- "Please report any problems with the " . '@scriptdir@' . "/mysqlbug script!", +- "", + "The latest information about MySQL is available on the web at", + "", + " http://www.mysql.com", + "", +- "Support MySQL by buying support/licenses at http://shop.mysql.com"); ++ "Please visit", ++ "", ++ " http://bugs.mysql.com/", ++ "", ++ "to report bugs. This database is public and can be browsed", ++ "and searched by anyone. If you log in to the system", ++ "you can enter new reports."); ++ + +- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) ++ if ($keep_my_cnf) ++ { ++ report($opt, ++ "Note: new default config file not created.", ++ "Please make sure your config file is current"); ++ } ++ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) + { + report($opt, + "New default config file was created as $config_file and", +@@ -900,9 +952,15 @@ else + "http://www.mysql.com", + "Please consult the MySQL manual section: 'Problems running mysql_install_db',", + "and the manual section that describes problems on your OS.", +- "Another information source is the MySQL email archive.", +- "Please check all of the above before mailing us!", +- "And if you do mail us, you MUST use the " . '@scriptdir@' . "/mysqlbug script!") ++ "Another information source is our bug database.", ++ "Please visit", ++ "", ++ " http://bugs.mysql.com/", ++ "", ++ "to report bugs. This database is public and can be browsed", ++ "and searched by anyone. If you log in to the system you can", ++ "enter new reports."); ++ + } + + ############################################################################## diff --git a/community-mysql-covscan-stroverflow.patch b/community-mysql-covscan-stroverflow.patch index d671b45..1cfd490 100644 --- a/community-mysql-covscan-stroverflow.patch +++ b/community-mysql-covscan-stroverflow.patch @@ -1,15 +1,15 @@ The following problems have been found by Coverity - static analysis tool. -mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. +mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. -mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. +mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. mysql-5.5.31/plugin/semisync/semisync_master.cc:555:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mysql-5.5.31/plugin/semisync/semisync_master.cc ---- mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow 2013-06-17 09:04:47.214621154 +0200 -+++ mysql-5.5.31/plugin/semisync/semisync_master.cc 2013-06-17 09:08:32.189617218 +0200 -@@ -552,7 +552,8 @@ int ReplSemiSyncMaster::reportReplyBinlo +diff -up mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 mysql-5.6.14/plugin/semisync/semisync_master.cc +--- mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/plugin/semisync/semisync_master.cc 2013-10-09 15:29:03.550379533 +0200 +@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo if (need_copy_send_pos) { @@ -19,7 +19,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys reply_file_pos_ = log_file_pos; reply_file_name_inited_ = true; -@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const +@@ -681,7 +682,8 @@ int ReplSemiSyncMaster::commitTrx(const if (cmp <= 0) { /* This thd has a lower position, let's update the minimum info. */ @@ -29,7 +29,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys wait_file_pos_ = trx_wait_binlog_pos; rpl_semi_sync_master_wait_pos_backtraverse++; -@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const +@@ -692,7 +694,8 @@ int ReplSemiSyncMaster::commitTrx(const } else { @@ -39,35 +39,19 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys wait_file_pos_ = trx_wait_binlog_pos; wait_file_name_inited_ = true; +mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated. -mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 512 byte fixed-size string "log_info->log_file" by copying "log_file + dirname_length(log_file)" without checking the length. diff -up mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow mysql-5.5.31/sql/rpl_handler.cc - ---- mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow 2013-06-17 10:51:04.940509594 +0200 -+++ mysql-5.5.31/sql/rpl_handler.cc 2013-06-17 10:51:08.959509523 +0200 -@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush - my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info); - } - -- strcpy(log_info->log_file, log_file+dirname_length(log_file)); -+ strncpy(log_info->log_file, log_file+dirname_length(log_file), sizeof(log_info->log_file)-1); -+ log_info->log_file[sizeof(log_info->log_file)-1] = '\0'; - log_info->log_pos = log_pos; - - int ret= 0; - - -mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated. - -diff -up mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow mysql-5.5.31/sql/sp_rcontext.h ---- mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow 2013-06-17 13:28:32.540344334 +0200 -+++ mysql-5.5.31/sql/sp_rcontext.h 2013-06-17 13:29:23.673343443 +0200 -@@ -84,7 +84,8 @@ public: - memcpy(m_sql_state, sqlstate, SQLSTATE_LENGTH); - m_sql_state[SQLSTATE_LENGTH]= '\0'; +diff -up mysql-5.6.14/sql/rpl_handler.cc.p33 mysql-5.6.14/sql/rpl_handler.cc +diff -up mysql-5.6.14/sql/sp_rcontext.h.p33 mysql-5.6.14/sql/sp_rcontext.h +--- mysql-5.6.14/sql/sp_rcontext.h.p33 2013-10-09 15:29:03.552379535 +0200 ++++ mysql-5.6.14/sql/sp_rcontext.h 2013-10-09 15:29:53.367412814 +0200 +@@ -144,7 +144,8 @@ public: + memcpy(sql_state, _sql_state, SQLSTATE_LENGTH); + sql_state[SQLSTATE_LENGTH]= '\0'; -- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE); -+ strncpy(m_message, msg, sizeof(m_message)-1); -+ m_message[sizeof(m_message)-1] = '\0'; - } +- strncpy(message, _message, MYSQL_ERRMSG_SIZE); ++ strncpy(message, _message, sizeof(message)-1); ++ message[sizeof(message)-1] = '\0'; + } + }; - void clear() diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch index 75e35c3..cc4b74d 100644 --- a/community-mysql-cve-2013-1861.patch +++ b/community-mysql-cve-2013-1861.patch @@ -2,11 +2,11 @@ It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't ship a test case for that. This patch only includes the test case ported from MariaDB fix: https://mariadb.atlassian.net/browse/MDEV-4252 - -diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result ---- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200 -+++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200 -@@ -1113,4 +1113,19 @@ SELECT 1 FROM g1 WHERE a >= ANY + +diff -up mysql-5.6.14/mysql-test/r/gis.result.cve mysql-5.6.14/mysql-test/r/gis.result +--- mysql-5.6.14/mysql-test/r/gis.result.cve 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/r/gis.result 2013-10-09 15:08:59.886598028 +0200 +@@ -1115,6 +1115,21 @@ SELECT 1 FROM g1 WHERE a >= ANY (SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ; 1 DROP TABLE g1; @@ -26,10 +26,12 @@ diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis. +astext(centroid(0x0100000000030000000100000000000010)) +NULL End of 5.5 tests -diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.test ---- mysql-5.5.31/mysql-test/t/gis.test.cve 2013-06-03 16:32:33.733025512 +0200 -+++ mysql-5.5.31/mysql-test/t/gis.test 2013-06-03 16:34:38.942560749 +0200 -@@ -868,4 +868,11 @@ SELECT 1 FROM g1 WHERE a >= ANY + DROP DATABASE IF EXISTS gis_ogs; + CREATE DATABASE gis_ogs; +diff -up mysql-5.6.14/mysql-test/t/gis.test.cve mysql-5.6.14/mysql-test/t/gis.test +--- mysql-5.6.14/mysql-test/t/gis.test.cve 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/t/gis.test 2013-10-09 15:08:59.886598028 +0200 +@@ -868,6 +868,13 @@ SELECT 1 FROM g1 WHERE a >= ANY DROP TABLE g1; @@ -41,3 +43,5 @@ diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.te +select astext(exteriorring(0x0100000000030000000100000000000010)); +select astext(centroid(0x0100000000030000000100000000000010)); --echo End of 5.5 tests + + diff --git a/community-mysql-dubious-exports.patch b/community-mysql-dubious-exports.patch deleted file mode 100644 index 4a88d1d..0000000 --- a/community-mysql-dubious-exports.patch +++ /dev/null @@ -1,169 +0,0 @@ -Prefix mysql_ to the real names of several symbols that have to be exported -from libmysqlclient because mysql-connector-odbc and/or PHP depend on them. -This limits the intrusion on application namespace. - -Also, remove all traces of make_scrambled_password and -make_scrambled_password_323, so that references to these functions draw -compile-time warnings, per a suggestion from Paul Howarth in bug #690346. -It doesn't seem worth trying to get rid of all the internal symbols exposed -by mysql.h, but these two are relatively easy to get rid of. - - -diff -up mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc ---- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100 -@@ -21,6 +21,7 @@ - #include /* because of signal() */ - #include - #include -+#include /* my_make_scrambled_password_323, my_make_scrambled_password */ - #include - #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ - -@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql - } - } - if (old) -- make_scrambled_password_323(crypted_pw, typed_password); -+ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password)); - else -- make_scrambled_password(crypted_pw, typed_password); -+ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password)); - } - else - crypted_pw[0]=0; /* No password */ -diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h ---- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100 -@@ -24,6 +24,7 @@ extern "C" { - #endif - void init_client_errs(void); - void finish_client_errs(void); -+#define client_errors mysql_client_errors /* namespace sanity */ - extern const char *client_errors[]; /* Error messages */ - #ifdef __cplusplus - } -diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h ---- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100 -@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio); - void my_net_local_init(NET *net); - void net_end(NET *net); - void net_clear(NET *net, my_bool clear_buffer); -+#define net_realloc mysql_net_realloc /* namespace sanity */ - my_bool net_realloc(NET *net, size_t length); - my_bool net_flush(NET *net); - my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); -@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *); - void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); - - void hash_password(unsigned long *to, const char *password, unsigned int password_len); --void make_scrambled_password_323(char *to, const char *password); - void scramble_323(char *to, const char *message, const char *password); - my_bool check_scramble_323(const unsigned char *reply, const char *message, - unsigned long *salt); - void get_salt_from_password_323(unsigned long *res, const char *password); - void make_password_from_salt_323(char *to, const unsigned long *salt); - --void make_scrambled_password(char *to, const char *password); - void scramble(char *to, const char *message, const char *password); - my_bool check_scramble(const unsigned char *reply, const char *message, - const unsigned char *hash_stage2); -diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp ---- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100 -@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio); - void my_net_local_init(NET *net); - void net_end(NET *net); - void net_clear(NET *net, my_bool clear_buffer); --my_bool net_realloc(NET *net, size_t length); -+my_bool mysql_net_realloc(NET *net, size_t length); - my_bool net_flush(NET *net); - my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); - my_bool net_write_command(NET *net,unsigned char command, -@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un - double my_rnd(struct rand_struct *); - void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); - void hash_password(unsigned long *to, const char *password, unsigned int password_len); --void make_scrambled_password_323(char *to, const char *password); - void scramble_323(char *to, const char *message, const char *password); - my_bool check_scramble_323(const unsigned char *reply, const char *message, - unsigned long *salt); - void get_salt_from_password_323(unsigned long *res, const char *password); - void make_password_from_salt_323(char *to, const unsigned long *salt); --void make_scrambled_password(char *to, const char *password); - void scramble(char *to, const char *message, const char *password); - my_bool check_scramble(const unsigned char *reply, const char *message, - const unsigned char *hash_stage2); -diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h ---- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100 -+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100 -@@ -218,6 +218,7 @@ extern uint my_large_page_size; - - /* charsets */ - #define MY_ALL_CHARSETS_SIZE 2048 -+#define default_charset_info mysql_default_charset_info /* namespace sanity */ - extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; - extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; - extern CHARSET_INFO compiled_charsets[]; -@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha - extern uint get_collation_number(const char *name); - extern const char *get_charset_name(uint cs_number); - -+#define get_charset mysql_get_charset /* namespace sanity */ -+#define get_charset_by_csname mysql_get_charset_by_csname -+ - extern CHARSET_INFO *get_charset(uint cs_number, myf flags); - extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); - extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, -diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c ---- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100 -@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char - - - /* -- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI -- compatibility. -- In server code usage of my_make_scrambled_password_323() is preferred to -- avoid strlen(). -- SYNOPSIS -- make_scrambled_password_323() -- to OUT store scrambled password here -- password IN NULL-terminated string with user-supplied password --*/ -- --void make_scrambled_password_323(char *to, const char *password) --{ -- my_make_scrambled_password_323(to, password, strlen(password)); --} -- -- --/* - Scramble string with password. - Used in pre 4.1 authentication phase. - SYNOPSIS -@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to - - - /* -- Wrapper around my_make_scrambled_password() to maintain client lib ABI -- compatibility. -- In server code usage of my_make_scrambled_password() is preferred to -- avoid strlen(). -- SYNOPSIS -- make_scrambled_password() -- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string -- password IN NULL-terminated password string --*/ -- --void make_scrambled_password(char *to, const char *password) --{ -- my_make_scrambled_password(to, password, strlen(password)); --} -- -- --/* - Produce an obscure octet sequence from password and random - string, recieved from the server. This sequence corresponds to the - password, but password can not be easily restored from it. The sequence diff --git a/community-mysql-errno.patch b/community-mysql-errno.patch deleted file mode 100644 index ce9d7a1..0000000 --- a/community-mysql-errno.patch +++ /dev/null @@ -1,21 +0,0 @@ -"extern int errno" is just a really bad idea. - - -diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h ---- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100 -@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr); - #define my_afree(PTR) my_free(PTR) - #endif /* HAVE_ALLOCA */ - --#ifndef errno /* did we already get it? */ --#ifdef HAVE_ERRNO_AS_DEFINE - #include /* errno is a define */ --#else --extern int errno; /* declare errno */ --#endif --#endif /* #ifndef errno */ -+ - extern char *home_dir; /* Home directory for user */ - extern const char *my_progname; /* program-name (printed in errors) */ - extern char curr_dir[]; /* Current directory for user */ diff --git a/community-mysql-expired-certs.patch b/community-mysql-expired-certs.patch index acd3a78..2418bea 100644 --- a/community-mysql-expired-certs.patch +++ b/community-mysql-expired-certs.patch @@ -553,3 +553,19 @@ diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/m +nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z ++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== -----END RSA PRIVATE KEY----- +diff -u mysql-5.6.10/mysql-test/r/ssl.result.orig mysql-5.6.10/mysql-test/r/ssl.result +--- mysql-5.6.10/mysql-test/r/ssl.result.orig 2013-03-04 09:50:24.227923768 +0100 ++++ mysql-5.6.10/mysql-test/r/ssl.result 2013-03-04 09:53:28.449873521 +0100 +@@ -3,10 +3,10 @@ + Ssl_cipher DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_server_not_before'; + Variable_name Value +-Ssl_server_not_before Jan 29 11:56:49 2010 GMT ++Ssl_server_not_before Feb 20 02:55:06 2010 GMT + SHOW STATUS LIKE 'Ssl_server_not_after'; + Variable_name Value +-Ssl_server_not_after Jan 28 11:56:49 2015 GMT ++Ssl_server_not_after Sep 3 02:55:06 2030 GMT + drop table if exists t1,t2,t3,t4; + CREATE TABLE t1 ( + Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch index f76237d..b5f5220 100644 --- a/community-mysql-logrotate.patch +++ b/community-mysql-logrotate.patch @@ -14,27 +14,27 @@ Adjust the mysql-log-rotate script in several ways: See discussions at RH bugs 799735, 547007 -diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/support-files/mysql-log-rotate.sh ---- mysql-5.5.22.orig/support-files/mysql-log-rotate.sh 2012-03-02 14:44:46.000000000 -0500 -+++ mysql-5.5.22/support-files/mysql-log-rotate.sh 2012-03-23 22:33:29.092043705 -0400 -@@ -3,7 +3,7 @@ - # in the [safe_mysqld] section as follows: +diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/support-files/mysql-log-rotate.sh +--- mysql-5.6.10/support-files/mysql-log-rotate.sh.orig 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/support-files/mysql-log-rotate.sh 2013-02-19 15:27:28.448443077 +0100 +@@ -4,7 +4,7 @@ + # follows: # - # [safe_mysqld] --# err-log=@localstatedir@/mysqld.log -+# err-log=/var/log/mysqld.log + # [mysqld] +-# log-error=@localstatedir@/mysqld.log ++# log-error=/var/log/mysqld.log # - # If the root user has a password you have to create a - # /root/.my.cnf configuration file with the following -@@ -18,19 +18,21 @@ - # ATTENTION: This /root/.my.cnf should be readable ONLY - # for root ! + # In case the root user has a password, then you + # have to create a /root/.my.cnf configuration file +@@ -19,19 +19,21 @@ + # ATTENTION: The /root/.my.cnf file should be readable + # _ONLY_ by root ! -@localstatedir@/mysqld.log { - # create 600 mysql mysql - notifempty -- daily -- rotate 3 +- daily +- rotate 5 - missingok - compress - postrotate @@ -51,7 +51,7 @@ diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/supp +#/var/log/mysqld.log { +# create 640 mysql mysql +# notifempty -+# daily ++# daily +# rotate 3 +# missingok +# compress diff --git a/community-mysql-major.patch b/community-mysql-major.patch deleted file mode 100644 index 1b1071e..0000000 --- a/community-mysql-major.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake ---- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100 -+++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100 -@@ -17,7 +17,7 @@ - # Global constants, only to be changed between major releases. - # - --SET(SHARED_LIB_MAJOR_VERSION "18") -+SET(SHARED_LIB_MAJOR_VERSION "1018") - SET(PROTOCOL_VERSION "10") - SET(DOT_FRM_VERSION "6") - diff --git a/community-mysql-netdevname.patch b/community-mysql-netdevname.patch index af17f13..1cdd9f7 100644 --- a/community-mysql-netdevname.patch +++ b/community-mysql-netdevname.patch @@ -1,7 +1,7 @@ -diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c ---- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200 -+++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100 -@@ -68,28 +68,47 @@ err: +diff -up mysql-5.6.10/mysys/my_gethwaddr.c.orig mysql-5.6.10/mysys/my_gethwaddr.c +--- mysql-5.6.10/mysys/my_gethwaddr.c.orig 2013-01-22 17:54:49.000000000 +0100 ++++ mysql-5.6.10/mysys/my_gethwaddr.c 2013-02-19 15:19:48.632960900 +0100 +@@ -68,27 +68,47 @@ err: #include #include @@ -12,14 +12,14 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth int fd, res= 1; struct ifreq ifr; char zero_array[ETHER_ADDR_LEN] = {0}; -+ struct ifconf ifc; ++ struct ifconf ifc; + struct ifreq ifs[MAX_IFS], *ifri, *ifend; fd = socket(AF_INET, SOCK_DGRAM, 0); if (fd < 0) goto err; -- bzero(&ifr, sizeof(ifr)); +- memset(&ifr, 0, sizeof(ifr)); - strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1); + ifc.ifc_len = sizeof(ifs); + ifc.ifc_req = ifs; @@ -28,10 +28,10 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth + close(fd); + goto err; + } -+ -+ memcpy(to, zero_array, ETHER_ADDR_LEN); - do ++ memcpy(to, zero_array, ETHER_ADDR_LEN); ++ + ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq)); + for (ifri = ifc.ifc_req; ifri < ifend; ifri++) { @@ -40,9 +40,9 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth { - memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); - res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1; -+ bzero(&ifr, sizeof(ifr)); ++ memset(&ifr, 0, sizeof(ifr)); + strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name)); -+ ++ + /* Get HW address */ + if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) + { @@ -52,8 +52,7 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth + } } - } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6'); -- + } + close(fd); err: - return res; diff --git a/community-mysql-plugin-bool.patch b/community-mysql-plugin-bool.patch deleted file mode 100644 index abea580..0000000 --- a/community-mysql-plugin-bool.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix plugin boolean variables to receive the value "1", not "-1", when they -are set to 1. Aside from being bizarre, the existing behavior is unportable: -machines where char is unsigned print "255" instead. Filed upstream at -http://bugs.mysql.com/bug.php?id=59905 - - -diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result ---- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 -@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled - ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL - select @@global.rpl_semi_sync_master_enabled; - @@global.rpl_semi_sync_master_enabled ---1 -+1 - select @@session.rpl_semi_sync_master_enabled; - ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable - show global variables like 'rpl_semi_sync_master_enabled'; -diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result ---- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 -@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled= - ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL - select @@global.rpl_semi_sync_slave_enabled; - @@global.rpl_semi_sync_slave_enabled ---1 -+1 - select @@session.rpl_semi_sync_slave_enabled; - ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable - show global variables like 'rpl_semi_sync_slave_enabled'; -diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc ---- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100 -@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str - goto err; - result= (int) tmp; - } -- *(my_bool *) save= -result; -+ *(my_bool *) save= result ? true : false; - return 0; - err: - return 1; diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch deleted file mode 100644 index 6d6093d..0000000 --- a/community-mysql-plugin-test.patch +++ /dev/null @@ -1,96 +0,0 @@ -mysql_plugin.test fails when run in mysql-test RPM, though the build-time -regression test is OK. This patch is from the pre-existing upstream bug -report, except we also fix the part that tries to scribble on the -read-only-to-us plugin directory. - -rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 - - -diff -up mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt ---- mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt 2013-04-19 13:38:23.761741532 +0200 -@@ -1 +1 @@ ----plugin-dir=$DAEMONEXAMPLE_DIR -+--plugin-dir=$MYSQLTEST_VARDIR/plugin -diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test/t/mysql_plugin.test ---- mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-19 13:38:25.606742145 +0200 -@@ -25,8 +25,10 @@ - # Add the datadir, basedir, plugin_dir to the bootstrap command - let $MYSQLD_DATADIR= `select @@datadir`; - let $MYSQL_BASEDIR= `select @@basedir`; -+let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp; - let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`; - let $PLUGIN_DIR=`select @@plugin_dir`; -+let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR; - - --disable_abort_on_error - -@@ -51,10 +53,11 @@ use File::Basename; - { - print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n"; - } -- if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) -- { -- print FILE "let \$PLUGIN_DIR= $not_found;\n"; -- } -+# This test doesn't work because $ENV{PLUGIN_DIR} is empty -+# if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) -+# { -+# print FILE "let \$PLUGIN_DIR= $not_found;\n"; -+# } - close FILE; - EOF - -@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc; - # mysql version, so errmsg.sys will be copied to "basedir/share", we create - # and remove this structure. - ----mkdir $MYSQLD_BASEDIR/share ----mkdir $MYSQLD_BASEDIR/share/mysql ----copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ----copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys -+--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql -+--mkdir $PLUGIN_DIR -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys -+--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so -+--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini -+ - - # The mysql_plugin tool now accepts --my-print-defaults which points to the - # executable my_print_defaults.exe we can get this path from the variable -@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '') - - # Build client command for reuse. - --let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; -+let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; - - --echo # - --echo # Ensure the plugin isn't loaded. -@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like - # we must copy the example daemon to a new location renaming it. - - let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; ----copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD -+--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD - --copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini - - # Now reload it and see that it is a different name. -@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi - --remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect - - # Cleanup the share folder in the binary path. ----remove_file $MYSQLD_BASEDIR/share/errmsg.sys ----rmdir $MYSQLD_BASEDIR/share/mysql ----rmdir $MYSQLD_BASEDIR/share -+--remove_file $PLUGIN_DIR/daemon_example.ini -+--remove_file $PLUGIN_DIR/libdaemon_example.so -+--rmdir $PLUGIN_DIR -+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql -+--rmdir $MYSQLD_TMP_BASEDIR/share - - --enable_abort_on_error diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch index 9e4461d..ae8c231 100644 --- a/community-mysql-pluginerrmsg.patch +++ b/community-mysql-pluginerrmsg.patch @@ -12,9 +12,9 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 -diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h ---- mysql-5.5.33/include/mysql.h.p30 2013-07-15 14:01:50.000000000 +0200 -+++ mysql-5.5.33/include/mysql.h 2013-08-20 17:26:56.745334059 +0200 +diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h +--- mysql-5.6.14/include/mysql.h.p34 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/include/mysql.h 2013-10-09 15:33:04.523541478 +0200 @@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; /* backward compatibility define - to be removed eventually */ @@ -23,19 +23,19 @@ diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ -diff -up mysql-5.5.33/mysql-test/r/plugin.result.p30 mysql-5.5.33/mysql-test/r/plugin.result ---- mysql-5.5.33/mysql-test/r/plugin.result.p30 2013-07-15 14:01:49.000000000 +0200 -+++ mysql-5.5.33/mysql-test/r/plugin.result 2013-08-20 17:26:56.746334059 +0200 -@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar; +diff -up mysql-5.6.14/mysql-test/r/plugin.result.p34 mysql-5.6.14/mysql-test/r/plugin.result +--- mysql-5.6.14/mysql-test/r/plugin.result.p34 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/r/plugin.result 2013-10-09 15:33:04.523541478 +0200 +@@ -162,3 +162,5 @@ SELECT @@SESSION.example_double_thdvar; @@SESSION.example_double_thdvar 1000.500000 UNINSTALL PLUGIN example; +UNINSTALL PLUGIN MyISAM; +ERROR HY000: Built-in plugins cannot be deleted -diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plugin.test ---- mysql-5.5.33/mysql-test/t/plugin.test.p30 2013-07-15 14:01:49.000000000 +0200 -+++ mysql-5.5.33/mysql-test/t/plugin.test 2013-08-20 17:26:56.746334059 +0200 -@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000 +diff -up mysql-5.6.14/mysql-test/t/plugin.test.p34 mysql-5.6.14/mysql-test/t/plugin.test +--- mysql-5.6.14/mysql-test/t/plugin.test.p34 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/t/plugin.test 2013-10-09 15:33:04.524541479 +0200 +@@ -160,3 +160,10 @@ SET SESSION example_double_thdvar = 1000 SELECT @@SESSION.example_double_thdvar; UNINSTALL PLUGIN example; @@ -46,10 +46,10 @@ diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plu +--error ER_PLUGIN_DELETE_BUILTIN +UNINSTALL PLUGIN MyISAM; + -diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errmsg-utf8.txt ---- mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 2013-07-15 14:01:50.000000000 +0200 -+++ mysql-5.5.33/sql/share/errmsg-utf8.txt 2013-08-20 17:26:56.750334057 +0200 -@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO +diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errmsg-utf8.txt +--- mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 2013-09-10 09:38:26.000000000 +0200 ++++ mysql-5.6.14/sql/share/errmsg-utf8.txt 2013-10-09 15:33:04.525541480 +0200 +@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO WARN_OPTION_IGNORED eng "<%-.64s> option ignored" ger "Option <%-.64s> ignoriert" @@ -58,14 +58,14 @@ diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errms eng "Built-in plugins cannot be deleted" ger "Eingebaute Plugins können nicht gelöscht werden" WARN_PLUGIN_BUSY -diff -up mysql-5.5.33/sql/sql_plugin.cc.p30 mysql-5.5.33/sql/sql_plugin.cc ---- mysql-5.5.33/sql/sql_plugin.cc.p30 2013-08-20 17:26:56.640334104 +0200 -+++ mysql-5.5.33/sql/sql_plugin.cc 2013-08-20 17:26:56.752334057 +0200 -@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co +diff -up mysql-5.6.14/sql/sql_plugin.cc.p34 mysql-5.6.14/sql/sql_plugin.cc +--- mysql-5.6.14/sql/sql_plugin.cc.p34 2013-10-09 15:33:04.527541481 +0200 ++++ mysql-5.6.14/sql/sql_plugin.cc 2013-10-09 15:34:30.760598323 +0200 +@@ -1979,9 +1979,7 @@ bool mysql_uninstall_plugin(THD *thd, co } if (!plugin->plugin_dl) { -- push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, +- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, - WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN)); - my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str); + my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0)); diff --git a/community-mysql-stack-guard.patch b/community-mysql-stack-guard.patch deleted file mode 100644 index c01c1a7..0000000 --- a/community-mysql-stack-guard.patch +++ /dev/null @@ -1,139 +0,0 @@ -mysql is not accounting for the "guard page" when setting thread stack size -requests. This is fatal on PPC systems, which may use guard pages as large -as 64K. This patch also documents the IA64 situation a bit better. - -Note: there are quite a few other setstacksize calls besides the two in -mysqld.cc; is it important to fix any of the others? - -Filed upstream at http://bugs.mysql.com/bug.php?id=35019 - - -diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc ---- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100 -@@ -2599,6 +2599,70 @@ static void init_signals(void) - } - - -+/* pthread_attr_setstacksize without so much platform-dependency */ -+/* returns the actual stack size if possible */ -+static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize) -+{ -+ size_t guard_size = 0; -+ -+#if defined(__ia64__) || defined(__ia64) -+ /* -+ On IA64, half of the requested stack size is used for "normal stack" -+ and half for "register stack". The space measured by check_stack_overrun -+ is the "normal stack", so double the request to make sure we have the -+ caller-expected amount of normal stack. -+ -+ NOTE: there is no guarantee that the register stack can't grow faster -+ than normal stack, so it's very unclear that we won't dump core due to -+ stack overrun despite check_stack_overrun's efforts. Experimentation -+ shows that in the execution_constants test, the register stack grows -+ less than half as fast as normal stack, but perhaps other scenarios are -+ less forgiving. If it turns out that more space is needed for the -+ register stack, that could be forced (rather inefficiently) by using a -+ multiplier higher than 2 here. -+ */ -+ stacksize *= 2; -+#endif -+ -+ /* -+ On many machines, the "guard space" is subtracted from the requested -+ stack size, and that space is quite large on some platforms. So add -+ it to our request, if we can find out what it is. -+ -+ FIXME: autoconfiscate use of pthread_attr_getguardsize -+ */ -+ if (pthread_attr_getguardsize(attr, &guard_size)) -+ guard_size = 0; /* if can't find it out, treat as 0 */ -+ -+ pthread_attr_setstacksize(attr, stacksize + guard_size); -+ -+ /* Retrieve actual stack size if possible */ -+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE -+ { -+ size_t real_stack_size= 0; -+ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */ -+ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 && -+ real_stack_size > guard_size) -+ { -+ real_stack_size -= guard_size; -+ if (real_stack_size < stacksize) -+ { -+ if (global_system_variables.log_warnings) -+ sql_print_warning("Asked for %ld thread stack, but got %ld", -+ (long) stacksize, (long) real_stack_size); -+ stacksize= real_stack_size; -+ } -+ } -+ } -+#endif -+ -+#if defined(__ia64__) || defined(__ia64) -+ stacksize /= 2; -+#endif -+ return stacksize; -+} -+ -+ - static void start_signal_handler(void) - { - int error; -@@ -2609,15 +2673,7 @@ static void start_signal_handler(void) - #if !defined(HAVE_DEC_3_2_THREADS) - pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM); - (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); --#if defined(__ia64__) || defined(__ia64) -- /* -- Peculiar things with ia64 platforms - it seems we only have half the -- stack size in reality, so we have to double it here -- */ -- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2); --#else -- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size); --#endif -+ (void) my_setstacksize(&thr_attr,my_thread_stack_size); - #endif - - mysql_mutex_lock(&LOCK_thread_count); -@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv) - unireg_abort(1); // Will do exit - - init_signals(); --#if defined(__ia64__) || defined(__ia64) -- /* -- Peculiar things with ia64 platforms - it seems we only have half the -- stack size in reality, so we have to double it here -- */ -- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2); --#else -- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size); --#endif - #ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE -- { -- /* Retrieve used stack size; Needed for checking stack overflows */ -- size_t stack_size= 0; -- pthread_attr_getstacksize(&connection_attrib, &stack_size); --#if defined(__ia64__) || defined(__ia64) -- stack_size/= 2; --#endif -- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ -- if (stack_size && stack_size < my_thread_stack_size) -- { -- if (global_system_variables.log_warnings) -- sql_print_warning("Asked for %lu thread stack, but got %ld", -- my_thread_stack_size, (long) stack_size); --#if defined(__ia64__) || defined(__ia64) -- my_thread_stack_size= stack_size*2; --#else -- my_thread_stack_size= stack_size; --#endif -- } -- } -+ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size); - #endif - - (void) thr_setconcurrency(concurrency); // 10 by default diff --git a/community-mysql-string-overflow.patch b/community-mysql-string-overflow.patch index eaa40f6..46e5db3 100644 --- a/community-mysql-string-overflow.patch +++ b/community-mysql-string-overflow.patch @@ -7,28 +7,27 @@ Filed upstream at http://bugs.mysql.com/bug.php?id=64631 Error: BUFFER_SIZE_WARNING: /builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. -diff -up mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc ---- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100 -@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c +diff -up mysql-5.6.10/sql/sql_prepare.cc.orig mysql-5.6.10/sql/sql_prepare.cc +--- mysql-5.6.10/sql/sql_prepare.cc.orig 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/sql/sql_prepare.cc 2013-02-19 15:50:53.257150632 +0100 +@@ -2956,7 +2956,7 @@ void mysql_stmt_get_longdata(THD *thd, c { stmt->state= Query_arena::STMT_ERROR; - stmt->last_errno= thd->stmt_da->sql_errno(); -- strncpy(stmt->last_error, thd->stmt_da->message(), MYSQL_ERRMSG_SIZE); -+ strncpy(stmt->last_error, thd->stmt_da->message(), sizeof(stmt->last_error)-1); + stmt->last_errno= thd->get_stmt_da()->sql_errno(); +- strncpy(stmt->last_error, thd->get_stmt_da()->message(), MYSQL_ERRMSG_SIZE); ++ strncpy(stmt->last_error, thd->get_stmt_da()->message(), sizeof(stmt->last_error)-1); } - thd->stmt_da= save_stmt_da; - thd->warning_info= save_warinig_info; + thd->set_stmt_da(save_stmt_da); Error: STRING_OVERFLOW: /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc ---- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100 -@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us +diff -up mysql-5.6.10/sql/sql_trigger.cc.orig mysql-5.6.10/sql/sql_trigger.cc +--- mysql-5.6.10/sql/sql_trigger.cc.orig 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/sql/sql_trigger.cc 2013-02-19 16:01:10.605885117 +0100 +@@ -2303,7 +2303,7 @@ void Table_triggers_list::mark_fields_us void Table_triggers_list::set_parse_error_message(char *error_message) { m_has_unparseable_trigger= true; @@ -37,21 +36,3 @@ diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc } - - -Error: STRING_OVERFLOW: -/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length. -/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc ---- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100 -@@ -7054,7 +7054,7 @@ ha_innobase::create( - - ut_a(strlen(name) < sizeof(name2)); - -- strcpy(name2, name); -+ strncpy(name2, name, sizeof(name2)-1); - - normalize_table_name(norm_name, name2); - diff --git a/community-mysql-strmov.patch b/community-mysql-strmov.patch index 2a78619..1c44f55 100644 --- a/community-mysql-strmov.patch +++ b/community-mysql-strmov.patch @@ -13,11 +13,11 @@ of any real performance gain from optimizing these calls. So I'm keeping this patch. -diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h ---- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100 -@@ -77,15 +77,6 @@ extern "C" { - extern void *(*my_str_malloc)(size_t); +diff -up mysql-5.6.10/include/m_string.h.orig mysql-5.6.10/include/m_string.h +--- mysql-5.6.10/include/m_string.h.orig 2013-01-22 17:54:49.000000000 +0100 ++++ mysql-5.6.10/include/m_string.h 2013-02-19 14:12:58.866241727 +0100 +@@ -65,15 +65,6 @@ extern void *(*my_str_malloc)(size_t); + extern void *(*my_str_realloc)(void *, size_t); extern void (*my_str_free)(void *); -#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) diff --git a/community-mysql-tmpdir.patch b/community-mysql-tmpdir.patch index 2dc7293..c6842c4 100644 --- a/community-mysql-tmpdir.patch +++ b/community-mysql-tmpdir.patch @@ -10,10 +10,10 @@ RHBZ#962087 Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-4165 MySQL bug report: http://bugs.mysql.com/bug.php?id=68338 -diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt ---- mysql-5.5.31/CMakeLists.txt.tmpdir 2013-06-03 15:14:51.149345233 +0200 -+++ mysql-5.5.31/CMakeLists.txt 2013-06-03 15:29:23.263489056 +0200 -@@ -253,6 +253,10 @@ IF(SYSCONFDIR) +diff -up mysql-5.6.14/CMakeLists.txt.tmpdir mysql-5.6.14/CMakeLists.txt +--- mysql-5.6.14/CMakeLists.txt.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/CMakeLists.txt 2013-10-09 14:49:14.115887439 +0200 +@@ -309,6 +309,10 @@ IF(SYSCONFDIR) SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") ENDIF() @@ -24,10 +24,10 @@ diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt # Run platform tests INCLUDE(configure.cmake) -diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake ---- mysql-5.5.31/config.h.cmake.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/config.h.cmake 2013-06-03 15:14:51.149345233 +0200 -@@ -600,6 +600,7 @@ +diff -up mysql-5.6.14/config.h.cmake.tmpdir mysql-5.6.14/config.h.cmake +--- mysql-5.6.14/config.h.cmake.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/config.h.cmake 2013-10-09 14:49:14.115887439 +0200 +@@ -636,6 +636,7 @@ #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" #cmakedefine PLUGINDIR "@PLUGINDIR@" #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" @@ -35,13 +35,13 @@ diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" -diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.h ---- mysql-5.5.31/include/my_global.h.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/include/my_global.h 2013-06-03 15:14:51.150345232 +0200 -@@ -1501,4 +1501,11 @@ static inline double rint(double x) - - #endif /* EMBEDDED_LIBRARY */ +diff -up mysql-5.6.14/include/my_global.h.tmpdir mysql-5.6.14/include/my_global.h +--- mysql-5.6.14/include/my_global.h.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/include/my_global.h 2013-10-09 14:49:14.116887439 +0200 +@@ -1219,3 +1219,10 @@ typedef struct + #endif + #endif // MY_GLOBAL_INCLUDED +/* + Define default tmpdir if not already set. +*/ @@ -49,11 +49,10 @@ diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global. +#define DEFAULT_TMPDIR P_tmpdir +#endif + - #endif /* my_global_h */ -diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql.cc ---- mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/libmysqld/lib_sql.cc 2013-06-03 15:14:51.150345232 +0200 -@@ -558,7 +558,7 @@ int init_embedded_server(int argc, char +diff -up mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir mysql-5.6.14/libmysqld/lib_sql.cc +--- mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir 2013-09-10 09:38:26.000000000 +0200 ++++ mysql-5.6.14/libmysqld/lib_sql.cc 2013-10-09 14:49:14.116887439 +0200 +@@ -587,7 +587,7 @@ int init_embedded_server(int argc, char opt_mysql_tmpdir=getenv("TMP"); #endif if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) @@ -62,9 +61,9 @@ diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql init_ssl(); umask(((~my_umask) & 0666)); -diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c ---- mysql-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysys/mf_tempdir.c 2013-06-03 15:14:51.150345232 +0200 +diff -up mysql-5.6.14/mysys/mf_tempdir.c.tmpdir mysql-5.6.14/mysys/mf_tempdir.c +--- mysql-5.6.14/mysys/mf_tempdir.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/mysys/mf_tempdir.c 2013-10-09 14:49:14.116887439 +0200 @@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c pathlist=getenv("TMP"); #endif @@ -74,9 +73,9 @@ diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c } do { -diff -up mysql-5.5.31/mysys/mf_tempfile.c.tmpdir mysql-5.5.31/mysys/mf_tempfile.c ---- mysql-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysys/mf_tempfile.c 2013-06-03 15:14:51.150345232 +0200 +diff -up mysql-5.6.14/mysys/mf_tempfile.c.tmpdir mysql-5.6.14/mysys/mf_tempfile.c +--- mysql-5.6.14/mysys/mf_tempfile.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/mysys/mf_tempfile.c 2013-10-09 14:49:14.117887440 +0200 @@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch sizeof(prefix_buff)-7),"XXXXXX") - prefix_buff); diff --git a/community-mysql-va-list.patch b/community-mysql-va-list.patch deleted file mode 100644 index 552457c..0000000 --- a/community-mysql-va-list.patch +++ /dev/null @@ -1,55 +0,0 @@ -Fix unportable usage associated with va_list arguments. Passing "0" to -a va_list argument only works if va_list is an integer or pointer type, -which is not required by the C spec, and is not true on ARM for instance. -Per bug #744707. - - -diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c ---- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100 -@@ -233,11 +233,13 @@ int mysql_client_plugin_init() - { - MYSQL mysql; - struct st_mysql_client_plugin **builtin; -+ va_list unused; - - if (initialized) - return 0; - - bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */ -+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ - - pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW); - init_alloc_root(&mem_root, 128, 128); -@@ -249,7 +251,7 @@ int mysql_client_plugin_init() - pthread_mutex_lock(&LOCK_load_client_plugin); - - for (builtin= mysql_client_builtins; *builtin; builtin++) -- add_plugin(&mysql, *builtin, 0, 0, 0); -+ add_plugin(&mysql, *builtin, 0, 0, unused); - - pthread_mutex_unlock(&LOCK_load_client_plugin); - -@@ -293,9 +295,13 @@ struct st_mysql_client_plugin * - mysql_client_register_plugin(MYSQL *mysql, - struct st_mysql_client_plugin *plugin) - { -+ va_list unused; -+ - if (is_not_initialized(mysql, plugin->name)) - return NULL; - -+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ -+ - pthread_mutex_lock(&LOCK_load_client_plugin); - - /* make sure the plugin wasn't loaded meanwhile */ -@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq - plugin= NULL; - } - else -- plugin= add_plugin(mysql, plugin, 0, 0, 0); -+ plugin= add_plugin(mysql, plugin, 0, 0, unused); - - pthread_mutex_unlock(&LOCK_load_client_plugin); - return plugin; diff --git a/community-mysql-versioning.patch b/community-mysql-versioning.patch deleted file mode 100644 index 6374b6c..0000000 --- a/community-mysql-versioning.patch +++ /dev/null @@ -1,18 +0,0 @@ -The symbol versioning solution for libmysqlclient in mysql 5.1 was pretty -awful (export everything) and as of 5.5.8 the cmake build scripts have -forgotten the issue entirely. So we now maintain our own list of exported -symbols and jam it into the build with this hack. - - -diff -up mysql-5.5.28/libmysql/CMakeLists.txt.p7 mysql-5.5.28/libmysql/CMakeLists.txt ---- mysql-5.5.28/libmysql/CMakeLists.txt.p7 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/libmysql/CMakeLists.txt 2012-12-06 14:15:03.905461517 +0100 -@@ -209,7 +209,7 @@ IF(NOT DISABLE_SHARED) - SET(libmysql_link_flags) - ENDIF() - SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS -- "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}") -+ "${libmysql_link_flags} -Wl,--version-script=libmysql.version ${LINK_FLAG_NO_UNDEFINED}") - ENDIF() - # clean direct output needs to be set several targets have the same name - #(mysqlclient in this case) diff --git a/community-mysql.spec b/community-mysql.spec index 1e45798..dd0dc2e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,247 +1,256 @@ -Name: community-mysql -Version: 5.5.33 -Release: 2%{?dist} +# Regression tests may take a long time (many cores recommended), skip them by +# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining +# --nocheck is not possible (e.g. in koji build) +%{!?runselftest:%global runselftest 0} -Summary: MySQL client programs and shared libraries -Group: Applications/Databases -URL: http://www.mysql.com -# exceptions allow client libraries to be linked with most open source SW, -# not only GPL code. See README.mysql-license -# Some innobase code from Percona and Google is under BSD license -# Some code related to test-suite is under LGPLv2 -License: GPLv2 with exceptions and LGPLv2 and BSD +# set to 1 to enable +%global with_shared_lib_major_hack 1 -# Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 1} - -# Upstream has a mirror redirector for downloads, so the URL is hard to -# represent statically. You can get the tarball by following a link from -# http://dev.mysql.com/downloads/mysql/ -Source0: mysql-%{version}-nodocs.tar.xz -# The upstream tarball includes non-free documentation that we cannot ship. -# To remove the non-free documentation, run this script after downloading -# the tarball into the current directory: -# ./generate-tarball.sh $VERSION -Source2: generate-tarball.sh -Source3: my.cnf -Source5: my_config.h -Source6: README.mysql-docs -Source7: README.mysql-license -Source8: libmysql.version -Source9: mysql-embedded-check.c -Source10: MySQL.tmpfiles.d -Source11: mysqld.service -Source12: mysqld-prepare-db-dir -Source13: mysqld-wait-ready -Source14: rh-skipped-tests-base.list -Source15: rh-skipped-tests-arm.list -# Working around perl dependency checking bug in rpm FTTB. Remove later. -Source999: filter-requires-mysql.sh - -# Comments for these patches are in the patch files. -Patch1: community-mysql-errno.patch -Patch2: community-mysql-strmov.patch -Patch3: community-mysql-install-test.patch -Patch4: community-mysql-expired-certs.patch -Patch5: community-mysql-stack-guard.patch -Patch6: community-mysql-chain-certs.patch -Patch7: community-mysql-versioning.patch -Patch8: community-mysql-dubious-exports.patch -Patch10: community-mysql-plugin-bool.patch -Patch11: community-mysql-s390-tsc.patch -Patch14: community-mysql-va-list.patch -Patch15: community-mysql-netdevname.patch -Patch16: community-mysql-logrotate.patch -Patch17: community-mysql-plugin-test.patch -Patch18: community-mysql-cipherspec.patch -Patch19: community-mysql-file-contents.patch -Patch20: community-mysql-string-overflow.patch -Patch21: community-mysql-dh1024.patch -Patch22: community-mysql-major.patch -Patch23: community-mysql-sharedir.patch -Patch24: community-mysql-man-pages.patch -Patch25: community-mysql-tmpdir.patch -Patch26: community-mysql-cve-2013-1861.patch -Patch27: community-mysql-innodbwarn.patch -Patch28: community-mysql-covscan-signexpr.patch -Patch29: community-mysql-covscan-stroverflow.patch -Patch30: community-mysql-pluginerrmsg.patch - -BuildRequires: perl, readline-devel, openssl-devel -BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel -BuildRequires: systemd, systemtap-sdt-devel -# make test requires time and ps -BuildRequires: time procps -# perl modules needed to run regression tests -BuildRequires: perl(Socket), perl(Time::HiRes) -BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) - -Requires: grep, fileutils, bash -Requires: %{name}-common%{?_isa} = %{version}-%{release} -%{?systemd_requires: %systemd_requires} - -# mariadb is MySQL replacement that is used in Fedora as a default -# MySQL implementation -Conflicts: mariadb -Provides: mysql = %{version}-%{release} -Provides: mysql%{?_isa} = %{version}-%{release} - -# When rpm 4.9 is universal, this could be cleaned up: -%global __perl_requires %{SOURCE999} -%global __perllib_requires %{SOURCE999} +%global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +Name: community-mysql +Version: 5.6.14 +Release: 1%{?dist} +Summary: MySQL client programs and shared libraries +Group: Applications/Databases +URL: http://www.mysql.com + +# Exceptions allow client libraries to be linked with most open source SW, +# not only GPL code. See README.mysql-license +License: GPLv2 with exceptions and LGPLv2 and BSD + +# mysql.info from upstream tarball must be removed, create tarball by: +# wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz +# tar xvf mysql-%{version}.tar.gz +# rm mysql-%{version}/Docs/mysql.info +# tar cJvf mysql-%{version}-nodocs.tar.xz mysql-%{version} +Source0: mysql-%{version}-nodocs.tar.xz +Source2: generate-tarball.sh +Source3: my.cnf +Source4: mysql_config.sh +Source5: my_config.h +Source6: README.mysql-docs +Source7: README.mysql-license +Source9: mysql-embedded-check.c +Source10: mysql.tmpfiles.d +Source11: mysqld.service +Source12: mysqld-prepare-db-dir +Source13: mysqld-wait-ready +Source14: rh-skipped-tests-base.list +Source15: rh-skipped-tests-arm.list +# To track rpmlint warnings +Source17: mysql-5.6.10-rpmlintrc + +# Comments for these patches are in the patch files +Patch2: community-mysql-strmov.patch +Patch3: community-mysql-install-test.patch +Patch4: community-mysql-expired-certs.patch +Patch6: community-mysql-chain-certs.patch +Patch11: community-mysql-s390-tsc.patch +Patch15: community-mysql-netdevname.patch +Patch16: community-mysql-logrotate.patch +Patch18: community-mysql-5.6.11-cipherspec.patch +Patch19: community-mysql-file-contents.patch +Patch20: community-mysql-string-overflow.patch +Patch21: community-mysql-dh1024.patch +Patch22: community-mysql-sharedir.patch +Patch23: community-mysql-5.6.10-libmysql-version.patch +Patch24: community-mysql-man-pages.patch +Patch25: community-mysql-5.6.14-mysql-install.patch +Patch26: community-mysql-5.6.13-major.patch +Patch27: community-mysql-5.6.13-mtr-secure-file.patch +Patch28: community-mysql-5.6.13-truncate-file.patch +Patch29: community-mysql-tmpdir.patch +Patch30: community-mysql-cve-2013-1861.patch +Patch31: community-mysql-innodbwarn.patch +Patch32: community-mysql-covscan-signexpr.patch +Patch33: community-mysql-covscan-stroverflow.patch +Patch34: community-mysql-pluginerrmsg.patch + +BuildRequires: cmake +BuildRequires: dos2unix +BuildRequires: libaio-devel +BuildRequires: libedit-devel +BuildRequires: libevent-devel +BuildRequires: openssl-devel +BuildRequires: perl +BuildRequires: systemtap-sdt-devel +BuildRequires: zlib-devel +# Tests requires time and ps and some perl modules +BuildRequires: procps +BuildRequires: time +BuildRequires: perl(Env) +BuildRequires: perl(Exporter) +BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Temp) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IPC::Open3) +BuildRequires: perl(Socket) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Time::HiRes) +BuildRequires: systemd + +Requires: bash +Requires: grep +Requires: fileutils +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Provides: mysql = %{version}-%{release} +Provides: mysql%{?_isa} = %{version}-%{release} +Conflicts: mariadb +# mysql-cluster used to be built from this SRPM, but no more +Obsoletes: mysql-cluster < 5.1.44 + +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ + %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. -%package libs -Summary: The shared libraries required for MySQL clients -Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Provides: mysql-libs = %{version}-%{release} -Provides: mysql-libs%{?_isa} = %{version}-%{release} +%package libs +Summary: The shared libraries required for MySQL clients +Group: Applications/Databases +Requires: /sbin/ldconfig +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Provides: mysql-libs = %{version}-%{release} +Provides: mysql-libs%{?_isa} = %{version}-%{release} -%description libs +%description libs The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. -%package common -Summary: The shared files required for MySQL server and client -Group: Applications/Databases +%package common +Summary: The shared files required for MySQL server and client +Group: Applications/Databases -%description common -The mysql-common package provides the essential shared files for any +%description common +The mysql-common package provides the essential shared files for any MySQL program. You will need to install this package to use any other MySQL package. -%package server -Summary: The MySQL server and related files -Group: Applications/Databases -Requires: mysql%{?_isa} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: sh-utils -Requires(pre): /usr/sbin/useradd +%package server +Summary: The MySQL server and related files +Group: Applications/Databases + +# note: no version here = %{version}-%{release} +Requires: mysql%{?_isa} +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: sh-utils +Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d -Requires: systemd +Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd -Requires(preun): systemd +Requires(post): systemd +Requires(preun): systemd Requires(postun): systemd # This is actually needed for the %%triggerun script but Requires(triggerun) # is not valid. We can use %%post because this particular %%triggerun script # should fire just after this package is installed. -Requires(post): systemd-sysv +Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support -Requires: perl-DBI, perl-DBD-MySQL -Conflicts: mariadb-server -Provides: mysql-server = %{version}-%{release} -Provides: mysql-server%{?_isa} = %{version}-%{release} +Requires: perl(DBI) +Requires: perl(DBD::mysql) +Provides: mysql-server = %{version}-%{release} +Provides: mysql-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-server -%description server +%description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. -%package devel -Summary: Files for development of MySQL applications -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: openssl-devel%{?_isa} -Conflicts: mariadb-devel +%package devel +Summary: Files for development of MySQL applications +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: openssl-devel%{?_isa} +Conflicts: mariadb-devel -%description devel +%description devel MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. -%package embedded -Summary: MySQL as an embeddable library -Group: Applications/Databases -Provides: mysql-embedded = %{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{version}-%{release} +%package embedded +Summary: MySQL as an embeddable library +Group: Applications/Databases +Provides: mysql-embedded = %{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{version}-%{release} -%description embedded +%description embedded MySQL is a multi-user, multi-threaded SQL database server. This package contains a version of the MySQL server that can be embedded into a client application instead of running as a separate process. -%package embedded-devel -Summary: Development files for MySQL as an embeddable library -Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Conflicts: mariadb-embedded-devel +%package embedded-devel +Summary: Development files for MySQL as an embeddable library +Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Conflicts: mariadb-embedded-devel -%description embedded-devel +%description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MySQL server. -%package bench -Summary: MySQL benchmark scripts and data -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Conflicts: mariadb-bench -Provides: mysql-bench = %{version}-%{release} -Provides: mysql-bench%{?_isa} = %{version}-%{release} +%package bench +Summary: MySQL benchmark scripts and data +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: mariadb-bench +Provides: mysql-bench = %{version}-%{release} +Provides: mysql-bench%{?_isa} = %{version}-%{release} -%description bench +%description bench MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. -%package test -Summary: The test suite distributed with MySQL -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-server%{?_isa} = %{version}-%{release} -Conflicts: mariadb-test -Provides: mysql-test = %{version}-%{release} -Provides: mysql-test%{?_isa} = %{version}-%{release} -Requires: perl(Socket), perl(Time::HiRes) -Requires: perl(Data::Dumper), perl(Test::More), perl(Env) +%package test +Summary: The test suite distributed with MySQL +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-test +Provides: mysql-test = %{version}-%{release} +Provides: mysql-test%{?_isa} = %{version}-%{release} %description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. + %prep %setup -q -n mysql-%{version} - -%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch10 -p1 %patch11 -p1 -%patch14 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 @@ -250,35 +259,37 @@ the MySQL sources. %patch23 -p1 %patch24 -p1 %patch25 -p1 +%if %{with_shared_lib_major_hack} %patch26 -p1 -%patch27 -p1 -%patch28 -p1 +%endif +%patch27 -p0 +%patch28 -p0 %patch29 -p1 %patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 -# workaround for upstream bug #56342 +# Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt -# upstream has fallen down badly on symbol versioning, do it ourselves -cp %{SOURCE8} libmysql/libmysql.version - -# generate a list of tests that fail, but are not disabled by upstream +# Generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE14} > mysql-test/rh-skipped-tests.list -# disable some tests failing on ARM architectures +# Disable some tests failing on ARM architectures %ifarch %{arm} cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif %build - # fail quickly and obviously if user tries to build as root %if %runselftest - if [ x"`id -u`" = x0 ]; then - echo "mysql's regression tests fail if run as root." - echo "If you really need to build the RPM as root, use" - echo "--define='runselftest 0' to skip the regression tests." - exit 1 - fi + if [ x"$(id -u)" = "x0" ]; then + echo "mysql's regression tests fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--nocheck to skip the regression tests." + exit 1 + fi %endif CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" @@ -290,170 +301,135 @@ CFLAGS="$CFLAGS -fPIC" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization # submitted as bz #529298 %ifarch sparc sparcv9 sparc64 -CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` +CFLAGS=$(echo $CFLAGS| sed -e "s|-O2|-O1|g" ) %endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS -# building with PIE +%if %{_hardened_build} LDFLAGS="$LDFLAGS -pie" export LDFLAGS +%endif + +# build out of source +mkdir build +pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. - -cmake . -DBUILD_CONFIG=mysql_release \ - -DFEATURE_SET="community" \ - -DINSTALL_LAYOUT=RPM \ - -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ - -DINSTALL_INCLUDEDIR=include/mysql \ - -DINSTALL_INFODIR=share/info \ - -DINSTALL_LIBDIR="%{_lib}/mysql" \ - -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/%{name} \ - -DINSTALL_MYSQLTESTDIR=share/mysql-test \ - -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ - -DINSTALL_SBINDIR=libexec \ - -DINSTALL_SCRIPTDIR=bin \ - -DINSTALL_SQLBENCHDIR=share \ - -DINSTALL_SUPPORTFILESDIR=share/mysql \ - -DMYSQL_DATADIR="/var/lib/mysql" \ - -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ - -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=ON \ - -DWITH_EMBEDDED_SERVER=ON \ - -DWITH_READLINE=ON \ - -DWITH_SSL=system \ - -DWITH_ZLIB=system \ - -DTMPDIR=/var/tmp \ - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" +cmake .. -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ +%if 0%{?fedora} >= 20 + -DINSTALL_DOCDIR="share/doc/%{name}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ +%endif + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_MYSQLSHAREDIR=share/%{name} \ + -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SQLBENCHDIR=share \ + -DINSTALL_SUPPORTFILESDIR=share/%{name} \ + -DMYSQL_DATADIR="/var/lib/mysql" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DENABLED_LOCAL_INFILE=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_EDITLINE=system \ + -DWITH_LIBEVENT=system \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ +%if %{_hardened_build} + -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" +%endif make %{?_smp_mflags} VERBOSE=1 -# regular build will make libmysqld.a but not libmysqld.so :-( +# Regular build will make libmysqld.a but not libmysqld.so :-( +# Upstream bug: http://bugs.mysql.com/68559 mkdir libmysqld/work -cd libmysqld/work +pushd libmysqld/work ar -x ../libmysqld.a -# these result in missing dependencies: (filed upstream as bug 59104) -rm -f sql_binlog.cc.o rpl_utility.cc.o -gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \ - *.o ../../probes_mysql.o \ - -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc -# this is to check that we built a complete library -cp %{SOURCE9} . -ln -s libmysqld.so.0.0.1 libmysqld.so.0 -gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 +%{__cc} $CFLAGS $LDFLAGS -DEMBEDDED_LIBRARY -shared -Wl,-soname,libmysqld.so.18 -o libmysqld.so.18.1.0 \ + *.o \ + -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc +# This is to check that we built a complete library +cp -p %{SOURCE9} . +ln -s libmysqld.so.18.1.0 libmysqld.so.18 +%{__cc} -I../../../include -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.18 LD_LIBRARY_PATH=. ldd ./a.out -cd ../.. -# debuginfo extraction scripts fail to find source files in their real -# location -- satisfy them by copying these files into location, which -# is expected by scripts -for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do - cp -p "storage/innobase/pars/$f" "storage/innobase/$f" -done - -%check -%if %runselftest - # hack to let 32- and 64-bit tests run concurrently on same build machine - case `uname -m` in - ppc64 | ppc64p7 | s390x | x86_64 | sparc64 ) - MTR_BUILD_THREAD=7 - ;; - *) - MTR_BUILD_THREAD=11 - ;; - esac - export MTR_BUILD_THREAD - - make test VERBOSE=1 - - # The cmake build scripts don't provide any simple way to control the - # options for mysql-test-run, so ignore the make target and just call it - # manually. Nonstandard options chosen are: - # --force to continue tests after a failure - # no retries please - # test SSL with --ssl - # skip tests that are listed in rh-skipped-tests.list - # avoid redundant test runs with --binlog-format=mixed - # increase timeouts to prevent unwanted failures during mass rebuilds - ( - cd mysql-test - perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --skip-test-list=rh-skipped-tests.list \ - --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 - # cmake build scripts will install the var cruft if left alone :-( - rm -rf var - ) -%endif %install -make DESTDIR=$RPM_BUILD_ROOT install +pushd build +make DESTDIR=%{buildroot} install # List the installed tree for RPM package maintenance purposes. -find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES +find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES -# multilib header hacks -# we only apply this to known Red Hat multilib arches, per bug #181335 -case `uname -i` in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) - mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - ;; - arm* ) - mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - ;; - *) - ;; -esac # cmake generates some completely wacko references to -lprobes_mysql when # building with dtrace support. Haven't found where to shut that off, # so resort to this blunt instrument. While at it, let's not reference # libmysqlclient_r anymore either. sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ - ${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp -cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config -chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config + %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp +cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config +chmod 0755 %{buildroot}%{_bindir}/mysql_config + +# Multilib header hacks +# We only apply this to known Red Hat multilib arches, per bug #181335 +case $(uname -i) in + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) + mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h + install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ + mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} + install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config + ;; + arm* ) + mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h + install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ + mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} + install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config + ;; + *) + ;; +esac # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mysql-file-contents.patch) -install -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -install -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -mkdir -p $RPM_BUILD_ROOT/var/log -touch $RPM_BUILD_ROOT/var/log/mysqld.log -mkdir -p $RPM_BUILD_ROOT/var/run/mysqld -install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql +mkdir -p %{buildroot}/var/log +touch %{buildroot}/var/log/mysqld.log -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} -install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf +mkdir -p %{buildroot}/var/run/mysqld +install -p -m 0755 -d %{buildroot}/var/lib/mysql + +mkdir -p %{buildroot}/etc +install -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf # install systemd unit files and scripts for handling server startup -mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} -install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ -install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ +mkdir -p %{buildroot}%{_unitdir} +install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ +install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ +install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d -install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf - -# Fix funny permissions that cmake build scripts apply to config files -chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini - -# Fix scripts for multilib safety -mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config -ln -sf %{_libdir}/mysql/mysql_config ${RPM_BUILD_ROOT}%{_bindir}/mysql_config -mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug -ln -sf %{_libdir}/mysql/mysqlbug ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug +mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d +install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf # Remove libmysqld.a, install libmysqld.so -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a -install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1 -ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0 -ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so +rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a +install -m 0755 libmysqld/work/libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18.1.0 +ln -s libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18 +ln -s libmysqld.so.18 %{buildroot}%{_libdir}/mysql/libmysqld.so # libmysqlclient_r is no more. Upstream tries to replace it with symlinks # but that really doesn't work (wrong soname in particular). We'll keep @@ -464,69 +440,122 @@ ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink -mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir} -ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process +mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} +ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process -# We specified a different share dir, but the test suite expects some -# data files under /usr/share/mysql, so we create symlinks to compatibility -for f in errmsg-utf8.txt fill_help_tables.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql - do - ln -sf "../MySQL/$f" "${RPM_BUILD_ROOT}/usr/share/mysql/$f" - done - -# Remove files that %%doc will install in preferred location -rm -f ${RPM_BUILD_ROOT}/usr/COPYING -rm -f ${RPM_BUILD_ROOT}/usr/README - -# Remove files we don't want installed at all -rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY -rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog -rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty -rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty -# should move this to /etc/ ? -rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf -rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* +# not needed in rpm package +rm -f %{buildroot}%{_bindir}/mysqlaccess.conf +rm -f %{buildroot}%{_bindir}/mysql_embedded +rm -f %{buildroot}%{_libdir}/mysql/*.a +rm -f %{buildroot}%{_datadir}/%{name}/binary-configure +rm -f %{buildroot}%{_datadir}/%{name}/magic +rm -f %{buildroot}%{_datadir}/%{name}/mysql.server +rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server +rm -rf %{buildroot}%{_datadir}/%{name}/solaris +rm -f %{buildroot}%{_mandir}/man1/comp_err.1* +rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld -chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld +mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysqld +chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/mysqld -mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d -echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf +mkdir -p %{buildroot}/etc/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf + +# Back to src dir +popd # copy additional docs into build tree so %%doc will find them -cp %{SOURCE6} README.mysql-docs -cp %{SOURCE7} README.mysql-license +cp -p %{SOURCE6} README.mysql-docs +cp -p %{SOURCE7} README.mysql-license -# install the list of skipped tests to be available for user runs -install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test +# Install the list of skipped tests to be available for user runs +install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test -# we don't care about scripts for solaris -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris +# Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 +chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql +find %{buildroot}%{_datadir}/mysql-test/{r,suite,t} -type f -print0 | xargs --null chmod 0644 +chmod 0644 %{buildroot}%{_datadir}/mysql-test/include/{start_mysqld,shutdown_mysqld,check_ipv4_mapped}.inc +for f in std_data/checkDBI_DBD-mysql.pl suite/engines/rr_trx/run_stress_tx_rr.pl \ + suite/funcs_1/lib/DataGen_local.pl suite/funcs_1/lib/DataGen_modify.pl \ + suite/funcs_2/lib/gen_charset_utf8.pl suite/opt_trace/validate_json.py \ + suite/rpl/extension/bhs.pl suite/rpl/extension/checksum.pl ; do + chmod 0755 %{buildroot}%{_datadir}/mysql-test/$f +done +chmod 0644 %{buildroot}%{_datadir}/sql-bench/graph-compare-results +dos2unix -k %{buildroot}%{_datadir}/sql-bench/innotest* + +# These are in fact identical +rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 +cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 +cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 + +mkdir %{buildroot}%{_sysconfdir}/my.cnf.d + +%check +%if %runselftest + pushd build + # Hack to let 32- and 64-bit tests run concurrently on same build machine + case $(uname -m) in + aarch64 | ppc64 | ppc64p7 | s390x | sparc64 | x86_64 ) + MTR_BUILD_THREAD=7 + ;; + *) + MTR_BUILD_THREAD=11 + ;; + esac + + export MTR_BUILD_THREAD + + make test VERBOSE=1 + + # The cmake build scripts don't provide any simple way to control the + # options for mysql-test-run, so ignore the make target and just call it + # manually. Nonstandard options chosen are: + # --force to continue tests after a failure + # no retries please + # skip tests that are listed in rh-skipped-tests.list + # avoid redundant test runs with --binlog-format=mixed + # increase timeouts to prevent unwanted failures during mass rebuilds + # todo: enable --ssl + pushd mysql-test + cp ../../mysql-test/rh-skipped-tests.list . + ./mtr \ + --mem --parallel=auto --force --retry=0 \ + --skip-test-list=rh-skipped-tests.list \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 + rm -rf var/* + popd +%endif %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ - -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : + -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post libs -p /sbin/ldconfig %post server %systemd_post mysqld.service -/bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post embedded -p /sbin/ldconfig +# Handle upgrading from SysV initscript to native systemd unit. +# We can tell if a SysV version of mysql was previously installed by +# checking to see if the initscript is present. +%triggerun server -- mysql-server +if [ -f /etc/rc.d/init.d/mysqld ]; then + # Save the current service runlevel info + # User must manually run systemd-sysv-convert --apply mysqld + # to migrate them to systemd targets + /usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : + + # Run these because the SysV package being removed won't do them + /sbin/chkconfig --del mysqld >/dev/null 2>&1 || : + /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : +fi %preun server %systemd_preun mysqld.service @@ -536,16 +565,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %postun server %systemd_postun_with_restart mysqld.service -%postun embedded -p /sbin/ldconfig - %files %doc README COPYING README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README.mysql-docs %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config +%{_bindir}/mysql_config-%{__isa_bits} +%{_bindir}/mysql_config_editor %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess @@ -558,32 +586,36 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_bindir}/mysqlslap %{_bindir}/my_print_defaults +%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* -%{_libdir}/mysql/mysql_config - %files libs %doc README COPYING README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # 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 %{_libdir}/mysql/libmysqlclient.so.* -/etc/ld.so.conf.d/* +%config(noreplace) /etc/ld.so.conf.d/* %files common +%dir %{_sysconfdir}/my.cnf.d %dir %{_datadir}/%{name} %{_datadir}/%{name}/english +%lang(bg) %{_datadir}/%{name}/bulgarian %lang(cs) %{_datadir}/%{name}/czech %lang(da) %{_datadir}/%{name}/danish %lang(nl) %{_datadir}/%{name}/dutch @@ -609,9 +641,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_datadir}/%{name}/charsets %files server -%doc support-files/*.cnf - -%{_bindir}/myisamchk +%doc README COPYING README.mysql-license +%{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack @@ -640,12 +671,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN - -%{_libdir}/mysql/mysqlbug - %{_libdir}/mysql/plugin -%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* @@ -660,12 +687,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/mysql_setpermission.1* %{_mandir}/man1/mysqltest.1* @@ -677,19 +701,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* +%{_datadir}/%{name}/dictionary.txt %{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/fill_help_tables.sql +%{_datadir}/%{name}/innodb_memcached_config.sql +%{_datadir}/%{name}/mysql_security_commands.sql %{_datadir}/%{name}/mysql_system_tables.sql %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql -%{_datadir}/mysql/errmsg-utf8.txt -%{_datadir}/mysql/fill_help_tables.sql -%{_datadir}/mysql/mysql_system_tables.sql -%{_datadir}/mysql/mysql_system_tables_data.sql -%{_datadir}/mysql/mysql_test_data_timezone.sql -%{_datadir}/mysql/my-*.cnf -%{_datadir}/mysql/config.*.ini - +%{_datadir}/%{name}/my-*.cnf %{_unitdir}/mysqld.service %{_libexecdir}/mysqld-prepare-db-dir %{_libexecdir}/mysqld-wait-ready @@ -701,6 +721,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel +%doc README COPYING README.mysql-license +%{_bindir}/mysql_config +%{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so @@ -708,10 +731,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %files embedded %doc README COPYING README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %{_libdir}/mysql/libmysqld.so.* %files embedded-devel +%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded @@ -719,16 +742,22 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysqltest_embedded.1* %files bench +%doc README COPYING README.mysql-license %{_datadir}/sql-bench %files test +%doc README COPYING README.mysql-license %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test - %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Oct 9 2013 Honza Horak 5.6.14-1 +- Update to MySQL 5.6.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html +- Incorporate changes done by Bjorn Munch + * Mon Sep 2 2013 Honza Horak 5.5.33-2 - Enhanced my.cnf to be the same as in mariadb Resolves: #1003115 @@ -820,10 +849,6 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris - Adjusting major soname number of libmysqlclient to avoid library name conflicts with mariadb -* Mon Mar 4 2013 Honza Horak 5.5.30-2 -- Renaming package mysql to MySQL to handle conflicting issues - with mariadb, which became default - * Tue Feb 12 2013 Honza Horak 5.5.30-1 - Update to MySQL 5.5.30, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh deleted file mode 100755 index bce04c6..0000000 --- a/filter-requires-mysql.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -/usr/lib/rpm/perl.req $* | \ - grep -v -e "perl(th" \ - -e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr" diff --git a/libmysql.version b/libmysql.version deleted file mode 100644 index d547b5d..0000000 --- a/libmysql.version +++ /dev/null @@ -1,148 +0,0 @@ -# symbols exported from mysql 5.1 -libmysqlclient_16 { - global: - _fini; - _init; - my_init; - myodbc_remove_escape; - mysql_affected_rows; - mysql_autocommit; - mysql_change_user; - mysql_character_set_name; - mysql_close; - mysql_commit; - mysql_data_seek; - mysql_debug; - mysql_dump_debug_info; - mysql_embedded; - mysql_eof; - mysql_errno; - mysql_error; - mysql_escape_string; - mysql_fetch_field; - mysql_fetch_field_direct; - mysql_fetch_fields; - mysql_fetch_lengths; - mysql_fetch_row; - mysql_field_count; - mysql_field_seek; - mysql_field_tell; - mysql_free_result; - mysql_get_character_set_info; - mysql_get_client_info; - mysql_get_client_version; - mysql_get_host_info; - mysql_get_parameters; - mysql_get_proto_info; - mysql_get_server_info; - mysql_get_server_version; - mysql_get_ssl_cipher; - mysql_hex_string; - mysql_info; - mysql_init; - mysql_insert_id; - mysql_kill; - mysql_list_dbs; - mysql_list_fields; - mysql_list_processes; - mysql_list_tables; - mysql_more_results; - mysql_next_result; - mysql_num_fields; - mysql_num_rows; - mysql_options; - mysql_ping; - mysql_query; - mysql_read_query_result; - mysql_real_connect; - mysql_real_escape_string; - mysql_real_query; - mysql_refresh; - mysql_rollback; - mysql_row_seek; - mysql_row_tell; - mysql_select_db; - mysql_send_query; - mysql_server_end; - mysql_server_init; - mysql_set_character_set; - mysql_set_local_infile_default; - mysql_set_local_infile_handler; - mysql_set_server_option; - mysql_shutdown; - mysql_sqlstate; - mysql_ssl_set; - mysql_stat; - mysql_stmt_affected_rows; - mysql_stmt_attr_get; - mysql_stmt_attr_set; - mysql_stmt_bind_param; - mysql_stmt_bind_result; - mysql_stmt_close; - mysql_stmt_data_seek; - mysql_stmt_errno; - mysql_stmt_error; - mysql_stmt_execute; - mysql_stmt_fetch; - mysql_stmt_fetch_column; - mysql_stmt_field_count; - mysql_stmt_free_result; - mysql_stmt_init; - mysql_stmt_insert_id; - mysql_stmt_num_rows; - mysql_stmt_param_count; - mysql_stmt_param_metadata; - mysql_stmt_prepare; - mysql_stmt_reset; - mysql_stmt_result_metadata; - mysql_stmt_row_seek; - mysql_stmt_row_tell; - mysql_stmt_send_long_data; - mysql_stmt_sqlstate; - mysql_stmt_store_result; - mysql_store_result; - mysql_thread_end; - mysql_thread_id; - mysql_thread_init; - mysql_thread_safe; - mysql_use_result; - mysql_warning_count; -# These are documented in Paul DuBois' MySQL book, so we treat them as part -# of the de-facto API. - free_defaults; - handle_options; - load_defaults; - my_print_help; -# This isn't really documented anywhere, but it seems to be part of the -# de-facto API as well. We're not going to export the deprecated version -# make_scrambled_password, however. - my_make_scrambled_password; -# This really shouldn't be exported, but some applications use it as a -# workaround for inadequate threading support; see bug #846602 - THR_KEY_mysys; - local: - *; -}; -# symbols added in mysql 5.5 -libmysqlclient_18 { - global: - mysql_client_find_plugin; - mysql_client_register_plugin; - mysql_load_plugin; - mysql_load_plugin_v; - mysql_plugin_options; - mysql_stmt_next_result; -# -# Ideally the following symbols wouldn't be exported, but various applications -# require them. We limit the namespace damage by prefixing mysql_ -# (see mysql-dubious-exports.patch), which means the symbols are not present -# in libmysqlclient_16. -# -# mysql-connector-odbc requires these - mysql_default_charset_info; - mysql_get_charset; - mysql_get_charset_by_csname; - mysql_net_realloc; -# PHP's mysqli.so requires this (via the ER() macro) - mysql_client_errors; -}; diff --git a/my.cnf b/my.cnf index ac882ac..1df1f70 100644 --- a/my.cnf +++ b/my.cnf @@ -5,23 +5,13 @@ socket=/var/lib/mysql/mysql.sock symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, -# customize your systemd unit file for mysqld/mariadb according to the +# customize your systemd unit file for mysqld according to the # instructions in http://fedoraproject.org/wiki/Systemd -# Currently, there are mariadb and community-mysql packages in Fedora. -# This particular config file is included in respective RPMs of both of them, -# so the following settings are general and will be also used by both of them. -# Otherwise the RPMs would be in conflict. -# Settings for particular implementations like MariaDB are then -# defined in appropriate sections; for MariaDB server in [mariadb] section in -# /etc/my.cnf.d/server.cnf (part of mariadb-server). -# It doesn't matter that we set these settings only for [mysqld] here, -# because they will be read and used in mysqld_safe as well. +[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid -[mysqld_safe] - # # include all files from the config directory # diff --git a/my_config.h b/my_config.h index 02baa3d..0672f49 100644 --- a/my_config.h +++ b/my_config.h @@ -31,3 +31,4 @@ #elif defined(__aarch64__) #include "my_config_aarch64.h" #endif + diff --git a/mysql-5.6.10-rpmlintrc b/mysql-5.6.10-rpmlintrc new file mode 100644 index 0000000..dfcdf39 --- /dev/null +++ b/mysql-5.6.10-rpmlintrc @@ -0,0 +1,48 @@ +# Filtered out until upstream fixes them +# Upstream bug: http://bugs.mysql.com/68518 +addFilter("incorrect-fsf-address") + +# Done to avoid _prefix/lib64/tmpfiles.d +addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d") + +# Keeping the old summary for now +addFilter("W: name-repeated-in-summary C MySQL") + +# Spellchecked +addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti") +addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark") +addFilter("W: spelling-error Summary(en_US) embeddable -> embedded") +addFilter("W: spelling-error.*embeddable -> embedded") + +# As long as the manual is part of the original tarball, we have do to +# this +addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz") + +# Leave the logfile where it is for now +addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql") +addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql") +addFilter("E: non-ghost-file /var/log/mysqld.log") +addFilter("E: zero-length /var/log/mysqld.log") + +addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld") + +# Hidden files and zero lenght files is normal for some tests +addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf") +addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def") +addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD") +addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD") +addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list") +addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list") + +# debuginfo bug? +addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777") + +# mysql-config *script* in lib +addFilter("W: only-non-binary-in-usr-lib") + +# missing +addFilter("W: no-manual-page-for-binary my_safe_process") + +# cluster is gone +addFilter("W: obsolete-not-provided mysql-cluster") + diff --git a/MySQL.tmpfiles.d b/mysql.tmpfiles.d similarity index 100% rename from MySQL.tmpfiles.d rename to mysql.tmpfiles.d diff --git a/mysql_config.sh b/mysql_config.sh new file mode 100644 index 0000000..4849e95 --- /dev/null +++ b/mysql_config.sh @@ -0,0 +1,26 @@ +#! /bin/bash +# +# Wrapper script for mysql_config to support multilib +# +# This command respects setarch + +bits=$(rpm --eval %__isa_bits) + +case $bits in + 32|64) status=known ;; + *) status=unknown ;; +esac + +if [ "$status" = "unknown" ] ; then + echo "$0: error: command 'rpm --eval %__isa_bits' returned unknown value: $bits" + exit 1 +fi + + +if [ -x /usr/bin/mysql_config-$bits ] ; then + /usr/bin/mysql_config-$bits "$@" +else + echo "$0: error: needed binary: /usr/bin/mysql_config-$bits is missing" + exit 1 +fi + diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index a6ae9bf..6fb816c 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -6,3 +6,9 @@ perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm + +# These tests fail in Fedora rawhide scratch build + +innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1' +main.ctype_ldml : Unknown collation: 'utf8_5624_1' +perfschema.setup_objects : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 32f477c..8d92952 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -11,4 +11,3 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 innodb.innodb : bug#60155 has platform-dependent results - diff --git a/sources b/sources index 7c848fa..1a61e68 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eca726ea3457ac885f31aeeee65f9ba3 mysql-5.5.33-nodocs.tar.xz +7da75f4e0a3e1fdc62bfe7f12b85a6d0 mysql-5.6.14-nodocs.tar.xz From bd92dc30da24ec11a152375d95195a1d118d50f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 9 Oct 2013 17:55:52 +0200 Subject: [PATCH 268/616] Turn on tests --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index dd0dc2e..7311e87 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,7 +1,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # set to 1 to enable %global with_shared_lib_major_hack 1 From 9d7b5566cd3e27f6bbf2719443d95f79cf5608f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 10 Oct 2013 07:42:48 +0200 Subject: [PATCH 269/616] Re-created -man-pages.patch --- community-mysql-man-pages.patch | 979 ++++++++++++++++---------------- 1 file changed, 477 insertions(+), 502 deletions(-) diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index fbed073..0e85ac4 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -2,10 +2,291 @@ # ===== mysqladmin manual page ===== -diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 ---- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 -+++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 -@@ -689,6 +689,21 @@ Compress all information sent between th +diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +--- mysql-5.6.14/man/mysql.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysql.1 2013-10-10 07:40:19.743113287 +0200 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -370,6 +371,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: connect-timeout option ++.\" connect-timeout option: mysql ++\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR ++.sp ++Set the time for connection timeout in seconds\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: database option + .\" database option: mysql + \fB\-\-database=\fR\fB\fIdb_name\fR\fR, +@@ -481,6 +497,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: defaults-file option ++.\" defaults-file option: mysql ++\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: defaults-extra-file option ++.\" defaults-extra-file option: mysql ++\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: delimiter option + .\" delimiter option: mysql + \fB\-\-delimiter=\fR\fB\fIstr\fR\fR +@@ -696,6 +743,36 @@ has no effect if the server does not als + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: max-allowed-packet option ++.\" max-allowed-packet option: mysql ++\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR ++.sp ++Specify the maximum packet length to send to or recieve form server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: max-join-size option ++.\" max-join-size option: mysql ++\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR ++.sp ++Set the automatic limit for rows in a join when using \fB\-\-safe\-updates\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: named-commands option + .\" named-commands option: mysql + \fB\-\-named\-commands\fR, +@@ -721,13 +798,28 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: net-buffer-length option ++.\" net-buffer-length option: mysql ++\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR ++.sp ++Set the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-auto-rehash option + .\" no-auto-rehash option: mysql + \fB\-\-no\-auto\-rehash\fR, + \fB\-A\fR + .sp + This has the same effect as +-\fB\-skip\-auto\-rehash\fR\&. See the description for ++\fB\-\-skip\-auto\-rehash\fR\&. See the description for + \fB\-\-auto\-rehash\fR\&. + .RE + .sp +@@ -755,6 +847,21 @@ Do not beep when errors occur\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: no-defaults option ++.\" no-defaults option: mysql ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: one-database option + .\" one-database option: mysql + \fB\-\-one\-database\fR, +@@ -963,6 +1070,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: print-defaults option ++.\" print-defaults option: mysql ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: prompt option + .\" prompt option: mysql + \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR +@@ -1172,6 +1294,36 @@ and renamed in 5\&.6\&.7 to + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: select-limit option ++.\" select-limit option: mysql ++\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR ++.sp ++Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: server-arg option ++.\" server-arg option: mysql ++\fB\-\-server\-arg=\fR\fB\fIname\fR\fR ++.sp ++Send \fB\fIname\fR\fR as a parameter to the embedded server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: show-warnings option + .\" show-warnings option: mysql + \fB\-\-show\-warnings\fR +@@ -1225,6 +1377,21 @@ option\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: skip-auto-rehash option ++.\" skip-auto-rehash option: mysql ++\fB\-\-skip\-auto\-rehash\fR ++.sp ++Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: skip-column-names option + .\" skip-column-names option: mysql + \fB\-\-skip\-column\-names\fR, +@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR + .sp + Options that begin with +-\fB\-\-ssl\fR ++\fB\-\-ssl\fR, + specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See + Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. + .RE +@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR ++shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR + + + +@@ -3369,16 +3536,16 @@ statements that probably need to examine + .RE + .PP + To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the +-\fB\-\-select_limit\fR ++\fB\-\-select\-limit\fR + and +-\fB\-\-max_join_size\fR ++\fB\-\-max\-join\-size\fR + options: + .sp + .if n \{\ + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR ++shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR + .fi + .if n \{\ + .RE +diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +--- mysql-5.6.14/man/mysqladmin.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqladmin.1 2013-10-10 07:40:19.739113363 +0200 +@@ -655,6 +655,21 @@ Compress all information sent between th .sp -1 .IP \(bu 2.3 .\} @@ -27,7 +308,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: count option .\" count option: mysqladmin \fB\-\-count=\fR\fB\fIN\fR\fR, -@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi +@@ -757,6 +772,37 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -65,7 +346,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: enable-cleartext-plugin option .\" enable-cleartext-plugin option: mysqladmin \fB\-\-enable\-cleartext\-plugin\fR -@@ -861,6 +907,21 @@ Suppress the warning beep that is emitte +@@ -825,6 +871,21 @@ Suppress the warning beep that is emitte .sp -1 .IP \(bu 2.3 .\} @@ -87,7 +368,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: password option .\" password option: mysqladmin \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -944,6 +1005,21 @@ The TCP/IP port number to use for the co +@@ -906,6 +967,21 @@ The TCP/IP port number to use for the co .sp -1 .IP \(bu 2.3 .\} @@ -109,7 +390,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: protocol option .\" protocol option: mysqladmin \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR -@@ -973,6 +1049,21 @@ command\&. +@@ -935,6 +1011,21 @@ command\&. .RE .sp .RS 4 @@ -131,13 +412,10 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlbinlog manual page ===== - -diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 ---- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 -+++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 -@@ -599,6 +599,7 @@ privilege\&. +diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 +--- mysql-5.6.14/man/mysqlbinlog.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlbinlog.1 2013-10-10 07:40:19.740113344 +0200 +@@ -629,6 +629,7 @@ Do not display any of the groups listed \fB\-F\fR .sp Read binary log files even if they are open or were not closed properly\&. @@ -145,7 +423,7 @@ diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 .RE .sp .RS 4 -@@ -708,6 +709,22 @@ entries in the log\&. +@@ -736,6 +737,22 @@ or any other MySQL program\&. .RE .sp .RS 4 @@ -168,178 +446,10 @@ diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlconfig manual page ===== - -diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 ---- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 -+++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 -@@ -176,6 +176,22 @@ The default Unix socket file, defined wh - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql_config: variable option -+.\" variable option: mysql_config -+\fB\-\-variable=VAR\fR -+.sp -+Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of -+`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql_config: version option - .\" version option: mysql_config - \fB\-\-version\fR - -# ===== mysqldump manual page ===== - -diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 ---- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 -+++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 -@@ -611,7 +611,8 @@ Compress all information sent between th - .\} - .\" mysqldump: create-options option - .\" create-options option: mysqldump --\fB\-\-create\-options\fR -+\fB\-\-create\-options\fR, -+\fB\-a\fR - .sp - Include all MySQL\-specific table options in the - CREATE TABLE -@@ -738,6 +739,38 @@ latin1\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: defaults-extra-file option -+.\" defaults-extra-file option: mysqldump -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: defaults-file option -+.\" defaults-file option: mysqldump -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: delayed-insert option - .\" delayed-insert option: mysqldump - \fB\-\-delayed\-insert\fR -@@ -1400,6 +1433,36 @@ to point the slave to the correct master - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: max-allowed-packet option -+.\" max-allowed-packet option: mysqldump -+\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR -+.sp -+Sets the maximum packet length to send to or recieve from server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: net-buffer-length option -+.\" net-buffer-length option: mysqldump -+\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR -+.sp -+Sets the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: no-autocommit option - .\" no-autocommit option: mysqldump - \fB\-\-no\-autocommit\fR -@@ -1500,6 +1563,21 @@ statement for the table (for example, to - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: no-defaults option -+.\" no-defaults option: mysqldump -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: no-set-names option - .\" no-set-names option: mysqldump - \fB\-\-no\-set\-names\fR, -@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: print-defaults option -+.\" print-defaults option: mysqldump -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must begiven as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} - -# ===== mysqlcheck manual page ===== - -diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 ---- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 -+++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 -@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 +--- mysql-5.6.14/man/mysqlcheck.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlcheck.1 2013-10-10 07:40:19.741113325 +0200 +@@ -488,6 +488,38 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -378,7 +488,7 @@ diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 .\" mysqlcheck: extended option .\" extended option: mysqlcheck \fB\-\-extended\fR, -@@ -622,6 +654,21 @@ operation\&. This finds only 99\&.99% of +@@ -620,6 +652,21 @@ operation\&. This finds only 99\&.99% of .sp -1 .IP \(bu 2.3 .\} @@ -400,7 +510,7 @@ diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 .\" mysqlcheck: optimize option .\" optimize option: mysqlcheck \fB\-\-optimize\fR, -@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co +@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -423,13 +533,169 @@ diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlimport manual page ===== - -diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 ---- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 -+++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 -@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 +diff -up mysql-5.6.14/man/mysql_config.1.manpages mysql-5.6.14/man/mysql_config.1 +--- mysql-5.6.14/man/mysql_config.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysql_config.1 2013-10-10 07:40:19.740113344 +0200 +@@ -195,6 +195,22 @@ The default Unix socket file, defined wh + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql_config: variable option ++.\" variable option: mysql_config ++\fB\-\-variable=VAR\fR ++.sp ++Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of ++`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql_config: version option + .\" version option: mysql_config + \fB\-\-version\fR +diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 +--- mysql-5.6.14/man/mysqldump.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqldump.1 2013-10-10 07:40:19.741113325 +0200 +@@ -1237,7 +1237,8 @@ statements that include column names\&. + .\} + .\" mysqldump: create-options option + .\" create-options option: mysqldump +-\fB\-\-create\-options\fR ++\fB\-\-create\-options\fR, ++\fB\-a\fR + .sp + Include all MySQL\-specific table options in the + CREATE TABLE +@@ -1789,6 +1790,38 @@ transactional options, primarily for the + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: defaults-extra-file option ++.\" defaults-extra-file option: mysqldump ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: defaults-file option ++.\" defaults-file option: mysqldump ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: delayed-insert option + .\" delayed-insert option: mysqldump + \fB\-\-delayed\-insert\fR +@@ -2071,6 +2104,36 @@ at the end of the option list\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: max-allowed-packet option ++.\" max-allowed-packet option: mysqldump ++\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR ++.sp ++Sets the maximum packet length to send to or recieve from server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: net-buffer-length option ++.\" net-buffer-length option: mysqldump ++\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR ++.sp ++Sets the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-autocommit option + .\" no-autocommit option: mysqldump + \fB\-\-no\-autocommit\fR +@@ -2171,6 +2234,21 @@ is on by default\&. Thus you rarely if e + .el \{\ + .sp -1 + .IP \(bu 2.3 ++.\" mysqldump: no-defaults option ++.\" no-defaults option: mysqldump ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\} + The + \fB\-\-compact\fR +@@ -2348,6 +2426,21 @@ is on by default\&.) + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: print-defaults option ++.\" print-defaults option: mysqldump ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must begiven as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} +diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 +--- mysql-5.6.14/man/mysqlimport.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlimport.1 2013-10-10 07:40:19.742113306 +0200 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -473,7 +739,7 @@ diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 .sp Empty the table before importing the text file\&. .RE -@@ -449,6 +481,22 @@ MERGE)\&. +@@ -443,6 +475,22 @@ MERGE)\&. .sp -1 .IP \(bu 2.3 .\} @@ -496,7 +762,7 @@ diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 .\" mysqlimport: password option .\" password option: mysqlimport \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co +@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -519,297 +785,10 @@ diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysql manual page ===== - -diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 ---- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 -+++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 -@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -311,6 +312,21 @@ Compress all information sent between th - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: connect-timeout option -+.\" connect-timeout option: mysql -+\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR -+.sp -+Set the time for connection timeout in seconds\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: database option - .\" database option: mysql - \fB\-\-database=\fR\fB\fIdb_name\fR\fR, -@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: defaults-file option -+.\" defaults-file option: mysql -+\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: defaults-extra-file option -+.\" defaults-extra-file option: mysql -+\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: delimiter option - .\" delimiter option: mysql - \fB\-\-delimiter=\fR\fB\fIstr\fR\fR -@@ -623,6 +670,36 @@ has no effect if the server does not als - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: max-allowed-packet option -+.\" max-allowed-packet option: mysql -+\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR -+.sp -+Specify the maximum packet length to send to or recieve form server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: max-join-size option -+.\" max-join-size option: mysql -+\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR -+.sp -+Set the automatic limit for rows in a join when using \fB\-\-safe\-updates\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: named-commands option - .\" named-commands option: mysql - \fB\-\-named\-commands\fR, -@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: net-buffer-length option -+.\" net-buffer-length option: mysql -+\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR -+.sp -+Set the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-auto-rehash option - .\" no-auto-rehash option: mysql - \fB\-\-no\-auto\-rehash\fR, - \fB\-A\fR - .sp - This has the same effect as --\fB\-skip\-auto\-rehash\fR\&. See the description for -+\fB\-\-skip\-auto\-rehash\fR\&. See the description for - \fB\-\-auto\-rehash\fR\&. - .RE - .sp -@@ -682,6 +774,21 @@ Do not beep when errors occur\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: no-defaults option -+.\" no-defaults option: mysql -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-named-commands option - .\" no-named-commands option: mysql - \fB\-\-no\-named\-commands\fR, -@@ -951,6 +1058,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: print-defaults option -+.\" print-defaults option: mysql -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: prompt option - .\" prompt option: mysql - \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR -@@ -1114,6 +1236,36 @@ Do not send passwords to the server in o - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: select-limit option -+.\" select-limit option: mysql -+\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR -+.sp -+Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: server-arg option -+.\" server-arg option: mysql -+\fB\-\-server\-arg=\fR\fB\fIname\fR\fR -+.sp -+Send \fB\fIname\fR\fR as a parameter to the embedded server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: show-warnings option - .\" show-warnings option: mysql - \fB\-\-show\-warnings\fR -@@ -1166,6 +1318,21 @@ option\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: skip-auto-rehash option -+.\" skip-auto-rehash option: mysql -+\fB\-\-skip\-auto\-rehash\fR -+.sp -+Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: skip-column-names option - .\" skip-column-names option: mysql - \fB\-\-skip\-column\-names\fR, -@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, - \fB\-\-ssl*\fR - .sp - Options that begin with --\fB\-\-ssl\fR -+\fB\-\-ssl\fR, - specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. - .RE -@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac - .RS 4 - .\} - .nf --shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR -+shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR - - - -@@ -2963,16 +3130,16 @@ statements that probably need to examine - .RE - .PP - To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the --\fB\-\-select_limit\fR -+\fB\-\-select\-limit\fR - and --\fB\-\-max_join_size\fR -+\fB\-\-max\-join\-size\fR - options: - .sp - .if n \{\ - .RS 4 - .\} - .nf --shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR -+shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR - .fi - .if n \{\ - .RE - -# ===== mysqlshow manual page ===== - -diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 ---- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 -+++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 -@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I +diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 +--- mysql-5.6.14/man/mysqlshow.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlshow.1 2013-10-10 07:40:19.743113287 +0200 +@@ -173,7 +173,8 @@ This option is supported beginning with .\} .\" mysqlshow: character-sets-dir option .\" character-sets-dir option: mysqlshow @@ -819,7 +798,7 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 +@@ -305,6 +306,38 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -858,7 +837,7 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .\" mysqlshow: host option .\" host option: mysqlshow \fB\-\-host=\fR\fB\fIhost_name\fR\fR, -@@ -339,6 +372,22 @@ Show table indexes\&. +@@ -337,6 +370,22 @@ Show table indexes\&. .sp -1 .IP \(bu 2.3 .\} @@ -881,7 +860,7 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .\" mysqlshow: password option .\" password option: mysqlshow \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co +@@ -413,6 +462,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -904,13 +883,10 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlslap manual page ===== - -diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 ---- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 -+++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 -@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 +diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 +--- mysql-5.6.14/man/mysqlslap.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlslap.1 2013-10-10 07:40:19.744113269 +0200 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 .el \{\ .sp -1 .IP \(bu 2.3 @@ -949,7 +925,7 @@ diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 .\} .\" mysqlslap: delimiter option .\" delimiter option: mysqlslap -@@ -643,6 +675,37 @@ The number of times to run the tests\&. +@@ -643,6 +675,37 @@ from dropping any schema it creates duri .sp -1 .IP \(bu 2.3 .\} @@ -1010,4 +986,3 @@ diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - From 2a50e07d795a4d5cbf08660b0f502b0c350033a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 10:49:46 +0200 Subject: [PATCH 270/616] Sync my.cnf with mariadb --- community-mysql.spec | 6 +++++- my.cnf | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7311e87..82bbd0d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -753,6 +753,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Oct 11 2013 Honza Horak 5.6.14-2 +- Fix my.cnf to not conflict with mariadb + Resolves: #1003115 + * Wed Oct 9 2013 Honza Horak 5.6.14-1 - Update to MySQL 5.6.14, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html diff --git a/my.cnf b/my.cnf index 1df1f70..ac882ac 100644 --- a/my.cnf +++ b/my.cnf @@ -5,13 +5,23 @@ socket=/var/lib/mysql/mysql.sock symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, -# customize your systemd unit file for mysqld according to the +# customize your systemd unit file for mysqld/mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd -[mysqld_safe] +# Currently, there are mariadb and community-mysql packages in Fedora. +# This particular config file is included in respective RPMs of both of them, +# so the following settings are general and will be also used by both of them. +# Otherwise the RPMs would be in conflict. +# Settings for particular implementations like MariaDB are then +# defined in appropriate sections; for MariaDB server in [mariadb] section in +# /etc/my.cnf.d/server.cnf (part of mariadb-server). +# It doesn't matter that we set these settings only for [mysqld] here, +# because they will be read and used in mysqld_safe as well. log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid +[mysqld_safe] + # # include all files from the config directory # From 8cbc4e239c34cf5eb571d6331dc58326d83ddc50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 10 Dec 2013 13:28:18 +0100 Subject: [PATCH 271/616] Update to MySQL 5.6.15 --- .gitignore | 1 + community-mysql-5.6.13-mtr-secure-file.patch | 115 -------- community-mysql-file-contents.patch | 27 +- community-mysql-man-pages.patch | 288 +++++++++---------- community-mysql-string-overflow.patch | 38 --- community-mysql.spec | 22 +- sources | 2 +- 7 files changed, 161 insertions(+), 332 deletions(-) delete mode 100644 community-mysql-5.6.13-mtr-secure-file.patch delete mode 100644 community-mysql-string-overflow.patch diff --git a/.gitignore b/.gitignore index bd19720..2249bb4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /mysql-5.5.32-nodocs.tar.xz /mysql-5.5.33-nodocs.tar.xz /mysql-5.6.14-nodocs.tar.xz +/mysql-5.6.15.tar.gz diff --git a/community-mysql-5.6.13-mtr-secure-file.patch b/community-mysql-5.6.13-mtr-secure-file.patch deleted file mode 100644 index fa3cf8e..0000000 --- a/community-mysql-5.6.13-mtr-secure-file.patch +++ /dev/null @@ -1,115 +0,0 @@ ------------------------------------------------------------- -revno: 5459 -committer: horst.hunger@oracle.com -branch nick: mysql-trunk -timestamp: Tue 2013-04-02 11:24:05 +0200 -message: - Changes concerning secure-file-prev. -diff: -=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 73c680d..d1ca18e 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -1,26 +1,17 @@ -Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which -breaks at least two packaging commandments, so we put them into $libdir -instead. That means we have to hack the file_contents regression test -to know about this. - -Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 - - -diff -Naur mysql-5.5.21.orig/mysql-test/t/file_contents.test mysql-5.5.21/mysql-test/t/file_contents.test ---- mysql-5.5.21.orig/mysql-test/t/file_contents.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/file_contents.test 2012-02-27 17:18:57.716087918 -0500 -@@ -31,6 +31,15 @@ - } else { - # RedHat: version number in directory name - $dir_docs = glob "$dir_docs/MySQL-server*"; -+ +diff -up mysql-5.6.15/mysql-test/t/file_contents.test.p19 mysql-5.6.15/mysql-test/t/file_contents.test +--- mysql-5.6.15/mysql-test/t/file_contents.test.p19 2013-12-09 18:44:48.425892516 +0100 ++++ mysql-5.6.15/mysql-test/t/file_contents.test 2013-12-09 18:48:02.247150032 +0100 +@@ -39,6 +39,14 @@ if ($dir_bin =~ m|/usr/|) { + # If not it might be ULN so try that + $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; + } + # All the above is entirely wacko, because these files are not docs; + # they should be kept in libdir instead. mtr does not provide a nice + # way to find libdir though, so we have to kluge it like this: + if (-d "/usr/lib64/mysql") { -+ $dir_docs = "/usr/lib64/mysql"; ++ $dir_docs = "/usr/lib64/mysql"; + } else { -+ $dir_docs = "/usr/lib/mysql"; ++ $dir_docs = "/usr/lib/mysql"; + } } } else { diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index 0e85ac4..60e6f80 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -1,21 +1,23 @@ +Upstream bug: http://bugs.mysql.com/bug.php?id=69342 + # Amalgamation of patches to various mysql man pages # ===== mysqladmin manual page ===== -diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 ---- mysql-5.6.14/man/mysql.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysql.1 2013-10-10 07:40:19.743113287 +0200 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, +diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +--- mysql-5.6.15/man/mysql.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysql.1 2013-12-10 12:28:29.055463911 +0100 +@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .IP \(bu 2.3 + .\} + .\" mysql: help option.\" help option: mysql\fB\-\-help\fR, -\fB\-?\fR +\fB\-?\fR, +\fB\-I\fR .sp Display a help message and exit\&. .RE -@@ -370,6 +371,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio +@@ -346,6 +347,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio .sp -1 .IP \(bu 2.3 .\} @@ -34,10 +36,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: database option - .\" database option: mysql - \fB\-\-database=\fR\fB\fIdb_name\fR\fR, -@@ -481,6 +497,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .\" mysql: database option.\" database option: mysql\fB\-\-database=\fR\fB\fIdb_name\fR\fR, + \fB\-D \fR\fB\fIdb_name\fR\fR + .sp +@@ -445,6 +461,37 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -72,10 +74,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: delimiter option - .\" delimiter option: mysql - \fB\-\-delimiter=\fR\fB\fIstr\fR\fR -@@ -696,6 +743,36 @@ has no effect if the server does not als + .\" mysql: delimiter option.\" delimiter option: mysql\fB\-\-delimiter=\fR\fB\fIstr\fR\fR + .sp + Set the statement delimiter\&. The default is the semicolon character (\(lq;\(rq)\&. +@@ -636,6 +683,36 @@ has no effect if the server does not als .sp -1 .IP \(bu 2.3 .\} @@ -109,10 +111,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: named-commands option - .\" named-commands option: mysql - \fB\-\-named\-commands\fR, -@@ -721,13 +798,28 @@ the section called \(lqMYSQL COMMANDS\(r + .\" mysql: named-commands option.\" named-commands option: mysql\fB\-\-named\-commands\fR, + \fB\-G\fR + .sp +@@ -659,11 +736,26 @@ the section called \(lqMYSQL COMMANDS\(r .sp -1 .IP \(bu 2.3 .\} @@ -131,9 +133,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: no-auto-rehash option - .\" no-auto-rehash option: mysql - \fB\-\-no\-auto\-rehash\fR, + .\" mysql: no-auto-rehash option.\" no-auto-rehash option: mysql\fB\-\-no\-auto\-rehash\fR, \fB\-A\fR .sp This has the same effect as @@ -142,7 +142,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 \fB\-\-auto\-rehash\fR\&. .RE .sp -@@ -755,6 +847,21 @@ Do not beep when errors occur\&. +@@ -689,6 +781,21 @@ Do not beep when errors occur\&. .sp -1 .IP \(bu 2.3 .\} @@ -161,10 +161,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: one-database option - .\" one-database option: mysql - \fB\-\-one\-database\fR, -@@ -963,6 +1070,21 @@ The TCP/IP port number to use for the co + .\" mysql: one-database option.\" one-database option: mysql\fB\-\-one\-database\fR, + \fB\-o\fR + .sp +@@ -884,6 +991,21 @@ The TCP/IP port number to use for the co .sp -1 .IP \(bu 2.3 .\} @@ -183,10 +183,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: prompt option - .\" prompt option: mysql - \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR -@@ -1172,6 +1294,36 @@ and renamed in 5\&.6\&.7 to + .\" mysql: prompt option.\" prompt option: mysql\fB\-\-prompt=\fR\fB\fIformat_str\fR\fR + .sp + Set the prompt to the specified format\&. The default is +@@ -1075,6 +1197,36 @@ and renamed in 5\&.6\&.7 to .sp -1 .IP \(bu 2.3 .\} @@ -220,10 +220,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: show-warnings option - .\" show-warnings option: mysql - \fB\-\-show\-warnings\fR -@@ -1225,6 +1377,21 @@ option\&. + .\" mysql: show-warnings option.\" show-warnings option: mysql\fB\-\-show\-warnings\fR + .sp + Cause warnings to be shown after each statement if there are any\&. This option applies to interactive and batch mode\&. +@@ -1122,6 +1274,21 @@ option\&. .sp -1 .IP \(bu 2.3 .\} @@ -242,11 +242,11 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: skip-column-names option - .\" skip-column-names option: mysql - \fB\-\-skip\-column\-names\fR, -@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, - \fB\-\-ssl*\fR + .\" mysql: skip-column-names option.\" skip-column-names option: mysql\fB\-\-skip\-column\-names\fR, + \fB\-N\fR + .sp +@@ -1168,7 +1335,7 @@ localhost, the Unix socket file to use, + .\" mysql: SSL options.\" SSL options: mysql\fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR @@ -254,7 +254,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac +@@ -1326,7 +1493,7 @@ The XML output also uses an XML namespac .RS 4 .\} .nf @@ -263,7 +263,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 -@@ -3369,16 +3536,16 @@ statements that probably need to examine +@@ -3188,16 +3355,16 @@ statements that probably need to examine .RE .PP To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the @@ -283,10 +283,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 ---- mysql-5.6.14/man/mysqladmin.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqladmin.1 2013-10-10 07:40:19.739113363 +0200 -@@ -655,6 +655,21 @@ Compress all information sent between th +diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +--- mysql-5.6.15/man/mysqladmin.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqladmin.1 2013-12-10 13:05:23.105401084 +0100 +@@ -639,6 +639,21 @@ Compress all information sent between th .sp -1 .IP \(bu 2.3 .\} @@ -305,10 +305,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: count option - .\" count option: mysqladmin - \fB\-\-count=\fR\fB\fIN\fR\fR, -@@ -757,6 +772,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .\" mysqladmin: count option.\" count option: mysqladmin\fB\-\-count=\fR\fB\fIN\fR\fR, + \fB\-c \fR\fB\fIN\fR\fR + .sp +@@ -729,6 +744,37 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -343,10 +343,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: enable-cleartext-plugin option - .\" enable-cleartext-plugin option: mysqladmin - \fB\-\-enable\-cleartext\-plugin\fR -@@ -825,6 +871,21 @@ Suppress the warning beep that is emitte + .\" mysqladmin: enable-cleartext-plugin option.\" enable-cleartext-plugin option: mysqladmin\fB\-\-enable\-cleartext\-plugin\fR + .sp + Enable the +@@ -789,6 +835,21 @@ Suppress the warning beep that is emitte .sp -1 .IP \(bu 2.3 .\} @@ -365,10 +365,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: password option - .\" password option: mysqladmin - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -906,6 +967,21 @@ The TCP/IP port number to use for the co + .\" mysqladmin: password option.\" password option: mysqladmin\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +@@ -862,6 +923,21 @@ The TCP/IP port number to use for the co .sp -1 .IP \(bu 2.3 .\} @@ -387,10 +387,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: protocol option - .\" protocol option: mysqladmin - \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR -@@ -935,6 +1011,21 @@ command\&. + .\" mysqladmin: protocol option.\" protocol option: mysqladmin\fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR + .sp + The connection protocol to use for connecting to the server\&. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want\&. For details on the permissible values, see +@@ -938,6 +1014,21 @@ localhost, the Unix socket file to use, .RE .sp .RS 4 @@ -412,10 +412,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 ---- mysql-5.6.14/man/mysqlbinlog.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlbinlog.1 2013-10-10 07:40:19.740113344 +0200 -@@ -629,6 +629,7 @@ Do not display any of the groups listed +diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 +--- mysql-5.6.15/man/mysqlbinlog.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlbinlog.1 2013-12-09 19:08:52.750074832 +0100 +@@ -602,6 +602,7 @@ Do not display any of the groups listed \fB\-F\fR .sp Read binary log files even if they are open or were not closed properly\&. @@ -423,7 +423,7 @@ diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 .RE .sp .RS 4 -@@ -736,6 +737,22 @@ or any other MySQL program\&. +@@ -715,6 +716,22 @@ entries in the log\&. .RE .sp .RS 4 @@ -446,10 +446,10 @@ diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 ---- mysql-5.6.14/man/mysqlcheck.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlcheck.1 2013-10-10 07:40:19.741113325 +0200 -@@ -488,6 +488,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 +--- mysql-5.6.15/man/mysqlcheck.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlcheck.1 2013-12-10 13:02:43.841276619 +0100 +@@ -456,6 +456,38 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -485,10 +485,10 @@ diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: extended option - .\" extended option: mysqlcheck - \fB\-\-extended\fR, -@@ -620,6 +652,21 @@ operation\&. This finds only 99\&.99% of + .\" mysqlcheck: extended option.\" extended option: mysqlcheck\fB\-\-extended\fR, + \fB\-e\fR + .sp +@@ -572,6 +604,21 @@ operation\&. This finds only 99\&.99% of .sp -1 .IP \(bu 2.3 .\} @@ -507,10 +507,10 @@ diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: optimize option - .\" optimize option: mysqlcheck - \fB\-\-optimize\fR, -@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co + .\" mysqlcheck: optimize option.\" optimize option: mysqlcheck\fB\-\-optimize\fR, + \fB\-o\fR + .sp +@@ -712,6 +759,22 @@ Silent mode\&. Print only error messages .RE .sp .RS 4 @@ -533,10 +533,10 @@ diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysql_config.1.manpages mysql-5.6.14/man/mysql_config.1 ---- mysql-5.6.14/man/mysql_config.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysql_config.1 2013-10-10 07:40:19.740113344 +0200 -@@ -195,6 +195,22 @@ The default Unix socket file, defined wh +diff -up mysql-5.6.15/man/mysql_config.1.p24 mysql-5.6.15/man/mysql_config.1 +--- mysql-5.6.15/man/mysql_config.1.p24 2013-12-09 19:08:52.751074834 +0100 ++++ mysql-5.6.15/man/mysql_config.1 2013-12-10 13:09:46.944577176 +0100 +@@ -174,6 +174,22 @@ The default Unix socket file, defined wh .sp -1 .IP \(bu 2.3 .\} @@ -556,23 +556,23 @@ diff -up mysql-5.6.14/man/mysql_config.1.manpages mysql-5.6.14/man/mysql_config. +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql_config: version option - .\" version option: mysql_config - \fB\-\-version\fR -diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 ---- mysql-5.6.14/man/mysqldump.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqldump.1 2013-10-10 07:40:19.741113325 +0200 -@@ -1237,7 +1237,8 @@ statements that include column names\&. + .\" mysql_config: version option.\" version option: mysql_config\fB\-\-version\fR + .sp + Version number for the MySQL distribution\&. +diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 +--- mysql-5.6.15/man/mysqldump.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqldump.1 2013-12-10 13:00:43.204169470 +0100 +@@ -1154,7 +1154,8 @@ statements that include column names\&. + .sp -1 + .IP \(bu 2.3 .\} - .\" mysqldump: create-options option - .\" create-options option: mysqldump --\fB\-\-create\-options\fR -+\fB\-\-create\-options\fR, +-.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR ++.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR, +\fB\-a\fR .sp Include all MySQL\-specific table options in the CREATE TABLE -@@ -1789,6 +1790,38 @@ transactional options, primarily for the +@@ -1666,6 +1667,38 @@ transactional options, primarily for the .sp -1 .IP \(bu 2.3 .\} @@ -608,10 +608,10 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: delayed-insert option - .\" delayed-insert option: mysqldump - \fB\-\-delayed\-insert\fR -@@ -2071,6 +2104,36 @@ at the end of the option list\&. + .\" mysqldump: delayed-insert option.\" delayed-insert option: mysqldump\fB\-\-delayed\-insert\fR + .sp + For those nontransactional tables that support the +@@ -1917,6 +1950,36 @@ at the end of the option list\&. .sp -1 .IP \(bu 2.3 .\} @@ -645,10 +645,10 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: no-autocommit option - .\" no-autocommit option: mysqldump - \fB\-\-no\-autocommit\fR -@@ -2171,6 +2234,21 @@ is on by default\&. Thus you rarely if e + .\" mysqldump: no-autocommit option.\" no-autocommit option: mysqldump\fB\-\-no\-autocommit\fR + .sp + Enclose the +@@ -2012,6 +2075,21 @@ is on by default\&. Thus you rarely if e .el \{\ .sp -1 .IP \(bu 2.3 @@ -670,7 +670,7 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2348,6 +2426,21 @@ is on by default\&.) +@@ -2184,6 +2262,21 @@ is on by default\&.) .RE .sp .RS 4 @@ -692,10 +692,10 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 ---- mysql-5.6.14/man/mysqlimport.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlimport.1 2013-10-10 07:40:19.742113306 +0200 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 +diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 +--- mysql-5.6.15/man/mysqlimport.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlimport.1 2013-12-10 12:55:58.039851937 +0100 +@@ -238,8 +238,40 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -731,15 +731,13 @@ diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: delete option - .\" delete option: mysqlimport - \fB\-\-delete\fR, + .\" mysqlimport: delete option.\" delete option: mysqlimport\fB\-\-delete\fR, -\fB\-D\fR +\fB\-d\fR .sp Empty the table before importing the text file\&. .RE -@@ -443,6 +475,22 @@ MERGE)\&. +@@ -397,6 +429,22 @@ MERGE)\&. .sp -1 .IP \(bu 2.3 .\} @@ -759,10 +757,10 @@ diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: password option - .\" password option: mysqlimport - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co + .\" mysqlimport: password option.\" password option: mysqlimport\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +@@ -513,6 +561,22 @@ Silent mode\&. Produce output only when .RE .sp .RS 4 @@ -785,20 +783,20 @@ diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 ---- mysql-5.6.14/man/mysqlshow.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlshow.1 2013-10-10 07:40:19.743113287 +0200 -@@ -173,7 +173,8 @@ This option is supported beginning with +diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 +--- mysql-5.6.15/man/mysqlshow.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlshow.1 2013-12-10 13:08:16.657520289 +0100 +@@ -167,7 +167,8 @@ This option is supported beginning with + .sp -1 + .IP \(bu 2.3 .\} - .\" mysqlshow: character-sets-dir option - .\" character-sets-dir option: mysqlshow --\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR -+\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, +-.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR ++.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, +\fB\-c\fR .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -305,6 +306,38 @@ This option was added in MySQL 5\&.6\&.2 +@@ -285,6 +286,38 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -834,10 +832,10 @@ diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: host option - .\" host option: mysqlshow - \fB\-\-host=\fR\fB\fIhost_name\fR\fR, -@@ -337,6 +370,22 @@ Show table indexes\&. + .\" mysqlshow: host option.\" host option: mysqlshow\fB\-\-host=\fR\fB\fIhost_name\fR\fR, + \fB\-h \fR\fB\fIhost_name\fR\fR + .sp +@@ -313,6 +346,22 @@ Show table indexes\&. .sp -1 .IP \(bu 2.3 .\} @@ -857,10 +855,10 @@ diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: password option - .\" password option: mysqlshow - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -413,6 +462,22 @@ The TCP/IP port number to use for the co + .\" mysqlshow: password option.\" password option: mysqlshow\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +@@ -413,6 +462,22 @@ VIEW\&. .RE .sp .RS 4 @@ -883,10 +881,10 @@ diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 ---- mysql-5.6.14/man/mysqlslap.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlslap.1 2013-10-10 07:40:19.744113269 +0200 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 +diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 +--- mysql-5.6.15/man/mysqlslap.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlslap.1 2013-12-10 13:11:04.721623937 +0100 +@@ -531,6 +531,38 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl .el \{\ .sp -1 .IP \(bu 2.3 @@ -923,9 +921,9 @@ diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 +.IP \(bu 2.3 +.\} .\} - .\" mysqlslap: delimiter option - .\" delimiter option: mysqlslap -@@ -643,6 +675,37 @@ from dropping any schema it creates duri + .\" mysqlslap: engine option.\" engine option: mysqlslap\fB\-\-engine=\fR\fB\fIengine_name\fR\fR, + \fB\-e \fR\fB\fIengine_name\fR\fR +@@ -589,6 +621,37 @@ from dropping any schema it creates duri .sp -1 .IP \(bu 2.3 .\} @@ -960,10 +958,10 @@ diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlslap: number-char-cols option - .\" number-char-cols option: mysqlslap - \fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, -@@ -821,6 +884,22 @@ The file or string containing the statem + .\" mysqlslap: number-char-cols option.\" number-char-cols option: mysqlslap\fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, + \fB\-x \fR\fB\fIN\fR\fR + .sp +@@ -819,6 +882,22 @@ Section\ \&4.2.2, \(lqConnecting to the .RE .sp .RS 4 diff --git a/community-mysql-string-overflow.patch b/community-mysql-string-overflow.patch deleted file mode 100644 index 46e5db3..0000000 --- a/community-mysql-string-overflow.patch +++ /dev/null @@ -1,38 +0,0 @@ -These issues were found by Coverity static analysis tool, for more info -see messages by particular fixes (messages belong to 5.1.61). - -Filed upstream at http://bugs.mysql.com/bug.php?id=64631 - - -Error: BUFFER_SIZE_WARNING: -/builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. - -diff -up mysql-5.6.10/sql/sql_prepare.cc.orig mysql-5.6.10/sql/sql_prepare.cc ---- mysql-5.6.10/sql/sql_prepare.cc.orig 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/sql/sql_prepare.cc 2013-02-19 15:50:53.257150632 +0100 -@@ -2956,7 +2956,7 @@ void mysql_stmt_get_longdata(THD *thd, c - { - stmt->state= Query_arena::STMT_ERROR; - stmt->last_errno= thd->get_stmt_da()->sql_errno(); -- strncpy(stmt->last_error, thd->get_stmt_da()->message(), MYSQL_ERRMSG_SIZE); -+ strncpy(stmt->last_error, thd->get_stmt_da()->message(), sizeof(stmt->last_error)-1); - } - thd->set_stmt_da(save_stmt_da); - - -Error: STRING_OVERFLOW: -/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. -/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -diff -up mysql-5.6.10/sql/sql_trigger.cc.orig mysql-5.6.10/sql/sql_trigger.cc ---- mysql-5.6.10/sql/sql_trigger.cc.orig 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/sql/sql_trigger.cc 2013-02-19 16:01:10.605885117 +0100 -@@ -2303,7 +2303,7 @@ void Table_triggers_list::mark_fields_us - void Table_triggers_list::set_parse_error_message(char *error_message) - { - m_has_unparseable_trigger= true; -- strcpy(m_parse_error_message, error_message); -+ strncpy(m_parse_error_message, error_message, sizeof(m_parse_error_message)-1); - } - - diff --git a/community-mysql.spec b/community-mysql.spec index 82bbd0d..02085f2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,8 +13,8 @@ %global _default_patch_flags --no-backup-if-mismatch Name: community-mysql -Version: 5.6.14 -Release: 2%{?dist} +Version: 5.6.15 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -23,13 +23,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -# mysql.info from upstream tarball must be removed, create tarball by: -# wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz -# tar xvf mysql-%{version}.tar.gz -# rm mysql-%{version}/Docs/mysql.info -# tar cJvf mysql-%{version}-nodocs.tar.xz mysql-%{version} -Source0: mysql-%{version}-nodocs.tar.xz -Source2: generate-tarball.sh +Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz Source3: my.cnf Source4: mysql_config.sh Source5: my_config.h @@ -51,18 +45,15 @@ Patch3: community-mysql-install-test.patch Patch4: community-mysql-expired-certs.patch Patch6: community-mysql-chain-certs.patch Patch11: community-mysql-s390-tsc.patch -Patch15: community-mysql-netdevname.patch Patch16: community-mysql-logrotate.patch Patch18: community-mysql-5.6.11-cipherspec.patch Patch19: community-mysql-file-contents.patch -Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-sharedir.patch Patch23: community-mysql-5.6.10-libmysql-version.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.14-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch -Patch27: community-mysql-5.6.13-mtr-secure-file.patch Patch28: community-mysql-5.6.13-truncate-file.patch Patch29: community-mysql-tmpdir.patch Patch30: community-mysql-cve-2013-1861.patch @@ -249,11 +240,9 @@ the MySQL sources. %patch4 -p1 %patch6 -p1 %patch11 -p1 -%patch15 -p1 %patch16 -p1 %patch18 -p1 %patch19 -p1 -%patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 @@ -262,7 +251,6 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch26 -p1 %endif -%patch27 -p0 %patch28 -p0 %patch29 -p1 %patch30 -p1 @@ -753,6 +741,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Dec 9 2013 Honza Horak 5.6.15-1 +- Update to MySQL 5.6.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html + * Fri Oct 11 2013 Honza Horak 5.6.14-2 - Fix my.cnf to not conflict with mariadb Resolves: #1003115 diff --git a/sources b/sources index 1a61e68..f9dd4de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7da75f4e0a3e1fdc62bfe7f12b85a6d0 mysql-5.6.14-nodocs.tar.xz +8c0ee8aa58258df1e1395d7c68b96647 mysql-5.6.15.tar.gz From 58eb0e8858de566e8f9843d4a7303ac64348641e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 16 Dec 2013 14:02:01 +0100 Subject: [PATCH 272/616] Some spec file clean-up based on Bjorn Munch's suggestions --- community-mysql-file-contents.patch | 8 ++++ community-mysql-netdevname.patch | 58 ----------------------------- community-mysql.spec | 15 +++++--- 3 files changed, 17 insertions(+), 64 deletions(-) delete mode 100644 community-mysql-netdevname.patch diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index d1ca18e..0b1a552 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -1,3 +1,11 @@ +Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which +breaks at least two packaging commandments, so we put them into $libdir +instead. That means we have to hack the file_contents regression test +to know about this. + +Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 + + diff -up mysql-5.6.15/mysql-test/t/file_contents.test.p19 mysql-5.6.15/mysql-test/t/file_contents.test --- mysql-5.6.15/mysql-test/t/file_contents.test.p19 2013-12-09 18:44:48.425892516 +0100 +++ mysql-5.6.15/mysql-test/t/file_contents.test 2013-12-09 18:48:02.247150032 +0100 diff --git a/community-mysql-netdevname.patch b/community-mysql-netdevname.patch deleted file mode 100644 index 1cdd9f7..0000000 --- a/community-mysql-netdevname.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -up mysql-5.6.10/mysys/my_gethwaddr.c.orig mysql-5.6.10/mysys/my_gethwaddr.c ---- mysql-5.6.10/mysys/my_gethwaddr.c.orig 2013-01-22 17:54:49.000000000 +0100 -+++ mysql-5.6.10/mysys/my_gethwaddr.c 2013-02-19 15:19:48.632960900 +0100 -@@ -68,27 +68,47 @@ err: - #include - #include - -+#define MAX_IFS 64 -+ - my_bool my_gethwaddr(uchar *to) - { - int fd, res= 1; - struct ifreq ifr; - char zero_array[ETHER_ADDR_LEN] = {0}; -+ struct ifconf ifc; -+ struct ifreq ifs[MAX_IFS], *ifri, *ifend; - - fd = socket(AF_INET, SOCK_DGRAM, 0); - if (fd < 0) - goto err; - -- memset(&ifr, 0, sizeof(ifr)); -- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1); -+ ifc.ifc_len = sizeof(ifs); -+ ifc.ifc_req = ifs; -+ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) -+ { -+ close(fd); -+ goto err; -+ } - -- do -+ memcpy(to, zero_array, ETHER_ADDR_LEN); -+ -+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq)); -+ for (ifri = ifc.ifc_req; ifri < ifend; ifri++) - { -- if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) -+ if (ifri->ifr_addr.sa_family == AF_INET) - { -- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); -- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1; -+ memset(&ifr, 0, sizeof(ifr)); -+ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name)); -+ -+ /* Get HW address */ -+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) -+ { -+ memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); -+ if (!(res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1)) -+ break; -+ } - } -- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6'); -+ } - - close(fd); - err: diff --git a/community-mysql.spec b/community-mysql.spec index 02085f2..c6aa185 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.15 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -234,7 +234,7 @@ the MySQL sources. %prep -%setup -q -n mysql-%{version} +%setup -q %patch2 -p1 %patch3 -p1 %patch4 -p1 @@ -401,8 +401,7 @@ touch %{buildroot}/var/log/mysqld.log mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql -mkdir -p %{buildroot}/etc -install -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf +install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} @@ -514,7 +513,8 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d --mem --parallel=auto --force --retry=0 \ --skip-test-list=rh-skipped-tests.list \ --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 + --suite-timeout=720 --testcase-timeout=30 \ + --clean-vardir rm -rf var/* popd %endif @@ -594,7 +594,7 @@ fi %doc README COPYING README.mysql-license # 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 +%config(noreplace) %{_sysconfdir}/my.cnf %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %config(noreplace) /etc/ld.so.conf.d/* @@ -741,6 +741,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Dec 16 2013 Honza Horak 5.6.15-2 +- Some spec file clean-up based on Bjorn Munch's suggestions + * Mon Dec 9 2013 Honza Horak 5.6.15-1 - Update to MySQL 5.6.15, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html From 61eeb85b8544d258b8c337e7d197d849002b791c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 16 Dec 2013 14:06:39 +0100 Subject: [PATCH 273/616] Enable InnoDB Memcached plugin --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index c6aa185..859e475 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -327,6 +327,7 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ + -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ @@ -743,6 +744,7 @@ fi %changelog * Mon Dec 16 2013 Honza Horak 5.6.15-2 - Some spec file clean-up based on Bjorn Munch's suggestions +- Enable InnoDB Memcached plugin * Mon Dec 9 2013 Honza Horak 5.6.15-1 - Update to MySQL 5.6.15, for various fixes described at From c50e8ff46943d2198831c2842c09cea19bbdb16f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 16 Dec 2013 15:17:08 +0100 Subject: [PATCH 274/616] We need -n in %setup macro --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 859e475..57577ae 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -234,7 +234,7 @@ the MySQL sources. %prep -%setup -q +%setup -q -n mysql-%{version} %patch2 -p1 %patch3 -p1 %patch4 -p1 From 352fa34cf5684b128cbc6ef1fbd4b70b05ebfea8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 24 Jan 2014 09:49:05 +0100 Subject: [PATCH 275/616] Disable tests for ppc(64) and s390(x): innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 Related: #1056972 --- community-mysql.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 57577ae..46567f5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.15 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -268,6 +268,12 @@ cat %{SOURCE14} > mysql-test/rh-skipped-tests.list %ifarch %{arm} cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif +%ifarch ppc ppc64 s390 s390x +echo "innodb.innodb_ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +echo "main.ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +echo "main.ps_ddl : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +%endif %build # fail quickly and obviously if user tries to build as root @@ -742,6 +748,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 24 2014 Honza Horak 5.6.15-3 +- Disable tests for ppc(64) and s390(x): + innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 + Related: #1056972 + * Mon Dec 16 2013 Honza Horak 5.6.15-2 - Some spec file clean-up based on Bjorn Munch's suggestions - Enable InnoDB Memcached plugin From 49d55805e83aa204d81a8bb02fc496173ccbc817 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 18:14:42 +0100 Subject: [PATCH 276/616] Fix for CVE-2014-0001 Resolves: #1059545 --- community-mysql-rhbz1059545.patch | 17 +++++++++++++++++ community-mysql.spec | 8 +++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 community-mysql-rhbz1059545.patch diff --git a/community-mysql-rhbz1059545.patch b/community-mysql-rhbz1059545.patch new file mode 100644 index 0000000..ece8ef1 --- /dev/null +++ b/community-mysql-rhbz1059545.patch @@ -0,0 +1,17 @@ +Unsifficient limit check aims to security issue. + +MariaDB upstream fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.64 +RHBZ#1059545 + +diff -up mysql-5.6.15/client/mysql.cc.bz1059545 mysql-5.6.15/client/mysql.cc +--- mysql-5.6.15/client/mysql.cc.bz1059545 2014-01-30 18:09:47.209588217 +0100 ++++ mysql-5.6.15/client/mysql.cc 2014-01-30 18:09:59.016581192 +0100 +@@ -1315,7 +1315,7 @@ int main(int argc,char *argv[]) + + put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.", + INFO_INFO); +- sprintf((char*) glob_buffer.ptr(), ++ my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(), + "Your MySQL connection id is %lu\nServer version: %s\n", + mysql_thread_id(&mysql), server_version_string(&mysql)); + put_info((char*) glob_buffer.ptr(),INFO_INFO); diff --git a/community-mysql.spec b/community-mysql.spec index 46567f5..6e7f9a8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.15 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -61,6 +61,7 @@ Patch31: community-mysql-innodbwarn.patch Patch32: community-mysql-covscan-signexpr.patch Patch33: community-mysql-covscan-stroverflow.patch Patch34: community-mysql-pluginerrmsg.patch +Patch35: community-mysql-rhbz1059545.patch BuildRequires: cmake BuildRequires: dos2unix @@ -258,6 +259,7 @@ the MySQL sources. %patch32 -p1 %patch33 -p1 %patch34 -p1 +%patch35 -p1 # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -748,6 +750,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 30 2014 Honza Horak 5.6.15-4 + Fix for CVE-2014-0001 + Resolves: #1059545 + * Fri Jan 24 2014 Honza Horak 5.6.15-3 - Disable tests for ppc(64) and s390(x): innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 From 39b3158cc962e4c673ebdebc573ec1763161186a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 18:54:56 +0100 Subject: [PATCH 277/616] Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 --- community-mysql.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 6e7f9a8..8d35926 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,6 +62,7 @@ Patch32: community-mysql-covscan-signexpr.patch Patch33: community-mysql-covscan-stroverflow.patch Patch34: community-mysql-pluginerrmsg.patch Patch35: community-mysql-rhbz1059545.patch +Patch36: community-mysql-ssltest.patch BuildRequires: cmake BuildRequires: dos2unix @@ -260,6 +261,7 @@ the MySQL sources. %patch33 -p1 %patch34 -p1 %patch35 -p1 +%patch36 -p1 # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -753,6 +755,9 @@ fi * Thu Jan 30 2014 Honza Horak 5.6.15-4 Fix for CVE-2014-0001 Resolves: #1059545 +- Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl + which now makes mariadb/mysql FTBFS because openssl_1 test fails + Related: #1044565 * Fri Jan 24 2014 Honza Horak 5.6.15-3 - Disable tests for ppc(64) and s390(x): From 9ace3f2a32ddf5c911847bac21ba607506af9cc6 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 19:07:03 +0100 Subject: [PATCH 278/616] Add patch --- community-mysql-ssltest.patch | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 community-mysql-ssltest.patch diff --git a/community-mysql-ssltest.patch b/community-mysql-ssltest.patch new file mode 100644 index 0000000..6fdd271 --- /dev/null +++ b/community-mysql-ssltest.patch @@ -0,0 +1,30 @@ +Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl +which now makes mariadb/mysql FTBFS because openssl_1 test fails + +Related: #1044565 + + +diff -up mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 mariadb-5.5.34/mysql-test/r/openssl_1.result +--- mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 2014-01-06 11:51:18.878640731 +0100 ++++ mariadb-5.5.34/mysql-test/r/openssl_1.result 2014-01-06 11:51:45.364678942 +0100 +@@ -196,8 +196,6 @@ Ssl_cipher DHE-RSA-AES256-SHA + Variable_name Value + Ssl_cipher EDH-RSA-DES-CBC3-SHA + Variable_name Value +-Ssl_cipher EDH-RSA-DES-CBC-SHA +-Variable_name Value + Ssl_cipher RC4-SHA + select 'is still running; no cipher request crashed the server' as result from dual; + result +diff -up mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 mariadb-5.5.34/mysql-test/t/openssl_1.test +--- mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 2014-01-06 11:51:18.830640662 +0100 ++++ mariadb-5.5.34/mysql-test/t/openssl_1.test 2014-01-06 11:51:18.879640733 +0100 +@@ -218,7 +218,7 @@ DROP TABLE t1; + # Common ciphers to openssl and yassl + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA +---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA ++#--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA + --disable_query_log + --disable_result_log From 367a32a6d7512652182eabbed1398dee3870be84 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 3 Feb 2014 15:00:39 +0100 Subject: [PATCH 279/616] New sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2249bb4..94e6ac7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /mysql-5.5.33-nodocs.tar.xz /mysql-5.6.14-nodocs.tar.xz /mysql-5.6.15.tar.gz +/mysql-5.6.16.tar.gz diff --git a/sources b/sources index f9dd4de..29fbcd7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8c0ee8aa58258df1e1395d7c68b96647 mysql-5.6.15.tar.gz +1d3d91e8459c719bbef7c97bb499634d mysql-5.6.16.tar.gz From c8b7192f9549032cdf8f2754bc6f74ce8996ea48 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 3 Feb 2014 15:41:44 +0100 Subject: [PATCH 280/616] Rebuild -man-pages.patch to apply smoothly Changes made by Bjorn Munch : Update to MySQL 5.6.16, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-16.html Patches now upstream: tmpdir, cve-2013-1861, covscan-signexpr, covscan-stroverflow Fixed upstream: innodbwarn ldconfig needed in embedded subpackage Remove unused generate-tarball.sh from tree Rediff mysql-install patch Make symvers 18 default, provide symvers 16 for backward compat (bz #1045013) Man page patch disabled due too many conflicts Memcached build patched to not remove -Werror= in CFLAGS --- community-mysql-5.6.10-libmysql-version.patch | 150 ------- community-mysql-5.6.14-mysql-install.patch | 239 ----------- community-mysql-covscan-signexpr.patch | 16 - community-mysql-covscan-stroverflow.patch | 57 --- community-mysql-cve-2013-1861.patch | 47 --- community-mysql-man-pages.patch | 388 +++++++++--------- community-mysql-tmpdir.patch | 87 ---- community-mysql.spec | 41 +- generate-tarball.sh | 15 - 9 files changed, 216 insertions(+), 824 deletions(-) delete mode 100644 community-mysql-5.6.10-libmysql-version.patch delete mode 100644 community-mysql-5.6.14-mysql-install.patch delete mode 100644 community-mysql-covscan-signexpr.patch delete mode 100644 community-mysql-covscan-stroverflow.patch delete mode 100644 community-mysql-cve-2013-1861.patch delete mode 100644 community-mysql-tmpdir.patch delete mode 100755 generate-tarball.sh diff --git a/community-mysql-5.6.10-libmysql-version.patch b/community-mysql-5.6.10-libmysql-version.patch deleted file mode 100644 index 66994e7..0000000 --- a/community-mysql-5.6.10-libmysql-version.patch +++ /dev/null @@ -1,150 +0,0 @@ ---- mysql-5.6.10/libmysql/libmysql.ver.in 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/libmysql/libmysql.ver.in.fedora 2013-02-21 12:59:40.108881131 +0100 -@@ -1,1 +1,146 @@ --libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; -+# symbols exported from mysql 5.1 -+libmysqlclient_16 { -+ global: -+ _fini; -+ _init; -+ my_init; -+ myodbc_remove_escape; -+ mysql_affected_rows; -+ mysql_autocommit; -+ mysql_change_user; -+ mysql_character_set_name; -+ mysql_close; -+ mysql_commit; -+ mysql_data_seek; -+ mysql_debug; -+ mysql_dump_debug_info; -+ mysql_embedded; -+ mysql_eof; -+ mysql_errno; -+ mysql_error; -+ mysql_escape_string; -+ mysql_fetch_field; -+ mysql_fetch_field_direct; -+ mysql_fetch_fields; -+ mysql_fetch_lengths; -+ mysql_fetch_row; -+ mysql_field_count; -+ mysql_field_seek; -+ mysql_field_tell; -+ mysql_free_result; -+ mysql_get_character_set_info; -+ mysql_get_client_info; -+ mysql_get_client_version; -+ mysql_get_host_info; -+ mysql_get_parameters; -+ mysql_get_proto_info; -+ mysql_get_server_info; -+ mysql_get_server_version; -+ mysql_get_ssl_cipher; -+ mysql_hex_string; -+ mysql_info; -+ mysql_init; -+ mysql_insert_id; -+ mysql_kill; -+ mysql_list_dbs; -+ mysql_list_fields; -+ mysql_list_processes; -+ mysql_list_tables; -+ mysql_more_results; -+ mysql_next_result; -+ mysql_num_fields; -+ mysql_num_rows; -+ mysql_options; -+ mysql_ping; -+ mysql_query; -+ mysql_read_query_result; -+ mysql_real_connect; -+ mysql_real_escape_string; -+ mysql_real_query; -+ mysql_refresh; -+ mysql_rollback; -+ mysql_row_seek; -+ mysql_row_tell; -+ mysql_select_db; -+ mysql_send_query; -+ mysql_server_end; -+ mysql_server_init; -+ mysql_set_character_set; -+ mysql_set_local_infile_default; -+ mysql_set_local_infile_handler; -+ mysql_set_server_option; -+ mysql_shutdown; -+ mysql_sqlstate; -+ mysql_ssl_set; -+ mysql_stat; -+ mysql_stmt_affected_rows; -+ mysql_stmt_attr_get; -+ mysql_stmt_attr_set; -+ mysql_stmt_bind_param; -+ mysql_stmt_bind_result; -+ mysql_stmt_close; -+ mysql_stmt_data_seek; -+ mysql_stmt_errno; -+ mysql_stmt_error; -+ mysql_stmt_execute; -+ mysql_stmt_fetch; -+ mysql_stmt_fetch_column; -+ mysql_stmt_field_count; -+ mysql_stmt_free_result; -+ mysql_stmt_init; -+ mysql_stmt_insert_id; -+ mysql_stmt_num_rows; -+ mysql_stmt_param_count; -+ mysql_stmt_param_metadata; -+ mysql_stmt_prepare; -+ mysql_stmt_reset; -+ mysql_stmt_result_metadata; -+ mysql_stmt_row_seek; -+ mysql_stmt_row_tell; -+ mysql_stmt_send_long_data; -+ mysql_stmt_sqlstate; -+ mysql_stmt_store_result; -+ mysql_store_result; -+ mysql_thread_end; -+ mysql_thread_id; -+ mysql_thread_init; -+ mysql_thread_safe; -+ mysql_use_result; -+ mysql_warning_count; -+# These are documented in Paul DuBois' MySQL book, so we treat them as part -+# of the de-facto API. -+ free_defaults; -+ handle_options; -+ load_defaults; -+ my_print_help; -+# This isn't really documented anywhere, but it seems to be part of the -+# de-facto API as well. We're not going to export the deprecated version -+# make_scrambled_password, however. -+ my_make_scrambled_password; -+# This really shouldn't be exported, but some applications use it as a -+# workaround for inadequate threading support; see bug #846602 -+ THR_KEY_mysys; -+ local: -+ *; -+}; -+# symbols added in mysql 5.5 -+libmysqlclient_18 { -+ global: -+ mysql_client_find_plugin; -+ mysql_client_register_plugin; -+ mysql_load_plugin; -+ mysql_load_plugin_v; -+ mysql_plugin_options; -+ mysql_stmt_next_result; -+# -+# Ideally the following symbols wouldn't be exported, but various applications -+# require them. -+# -+# mysql-connector-odbc requires these -+ default_charset_info; -+ get_charset; -+ get_charset_by_csname; -+ net_realloc; -+# PHP's mysqli.so requires this (via the ER() macro) -+ client_errors; -+}; diff --git a/community-mysql-5.6.14-mysql-install.patch b/community-mysql-5.6.14-mysql-install.patch deleted file mode 100644 index b8201f8..0000000 --- a/community-mysql-5.6.14-mysql-install.patch +++ /dev/null @@ -1,239 +0,0 @@ -diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in -index c142d4f..f1f2891 100644 ---- a/scripts/mysql_install_db.pl.in -+++ b/scripts/mysql_install_db.pl.in -@@ -34,13 +34,35 @@ - # - ############################################################################## - --use Fcntl; --use File::Basename; --use File::Copy; --use Getopt::Long; --use Sys::Hostname; --use Data::Dumper; - use strict; -+use warnings; -+ -+############################################################################## -+# Check if all needed modules are available, exit if something is missing. -+############################################################################## -+ -+BEGIN { -+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', -+ 'Sys::Hostname', 'Data::Dumper'); -+ my @missing_mods; -+ my $req; -+ foreach $req (@req_mods) { -+ eval 'require ' . $req; -+ if ($@) { -+ push(@missing_mods, $req); -+ } else { -+ $req->import(); -+ } -+ } -+ # this avoids the confusing "BEGIN failed--compilation aborted" message -+ local $SIG{__DIE__} = sub {warn @_; exit 1}; -+ -+ if (@missing_mods) { -+ my $msg = "FATAL ERROR: please install the following Perl modules " . -+ "before executing $0:\n" . join("\n",@missing_mods)."\n"; -+ die $msg; -+ } -+} - - Getopt::Long::Configure("pass_through"); - -@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] - --help Display this help and exit. - --ldata=path The path to the MySQL data directory. Same as --datadir. - --no-defaults Don't read default options from any option file. -+ --keep-my-cnf Don't try to create my.cnf based on template. -+ Useful for systems with working, updated my.cnf. - EOF1 - if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { - print <{srcdir} and $opt->{basedir} ) - { - error($opt,"Specify either --basedir or --srcdir, not both"); - } -+if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) -+{ -+ $keep_my_cnf = 1; -+} - if ( $opt->{srcdir} ) - { - $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,13 +462,18 @@ my $config_file; - my $copy_cfg_file; - - # ---------------------------------------------------------------------- --# This will be the default config file -+# This will be the default config file (unless creation is unwanted) - # ---------------------------------------------------------------------- - - $config_file= "$basedir/my.cnf"; - - my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", - "share","share/mysql","support-files"); -+# Distros might move files -+if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { -+ $cfg_template = "@pkgdatadir@/my-default.cnf"; -+} -+ - -e $cfg_template or cannot_find_file("my-default.cnf"); - - $copy_cfg_file= $config_file; -@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.cnf/my-new.cnf/; - # Too early to print warning here, the user may not notice - } --open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); --if (open (CFG, "> $copy_cfg_file")) --{ -- while () -- { -- # Remove lines beginning with # *** which are template comments -- print CFG $_ unless /^# \*\*\*/; -+ -+if ( ! $keep_my_cnf ) { -+ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); -+ if (open (CFG, "> $copy_cfg_file")) { -+ while () { -+ # Remove lines beginning with # *** which are template comments -+ print CFG $_ unless /^# \*\*\*/; -+ } -+ close CFG; -+ } else { -+ warning($opt,"Could not write to config file $copy_cfg_file: $!"); -+ $failed_write_cfg= 1; - } -- close CFG; -+ close TEMPL; - } --else --{ -- warning($opt,"Could not write to config file $copy_cfg_file: $!"); -- $failed_write_cfg= 1; --} --close TEMPL; - - # ---------------------------------------------------------------------- - # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) - } - - # ---------------------------------------------------------------------- --# Create database directories mysql & test -+# Create database directory mysql - # ---------------------------------------------------------------------- - - # FIXME The shell variant uses "mkdir -p": -@@ -652,7 +693,7 @@ if ($opt_user) - } - } - --foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) -+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") - { - mkdir($dir, 0700) unless -d $dir; - if ($opt_user and -w "/") -@@ -838,15 +879,26 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) - " cd mysql-test ; perl mysql-test-run.pl"); - } - report($opt, -- "Please report any problems with the " . '@scriptdir@' . "/mysqlbug script!", -- "", - "The latest information about MySQL is available on the web at", - "", - " http://www.mysql.com", - "", -- "Support MySQL by buying support/licenses at http://shop.mysql.com"); -+ "Please visit", -+ "", -+ " http://bugs.mysql.com/", -+ "", -+ "to report bugs. This database is public and can be browsed", -+ "and searched by anyone. If you log in to the system", -+ "you can enter new reports."); -+ - -- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) -+ if ($keep_my_cnf) -+ { -+ report($opt, -+ "Note: new default config file not created.", -+ "Please make sure your config file is current"); -+ } -+ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) - { - report($opt, - "New default config file was created as $config_file and", -@@ -900,9 +952,15 @@ else - "http://www.mysql.com", - "Please consult the MySQL manual section: 'Problems running mysql_install_db',", - "and the manual section that describes problems on your OS.", -- "Another information source is the MySQL email archive.", -- "Please check all of the above before mailing us!", -- "And if you do mail us, you MUST use the " . '@scriptdir@' . "/mysqlbug script!") -+ "Another information source is our bug database.", -+ "Please visit", -+ "", -+ " http://bugs.mysql.com/", -+ "", -+ "to report bugs. This database is public and can be browsed", -+ "and searched by anyone. If you log in to the system you can", -+ "enter new reports."); -+ - } - - ############################################################################## diff --git a/community-mysql-covscan-signexpr.patch b/community-mysql-covscan-signexpr.patch deleted file mode 100644 index 1bbb3db..0000000 --- a/community-mysql-covscan-signexpr.patch +++ /dev/null @@ -1,16 +0,0 @@ -This issue has been found by Coverity - static analysis tool. - -mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. - -diff -up mysql-5.5.31/strings/ctype-ucs2.c.covscan1 mysql-5.5.31/strings/ctype-ucs2.c ---- mysql-5.5.31/strings/ctype-ucs2.c.covscan1 2013-06-14 12:12:29.663300314 +0200 -+++ mysql-5.5.31/strings/ctype-ucs2.c 2013-06-14 12:13:07.809299646 +0200 -@@ -1704,7 +1704,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut - { - if (s + 4 > e) - return MY_CS_TOOSMALL4; -- *pwc= (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); -+ *pwc= (((my_wc_t)s[0]) << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); - return 4; - } - diff --git a/community-mysql-covscan-stroverflow.patch b/community-mysql-covscan-stroverflow.patch deleted file mode 100644 index 1cfd490..0000000 --- a/community-mysql-covscan-stroverflow.patch +++ /dev/null @@ -1,57 +0,0 @@ -The following problems have been found by Coverity - static analysis tool. - -mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -mysql-5.5.31/plugin/semisync/semisync_master.cc:555:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -diff -up mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 mysql-5.6.14/plugin/semisync/semisync_master.cc ---- mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/plugin/semisync/semisync_master.cc 2013-10-09 15:29:03.550379533 +0200 -@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo - - if (need_copy_send_pos) - { -- strcpy(reply_file_name_, log_file_name); -+ strncpy(reply_file_name_, log_file_name, sizeof(reply_file_name_)-1); -+ reply_file_name_[sizeof(reply_file_name_)-1] = '\0'; - reply_file_pos_ = log_file_pos; - reply_file_name_inited_ = true; - -@@ -681,7 +682,8 @@ int ReplSemiSyncMaster::commitTrx(const - if (cmp <= 0) - { - /* This thd has a lower position, let's update the minimum info. */ -- strcpy(wait_file_name_, trx_wait_binlog_name); -+ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); -+ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; - wait_file_pos_ = trx_wait_binlog_pos; - - rpl_semi_sync_master_wait_pos_backtraverse++; -@@ -692,7 +694,8 @@ int ReplSemiSyncMaster::commitTrx(const - } - else - { -- strcpy(wait_file_name_, trx_wait_binlog_name); -+ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); -+ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; - wait_file_pos_ = trx_wait_binlog_pos; - wait_file_name_inited_ = true; - -mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated. - -diff -up mysql-5.6.14/sql/rpl_handler.cc.p33 mysql-5.6.14/sql/rpl_handler.cc -diff -up mysql-5.6.14/sql/sp_rcontext.h.p33 mysql-5.6.14/sql/sp_rcontext.h ---- mysql-5.6.14/sql/sp_rcontext.h.p33 2013-10-09 15:29:03.552379535 +0200 -+++ mysql-5.6.14/sql/sp_rcontext.h 2013-10-09 15:29:53.367412814 +0200 -@@ -144,7 +144,8 @@ public: - memcpy(sql_state, _sql_state, SQLSTATE_LENGTH); - sql_state[SQLSTATE_LENGTH]= '\0'; - -- strncpy(message, _message, MYSQL_ERRMSG_SIZE); -+ strncpy(message, _message, sizeof(message)-1); -+ message[sizeof(message)-1] = '\0'; - } - }; - diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch deleted file mode 100644 index cc4b74d..0000000 --- a/community-mysql-cve-2013-1861.patch +++ /dev/null @@ -1,47 +0,0 @@ -It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't -ship a test case for that. This patch only includes the test case ported -from MariaDB fix: -https://mariadb.atlassian.net/browse/MDEV-4252 - -diff -up mysql-5.6.14/mysql-test/r/gis.result.cve mysql-5.6.14/mysql-test/r/gis.result ---- mysql-5.6.14/mysql-test/r/gis.result.cve 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/r/gis.result 2013-10-09 15:08:59.886598028 +0200 -@@ -1115,6 +1115,21 @@ SELECT 1 FROM g1 WHERE a >= ANY - (SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ; - 1 - DROP TABLE g1; -+# -+# TODO-424 geometry query crashes server -+# -+select astext(0x0100000000030000000100000000000010); -+astext(0x0100000000030000000100000000000010) -+NULL -+select area(0x0100000000030000000100000000000010); -+area(0x0100000000030000000100000000000010) -+NULL -+select astext(exteriorring(0x0100000000030000000100000000000010)); -+astext(exteriorring(0x0100000000030000000100000000000010)) -+NULL -+select astext(centroid(0x0100000000030000000100000000000010)); -+astext(centroid(0x0100000000030000000100000000000010)) -+NULL - End of 5.5 tests - DROP DATABASE IF EXISTS gis_ogs; - CREATE DATABASE gis_ogs; -diff -up mysql-5.6.14/mysql-test/t/gis.test.cve mysql-5.6.14/mysql-test/t/gis.test ---- mysql-5.6.14/mysql-test/t/gis.test.cve 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/t/gis.test 2013-10-09 15:08:59.886598028 +0200 -@@ -868,6 +868,13 @@ SELECT 1 FROM g1 WHERE a >= ANY - - DROP TABLE g1; - -+--echo # -+--echo # TODO-424 geometry query crashes server -+--echo # -+select astext(0x0100000000030000000100000000000010); -+select area(0x0100000000030000000100000000000010); -+select astext(exteriorring(0x0100000000030000000100000000000010)); -+select astext(centroid(0x0100000000030000000100000000000010)); - --echo End of 5.5 tests - - diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index 60e6f80..d30ed81 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -4,22 +4,22 @@ Upstream bug: http://bugs.mysql.com/bug.php?id=69342 # ===== mysqladmin manual page ===== -diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 ---- mysql-5.6.15/man/mysql.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysql.1 2013-12-10 12:28:29.055463911 +0100 -@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .IP \(bu 2.3 - .\} - .\" mysql: help option.\" help option: mysql\fB\-\-help\fR, +diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 +--- mysql-5.6.16/man/mysql.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysql.1 2014-02-03 15:37:23.064082223 +0100 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, -\fB\-?\fR +\fB\-?\fR, +\fB\-I\fR .sp Display a help message and exit\&. .RE -@@ -346,6 +347,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio - .sp -1 - .IP \(bu 2.3 +@@ -348,6 +349,21 @@ Compress all information sent between th + .ie n \{\ + \h'-04'\(bu\h'+03'\c .\} +.\" mysql: connect-timeout option +.\" connect-timeout option: mysql @@ -36,13 +36,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: database option.\" database option: mysql\fB\-\-database=\fR\fB\fIdb_name\fR\fR, - \fB\-D \fR\fB\fIdb_name\fR\fR - .sp -@@ -445,6 +461,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .el \{\ .sp -1 .IP \(bu 2.3 - .\} +@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authenti + .sp + .RS 4 + .ie n \{\ +.\" mysql: defaults-file option +.\" defaults-file option: mysql +\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR @@ -74,13 +74,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: delimiter option.\" delimiter option: mysql\fB\-\-delimiter=\fR\fB\fIstr\fR\fR - .sp - Set the statement delimiter\&. The default is the semicolon character (\(lq;\(rq)\&. -@@ -636,6 +683,36 @@ has no effect if the server does not als + \h'-04'\(bu\h'+03'\c + .\} + .el \{\ +@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\( + .el \{\ .sp -1 .IP \(bu 2.3 - .\} +.\" mysql: max-allowed-packet option +.\" max-allowed-packet option: mysql +\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR @@ -111,41 +111,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: named-commands option.\" named-commands option: mysql\fB\-\-named\-commands\fR, - \fB\-G\fR - .sp -@@ -659,11 +736,26 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: net-buffer-length option -+.\" net-buffer-length option: mysql -+\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR -+.sp -+Set the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-auto-rehash option.\" no-auto-rehash option: mysql\fB\-\-no\-auto\-rehash\fR, - \fB\-A\fR - .sp - This has the same effect as --\fB\-skip\-auto\-rehash\fR\&. See the description for -+\fB\-\-skip\-auto\-rehash\fR\&. See the description for - \fB\-\-auto\-rehash\fR\&. - .RE - .sp -@@ -689,6 +781,21 @@ Do not beep when errors occur\&. - .sp -1 - .IP \(bu 2.3 .\} + .\" mysql: init-command option + .\" init-command option: mysql +@@ -691,6 +768,21 @@ has no effect if the server does not als + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +.\" mysql: no-defaults option +.\" no-defaults option: mysql +\fB\-\-no\-defaults\fR @@ -161,13 +133,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: one-database option.\" one-database option: mysql\fB\-\-one\-database\fR, - \fB\-o\fR - .sp -@@ -884,6 +991,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 .\} + .el \{\ + .sp -1 +@@ -886,6 +978,21 @@ the section called \(lqMYSQL COMMANDS\(r + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +.\" mysql: print-defaults option +.\" print-defaults option: mysql +\fB\-\-print\-defaults\fR @@ -183,13 +155,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: prompt option.\" prompt option: mysql\fB\-\-prompt=\fR\fB\fIformat_str\fR\fR + The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you + \fIcannot\fR + have a space between the option and the password\&. If you omit the +@@ -1077,6 +1184,36 @@ If the connection to the server is lost, + \fB\-\-skip\-reconnect\fR\&. + .RE .sp - Set the prompt to the specified format\&. The default is -@@ -1075,6 +1197,36 @@ and renamed in 5\&.6\&.7 to - .sp -1 - .IP \(bu 2.3 - .\} +.\" mysql: select-limit option +.\" select-limit option: mysql +\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR @@ -220,13 +192,31 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: show-warnings option.\" show-warnings option: mysql\fB\-\-show\-warnings\fR + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -1121,9 +1258,39 @@ to disable it\&. + .if n \{\ .sp - Cause warnings to be shown after each statement if there are any\&. This option applies to interactive and batch mode\&. -@@ -1122,6 +1274,21 @@ option\&. - .sp -1 - .IP \(bu 2.3 .\} ++.\" mysql: net-buffer-length option ++.\" net-buffer-length option: mysql ++\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR ++.sp ++Set the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .RS 4 + .it 1 an-trap + .nr an-no-space-flag 1 +.\" mysql: skip-auto-rehash option +.\" skip-auto-rehash option: mysql +\fB\-\-skip\-auto\-rehash\fR @@ -242,11 +232,11 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: skip-column-names option.\" skip-column-names option: mysql\fB\-\-skip\-column\-names\fR, - \fB\-N\fR - .sp -@@ -1168,7 +1335,7 @@ localhost, the Unix socket file to use, - .\" mysql: SSL options.\" SSL options: mysql\fB\-\-ssl*\fR + .nr an-break-flag 1 + .br + .ps +1 +@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR @@ -254,7 +244,7 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1326,7 +1493,7 @@ The XML output also uses an XML namespac +@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac .RS 4 .\} .nf @@ -263,7 +253,7 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 -@@ -3188,16 +3355,16 @@ statements that probably need to examine +@@ -3369,16 +3536,16 @@ statements that probably need to examine .RE .PP To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the @@ -283,10 +273,10 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 ---- mysql-5.6.15/man/mysqladmin.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqladmin.1 2013-12-10 13:05:23.105401084 +0100 -@@ -639,6 +639,21 @@ Compress all information sent between th +diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 +--- mysql-5.6.16/man/mysqladmin.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqladmin.1 2014-02-03 15:31:31.984839986 +0100 +@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -305,13 +295,13 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: count option.\" count option: mysqladmin\fB\-\-count=\fR\fB\fIN\fR\fR, - \fB\-c \fR\fB\fIN\fR\fR + .\" mysqladmin: compress option + .\" compress option: mysqladmin + \fB\-\-compress\fR, +@@ -729,6 +744,37 @@ Print debugging information and memory a .sp -@@ -729,6 +744,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 - .IP \(bu 2.3 - .\} + The client\-side authentication plugin to use\&. See + Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. +.\" mysqladmin: defaults-extra-file option +.\" defaults-extra-file option: mysqladmin +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -343,12 +333,12 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: enable-cleartext-plugin option.\" enable-cleartext-plugin option: mysqladmin\fB\-\-enable\-cleartext\-plugin\fR + .RE .sp - Enable the -@@ -789,6 +835,21 @@ Suppress the warning beep that is emitte - .sp -1 - .IP \(bu 2.3 + .RS 4 +@@ -789,6 +835,21 @@ command\&. With multiple commands, conti + .ie n \{\ + \h'-04'\(bu\h'+03'\c .\} +.\" mysqladmin: no-defaults option +.\" no-defaults option: mysqladmin @@ -365,13 +355,13 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: password option.\" password option: mysqladmin\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -@@ -862,6 +923,21 @@ The TCP/IP port number to use for the co + .el \{\ .sp -1 .IP \(bu 2.3 - .\} +@@ -862,6 +923,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guideli + On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. + .RE + .sp +.\" mysqladmin: print-defaults option +.\" print-defaults option: mysqladmin +\fB\-\-print\-defaults\fR @@ -387,10 +377,10 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: protocol option.\" protocol option: mysqladmin\fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR - .sp - The connection protocol to use for connecting to the server\&. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want\&. For details on the permissible values, see -@@ -938,6 +1014,21 @@ localhost, the Unix socket file to use, + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -935,6 +1011,21 @@ command\&. .RE .sp .RS 4 @@ -412,10 +402,10 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 ---- mysql-5.6.15/man/mysqlbinlog.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlbinlog.1 2013-12-09 19:08:52.750074832 +0100 -@@ -602,6 +602,7 @@ Do not display any of the groups listed +diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +--- mysql-5.6.16/man/mysqlbinlog.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlbinlog.1 2014-02-03 15:31:31.984839986 +0100 +@@ -629,6 +629,7 @@ Do not display any of the groups listed \fB\-F\fR .sp Read binary log files even if they are open or were not closed properly\&. @@ -423,7 +413,7 @@ diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 .RE .sp .RS 4 -@@ -715,6 +716,22 @@ entries in the log\&. +@@ -736,6 +737,22 @@ or any other MySQL program\&. .RE .sp .RS 4 @@ -446,13 +436,13 @@ diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 ---- mysql-5.6.15/man/mysqlcheck.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlcheck.1 2013-12-10 13:02:43.841276619 +0100 -@@ -456,6 +456,38 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 +diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 +--- mysql-5.6.16/man/mysqlcheck.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlcheck.1 2014-02-03 15:31:31.985839986 +0100 +@@ -456,6 +456,38 @@ Print some debugging information when th .IP \(bu 2.3 .\} + .\" mysqlcheck: debug-info option +.\" mysqlcheck: defaults-extra-file option +.\" defaults-extra-file option: mysqlcheck +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -485,13 +475,13 @@ diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: extended option.\" extended option: mysqlcheck\fB\-\-extended\fR, - \fB\-e\fR + .\" debug-info option: mysqlcheck + \fB\-\-debug\-info\fR .sp -@@ -572,6 +604,21 @@ operation\&. This finds only 99\&.99% of - .sp -1 - .IP \(bu 2.3 +@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. O .\} + .\" mysqlcheck: force option + .\" force option: mysqlcheck +.\" mysqlcheck: no-defaults option +.\" no-defaults option: mysqlcheck +\fB\-\-no\-defaults\fR @@ -507,10 +497,10 @@ diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: optimize option.\" optimize option: mysqlcheck\fB\-\-optimize\fR, - \fB\-o\fR + \fB\-\-force\fR, + \fB\-f\fR .sp -@@ -712,6 +759,22 @@ Silent mode\&. Print only error messages +@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -533,13 +523,13 @@ diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysql_config.1.p24 mysql-5.6.15/man/mysql_config.1 ---- mysql-5.6.15/man/mysql_config.1.p24 2013-12-09 19:08:52.751074834 +0100 -+++ mysql-5.6.15/man/mysql_config.1 2013-12-10 13:09:46.944577176 +0100 -@@ -174,6 +174,22 @@ The default Unix socket file, defined wh - .sp -1 - .IP \(bu 2.3 - .\} +diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 +--- mysql-5.6.16/man/mysql_config.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysql_config.1 2014-02-03 15:31:31.985839986 +0100 +@@ -174,6 +174,22 @@ The default TCP/IP port number, defined + .sp + .RS 4 + .ie n \{\ +.\" mysql_config: variable option +.\" variable option: mysql_config +\fB\-\-variable=VAR\fR @@ -556,26 +546,25 @@ diff -up mysql-5.6.15/man/mysql_config.1.p24 mysql-5.6.15/man/mysql_config.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql_config: version option.\" version option: mysql_config\fB\-\-version\fR - .sp - Version number for the MySQL distribution\&. -diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 ---- mysql-5.6.15/man/mysqldump.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqldump.1 2013-12-10 13:00:43.204169470 +0100 -@@ -1154,7 +1154,8 @@ statements that include column names\&. - .sp -1 - .IP \(bu 2.3 + \h'-04'\(bu\h'+03'\c .\} --.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR -+.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR, -+\fB\-a\fR + .el \{\ +diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 +--- mysql-5.6.16/man/mysqldump.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqldump.1 2014-02-03 15:35:30.992008930 +0100 +@@ -1246,7 +1246,7 @@ statements that include column names\&. + .\} + .\" mysqldump: create-options option + .\" create-options option: mysqldump +-\fB\-\-create\-options\fR ++\fB\-\-create\-options\fR, \fB\-a\fR .sp Include all MySQL\-specific table options in the CREATE TABLE -@@ -1666,6 +1667,38 @@ transactional options, primarily for the - .sp -1 - .IP \(bu 2.3 - .\} +@@ -1666,6 +1666,38 @@ Do not dump the given table, which must + \fB\-d\fR + .sp + Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the +.\" mysqldump: defaults-extra-file option +.\" defaults-extra-file option: mysqldump +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -608,13 +597,13 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: delayed-insert option.\" delayed-insert option: mysqldump\fB\-\-delayed\-insert\fR - .sp - For those nontransactional tables that support the -@@ -1917,6 +1950,36 @@ at the end of the option list\&. - .sp -1 + CREATE TABLE + statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. + .RE +@@ -1917,6 +1949,36 @@ for information about selectively enabli .IP \(bu 2.3 .\} + .\" mysqldump: quick option +.\" mysqldump: max-allowed-packet option +.\" max-allowed-packet option: mysqldump +\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR @@ -645,10 +634,10 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: no-autocommit option.\" no-autocommit option: mysqldump\fB\-\-no\-autocommit\fR - .sp - Enclose the -@@ -2012,6 +2075,21 @@ is on by default\&. Thus you rarely if e + .\" quick option: mysqldump + \fB\-\-quick\fR, + \fB\-q\fR +@@ -2194,6 +2256,21 @@ is on by default\&. Thus you rarely if e .el \{\ .sp -1 .IP \(bu 2.3 @@ -670,7 +659,7 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2184,6 +2262,21 @@ is on by default\&.) +@@ -2371,6 +2448,21 @@ is on by default\&.) .RE .sp .RS 4 @@ -692,10 +681,10 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 ---- mysql-5.6.15/man/mysqlimport.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlimport.1 2013-12-10 12:55:58.039851937 +0100 -@@ -238,8 +238,40 @@ This option was added in MySQL 5\&.6\&.2 +diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 +--- mysql-5.6.16/man/mysqlimport.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlimport.1 2014-02-03 15:36:17.680039918 +0100 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -731,16 +720,18 @@ diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: delete option.\" delete option: mysqlimport\fB\-\-delete\fR, + .\" mysqlimport: delete option + .\" delete option: mysqlimport + \fB\-\-delete\fR, -\fB\-D\fR +\fB\-d\fR .sp Empty the table before importing the text file\&. .RE -@@ -397,6 +429,22 @@ MERGE)\&. - .sp -1 - .IP \(bu 2.3 - .\} +@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE + Read input files locally from the client host\&. + .RE + .sp +.\" mysqlimport: no-defaults option +.\" no-defaults option: mysqlimport +\fB\-\-no\-defaults\fR @@ -757,10 +748,10 @@ diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: password option.\" password option: mysqlimport\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -@@ -513,6 +561,22 @@ Silent mode\&. Produce output only when + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -783,23 +774,22 @@ diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 ---- mysql-5.6.15/man/mysqlshow.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlshow.1 2013-12-10 13:08:16.657520289 +0100 -@@ -167,7 +167,8 @@ This option is supported beginning with - .sp -1 - .IP \(bu 2.3 +diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 +--- mysql-5.6.16/man/mysqlshow.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlshow.1 2014-02-03 15:34:12.679955219 +0100 +@@ -173,7 +173,7 @@ This option is supported beginning with .\} --.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR -+.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, -+\fB\-c\fR + .\" mysqlshow: character-sets-dir option + .\" character-sets-dir option: mysqlshow +-\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR ++\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, \fB\-c\fR .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +286,38 @@ This option was added in MySQL 5\&.6\&.2 - .sp -1 - .IP \(bu 2.3 +@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Confi .\} + .el \{\ + .sp -1 +.\" mysqlshow: defaults-extra-file option +.\" defaults-extra-file option: mysqlshow +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -832,13 +822,13 @@ diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: host option.\" host option: mysqlshow\fB\-\-host=\fR\fB\fIhost_name\fR\fR, - \fB\-h \fR\fB\fIhost_name\fR\fR - .sp -@@ -313,6 +346,22 @@ Show table indexes\&. - .sp -1 .IP \(bu 2.3 .\} + .\" mysqlshow: default-auth option +@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2 + Connect to the MySQL server on the given host\&. + .RE + .sp +.\" mysqlshow: no-defaults option +.\" no-defaults option: mysqlshow +\fB\-\-no\-defaults\fR @@ -855,10 +845,10 @@ diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: password option.\" password option: mysqlshow\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -@@ -413,6 +462,22 @@ VIEW\&. + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -413,6 +461,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -881,10 +871,10 @@ diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 ---- mysql-5.6.15/man/mysqlslap.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlslap.1 2013-12-10 13:11:04.721623937 +0100 -@@ -531,6 +531,38 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl +diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 +--- mysql-5.6.16/man/mysqlslap.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlslap.1 2014-02-03 15:31:31.989839989 +0100 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 .el \{\ .sp -1 .IP \(bu 2.3 @@ -921,12 +911,12 @@ diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 +.IP \(bu 2.3 +.\} .\} - .\" mysqlslap: engine option.\" engine option: mysqlslap\fB\-\-engine=\fR\fB\fIengine_name\fR\fR, + .\" mysqlslap: delimiter option + .\" delimiter option: mysqlslap +@@ -584,6 +616,37 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl \fB\-e \fR\fB\fIengine_name\fR\fR -@@ -589,6 +621,37 @@ from dropping any schema it creates duri - .sp -1 - .IP \(bu 2.3 - .\} + .sp + The storage engine to use for creating tables\&. +.\" mysqlslap: no-defaults option +.\" no-defaults option: mysqlslap +\fB\-\-no\-defaults\fR @@ -958,10 +948,10 @@ diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlslap: number-char-cols option.\" number-char-cols option: mysqlslap\fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, - \fB\-x \fR\fB\fIN\fR\fR + .RE .sp -@@ -819,6 +882,22 @@ Section\ \&4.2.2, \(lqConnecting to the + .RS 4 +@@ -821,6 +884,22 @@ The file or string containing the statem .RE .sp .RS 4 diff --git a/community-mysql-tmpdir.patch b/community-mysql-tmpdir.patch deleted file mode 100644 index c6842c4..0000000 --- a/community-mysql-tmpdir.patch +++ /dev/null @@ -1,87 +0,0 @@ -Directory /tmp is now on tmpfs, which can cause problems with limitted space -or replication. It's documented here: -http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_tmpdir - -"If the MySQL server is acting as a replication slave, you should not set --tmpdir -to point to a directory on a memory-based file system or to a directory that is -cleared when the server host restarts." - -RHBZ#962087 -Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-4165 -MySQL bug report: http://bugs.mysql.com/bug.php?id=68338 - -diff -up mysql-5.6.14/CMakeLists.txt.tmpdir mysql-5.6.14/CMakeLists.txt ---- mysql-5.6.14/CMakeLists.txt.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/CMakeLists.txt 2013-10-09 14:49:14.115887439 +0200 -@@ -309,6 +309,10 @@ IF(SYSCONFDIR) - SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") - ENDIF() - -+IF(TMPDIR) -+ SET(DEFAULT_TMPDIR "${TMPDIR}") -+ENDIF() -+ - - # Run platform tests - INCLUDE(configure.cmake) -diff -up mysql-5.6.14/config.h.cmake.tmpdir mysql-5.6.14/config.h.cmake ---- mysql-5.6.14/config.h.cmake.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/config.h.cmake 2013-10-09 14:49:14.115887439 +0200 -@@ -636,6 +636,7 @@ - #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" - #cmakedefine PLUGINDIR "@PLUGINDIR@" - #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" -+#cmakedefine DEFAULT_TMPDIR "@DEFAULT_TMPDIR@" - - #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" - -diff -up mysql-5.6.14/include/my_global.h.tmpdir mysql-5.6.14/include/my_global.h ---- mysql-5.6.14/include/my_global.h.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/include/my_global.h 2013-10-09 14:49:14.116887439 +0200 -@@ -1219,3 +1219,10 @@ typedef struct - #endif - - #endif // MY_GLOBAL_INCLUDED -+/* -+ Define default tmpdir if not already set. -+*/ -+#if !defined(DEFAULT_TMPDIR) -+#define DEFAULT_TMPDIR P_tmpdir -+#endif -+ -diff -up mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir mysql-5.6.14/libmysqld/lib_sql.cc ---- mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir 2013-09-10 09:38:26.000000000 +0200 -+++ mysql-5.6.14/libmysqld/lib_sql.cc 2013-10-09 14:49:14.116887439 +0200 -@@ -587,7 +587,7 @@ int init_embedded_server(int argc, char - opt_mysql_tmpdir=getenv("TMP"); - #endif - if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) -- opt_mysql_tmpdir=(char*) P_tmpdir; /* purecov: inspected */ -+ opt_mysql_tmpdir=(char*) DEFAULT_TMPDIR; /* purecov: inspected */ - - init_ssl(); - umask(((~my_umask) & 0666)); -diff -up mysql-5.6.14/mysys/mf_tempdir.c.tmpdir mysql-5.6.14/mysys/mf_tempdir.c ---- mysql-5.6.14/mysys/mf_tempdir.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/mysys/mf_tempdir.c 2013-10-09 14:49:14.116887439 +0200 -@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c - pathlist=getenv("TMP"); - #endif - if (!pathlist || !pathlist[0]) -- pathlist=(char*) P_tmpdir; -+ pathlist=(char*) DEFAULT_TMPDIR; - } - do - { -diff -up mysql-5.6.14/mysys/mf_tempfile.c.tmpdir mysql-5.6.14/mysys/mf_tempfile.c ---- mysql-5.6.14/mysys/mf_tempfile.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/mysys/mf_tempfile.c 2013-10-09 14:49:14.117887440 +0200 -@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch - sizeof(prefix_buff)-7),"XXXXXX") - - prefix_buff); - if (!dir && ! (dir =getenv("TMPDIR"))) -- dir=P_tmpdir; -+ dir=DEFAULT_TMPDIR; - if (strlen(dir)+ pfx_len > FN_REFLEN-2) - { - errno=my_errno= ENAMETOOLONG; diff --git a/community-mysql.spec b/community-mysql.spec index 8d35926..f0d2254 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,8 +13,8 @@ %global _default_patch_flags --no-backup-if-mismatch Name: community-mysql -Version: 5.6.15 -Release: 4%{?dist} +Version: 5.6.16 +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -50,19 +50,15 @@ Patch18: community-mysql-5.6.11-cipherspec.patch Patch19: community-mysql-file-contents.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-sharedir.patch -Patch23: community-mysql-5.6.10-libmysql-version.patch +Patch23: community-mysql-5.6.16-libmysql-version.patch Patch24: community-mysql-man-pages.patch -Patch25: community-mysql-5.6.14-mysql-install.patch +Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch Patch28: community-mysql-5.6.13-truncate-file.patch -Patch29: community-mysql-tmpdir.patch -Patch30: community-mysql-cve-2013-1861.patch -Patch31: community-mysql-innodbwarn.patch -Patch32: community-mysql-covscan-signexpr.patch -Patch33: community-mysql-covscan-stroverflow.patch Patch34: community-mysql-pluginerrmsg.patch Patch35: community-mysql-rhbz1059545.patch Patch36: community-mysql-ssltest.patch +Patch37: community-mysql-5.6.16-fix-regex-werror.patch BuildRequires: cmake BuildRequires: dos2unix @@ -254,14 +250,10 @@ the MySQL sources. %patch26 -p1 %endif %patch28 -p0 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 %patch34 -p1 %patch35 -p1 %patch36 -p1 +%patch37 -p1 # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -537,6 +529,8 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d %post libs -p /sbin/ldconfig +%post embedded -p /sbin/ldconfig + %post server %systemd_post mysqld.service /bin/touch /var/log/mysqld.log @@ -561,6 +555,8 @@ fi %postun libs -p /sbin/ldconfig +%postun embedded -p /sbin/ldconfig + %postun server %systemd_postun_with_restart mysqld.service @@ -752,6 +748,23 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Feb 3 2014 Honza Horak 5.6.16-2 +- Rebuild -man-pages.patch to apply smoothly + +* Fri Jan 31 2014 Bjorn Munch 5.6.16-1 +- Update to MySQL 5.6.16, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-16.html +- Patches now upstream: tmpdir, cve-2013-1861, covscan-signexpr, + covscan-stroverflow +- Fixed upstream: innodbwarn +- ldconfig needed in embedded subpackage +- Remove unused generate-tarball.sh from tree +- Rediff mysql-install patch +- Make symvers 18 default, provide symvers 16 for backward compat + (bz #1045013) +- Man page patch disabled due too many conflicts +- Memcached build patched to not remove -Werror= in CFLAGS + * Thu Jan 30 2014 Honza Horak 5.6.15-4 Fix for CVE-2014-0001 Resolves: #1059545 diff --git a/generate-tarball.sh b/generate-tarball.sh deleted file mode 100755 index 4482e67..0000000 --- a/generate-tarball.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -VERSION=$1 - -rm -rf mysql-$VERSION - -tar xfz mysql-$VERSION.tar.gz || exit 1 - -rm mysql-$VERSION/Docs/mysql.info - -tar cfJ mysql-$VERSION-nodocs.tar.xz mysql-$VERSION || exit 1 - -rm -rf mysql-$VERSION - -exit 0 From 74cca1c3ff9d03020c117b9a040dd53512131daa Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 3 Feb 2014 18:35:20 +0100 Subject: [PATCH 281/616] Forgot to add the files --- community-mysql-5.6.16-fix-regex-werror.patch | 26 + community-mysql-5.6.16-libmysql-version.patch | 960 ++++++++++++++++++ community-mysql-5.6.16-mysql-install.patch | 204 ++++ 3 files changed, 1190 insertions(+) create mode 100644 community-mysql-5.6.16-fix-regex-werror.patch create mode 100644 community-mysql-5.6.16-libmysql-version.patch create mode 100644 community-mysql-5.6.16-mysql-install.patch diff --git a/community-mysql-5.6.16-fix-regex-werror.patch b/community-mysql-5.6.16-fix-regex-werror.patch new file mode 100644 index 0000000..0d76ddd --- /dev/null +++ b/community-mysql-5.6.16-fix-regex-werror.patch @@ -0,0 +1,26 @@ +diff --git a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt +index 0332658..29c6f46 100644 +--- a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt ++++ b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt +@@ -32,7 +32,7 @@ SET(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS} -I${CMAK + + # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully + IF(CMAKE_C_FLAGS MATCHES "-Werror") +- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + # Turn -Wdeclaration-after-statement off to reduce the number of warnings + STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") +diff --git a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt +index 633a175..4c0b364 100644 +--- a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt ++++ b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt +@@ -26,7 +26,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/plugin/innodb_memcached/innodb_memcache + + # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully + IF(CMAKE_C_FLAGS MATCHES "-Werror") +- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + # Turn -Wdeclaration-after-statement off to reduce the number of warnings + STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") diff --git a/community-mysql-5.6.16-libmysql-version.patch b/community-mysql-5.6.16-libmysql-version.patch new file mode 100644 index 0000000..e16e65a --- /dev/null +++ b/community-mysql-5.6.16-libmysql-version.patch @@ -0,0 +1,960 @@ +diff -rup old/libmysql/libmysql.c new/libmysql/libmysql.c +--- old/libmysql/libmysql.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/libmysql/libmysql.c 2014-01-14 12:10:27.148374504 +0100 +@@ -4898,3 +4898,612 @@ my_bool STDCALL mysql_read_query_result( + return (*mysql->methods->read_query_result)(mysql); + } + ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name) ++{ ++ return myodbc_remove_escape(mysql, name); ++} ++SYM_16(myodbc_remove_escape); ++ ++ ++my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql) ++{ ++ return mysql_affected_rows(mysql); ++} ++SYM_16(mysql_affected_rows); ++ ++ ++my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode) ++{ ++ return mysql_autocommit(mysql, auto_mode); ++} ++SYM_16(mysql_autocommit); ++ ++ ++my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db) ++{ ++ return mysql_change_user(mysql, user, passwd, db); ++} ++SYM_16(mysql_change_user); ++ ++ ++const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql) ++{ ++ return mysql_character_set_name(mysql); ++} ++SYM_16(mysql_character_set_name); ++ ++ ++my_bool STDCALL symver16_mysql_commit(MYSQL * mysql) ++{ ++ return mysql_commit(mysql); ++} ++SYM_16(mysql_commit); ++ ++ ++void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row) ++{ ++ return mysql_data_seek(result, row); ++} ++SYM_16(mysql_data_seek); ++ ++ ++void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused))) ++{ ++ return mysql_debug(debug); ++} ++SYM_16(mysql_debug); ++ ++ ++int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql) ++{ ++ return mysql_dump_debug_info(mysql); ++} ++SYM_16(mysql_dump_debug_info); ++ ++ ++my_bool STDCALL symver16_mysql_embedded(void) ++{ ++ return mysql_embedded(); ++} ++SYM_16(mysql_embedded); ++ ++ ++my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res) ++{ ++ return mysql_eof(res); ++} ++SYM_16(mysql_eof); ++ ++ ++ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length) ++{ ++ return mysql_escape_string(to, from, length); ++} ++SYM_16(mysql_escape_string); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result) ++{ ++ return mysql_fetch_field(result); ++} ++SYM_16(mysql_fetch_field); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr) ++{ ++ return mysql_fetch_field_direct(res, fieldnr); ++} ++SYM_16(mysql_fetch_field_direct); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res) ++{ ++ return mysql_fetch_fields(res); ++} ++SYM_16(mysql_fetch_fields); ++ ++ ++unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql) ++{ ++ return mysql_field_count(mysql); ++} ++SYM_16(mysql_field_count); ++ ++ ++MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset) ++{ ++ return mysql_field_seek(result, field_offset); ++} ++SYM_16(mysql_field_seek); ++ ++ ++MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res) ++{ ++ return mysql_field_tell(res); ++} ++SYM_16(mysql_field_tell); ++ ++ ++void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo) ++{ ++ return mysql_get_character_set_info(mysql, csinfo); ++} ++SYM_16(mysql_get_character_set_info); ++ ++ ++const char * STDCALL symver16_mysql_get_client_info(void) ++{ ++ return mysql_get_client_info(); ++} ++SYM_16(mysql_get_client_info); ++ ++ulong STDCALL symver16_mysql_get_client_version(void) ++{ ++ return mysql_get_client_version(); ++} ++SYM_16(mysql_get_client_version); ++ ++ ++const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql) ++{ ++ return mysql_get_host_info(mysql); ++} ++SYM_16(mysql_get_host_info); ++ ++ ++MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void) ++{ ++ return mysql_get_parameters(); ++} ++SYM_16(mysql_get_parameters); ++ ++ ++uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql) ++{ ++ return mysql_get_proto_info(mysql); ++} ++SYM_16(mysql_get_proto_info); ++ ++ ++const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql) ++{ ++ return mysql_get_server_info(mysql); ++} ++SYM_16(mysql_get_server_info); ++ ++ ++ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length) ++{ ++ return mysql_hex_string(to, from, length); ++} ++SYM_16(mysql_hex_string); ++ ++ ++const char *STDCALL symver16_mysql_info(MYSQL *mysql) ++{ ++ return mysql_info(mysql); ++} ++SYM_16(mysql_info); ++ ++ ++my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql) ++{ ++ return mysql_insert_id(mysql); ++} ++SYM_16(mysql_insert_id); ++ ++ ++int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid) ++{ ++ return mysql_kill(mysql, pid); ++} ++SYM_16(mysql_kill); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild) ++{ ++ return mysql_list_dbs(mysql, wild); ++} ++SYM_16(mysql_list_dbs); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild) ++{ ++ return mysql_list_fields(mysql, table, wild); ++} ++SYM_16(mysql_list_fields); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql) ++{ ++ return mysql_list_processes(mysql); ++} ++SYM_16(mysql_list_processes); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild) ++{ ++ return mysql_list_tables(mysql, wild); ++} ++SYM_16(mysql_list_tables); ++ ++ ++my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql) ++{ ++ return mysql_more_results(mysql); ++} ++SYM_16(mysql_more_results); ++ ++ ++int STDCALL symver16_mysql_next_result(MYSQL *mysql) ++{ ++ return mysql_next_result(mysql); ++} ++SYM_16(mysql_next_result); ++ ++ ++int STDCALL symver16_mysql_ping(MYSQL *mysql) ++{ ++ return mysql_ping(mysql); ++} ++SYM_16(mysql_ping); ++ ++ ++int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query) ++{ ++ return mysql_query(mysql, query); ++} ++SYM_16(mysql_query); ++ ++ ++my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql) ++{ ++ return mysql_read_query_result(mysql); ++} ++SYM_16(mysql_read_query_result); ++ ++ ++ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length) ++{ ++ return mysql_real_escape_string(mysql, to, from, length); ++} ++SYM_16(mysql_real_escape_string); ++ ++ ++int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options) ++{ ++ return mysql_refresh(mysql, options); ++} ++SYM_16(mysql_refresh); ++ ++ ++my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql) ++{ ++ return mysql_rollback(mysql); ++} ++SYM_16(mysql_rollback); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row) ++{ ++ return mysql_row_seek(result, row); ++} ++SYM_16(mysql_row_seek); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res) ++{ ++ return mysql_row_tell(res); ++} ++SYM_16(mysql_row_tell); ++ ++ ++void STDCALL symver16_mysql_server_end() ++{ ++ return mysql_server_end(); ++} ++SYM_16(mysql_server_end); ++ ++ ++int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused))) ++{ ++ return mysql_server_init(argc, argv, groups); ++} ++SYM_16(mysql_server_init); ++ ++ ++void symver16_mysql_set_local_infile_default(MYSQL *mysql) ++{ ++ return mysql_set_local_infile_default(mysql); ++} ++SYM_16(mysql_set_local_infile_default); ++ ++ ++void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata) ++{ ++ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata); ++} ++SYM_16(mysql_set_local_infile_handler); ++ ++ ++int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option) ++{ ++ return mysql_set_server_option(mysql, option); ++} ++SYM_16(mysql_set_server_option); ++ ++ ++int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level) ++{ ++ return mysql_shutdown(mysql, shutdown_level); ++} ++SYM_16(mysql_shutdown); ++ ++ ++const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql) ++{ ++ return mysql_sqlstate(mysql); ++} ++SYM_16(mysql_sqlstate); ++ ++ ++const char * STDCALL symver16_mysql_stat(MYSQL *mysql) ++{ ++ return mysql_stat(mysql); ++} ++SYM_16(mysql_stat); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_affected_rows(stmt); ++} ++SYM_16(mysql_stmt_affected_rows); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value) ++{ ++ return mysql_stmt_attr_get(stmt, attr_type, value); ++} ++SYM_16(mysql_stmt_attr_get); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value) ++{ ++ return mysql_stmt_attr_set(stmt, attr_type, value); ++} ++SYM_16(mysql_stmt_attr_set); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) ++{ ++ return mysql_stmt_bind_param(stmt, my_bind); ++} ++SYM_16(mysql_stmt_bind_param); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) ++{ ++ return mysql_stmt_bind_result(stmt, my_bind); ++} ++SYM_16(mysql_stmt_bind_result); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_close(stmt); ++} ++SYM_16(mysql_stmt_close); ++ ++ ++void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row) ++{ ++ return mysql_stmt_data_seek(stmt, row); ++} ++SYM_16(mysql_stmt_data_seek); ++ ++ ++uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_errno(stmt); ++} ++SYM_16(mysql_stmt_errno); ++ ++ ++const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_error(stmt); ++} ++SYM_16(mysql_stmt_error); ++ ++ ++int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_execute(stmt); ++} ++SYM_16(mysql_stmt_execute); ++ ++ ++int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_fetch(stmt); ++} ++SYM_16(mysql_stmt_fetch); ++ ++ ++int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset) ++{ ++ return mysql_stmt_fetch_column(stmt, my_bind, column, offset); ++} ++SYM_16(mysql_stmt_fetch_column); ++ ++ ++unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_field_count(stmt); ++} ++SYM_16(mysql_stmt_field_count); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_free_result(stmt); ++} ++SYM_16(mysql_stmt_free_result); ++ ++ ++MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql) ++{ ++ return mysql_stmt_init(mysql); ++} ++SYM_16(mysql_stmt_init); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_insert_id(stmt); ++} ++SYM_16(mysql_stmt_insert_id); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_num_rows(stmt); ++} ++SYM_16(mysql_stmt_num_rows); ++ ++ ++ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_param_count(stmt); ++} ++SYM_16(mysql_stmt_param_count); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_param_metadata(stmt); ++} ++SYM_16(mysql_stmt_param_metadata); ++ ++ ++int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) ++{ ++ return mysql_stmt_prepare(stmt, query, length); ++} ++SYM_16(mysql_stmt_prepare); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_reset(stmt); ++} ++SYM_16(mysql_stmt_reset); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_result_metadata(stmt); ++} ++SYM_16(mysql_stmt_result_metadata); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row) ++{ ++ return mysql_stmt_row_seek(stmt, row); ++} ++SYM_16(mysql_stmt_row_seek); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_row_tell(stmt); ++} ++SYM_16(mysql_stmt_row_tell); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length) ++{ ++ return mysql_stmt_send_long_data(stmt, param_number, data, length); ++} ++SYM_16(mysql_stmt_send_long_data); ++ ++ ++const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_sqlstate(stmt); ++} ++SYM_16(mysql_stmt_sqlstate); ++ ++ ++int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_store_result(stmt); ++} ++SYM_16(mysql_stmt_store_result); ++ ++ ++void STDCALL symver16_mysql_thread_end() ++{ ++ return mysql_thread_end(); ++} ++SYM_16(mysql_thread_end); ++ ++ ++ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql) ++{ ++ return mysql_thread_id(mysql); ++} ++SYM_16(mysql_thread_id); ++ ++ ++my_bool STDCALL symver16_mysql_thread_init() ++{ ++ return mysql_thread_init(); ++} ++SYM_16(mysql_thread_init); ++ ++ ++uint STDCALL symver16_mysql_thread_safe(void) ++{ ++ return mysql_thread_safe(); ++} ++SYM_16(mysql_thread_safe); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql) ++{ ++ return mysql_use_result(mysql); ++} ++SYM_16(mysql_use_result); ++ ++ ++uint STDCALL symver16_mysql_warning_count(MYSQL *mysql) ++{ ++ return mysql_warning_count(mysql); ++} ++SYM_16(mysql_warning_count); ++ ++/*****/ ++ ++MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag) ++{ ++ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); ++} ++SYM_16(mysql_real_connect); ++ ++/*****/ ++ ++my_bool symver16_my_init(void) ++{ ++ return my_init(); ++} ++SYM_16(my_init); ++ ++#endif +diff -rup old/libmysql/libmysql.ver.in new/libmysql/libmysql.ver.in +--- old/libmysql/libmysql.ver.in 2013-11-04 20:15:10.000000000 +0100 ++++ new/libmysql/libmysql.ver.in 2014-01-14 12:10:27.148374504 +0100 +@@ -1 +1,136 @@ +-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; ++libmysqlclient_16 ++{ ++ local: ++ symver16_*; ++}; ++ ++libmysqlclient_18 ++{ ++ global: ++ my_init; ++ myodbc_remove_escape; ++ mysql_affected_rows; ++ mysql_autocommit; ++ mysql_change_user; ++ mysql_character_set_name; ++ mysql_close; ++ mysql_commit; ++ mysql_data_seek; ++ mysql_debug; ++ mysql_dump_debug_info; ++ mysql_embedded; ++ mysql_eof; ++ mysql_errno; ++ mysql_error; ++ mysql_escape_string; ++ mysql_fetch_field; ++ mysql_fetch_field_direct; ++ mysql_fetch_fields; ++ mysql_fetch_lengths; ++ mysql_fetch_row; ++ mysql_field_count; ++ mysql_field_seek; ++ mysql_field_tell; ++ mysql_free_result; ++ mysql_get_character_set_info; ++ mysql_get_client_info; ++ mysql_get_client_version; ++ mysql_get_host_info; ++ mysql_get_parameters; ++ mysql_get_proto_info; ++ mysql_get_server_info; ++ mysql_get_server_version; ++ mysql_get_ssl_cipher; ++ mysql_hex_string; ++ mysql_info; ++ mysql_init; ++ mysql_insert_id; ++ mysql_kill; ++ mysql_list_dbs; ++ mysql_list_fields; ++ mysql_list_processes; ++ mysql_list_tables; ++ mysql_more_results; ++ mysql_next_result; ++ mysql_num_fields; ++ mysql_num_rows; ++ mysql_options; ++ mysql_ping; ++ mysql_query; ++ mysql_read_query_result; ++ mysql_real_connect; ++ mysql_real_escape_string; ++ mysql_real_query; ++ mysql_refresh; ++ mysql_rollback; ++ mysql_row_seek; ++ mysql_row_tell; ++ mysql_select_db; ++ mysql_send_query; ++ mysql_server_end; ++ mysql_server_init; ++ mysql_set_character_set; ++ mysql_set_local_infile_default; ++ mysql_set_local_infile_handler; ++ mysql_set_server_option; ++ mysql_shutdown; ++ mysql_sqlstate; ++ mysql_ssl_set; ++ mysql_stat; ++ mysql_stmt_affected_rows; ++ mysql_stmt_attr_get; ++ mysql_stmt_attr_set; ++ mysql_stmt_bind_param; ++ mysql_stmt_bind_result; ++ mysql_stmt_close; ++ mysql_stmt_data_seek; ++ mysql_stmt_errno; ++ mysql_stmt_error; ++ mysql_stmt_execute; ++ mysql_stmt_fetch; ++ mysql_stmt_fetch_column; ++ mysql_stmt_field_count; ++ mysql_stmt_free_result; ++ mysql_stmt_init; ++ mysql_stmt_insert_id; ++ mysql_stmt_num_rows; ++ mysql_stmt_param_count; ++ mysql_stmt_param_metadata; ++ mysql_stmt_prepare; ++ mysql_stmt_reset; ++ mysql_stmt_result_metadata; ++ mysql_stmt_row_seek; ++ mysql_stmt_row_tell; ++ mysql_stmt_send_long_data; ++ mysql_stmt_sqlstate; ++ mysql_stmt_store_result; ++ mysql_store_result; ++ mysql_thread_end; ++ mysql_thread_id; ++ mysql_thread_init; ++ mysql_thread_safe; ++ mysql_use_result; ++ mysql_warning_count; ++ ++ free_defaults; ++ handle_options; ++ load_defaults; ++ my_print_help; ++ ++ #my_make_scrambled_password; ++ THR_KEY_mysys; ++ ++ mysql_client_find_plugin; ++ mysql_client_register_plugin; ++ mysql_load_plugin; ++ mysql_load_plugin_v; ++ mysql_plugin_options; ++ mysql_stmt_next_result; ++ ++ #mysql_default_charset_info; ++ mysql_get_charset; ++ mysql_get_charset_by_csname; ++ mysql_net_realloc; ++ #mysql_client_errors; ++ *; ++} libmysqlclient_16; +diff -rup old/mysys/charset.c new/mysys/charset.c +--- old/mysys/charset.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/mysys/charset.c 2014-01-14 12:10:27.197377417 +0100 +@@ -1040,3 +1040,20 @@ size_t escape_quotes_for_mysql(CHARSET_I + *to= 0; + return overflow ? (ulong)~0 : (ulong) (to - to_start); + } ++ ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide Fedora symbols ++ ++CHARSET_INFO *mysql_get_charset(uint cs_number, myf flags) ++{ ++ return get_charset(cs_number, flags); ++} ++ ++ ++CHARSET_INFO * mysql_get_charset_by_csname(const char *cs_name, uint cs_flags, myf flags) ++{ ++ return get_charset_by_csname(cs_name, cs_flags, flags); ++} ++ ++#endif +diff -rup old/sql/net_serv.cc new/sql/net_serv.cc +--- old/sql/net_serv.cc 2013-11-04 20:15:10.000000000 +0100 ++++ new/sql/net_serv.cc 2014-01-14 12:10:27.252380688 +0100 +@@ -1047,3 +1047,15 @@ void my_net_set_write_timeout(NET *net, + DBUG_VOID_RETURN; + } + ++#ifndef EMBEDDED_LIBRARY ++C_MODE_START ++ ++// Hack to provide Fedora symbols ++ ++my_bool mysql_net_realloc(NET *net, size_t length) ++{ ++ return net_realloc(net, length); ++} ++ ++C_MODE_END ++#endif +diff -rup old/sql/password.c new/sql/password.c +--- old/sql/password.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/sql/password.c 2014-01-14 12:10:27.309384078 +0100 +@@ -584,3 +584,16 @@ void make_password_from_salt(char *to, c + octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE); + } + ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len) ++{ ++ my_make_scrambled_password(to, password, pass_len); ++} ++SYM_16(my_make_scrambled_password); ++ ++#endif +diff -rup old/sql-common/client.c new/sql-common/client.c +--- old/sql-common/client.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/sql-common/client.c 2014-01-14 12:10:27.199377537 +0100 +@@ -4847,3 +4847,136 @@ static int clear_password_auth_client(MY + + return res ? CR_ERROR : CR_OK; + } ++ ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void STDCALL symver16_mysql_close(MYSQL *mysql) ++{ ++ return mysql_close(mysql); ++} ++SYM_16(mysql_close); ++ ++ ++uint STDCALL symver16_mysql_errno(MYSQL *mysql) ++{ ++ return mysql_errno(mysql); ++} ++SYM_16(mysql_errno); ++ ++ ++const char * STDCALL symver16_mysql_error(MYSQL *mysql) ++{ ++ return mysql_error(mysql); ++} ++SYM_16(mysql_error); ++ ++ ++ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res) ++{ ++ return mysql_fetch_lengths(res); ++} ++SYM_16(mysql_fetch_lengths); ++ ++ ++MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res) ++{ ++ return mysql_fetch_row(res); ++} ++SYM_16(mysql_fetch_row); ++ ++ ++void STDCALL symver16_mysql_free_result(MYSQL_RES *result) ++{ ++ return mysql_free_result(result); ++} ++SYM_16(mysql_free_result); ++ ++ ++ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql) ++{ ++ return mysql_get_server_version(mysql); ++} ++SYM_16(mysql_get_server_version); ++ ++ ++const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused))) ++{ ++ return mysql_get_ssl_cipher(mysql); ++} ++SYM_16(mysql_get_ssl_cipher); ++ ++ ++MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql) ++{ ++ return mysql_init(mysql); ++} ++SYM_16(mysql_init); ++ ++ ++unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res) ++{ ++ return mysql_num_fields(res); ++} ++SYM_16(mysql_num_fields); ++ ++ ++my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res) ++{ ++ return mysql_num_rows(res); ++} ++SYM_16(mysql_num_rows); ++ ++ ++int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) ++{ ++ return mysql_options(mysql, option, arg); ++} ++SYM_16(mysql_options); ++ ++ ++int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length) ++{ ++ return mysql_real_query(mysql, query, length); ++} ++SYM_16(mysql_real_query); ++ ++ ++int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db) ++{ ++ return mysql_select_db(mysql, db); ++} ++SYM_16(mysql_select_db); ++ ++ ++int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length) ++{ ++ return mysql_send_query(mysql, query, length); ++} ++SYM_16(mysql_send_query); ++ ++ ++int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name) ++{ ++ return mysql_set_character_set(mysql, cs_name); ++} ++SYM_16(mysql_set_character_set); ++ ++ ++my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused))) ++{ ++ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher); ++} ++SYM_16(mysql_ssl_set); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql) ++{ ++ return mysql_store_result(mysql); ++} ++SYM_16(mysql_store_result); ++ ++#endif diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch new file mode 100644 index 0000000..95a5277 --- /dev/null +++ b/community-mysql-5.6.16-mysql-install.patch @@ -0,0 +1,204 @@ +diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in +index 440a977..7d068fc 100644 +--- a/scripts/mysql_install_db.pl.in ++++ b/scripts/mysql_install_db.pl.in +@@ -34,13 +34,35 @@ + # + ############################################################################## + +-use Fcntl; +-use File::Basename; +-use File::Copy; +-use Getopt::Long; +-use Sys::Hostname; +-use Data::Dumper; + use strict; ++use warnings; ++ ++############################################################################## ++# Check if all needed modules are available, exit if something is missing. ++############################################################################## ++ ++BEGIN { ++ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', ++ 'Sys::Hostname', 'Data::Dumper'); ++ my @missing_mods; ++ my $req; ++ foreach $req (@req_mods) { ++ eval 'require ' . $req; ++ if ($@) { ++ push(@missing_mods, $req); ++ } else { ++ $req->import(); ++ } ++ } ++ # this avoids the confusing "BEGIN failed--compilation aborted" message ++ local $SIG{__DIE__} = sub {warn @_; exit 1}; ++ ++ if (@missing_mods) { ++ my $msg = "FATAL ERROR: please install the following Perl modules " . ++ "before executing $0:\n" . join("\n",@missing_mods)."\n"; ++ die $msg; ++ } ++} + + Getopt::Long::Configure("pass_through"); + +@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] + --help Display this help and exit. + --ldata=path The path to the MySQL data directory. Same as --datadir. + --no-defaults Don't read default options from any option file. ++ --keep-my-cnf Don't try to create my.cnf based on template. ++ Useful for systems with working, updated my.cnf. + EOF1 + if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { + print <{srcdir} and $opt->{basedir} ) + { + error($opt,"Specify either --basedir or --srcdir, not both"); + } ++if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) ++{ ++ $keep_my_cnf = 1; ++} + if ( $opt->{srcdir} ) + { + $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; +@@ -425,13 +462,18 @@ my $config_file; + my $copy_cfg_file; + + # ---------------------------------------------------------------------- +-# This will be the default config file ++# This will be the default config file (unless creation is unwanted) + # ---------------------------------------------------------------------- + + $config_file= "$basedir/my.cnf"; + + my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", + "share","share/mysql","support-files"); ++# Distros might move files ++if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { ++ $cfg_template = "@pkgdatadir@/my-default.cnf"; ++} ++ + -e $cfg_template or cannot_find_file("my-default.cnf"); + + $copy_cfg_file= $config_file; +@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.cnf/my-new.cnf/; + # Too early to print warning here, the user may not notice + } +-open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); +-if (open (CFG, "> $copy_cfg_file")) +-{ +- while () +- { +- # Remove lines beginning with # *** which are template comments +- print CFG $_ unless /^# \*\*\*/; ++ ++if ( ! $keep_my_cnf ) { ++ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); ++ if (open (CFG, "> $copy_cfg_file")) { ++ while () { ++ # Remove lines beginning with # *** which are template comments ++ print CFG $_ unless /^# \*\*\*/; ++ } ++ close CFG; ++ } else { ++ warning($opt,"Could not write to config file $copy_cfg_file: $!"); ++ $failed_write_cfg= 1; + } +- close CFG; ++ close TEMPL; + } +-else +-{ +- warning($opt,"Could not write to config file $copy_cfg_file: $!"); +- $failed_write_cfg= 1; +-} +-close TEMPL; + + # ---------------------------------------------------------------------- + # Now we can get arguments from the groups [mysqld] and [mysql_install_db] +@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) + } + + # ---------------------------------------------------------------------- +-# Create database directories mysql & test ++# Create database directory mysql + # ---------------------------------------------------------------------- + + # FIXME The shell variant uses "mkdir -p": +@@ -652,7 +693,7 @@ if ($opt_user) + } + } + +-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) ++foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") + { + mkdir($dir, 0700) unless -d $dir; + if ($opt_user and -w "/") +@@ -846,7 +887,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) + "", + "Support MySQL by buying support/licenses at http://shop.mysql.com"); + +- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) ++ if ($keep_my_cnf) ++ { ++ report($opt, ++ "Note: new default config file not created.", ++ "Please make sure your config file is current"); ++ } ++ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) + { + report($opt, + "New default config file was created as $config_file and", From 22963a2b91238546e3bc8603243d9a7baa98fb39 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Fri, 4 Apr 2014 14:46:52 +0200 Subject: [PATCH 282/616] Update to 5.6.17 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-5.6.13-truncate-file.patch | 21 -- community-mysql-5.6.16-fix-regex-werror.patch | 26 -- community-mysql-5.6.16-mysql-install.patch | 90 +---- community-mysql-innodbwarn.patch | 20 - community-mysql-install-test.patch | 6 +- community-mysql-man-pages.patch | 357 +++++++++--------- community-mysql-ssltest.patch | 30 -- community-mysql.spec | 252 +++++-------- mysql-embedded-check.c | 26 -- rh-skipped-tests-arm.list | 14 - rh-skipped-tests-base.list | 13 - sources | 2 +- 13 files changed, 282 insertions(+), 576 deletions(-) delete mode 100644 community-mysql-5.6.13-truncate-file.patch delete mode 100644 community-mysql-5.6.16-fix-regex-werror.patch delete mode 100644 community-mysql-innodbwarn.patch delete mode 100644 community-mysql-ssltest.patch delete mode 100644 mysql-embedded-check.c delete mode 100644 rh-skipped-tests-arm.list delete mode 100644 rh-skipped-tests-base.list diff --git a/.gitignore b/.gitignore index 94e6ac7..f7c6743 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /mysql-5.6.14-nodocs.tar.xz /mysql-5.6.15.tar.gz /mysql-5.6.16.tar.gz +/mysql-5.6.17.tar.gz diff --git a/community-mysql-5.6.13-truncate-file.patch b/community-mysql-5.6.13-truncate-file.patch deleted file mode 100644 index 4bbeece..0000000 --- a/community-mysql-5.6.13-truncate-file.patch +++ /dev/null @@ -1,21 +0,0 @@ -Unneccesary use of Env module in Perl code in a test - -Code used Env just to get the value of a single environment variable, -causing the test to fail on systems which does not have this -installed. This use is overkill, can easily be replaced by standard -access via the ENV hash. - -diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc ---- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200 -+++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200 -@@ -9,8 +9,7 @@ if (!$file) - let TRUNCATE_FILE= $file; - - perl; --use Env; --Env::import('TRUNCATE_FILE'); --open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file"; -+my $file= $ENV{'TRUNCATE_FILE'}; -+open FILE, '>', $file || die "Can not open file $file"; - close FILE; - EOF diff --git a/community-mysql-5.6.16-fix-regex-werror.patch b/community-mysql-5.6.16-fix-regex-werror.patch deleted file mode 100644 index 0d76ddd..0000000 --- a/community-mysql-5.6.16-fix-regex-werror.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -index 0332658..29c6f46 100644 ---- a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -+++ b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -@@ -32,7 +32,7 @@ SET(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS} -I${CMAK - - # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully - IF(CMAKE_C_FLAGS MATCHES "-Werror") -- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - # Turn -Wdeclaration-after-statement off to reduce the number of warnings - STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") -diff --git a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -index 633a175..4c0b364 100644 ---- a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -+++ b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -@@ -26,7 +26,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/plugin/innodb_memcached/innodb_memcache - - # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully - IF(CMAKE_C_FLAGS MATCHES "-Werror") -- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - # Turn -Wdeclaration-after-statement off to reduce the number of warnings - STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 95a5277..943009e 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -2,48 +2,6 @@ diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 440a977..7d068fc 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in -@@ -34,13 +34,35 @@ - # - ############################################################################## - --use Fcntl; --use File::Basename; --use File::Copy; --use Getopt::Long; --use Sys::Hostname; --use Data::Dumper; - use strict; -+use warnings; -+ -+############################################################################## -+# Check if all needed modules are available, exit if something is missing. -+############################################################################## -+ -+BEGIN { -+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', -+ 'Sys::Hostname', 'Data::Dumper'); -+ my @missing_mods; -+ my $req; -+ foreach $req (@req_mods) { -+ eval 'require ' . $req; -+ if ($@) { -+ push(@missing_mods, $req); -+ } else { -+ $req->import(); -+ } -+ } -+ # this avoids the confusing "BEGIN failed--compilation aborted" message -+ local $SIG{__DIE__} = sub {warn @_; exit 1}; -+ -+ if (@missing_mods) { -+ my $msg = "FATAL ERROR: please install the following Perl modules " . -+ "before executing $0:\n" . join("\n",@missing_mods)."\n"; -+ die $msg; -+ } -+} - - Getopt::Long::Configure("pass_through"); - @@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] --help Display this help and exit. --ldata=path The path to the MySQL data directory. Same as --datadir. @@ -69,33 +27,6 @@ index 440a977..7d068fc 100644 "rpm", "help", "random-passwords", -@@ -356,13 +382,19 @@ sub tell_root_password { - ############################################################################## - - sub generate_random_password { -- # On (at least) Linux and Solaris, a "random" device is available, use it: -- # cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1 -- # Without LC_ALL, "tr" may not know the "alnum" character class - -- # and there are user profiles which do not have this set. -- # -- my $password = `cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1`; -- chomp ($password); -+ # On Linux, Solaris, Max OS X and FreeBSD we have a random device available. -+ my $randfile = "/dev/urandom"; -+ open(FD, $randfile) || die "Can't open $randfile for reading: $!"; -+ my $password = ""; -+ my $pass_len = 16; -+ my $c; -+ while (length($password) < $pass_len) { -+ $c = getc(FD); -+ if ($c =~ /\w/) { -+ $password .= $c; -+ } -+ } -+ close(FD); - return $password; - } - @@ -399,11 +431,16 @@ $basedir= "@prefix@" if ! $basedir; # Default # ---------------------------------------------------------------------- @@ -113,7 +44,7 @@ index 440a977..7d068fc 100644 if ( $opt->{srcdir} ) { $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,13 +462,18 @@ my $config_file; +@@ -425,7 +462,7 @@ my $config_file; my $copy_cfg_file; # ---------------------------------------------------------------------- @@ -121,20 +52,21 @@ index 440a977..7d068fc 100644 +# This will be the default config file (unless creation is unwanted) # ---------------------------------------------------------------------- - $config_file= "$basedir/my.cnf"; + my $cnfext = ( $^O =~ m/^(MSWin32|cygwin)$/ ) ? "ini" : "cnf"; +@@ -434,6 +471,11 @@ $config_file= "$basedir/my.$cnfext"; - my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", - "share","share/mysql","support-files"); + my $cfg_template= find_in_basedir($opt,"file","my-default.$cnfext", + ".", "share","share/mysql","support-files"); +# Distros might move files +if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { + $cfg_template = "@pkgdatadir@/my-default.cnf"; +} + - -e $cfg_template or cannot_find_file("my-default.cnf"); + -e $cfg_template or cannot_find_file("my-default.$cnfext"); $copy_cfg_file= $config_file; -@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.cnf/my-new.cnf/; +@@ -443,22 +485,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.$cnfext/my-new.$cnfext/; # Too early to print warning here, the user may not notice } -open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); @@ -169,7 +101,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) +@@ -621,7 +662,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) } # ---------------------------------------------------------------------- @@ -178,7 +110,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # FIXME The shell variant uses "mkdir -p": -@@ -652,7 +693,7 @@ if ($opt_user) +@@ -654,7 +695,7 @@ if ($opt_user) } } @@ -187,7 +119,7 @@ index 440a977..7d068fc 100644 { mkdir($dir, 0700) unless -d $dir; if ($opt_user and -w "/") -@@ -846,7 +887,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) +@@ -848,7 +889,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) "", "Support MySQL by buying support/licenses at http://shop.mysql.com"); diff --git a/community-mysql-innodbwarn.patch b/community-mysql-innodbwarn.patch deleted file mode 100644 index c513442..0000000 --- a/community-mysql-innodbwarn.patch +++ /dev/null @@ -1,20 +0,0 @@ -Test case rpl.rpl_daedlock_innodb fails when dropping tables because some -warnings are generated in the slave server. The test is working fine when -running alone, but fails when all tests are running, so it seems not to be -so bad thing to ignore that warnings. - -http://bugs.mysql.com/bug.php?id=69458 - -diff -up mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn mysql-5.5.32/mysql-test/include/mtr_warnings.sql ---- mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn 2013-06-13 16:45:27.723525133 +0200 -+++ mysql-5.5.32/mysql-test/include/mtr_warnings.sql 2013-06-13 16:46:24.879524133 +0200 -@@ -162,6 +162,9 @@ INSERT INTO global_suppressions VALUES - ("InnoDB: Error: in RENAME TABLE table `test`.`t1`"), - ("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"), - -+ /* rpl.rpl_deadlock_innodb fails when trying DROP tables */ -+ ("InnoDB: Error: table `mysqld.2`.`#sql.*` does not exist in the InnoDB internal"), -+ - /* - BUG#32080 - Excessive warnings on Solaris: setrlimit could not - change the size of core files diff --git a/community-mysql-install-test.patch b/community-mysql-install-test.patch index a31a280..1f67132 100644 --- a/community-mysql-install-test.patch +++ b/community-mysql-install-test.patch @@ -21,16 +21,16 @@ diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README +For use in Red Hat distributions, you should run the script as user mysql, +so the best bet is something like + cd /usr/share/mysql-test -+ sudo -u mysql ./mysql-test-run --skip-test-list=rh-skipped-tests.list ++ sudo -u mysql ./mysql-test-run --skip-test-list=platform-specific-tests.list +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. + -+The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++The "--skip-test-list=platform-specific-tests.list" option excludes tests that are +known to fail on one or more Red-Hat-supported platforms. You can omit it +if you want to check whether such failures occur for you. Documentation +about the reasons for omitting such tests can be found in the file -+rh-skipped-tests.list. ++platform-specific-tests.list. + +To clean up afterwards, remove the created "var" subdirectory, eg + sudo -u mysql rm -rf /usr/share/mysql-test/var diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index d30ed81..43fe99d 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -1,13 +1,8 @@ -Upstream bug: http://bugs.mysql.com/bug.php?id=69342 - -# Amalgamation of patches to various mysql man pages - -# ===== mysqladmin manual page ===== - -diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 ---- mysql-5.6.16/man/mysql.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysql.1 2014-02-03 15:37:23.064082223 +0100 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt +diff --git a/man/mysql.1 b/man/mysql.1 +index 2e1602c..1e1d9f3 100644 +--- a/man/mysql.1 ++++ b/man/mysql.1 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Options that Affect Option-File Handling\(r .\" mysql: help option .\" help option: mysql \fB\-\-help\fR, @@ -17,7 +12,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .sp Display a help message and exit\&. .RE -@@ -348,6 +349,21 @@ Compress all information sent between th +@@ -348,6 +349,21 @@ Compress all information sent between the client and the server if both support .ie n \{\ \h'-04'\(bu\h'+03'\c .\} @@ -39,7 +34,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .el \{\ .sp -1 .IP \(bu 2.3 -@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authenti +@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. .sp .RS 4 .ie n \{\ @@ -77,7 +72,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 \h'-04'\(bu\h'+03'\c .\} .el \{\ -@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\( +@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\(rq)\&. .el \{\ .sp -1 .IP \(bu 2.3 @@ -114,7 +109,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .\} .\" mysql: init-command option .\" init-command option: mysql -@@ -691,6 +768,21 @@ has no effect if the server does not als +@@ -691,6 +768,21 @@ has no effect if the server does not also support it\&. .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c @@ -136,7 +131,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .\} .el \{\ .sp -1 -@@ -886,6 +978,21 @@ the section called \(lqMYSQL COMMANDS\(r +@@ -911,6 +1003,21 @@ the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&. \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp @@ -158,7 +153,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password\&. If you omit the -@@ -1077,6 +1184,36 @@ If the connection to the server is lost, +@@ -1102,6 +1209,36 @@ If the connection to the server is lost, automatically try to reconnect\&. A sin \fB\-\-skip\-reconnect\fR\&. .RE .sp @@ -195,7 +190,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -1121,9 +1258,39 @@ to disable it\&. +@@ -1146,9 +1283,39 @@ to disable it\&. .if n \{\ .sp .\} @@ -235,16 +230,16 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .nr an-break-flag 1 .br .ps +1 -@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, +@@ -1305,7 +1472,7 @@ localhost, the Unix socket file to use, or, on Windows, the name of the named pi \fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR +\fB\-\-ssl\fR, specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. + Section\ \&6.3.10.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac +@@ -1481,7 +1648,7 @@ The XML output also uses an XML namespace, as shown here: .RS 4 .\} .nf @@ -253,7 +248,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 -@@ -3369,16 +3536,16 @@ statements that probably need to examine +@@ -3395,16 +3562,16 @@ statements that probably need to examine more than 1,000,000 row combinations\&. .RE .PP To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the @@ -273,10 +268,38 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 ---- mysql-5.6.16/man/mysqladmin.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqladmin.1 2014-02-03 15:31:31.984839986 +0100 -@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff --git a/man/mysql_config.1 b/man/mysql_config.1 +index 5bd4e5b..e7e11db 100644 +--- a/man/mysql_config.1 ++++ b/man/mysql_config.1 +@@ -174,6 +174,22 @@ The default TCP/IP port number, defined when configuring MySQL\&. + .sp + .RS 4 + .ie n \{\ ++.\" mysql_config: variable option ++.\" variable option: mysql_config ++\fB\-\-variable=VAR\fR ++.sp ++Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of ++`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + \h'-04'\(bu\h'+03'\c + .\} + .el \{\ +diff --git a/man/mysqladmin.1 b/man/mysqladmin.1 +index d1a1020..111715e 100644 +--- a/man/mysqladmin.1 ++++ b/man/mysqladmin.1 +@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. .sp -1 .IP \(bu 2.3 .\} @@ -298,7 +321,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .\" mysqladmin: compress option .\" compress option: mysqladmin \fB\-\-compress\fR, -@@ -729,6 +744,37 @@ Print debugging information and memory a +@@ -729,6 +744,37 @@ Print debugging information and memory and CPU usage statistics when the program .sp The client\-side authentication plugin to use\&. See Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. @@ -336,7 +359,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .RE .sp .RS 4 -@@ -789,6 +835,21 @@ command\&. With multiple commands, conti +@@ -789,6 +835,21 @@ command\&. With multiple commands, continue even if an error occurs\&. .ie n \{\ \h'-04'\(bu\h'+03'\c .\} @@ -358,7 +381,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .el \{\ .sp -1 .IP \(bu 2.3 -@@ -862,6 +923,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guideli +@@ -887,6 +948,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guidelines for Password Security\(rq\&. You can On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. .RE .sp @@ -380,17 +403,10 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -935,6 +1011,21 @@ command\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -967,6 +1043,21 @@ command\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqladmin: shutdown-timeout option +.\" shutdown-timeout option: mysqladmin +\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR @@ -399,24 +415,6 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 ---- mysql-5.6.16/man/mysqlbinlog.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlbinlog.1 2014-02-03 15:31:31.984839986 +0100 -@@ -629,6 +629,7 @@ Do not display any of the groups listed - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -736,6 +737,22 @@ or any other MySQL program\&. - .RE - .sp - .RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} @@ -424,6 +422,25 @@ diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +.sp -1 +.IP \(bu 2.3 +.\} + .\" mysqladmin: secure-auth option + .\" secure-auth option: mysqladmin + \fB\-\-secure\-auth\fR +diff --git a/man/mysqlbinlog.1 b/man/mysqlbinlog.1 +index eead304..8e30383 100644 +--- a/man/mysqlbinlog.1 ++++ b/man/mysqlbinlog.1 +@@ -629,6 +629,7 @@ Do not display any of the groups listed in the + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -743,6 +744,22 @@ or any other MySQL program\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlbinlog: open-files-limit option +.\" open-files-limit option: mysqlbinlog +\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR @@ -433,13 +450,21 @@ diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 ---- mysql-5.6.16/man/mysqlcheck.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlcheck.1 2014-02-03 15:31:31.985839986 +0100 -@@ -456,6 +456,38 @@ Print some debugging information when th ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlbinlog: login-path option + .\" login-path option: mysqlbinlog + \fB\-\-login\-path=\fR\fB\fIname\fR\fR +diff --git a/man/mysqlcheck.1 b/man/mysqlcheck.1 +index 8f1a6ce..2cddc1f 100644 +--- a/man/mysqlcheck.1 ++++ b/man/mysqlcheck.1 +@@ -456,6 +456,38 @@ Print some debugging information when the program exits\&. .IP \(bu 2.3 .\} .\" mysqlcheck: debug-info option @@ -478,7 +503,7 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 .\" debug-info option: mysqlcheck \fB\-\-debug\-info\fR .sp -@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. O +@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. Only table names that contain special cha .\} .\" mysqlcheck: force option .\" force option: mysqlcheck @@ -500,17 +525,10 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 \fB\-\-force\fR, \fB\-f\fR .sp -@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -728,6 +775,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlcheck: print-defaults option +.\" print-defaults option: mysqlcheck +\fB\-\-print\-defaults\fR @@ -519,25 +537,6 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 +This must be given as the first argument\&. +.RE +.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 ---- mysql-5.6.16/man/mysql_config.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysql_config.1 2014-02-03 15:31:31.985839986 +0100 -@@ -174,6 +174,22 @@ The default TCP/IP port number, defined - .sp - .RS 4 - .ie n \{\ -+.\" mysql_config: variable option -+.\" variable option: mysql_config -+\fB\-\-variable=VAR\fR -+.sp -+Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of -+`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. -+.RE -+.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c @@ -546,13 +545,14 @@ diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 +.sp -1 +.IP \(bu 2.3 +.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 ---- mysql-5.6.16/man/mysqldump.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqldump.1 2014-02-03 15:35:30.992008930 +0100 -@@ -1246,7 +1246,7 @@ statements that include column names\&. + .\" mysqlcheck: port option + .\" port option: mysqlcheck + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqldump.1 b/man/mysqldump.1 +index 9f5dad4..d92f4e6 100644 +--- a/man/mysqldump.1 ++++ b/man/mysqldump.1 +@@ -1304,7 +1304,7 @@ statements that include column names\&. .\} .\" mysqldump: create-options option .\" create-options option: mysqldump @@ -561,7 +561,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .sp Include all MySQL\-specific table options in the CREATE TABLE -@@ -1666,6 +1666,38 @@ Do not dump the given table, which must +@@ -1724,6 +1724,38 @@ Do not dump the given table, which must be specified using both the database and \fB\-d\fR .sp Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the @@ -600,7 +600,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 CREATE TABLE statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. .RE -@@ -1917,6 +1949,36 @@ for information about selectively enabli +@@ -1975,6 +2007,36 @@ for information about selectively enabling or disabling a subset of the options .IP \(bu 2.3 .\} .\" mysqldump: quick option @@ -637,7 +637,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .\" quick option: mysqldump \fB\-\-quick\fR, \fB\-q\fR -@@ -2194,6 +2256,21 @@ is on by default\&. Thus you rarely if e +@@ -2252,6 +2314,21 @@ is on by default\&. Thus you rarely if ever specify .el \{\ .sp -1 .IP \(bu 2.3 @@ -659,17 +659,10 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2371,6 +2448,21 @@ is on by default\&.) - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -2436,6 +2513,21 @@ is on by default\&.) + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqldump: print-defaults option +.\" print-defaults option: mysqldump +\fB\-\-print\-defaults\fR @@ -678,13 +671,21 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 ---- mysql-5.6.16/man/mysqlimport.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlimport.1 2014-02-03 15:36:17.680039918 +0100 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + To reverse + \fB\-\-opt\fR + for all features except index disabling and table locking, use +diff --git a/man/mysqlimport.1 b/man/mysqlimport.1 +index 9d82dab..1d231d3 100644 +--- a/man/mysqlimport.1 ++++ b/man/mysqlimport.1 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2\&. .sp -1 .IP \(bu 2.3 .\} @@ -728,7 +729,7 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 .sp Empty the table before importing the text file\&. .RE -@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE +@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE Syntax\(rq\&. Read input files locally from the client host\&. .RE .sp @@ -751,17 +752,10 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -535,6 +583,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlimport: print-defaults option +.\" print-defaults option: mysqlimport +\fB\-\-print\-defaults\fR @@ -771,13 +765,21 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 ---- mysql-5.6.16/man/mysqlshow.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlshow.1 2014-02-03 15:34:12.679955219 +0100 -@@ -173,7 +173,7 @@ This option is supported beginning with ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: port option + .\" port option: mysqlimport + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqlshow.1 b/man/mysqlshow.1 +index 0634515..0cfbfd3 100644 +--- a/man/mysqlshow.1 ++++ b/man/mysqlshow.1 +@@ -173,7 +173,7 @@ This option is supported beginning with MySQL 5\&.6\&.1\&. .\} .\" mysqlshow: character-sets-dir option .\" character-sets-dir option: mysqlshow @@ -786,7 +788,7 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. .\} .el \{\ .sp -1 @@ -825,7 +827,7 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .IP \(bu 2.3 .\} .\" mysqlshow: default-auth option -@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2 +@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2\&. Connect to the MySQL server on the given host\&. .RE .sp @@ -848,17 +850,10 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -413,6 +461,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -429,6 +477,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlshow: print-defaults option +.\" print-defaults option: mysqlshow +\fB\-\-print\-defaults\fR @@ -868,13 +863,21 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 ---- mysql-5.6.16/man/mysqlslap.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlslap.1 2014-02-03 15:31:31.989839989 +0100 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: port option + .\" port option: mysqlshow + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 +index 7c4d4e7..85a5168 100644 +--- a/man/mysqlslap.1 ++++ b/man/mysqlslap.1 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2\&. .el \{\ .sp -1 .IP \(bu 2.3 @@ -913,7 +916,7 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 .\} .\" mysqlslap: delimiter option .\" delimiter option: mysqlslap -@@ -584,6 +616,37 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl +@@ -584,6 +616,37 @@ Section\ \&6.3.8.7, \(lqThe Cleartext Client-Side Authentication Plugin\(rq\&.) \fB\-e \fR\fB\fIengine_name\fR\fR .sp The storage engine to use for creating tables\&. @@ -951,17 +954,10 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 .RE .sp .RS 4 -@@ -821,6 +884,22 @@ The file or string containing the statem - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -822,6 +885,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlslap: print-defaults option +.\" print-defaults option: mysqlslap +\fB\-\-print\-defaults\fR @@ -971,6 +967,13 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: port option + .\" port option: mysqlslap + \fB\-\-port=\fR\fB\fIport_num\fR\fR, diff --git a/community-mysql-ssltest.patch b/community-mysql-ssltest.patch deleted file mode 100644 index 6fdd271..0000000 --- a/community-mysql-ssltest.patch +++ /dev/null @@ -1,30 +0,0 @@ -Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl -which now makes mariadb/mysql FTBFS because openssl_1 test fails - -Related: #1044565 - - -diff -up mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 mariadb-5.5.34/mysql-test/r/openssl_1.result ---- mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 2014-01-06 11:51:18.878640731 +0100 -+++ mariadb-5.5.34/mysql-test/r/openssl_1.result 2014-01-06 11:51:45.364678942 +0100 -@@ -196,8 +196,6 @@ Ssl_cipher DHE-RSA-AES256-SHA - Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value --Ssl_cipher EDH-RSA-DES-CBC-SHA --Variable_name Value - Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result -diff -up mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 mariadb-5.5.34/mysql-test/t/openssl_1.test ---- mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 2014-01-06 11:51:18.830640662 +0100 -+++ mariadb-5.5.34/mysql-test/t/openssl_1.test 2014-01-06 11:51:18.879640733 +0100 -@@ -218,7 +218,7 @@ DROP TABLE t1; - # Common ciphers to openssl and yassl - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA -+#--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log diff --git a/community-mysql.spec b/community-mysql.spec index f0d2254..06d46e5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -12,9 +12,11 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +%global skiplist platform-specific-tests.list + Name: community-mysql -Version: 5.6.16 -Release: 2%{?dist} +Version: 5.6.17 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -29,13 +31,10 @@ Source4: mysql_config.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license -Source9: mysql-embedded-check.c Source10: mysql.tmpfiles.d Source11: mysqld.service Source12: mysqld-prepare-db-dir Source13: mysqld-wait-ready -Source14: rh-skipped-tests-base.list -Source15: rh-skipped-tests-arm.list # To track rpmlint warnings Source17: mysql-5.6.10-rpmlintrc @@ -54,11 +53,7 @@ Patch23: community-mysql-5.6.16-libmysql-version.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch -Patch28: community-mysql-5.6.13-truncate-file.patch Patch34: community-mysql-pluginerrmsg.patch -Patch35: community-mysql-rhbz1059545.patch -Patch36: community-mysql-ssltest.patch -Patch37: community-mysql-5.6.16-fix-regex-werror.patch BuildRequires: cmake BuildRequires: dos2unix @@ -144,10 +139,6 @@ Requires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -# This is actually needed for the %%triggerun script but Requires(triggerun) -# is not valid. We can use %%post because this particular %%triggerun script -# should fire just after this package is installed. -Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) @@ -249,28 +240,45 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch26 -p1 %endif -%patch28 -p0 %patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 + +# Modify tests to pass on all archs +pushd mysql-test +add_test () { + echo $1 >> %{skiplist}; +} # Workaround for upstream bug #http://bugs.mysql.com/56342 -rm -f mysql-test/t/ssl_8k_key-master.opt +rm -f t/ssl_8k_key-master.opt +touch %{skiplist} -# Generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE14} > mysql-test/rh-skipped-tests.list -# Disable some tests failing on ARM architectures -%ifarch %{arm} -cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list +# Archs without hw performance counter, rh 741325 +%ifarch %{arm} aarch64 sparc64 +add_test 'perfschema.func_file_io : rh 741325' +add_test 'perfschema.func_mutex : rh 741325' +add_test 'perfschema.setup_objects : rh 741325' %endif -%ifarch ppc ppc64 s390 s390x -echo "innodb.innodb_ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ps_ddl : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list + +# Archs with collation issues, bugs.mysql.com/46895 +%ifarch %{arm} aarch64 ppc %{power64} s390 s390x +add_test 'main.outfile_loaddata : 46895' +add_test 'innodb.innodb_ctype_ldml : 46895' +add_test 'main.ctype_ldml : 46895' %endif +# Archs with ps_ddl issues +%ifarch ppc s390 +add_test 'main.ps_ddl : ps_ddl issue' +add_test 'main.ps_ddl1 : ps_ddl issue' +%endif + +# Arch with other issues +%ifarch ppc +add_test 'main.audit_plugin : unknown' +add_test 'main.upgrade : unknown' +%endif +popd + %build # fail quickly and obviously if user tries to build as root %if %runselftest @@ -282,27 +290,8 @@ echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list fi %endif -CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# MySQL 4.1.10 definitely doesn't work under strict aliasing; also, -# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv -CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" -# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization -# submitted as bz #529298 -%ifarch sparc sparcv9 sparc64 -CFLAGS=$(echo $CFLAGS| sed -e "s|-O2|-O1|g" ) -%endif -CXXFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS -%if %{_hardened_build} -LDFLAGS="$LDFLAGS -pie" -export LDFLAGS -%endif - -# build out of source -mkdir build -pushd build +# build out of source +mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -331,73 +320,41 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DENABLE_DTRACE=ON \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -%if %{_hardened_build} - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" -%endif + -DCMAKE_C_FLAGS="%{optflags}" \ + -DCMAKE_CXX_FLAGS="%{optflags}" \ + %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 -# Regular build will make libmysqld.a but not libmysqld.so :-( -# Upstream bug: http://bugs.mysql.com/68559 -mkdir libmysqld/work -pushd libmysqld/work -ar -x ../libmysqld.a -%{__cc} $CFLAGS $LDFLAGS -DEMBEDDED_LIBRARY -shared -Wl,-soname,libmysqld.so.18 -o libmysqld.so.18.1.0 \ - *.o \ - -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc -# This is to check that we built a complete library -cp -p %{SOURCE9} . -ln -s libmysqld.so.18.1.0 libmysqld.so.18 -%{__cc} -I../../../include -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.18 -LD_LIBRARY_PATH=. ldd ./a.out - - %install pushd build make DESTDIR=%{buildroot} install -# List the installed tree for RPM package maintenance purposes. -find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES +# multilib header support +%ifarch aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h +install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +%endif - -# cmake generates some completely wacko references to -lprobes_mysql when -# building with dtrace support. Haven't found where to shut that off, -# so resort to this blunt instrument. While at it, let's not reference -# libmysqlclient_r anymore either. -sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ - %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp -cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config -chmod 0755 %{buildroot}%{_bindir}/mysql_config - -# Multilib header hacks -# We only apply this to known Red Hat multilib arches, per bug #181335 -case $(uname -i) in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) - mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h - install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ - mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config - ;; - arm* ) - mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h - install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ - mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config - ;; - *) - ;; -esac +%ifarch %{arm} +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h +install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +%endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mysql-file-contents.patch) install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ - mkdir -p %{buildroot}/var/log touch %{buildroot}/var/log/mysqld.log @@ -405,6 +362,7 @@ mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf +mkdir %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} @@ -415,19 +373,6 @@ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf -# Remove libmysqld.a, install libmysqld.so -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a -install -m 0755 libmysqld/work/libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18.1.0 -ln -s libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18 -ln -s libmysqld.so.18 %{buildroot}%{_libdir}/mysql/libmysqld.so - -# libmysqlclient_r is no more. Upstream tries to replace it with symlinks -# but that really doesn't work (wrong soname in particular). We'll keep -# just the devel libmysqlclient_r.so link, so that rebuilding without any -# source change is enough to get rid of dependency on libmysqlclient_r. -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so* -ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so - # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} @@ -458,11 +403,11 @@ echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf popd # copy additional docs into build tree so %%doc will find them -cp -p %{SOURCE6} README.mysql-docs -cp -p %{SOURCE7} README.mysql-license +install -p -m 0644 %{SOURCE6} README.mysql-docs +install -p -m 0644 %{SOURCE7} README.mysql-license # Install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test +install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test # Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql @@ -482,44 +427,21 @@ rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 -mkdir %{buildroot}%{_sysconfdir}/my.cnf.d - %check %if %runselftest - pushd build - # Hack to let 32- and 64-bit tests run concurrently on same build machine - case $(uname -m) in - aarch64 | ppc64 | ppc64p7 | s390x | sparc64 | x86_64 ) - MTR_BUILD_THREAD=7 - ;; - *) - MTR_BUILD_THREAD=11 - ;; - esac - - export MTR_BUILD_THREAD - - make test VERBOSE=1 - - # The cmake build scripts don't provide any simple way to control the - # options for mysql-test-run, so ignore the make target and just call it - # manually. Nonstandard options chosen are: - # --force to continue tests after a failure - # no retries please - # skip tests that are listed in rh-skipped-tests.list - # avoid redundant test runs with --binlog-format=mixed - # increase timeouts to prevent unwanted failures during mass rebuilds - # todo: enable --ssl - pushd mysql-test - cp ../../mysql-test/rh-skipped-tests.list . - ./mtr \ - --mem --parallel=auto --force --retry=0 \ - --skip-test-list=rh-skipped-tests.list \ - --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir - rm -rf var/* - popd +pushd build +make test VERBOSE=1 +pushd mysql-test +cp ../../mysql-test/%{skiplist} . +./mtr \ + --mem --parallel=auto --force --retry=0 \ + --skip-test-list=%{skiplist} \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 \ + --clean-vardir + rm -rf var/* $(readlink var) +popd +popd %endif %pre server @@ -535,21 +457,6 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d %systemd_post mysqld.service /bin/touch /var/log/mysqld.log -# Handle upgrading from SysV initscript to native systemd unit. -# We can tell if a SysV version of mysql was previously installed by -# checking to see if the initscript is present. -%triggerun server -- mysql-server -if [ -f /etc/rc.d/init.d/mysqld ]; then - # Save the current service runlevel info - # User must manually run systemd-sysv-convert --apply mysqld - # to migrate them to systemd targets - /usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : - - # Run these because the SysV package being removed won't do them - /sbin/chkconfig --del mysqld >/dev/null 2>&1 || : - /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : -fi - %preun server %systemd_preun mysqld.service @@ -603,7 +510,7 @@ fi # libs package because it can be used for client settings too. %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_libdir}/mysql -%{_libdir}/mysql/libmysqlclient.so.* +%{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) /etc/ld.so.conf.d/* %files common @@ -748,6 +655,19 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 04 2014 Bjorn Munch 5.6.17-1 +- Update to MySQL 5.6.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html +- libmysqld built as shared lib now supported upstream +- Remove patches now upstream: truncate-file, rhbz1059545, ssltest + and regex-werror +- Use more standard (and tested) build flags, while still respect + optflags and hardened_build +- libmysqlclient_r* symlinks are fixed upstream +- Remove sysv to systemd logic +- Rework skipping of arch specific tests +- Multiple mtr sessions are supported by default + * Mon Feb 3 2014 Honza Horak 5.6.16-2 - Rebuild -man-pages.patch to apply smoothly diff --git a/mysql-embedded-check.c b/mysql-embedded-check.c deleted file mode 100644 index 8bf8ca5..0000000 --- a/mysql-embedded-check.c +++ /dev/null @@ -1,26 +0,0 @@ -/* simple test program to see if we can link the embedded server library */ - -#include -#include -#include - -#include "mysql.h" - -MYSQL *mysql; - -static char *server_options[] = \ - { "mysql_test", "--defaults-file=my.cnf", NULL }; -int num_elements = (sizeof(server_options) / sizeof(char *)) - 1; - -static char *server_groups[] = { "libmysqld_server", - "libmysqld_client", NULL }; - -int main(int argc, char **argv) -{ - mysql_library_init(num_elements, server_options, server_groups); - mysql = mysql_init(NULL); - mysql_close(mysql); - mysql_library_end(); - - return 0; -} diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list deleted file mode 100644 index 6fb816c..0000000 --- a/rh-skipped-tests-arm.list +++ /dev/null @@ -1,14 +0,0 @@ - -# Disable perfschema.func_file_io and perfschema.func_mutex, which fail -# because cycle counter returns 0 every time on ARM architectures. -# This is caused by missing hardware performance counter support on ARM. -# Discussion about fixing that can be found in RH bug #741325. - -perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm -perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm - -# These tests fail in Fedora rawhide scratch build - -innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1' -main.ctype_ldml : Unknown collation: 'utf8_5624_1' -perfschema.setup_objects : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list deleted file mode 100644 index 8d92952..0000000 --- a/rh-skipped-tests-base.list +++ /dev/null @@ -1,13 +0,0 @@ -# Disable the outfile_loaddata test, which as of 5.1.38 is giving -# platform-dependent results, with the "expected" results being arguably the -# wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -# (note that upstream has also disabled it, but only for Solaris, so we still -# need to disable it here). -# Still broken in 5.5.14, despite alleged fix. - -outfile_loaddata : bug#46895 code wrong, expected results wrong too - -# Disable innodb.innodb, which is showing platform-dependent results -# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 - -innodb.innodb : bug#60155 has platform-dependent results diff --git a/sources b/sources index 29fbcd7..6b13418 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1d3d91e8459c719bbef7c97bb499634d mysql-5.6.16.tar.gz +82114fa7c13fa3ca897b34666577d9f4 mysql-5.6.17.tar.gz From a65645d164d4b9f65118ffba72810b92874a8271 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 23 Apr 2014 13:26:07 +0200 Subject: [PATCH 283/616] Fix multiple mtr sessions by Bjorn Munch --- community-mysql.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 06d46e5..ceb38ab 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.17 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -245,7 +245,7 @@ the MySQL sources. # Modify tests to pass on all archs pushd mysql-test add_test () { - echo $1 >> %{skiplist}; + echo $1 >> %{skiplist} } # Workaround for upstream bug #http://bugs.mysql.com/56342 @@ -433,6 +433,8 @@ pushd build make test VERBOSE=1 pushd mysql-test cp ../../mysql-test/%{skiplist} . +# builds might happen at the same host, avoid collision +export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ --skip-test-list=%{skiplist} \ @@ -655,6 +657,9 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 18 2014 Bjorn Munch 5.6.17-2 +- Fix multiple mtr sessions + * Fri Apr 04 2014 Bjorn Munch 5.6.17-1 - Update to MySQL 5.6.17, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html From e880a44ae462318d5ffcc68a41bf98450c350d75 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 00:32:54 -0500 Subject: [PATCH 284/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ceb38ab..b06dff6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.17 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -657,6 +657,9 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Fri Apr 18 2014 Bjorn Munch 5.6.17-2 - Fix multiple mtr sessions From 923d2c303fec77ebaa8707f78e1914667da9ed6d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Jun 2014 15:48:06 +0200 Subject: [PATCH 285/616] Update to MySQL 5.6.19, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html - outfile_loaddata resolved on all archs - Solaris files not installed, no need to remove - Simplify multilib install - Use install's -D option some places - Add explicit conflict with mariadb-galera-server --- .gitignore | 1 + community-mysql-rhbz1059545.patch | 17 ------------- community-mysql.spec | 41 +++++++++++++++++-------------- sources | 2 +- 4 files changed, 24 insertions(+), 37 deletions(-) delete mode 100644 community-mysql-rhbz1059545.patch diff --git a/.gitignore b/.gitignore index f7c6743..02af558 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /mysql-5.6.15.tar.gz /mysql-5.6.16.tar.gz /mysql-5.6.17.tar.gz +/mysql-5.6.19.tar.gz diff --git a/community-mysql-rhbz1059545.patch b/community-mysql-rhbz1059545.patch deleted file mode 100644 index ece8ef1..0000000 --- a/community-mysql-rhbz1059545.patch +++ /dev/null @@ -1,17 +0,0 @@ -Unsifficient limit check aims to security issue. - -MariaDB upstream fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.64 -RHBZ#1059545 - -diff -up mysql-5.6.15/client/mysql.cc.bz1059545 mysql-5.6.15/client/mysql.cc ---- mysql-5.6.15/client/mysql.cc.bz1059545 2014-01-30 18:09:47.209588217 +0100 -+++ mysql-5.6.15/client/mysql.cc 2014-01-30 18:09:59.016581192 +0100 -@@ -1315,7 +1315,7 @@ int main(int argc,char *argv[]) - - put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.", - INFO_INFO); -- sprintf((char*) glob_buffer.ptr(), -+ my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(), - "Your MySQL connection id is %lu\nServer version: %s\n", - mysql_thread_id(&mysql), server_version_string(&mysql)); - put_info((char*) glob_buffer.ptr(),INFO_INFO); diff --git a/community-mysql.spec b/community-mysql.spec index b06dff6..b771873 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -15,8 +15,8 @@ %global skiplist platform-specific-tests.list Name: community-mysql -Version: 5.6.17 -Release: 3%{?dist} +Version: 5.6.19 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -145,6 +145,7 @@ Requires: perl(DBD::mysql) Provides: mysql-server = %{version}-%{release} Provides: mysql-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-server +Conflicts: mariadb-galera-server %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -261,7 +262,6 @@ add_test 'perfschema.setup_objects : rh 741325' # Archs with collation issues, bugs.mysql.com/46895 %ifarch %{arm} aarch64 ppc %{power64} s390 s390x -add_test 'main.outfile_loaddata : 46895' add_test 'innodb.innodb_ctype_ldml : 46895' add_test 'main.ctype_ldml : 46895' %endif @@ -336,15 +336,12 @@ pushd build make DESTDIR=%{buildroot} install # multilib header support -%ifarch aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h -install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ -mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config -%endif - +unamei=$(uname -i) %ifarch %{arm} -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h +unamei=arm +%endif +%ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$unamei.h install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config @@ -365,13 +362,11 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf mkdir %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup -mkdir -p %{buildroot}%{_unitdir} -install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ +install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d -install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf +install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -386,7 +381,6 @@ rm -f %{buildroot}%{_datadir}/%{name}/binary-configure rm -f %{buildroot}%{_datadir}/%{name}/magic rm -f %{buildroot}%{_datadir}/%{name}/mysql.server rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server -rm -rf %{buildroot}%{_datadir}/%{name}/solaris rm -f %{buildroot}%{_mandir}/man1/comp_err.1* rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* @@ -614,9 +608,9 @@ popd %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/mysqld.service -%{_libexecdir}/mysqld-prepare-db-dir -%{_libexecdir}/mysqld-wait-ready +%{_unitdir}/%{basename:%SOURCE11} +%{_libexecdir}/%{basename:%SOURCE12} +%{_libexecdir}/%{basename:%SOURCE13} %{_prefix}/lib/tmpfiles.d/%{name}.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld @@ -657,6 +651,15 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jun 11 2014 Bjorn Munch - 5.6.19-1 +- Update to MySQL 5.6.19, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html +- outfile_loaddata resolved on all archs +- Solaris files not installed, no need to remove +- Simplify multilib install +- Use install's -D option some places +- Add explicit conflict with mariadb-galera-server + * Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 6b13418..660dc7b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -82114fa7c13fa3ca897b34666577d9f4 mysql-5.6.17.tar.gz +a663c5b3c710043c74f97902a1ed62c0 mysql-5.6.19.tar.gz From c0f3a06ea8e4990dfca371b8cd1295d73e234ef1 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Mon, 23 Jun 2014 11:12:32 +0200 Subject: [PATCH 286/616] Fix aarch64 build, rebase cipherspec patch Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- community-mysql-5.6.11-cipherspec.patch | 46 ++++++-- ...unity-mysql-5.6.19-gcc49-aarch64-opt.patch | 102 ++++++++++++++++++ community-mysql.spec | 8 +- 3 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 community-mysql-5.6.19-gcc49-aarch64-opt.patch diff --git a/community-mysql-5.6.11-cipherspec.patch b/community-mysql-5.6.11-cipherspec.patch index a79e5b3..b0c5b09 100644 --- a/community-mysql-5.6.11-cipherspec.patch +++ b/community-mysql-5.6.11-cipherspec.patch @@ -5,10 +5,10 @@ and tests are adjusted to specify the expected cipher explicitly. Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 diff --git a/client/mysqltest.cc b/client/mysqltest.cc -index b6c8643..0e40b0d 100644 +index 2def9bd..128dc00 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc -@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command) +@@ -5503,6 +5503,7 @@ void do_connect(struct st_command *command) my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; my_bool con_secure_auth= 1; struct st_connection* con_slot; @@ -16,7 +16,7 @@ index b6c8643..0e40b0d 100644 static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command) +@@ -5595,6 +5596,8 @@ void do_connect(struct st_command *command) con_cleartext_enable= 1; else if (!strncmp(con_options, "SKIPSECUREAUTH",14)) con_secure_auth= 0; @@ -25,7 +25,7 @@ index b6c8643..0e40b0d 100644 else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command) +@@ -5642,8 +5645,11 @@ void do_connect(struct st_command *command) if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) @@ -38,8 +38,21 @@ index b6c8643..0e40b0d 100644 mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRL, opt_ssl_crl); mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRLPATH, opt_ssl_crlpath); #if MYSQL_VERSION_ID >= 50000 +diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result +index a767a71..3c1ee27 100644 +--- a/mysql-test/r/openssl_1.result ++++ b/mysql-test/r/openssl_1.result +@@ -197,8 +197,6 @@ Variable_name Value + Ssl_cipher EDH-RSA-DES-CBC3-SHA + Variable_name Value + Ssl_cipher AES256-SHA +-Variable_name Value +-Ssl_cipher RC4-SHA + select 'is still running; no cipher request crashed the server' as result from dual; + result + is still running; no cipher request crashed the server diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test -index 3e907f1..02b89ad 100644 +index 426de1e..f8c6203 100644 --- a/mysql-test/t/openssl_1.test +++ b/mysql-test/t/openssl_1.test @@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA @@ -70,7 +83,15 @@ index 3e907f1..02b89ad 100644 --echo End of 5.0 tests # -@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d +@@ -215,7 +215,6 @@ DROP TABLE t1; + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=AES256-SHA +---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA + --disable_query_log + --disable_result_log + +@@ -250,7 +249,7 @@ select 'is still running; no cipher request crashed the server' as result from d GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -79,6 +100,19 @@ index 3e907f1..02b89ad 100644 SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; +diff --git a/mysql-test/t/plugin_auth_sha256_tls.test b/mysql-test/t/plugin_auth_sha256_tls.test +index f99df8a..1b38fda 100644 +--- a/mysql-test/t/plugin_auth_sha256_tls.test ++++ b/mysql-test/t/plugin_auth_sha256_tls.test +@@ -1,7 +1,7 @@ + --source include/not_embedded.inc + --source include/have_ssl.inc + +-connect (ssl_con,localhost,root,,,,,SSL); ++connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + SHOW STATUS LIKE 'Ssl_cipher'; + + CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test index ea8be39..c61ca8b 100644 --- a/mysql-test/t/ssl.test diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch new file mode 100644 index 0000000..ed3e295 --- /dev/null +++ b/community-mysql-5.6.19-gcc49-aarch64-opt.patch @@ -0,0 +1,102 @@ +diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc +index 405364a..ed3bef1 100644 +--- a/storage/perfschema/pfs_account.cc ++++ b/storage/perfschema/pfs_account.cc +@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_key *key, + key->m_key_length= ptr - &key->m_hash_key[0]; + } + ++#if defined(__aarch64__) ++PFS_account * ++find_or_create_account(PFS_thread *thread, ++ const char *username, uint username_length, ++ const char *hostname, uint hostname_length) __attribute__((optimize (1))); ++#endif ++ + PFS_account * + find_or_create_account(PFS_thread *thread, + const char *username, uint username_length, +diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc +index addfac1..68e76cd 100644 +--- a/storage/perfschema/pfs_digest.cc ++++ b/storage/perfschema/pfs_digest.cc +@@ -168,6 +168,14 @@ static LF_PINS* get_digest_hash_pins(PFS_thread *thread) + return thread->m_digest_hash_pins; + } + ++#if defined(__aarch64__) ++PFS_statement_stat* ++find_or_create_digest(PFS_thread *thread, ++ PSI_digest_storage *digest_storage, ++ const char *schema_name, ++ uint schema_name_length) __attribute__((optimize (1))); ++#endif ++ + PFS_statement_stat* + find_or_create_digest(PFS_thread *thread, + PSI_digest_storage *digest_storage, +diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc +index 0c6f5cf..fc624d7 100644 +--- a/storage/perfschema/pfs_host.cc ++++ b/storage/perfschema/pfs_host.cc +@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *key, + key->m_key_length= ptr - &key->m_hash_key[0]; + } + ++#if defined(__aarch64__) ++PFS_host *find_or_create_host(PFS_thread *thread, ++ const char *hostname, uint hostname_length) __attribute__((optimize (1))); ++#endif ++ + PFS_host *find_or_create_host(PFS_thread *thread, + const char *hostname, uint hostname_length) + { +diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc +index cf0e6fd..8682e04 100644 +--- a/storage/perfschema/pfs_instr.cc ++++ b/storage/perfschema/pfs_instr.cc +@@ -1149,6 +1149,11 @@ LF_PINS* get_filename_hash_pins(PFS_thread *thread) + @param create create a file instance if none found + @return a file instance, or NULL + */ ++#if defined(__aarch64__) ++PFS_file* ++find_or_create_file(PFS_thread *thread, PFS_file_class *klass, ++ const char *filename, uint len, bool create) __attribute__((optimize (1))); ++#endif + PFS_file* + find_or_create_file(PFS_thread *thread, PFS_file_class *klass, + const char *filename, uint len, bool create) +diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc +index 4d73396..139a2db 100644 +--- a/storage/perfschema/pfs_instr_class.cc ++++ b/storage/perfschema/pfs_instr_class.cc +@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share) + @param share table share + @return a table share, or NULL + */ ++#if defined(__aarch64__) ++PFS_table_share* find_or_create_table_share(PFS_thread *thread, ++ bool temporary, ++ const TABLE_SHARE *share) __attribute__((optimize (1))); ++#endif + PFS_table_share* find_or_create_table_share(PFS_thread *thread, + bool temporary, + const TABLE_SHARE *share) +diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc +index 9f53702..2f418a7 100644 +--- a/storage/perfschema/pfs_user.cc ++++ b/storage/perfschema/pfs_user.cc +@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *key, + key->m_key_length= ptr - &key->m_hash_key[0]; + } + ++#if defined(__aarch64__) ++PFS_user * ++find_or_create_user(PFS_thread *thread, ++ const char *username, uint username_length) __attribute__((optimize (1))); ++#endif ++ + PFS_user * + find_or_create_user(PFS_thread *thread, + const char *username, uint username_length) diff --git a/community-mysql.spec b/community-mysql.spec index b771873..603d45f 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.19 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -54,6 +54,7 @@ Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch Patch34: community-mysql-pluginerrmsg.patch +Patch35: community-mysql-5.6.19-gcc49-aarch64-opt.patch BuildRequires: cmake BuildRequires: dos2unix @@ -242,6 +243,7 @@ the MySQL sources. %patch26 -p1 %endif %patch34 -p1 +%patch35 -p1 # Modify tests to pass on all archs pushd mysql-test @@ -651,6 +653,10 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 +- Fix build on aarch64 +- Rebase cipherspec patch + * Wed Jun 11 2014 Bjorn Munch - 5.6.19-1 - Update to MySQL 5.6.19, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html From a44f11cb5f0691b1e91153f2cbc50455fd795f1c Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 27 Jun 2014 13:10:54 +0200 Subject: [PATCH 287/616] Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation --- community-mysql.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 603d45f..b3d696d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.19 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -145,6 +145,8 @@ Requires: perl(DBI) Requires: perl(DBD::mysql) Provides: mysql-server = %{version}-%{release} Provides: mysql-server%{?_isa} = %{version}-%{release} +Provides: mysql-compat-server = %{version}-%{release} +Provides: mysql-compat-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -653,6 +655,10 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 27 2014 Honza Horak - 5.6.19-3 +- Add mysql-compat-server symbol, common symbol for arbitrary MySQL + implementation + * Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 - Fix build on aarch64 - Rebase cipherspec patch From 94a40f5463b43409e31ff0b936afcd37bc426534 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 27 Jun 2014 17:20:46 +0200 Subject: [PATCH 288/616] Require /etc/my.cnf instead of shipping it --- community-mysql.spec | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index b3d696d..03a0ee7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,6 +14,9 @@ %global skiplist platform-specific-tests.list +# When there is already another +%global ship_my_cnf 0 + Name: community-mysql Version: 5.6.19 Release: 3%{?dist} @@ -118,6 +121,9 @@ MySQL server. %package common Summary: The shared files required for MySQL server and client Group: Applications/Databases +%if ! %{ship_my_cnf} +Requires: %{_sysconfdir}/my.cnf +%endif %description common The mysql-common package provides the essential shared files for any @@ -362,8 +368,10 @@ touch %{buildroot}/var/log/mysqld.log mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql -install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf -mkdir %{buildroot}%{_sysconfdir}/my.cnf.d +%if %{ship_my_cnf} +install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf +%endif +mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} @@ -508,7 +516,9 @@ popd %doc README COPYING README.mysql-license # 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. +%if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf +%endif %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) /etc/ld.so.conf.d/* @@ -658,6 +668,7 @@ popd * Fri Jun 27 2014 Honza Horak - 5.6.19-3 - Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation +- Require /etc/my.cnf instead of shipping it * Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 - Fix build on aarch64 From 55f683d672d12575b921e32c8a90e5aabf84a6f9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 30 Jun 2014 12:18:28 +0200 Subject: [PATCH 289/616] Server requires any compatible mysql-compat-client package --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 03a0ee7..6d2c1d8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -88,6 +88,8 @@ Requires: fileutils Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql = %{version}-%{release} Provides: mysql%{?_isa} = %{version}-%{release} +Provides: mysql-compat-client = %{version}-%{release} +Provides: mysql-compat-client%{?_isa} = %{version}-%{release} Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -136,7 +138,7 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %{version}-%{release} -Requires: mysql%{?_isa} +Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd @@ -669,6 +671,7 @@ popd - Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation - Require /etc/my.cnf instead of shipping it +- Server requires any compatible mysql-compat-client package * Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 - Fix build on aarch64 From aa9309386f11a1aa3ecee8a1120a7e986d6b16fc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 30 Jun 2014 14:33:25 +0200 Subject: [PATCH 290/616] Remove trailing whitespace --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6d2c1d8..a8c2649 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -138,7 +138,7 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %{version}-%{release} -Requires: mysql-compat-client%{?_isa} +Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd From 0e0751941b5cf9778a1742c2706087c2936f28e2 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Jul 2014 00:39:31 +0200 Subject: [PATCH 291/616] Port some latest changes from MariaDB package to sync those packages Error messages now provided by a separate package (thanks Alexander Barkov) --- community-mysql.spec | 107 ++++++++++++-------- mysql_config.sh => mysql_config_multilib.sh | 0 2 files changed, 66 insertions(+), 41 deletions(-) rename mysql_config.sh => mysql_config_multilib.sh (100%) diff --git a/community-mysql.spec b/community-mysql.spec index a8c2649..ccf7b23 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -6,6 +6,7 @@ # set to 1 to enable %global with_shared_lib_major_hack 1 +# use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. @@ -14,12 +15,16 @@ %global skiplist platform-specific-tests.list -# When there is already another +# When there is already another package that ships /etc/my.cnf, +# rather include it than ship the file again, since conflicts between +# those files may create issues +# ship_my_cnf=1 means this is the only package in distro which ships +# my.cnf and my.cnf.d %global ship_my_cnf 0 Name: community-mysql Version: 5.6.19 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -30,7 +35,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz Source3: my.cnf -Source4: mysql_config.sh +Source4: mysql_config_multilib.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license @@ -83,8 +88,8 @@ BuildRequires: perl(Time::HiRes) BuildRequires: systemd Requires: bash -Requires: grep Requires: fileutils +Requires: grep Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql = %{version}-%{release} Provides: mysql%{?_isa} = %{version}-%{release} @@ -95,8 +100,14 @@ Conflicts: mariadb Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%if 0%{?__requires_exclude:1} %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) -%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%else +%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%filter_setup +%endif %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -133,6 +144,17 @@ MySQL program. You will need to install this package to use any other MySQL package. +%package errmsg + +Summary: The error messages files required by server and embedded +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} + +%description errmsg +The package provides error messages files for the MySQL daemon and the +embedded server. You will need to install this package to use any of those +MySQL packages. + %package server Summary: The MySQL server and related files Group: Applications/Databases @@ -140,14 +162,13 @@ Group: Applications/Databases # note: no version here = %{version}-%{release} Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%{?systemd_requires: %systemd_requires} # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) @@ -182,6 +203,8 @@ developing MySQL client applications. %package embedded Summary: MySQL as an embeddable library Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} Provides: mysql-embedded = %{version}-%{release} Provides: mysql-embedded%{?_isa} = %{version}-%{release} @@ -222,13 +245,13 @@ MySQL. Summary: The test suite distributed with MySQL Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} -%description test +%description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. @@ -314,6 +337,9 @@ cmake .. -DBUILD_CONFIG=mysql_release \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ +%else + -DINSTALL_DOCDIR="share/doc/%{name}-%{version}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{name}-%{version}" \ %endif -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ @@ -326,8 +352,8 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{name} \ - -DMYSQL_DATADIR="/var/lib/mysql" \ - -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ + -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DWITH_INNODB_MEMCACHED=ON \ @@ -348,6 +374,7 @@ pushd build make DESTDIR=%{buildroot} install # multilib header support +# we only apply this to known Red Hat multilib arches, per bug #181335 unamei=$(uname -i) %ifarch %{arm} unamei=arm @@ -364,23 +391,22 @@ install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -mkdir -p %{buildroot}/var/log -touch %{buildroot}/var/log/mysqld.log +mkdir -p %{buildroot}%{_localstatedir}/log +touch %{buildroot}%{_localstatedir}/log/mysqld.log -mkdir -p %{buildroot}/var/run/mysqld -install -p -m 0755 -d %{buildroot}/var/lib/mysql +mkdir -p %{buildroot}%{_localstatedir}/run/mysqld +install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql %if %{ship_my_cnf} install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf %endif -mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf +install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_tmpfilesdir}/%{name}.conf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -456,7 +482,7 @@ popd %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ +/usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post libs -p /sbin/ldconfig @@ -465,7 +491,7 @@ popd %post server %systemd_post mysqld.service -/bin/touch /var/log/mysqld.log +/bin/touch %{_localstatedir}/log/mysqld.log %preun server %systemd_preun mysqld.service @@ -478,13 +504,10 @@ popd %systemd_postun_with_restart mysqld.service %files -%doc README COPYING README.mysql-license %doc README.mysql-docs %{_bindir}/msql2mysql %{_bindir}/mysql -%{_bindir}/mysql_config -%{_bindir}/mysql_config-%{__isa_bits} %{_bindir}/mysql_config_editor %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid @@ -500,7 +523,6 @@ popd %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_waitpid.1* @@ -515,19 +537,23 @@ popd %{_mandir}/man1/my_print_defaults.1* %files libs +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient*.so.* +%config(noreplace) %{_sysconfdir}/ld.so.conf.d/* + +%files common %doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # 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. %if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf -%endif -%dir %{_libdir}/mysql -%{_libdir}/mysql/libmysqlclient*.so.* -%config(noreplace) /etc/ld.so.conf.d/* - -%files common %dir %{_sysconfdir}/my.cnf.d +%endif %dir %{_datadir}/%{name} +%{_datadir}/%{name}/charsets + +%files errmsg %{_datadir}/%{name}/english %lang(bg) %{_datadir}/%{name}/bulgarian %lang(cs) %{_datadir}/%{name}/czech @@ -552,10 +578,8 @@ popd %lang(es) %{_datadir}/%{name}/spanish %lang(sv) %{_datadir}/%{name}/swedish %lang(uk) %{_datadir}/%{name}/ukrainian -%{_datadir}/%{name}/charsets %files server -%doc README COPYING README.mysql-license %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -624,31 +648,30 @@ popd %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf + %{_unitdir}/%{basename:%SOURCE11} %{_libexecdir}/%{basename:%SOURCE12} %{_libexecdir}/%{basename:%SOURCE13} -%{_prefix}/lib/tmpfiles.d/%{name}.conf -%attr(0755,mysql,mysql) %dir /var/run/mysqld -%attr(0755,mysql,mysql) %dir /var/lib/mysql -%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log +%{_tmpfilesdir}/%{name}.conf +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel -%doc README COPYING README.mysql-license %{_bindir}/mysql_config %{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%{_mandir}/man1/mysql_config.1* %files embedded -%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so.* %files embedded-devel -%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded @@ -656,17 +679,19 @@ popd %{_mandir}/man1/mysqltest_embedded.1* %files bench -%doc README COPYING README.mysql-license %{_datadir}/sql-bench %files test -%doc README COPYING README.mysql-license %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 21 2014 Honza Horak - 5.6.19-4 +- Port some latest changes from MariaDB package to sync those packages +- Error messages now provided by a separate package (thanks Alexander Barkov) + * Fri Jun 27 2014 Honza Horak - 5.6.19-3 - Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation diff --git a/mysql_config.sh b/mysql_config_multilib.sh similarity index 100% rename from mysql_config.sh rename to mysql_config_multilib.sh From c8c069a981c98d72a9643ec5b4a96827dcd5253e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 16:57:05 +0200 Subject: [PATCH 292/616] Remove unnecessary requirement, it is generated automatically --- community-mysql.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ccf7b23..ea04688 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -119,7 +119,6 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: /sbin/ldconfig Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql-libs = %{version}-%{release} Provides: mysql-libs%{?_isa} = %{version}-%{release} From dfd59cb65f00d884dd98dd6cef1ce752de80e7c2 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Jul 2014 10:27:55 +0200 Subject: [PATCH 293/616] Port scripts for systemd unit from MariaDB --- community-mysql-scripts.patch | 32 +++++++++ community-mysql.spec | 50 ++++++++----- mysql.tmpfiles.d | 1 - mysql.tmpfiles.d.in | 1 + mysqld-prepare-db-dir | 82 --------------------- mysqld-prepare-db-dir.sh | 87 +++++++++++++++++++++++ mysqld-wait-ready => mysqld-wait-ready.sh | 43 +++++------ mysqld.service => mysqld.service.in | 9 +-- 8 files changed, 175 insertions(+), 130 deletions(-) create mode 100644 community-mysql-scripts.patch delete mode 100644 mysql.tmpfiles.d create mode 100644 mysql.tmpfiles.d.in delete mode 100644 mysqld-prepare-db-dir create mode 100644 mysqld-prepare-db-dir.sh rename mysqld-wait-ready => mysqld-wait-ready.sh (53%) rename mysqld.service => mysqld.service.in (82%) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch new file mode 100644 index 0000000..f658b33 --- /dev/null +++ b/community-mysql-scripts.patch @@ -0,0 +1,32 @@ +diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt +--- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 ++++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 +@@ -381,6 +381,28 @@ ELSE() + ENDIF() + INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) + ENDFOREACH() ++ ++ # files for systemd ++ SET(SYSTEMD_SCRIPTS ++ mysql.tmpfiles.d ++ mysqld.service ++ mysqld-prepare-db-dir ++ mysqld-wait-ready ++ mysqld-check-socket ++ mysqld-scripts-common ++ ) ++ FOREACH(file ${SYSTEMD_SCRIPTS}) ++ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ELSE() ++ MESSAGE(FATAL_ERROR "Can not find ${file}.sh or ${file}.in in " ++ "${CMAKE_CURRENT_SOURCE_DIR}" ) ++ ENDIF() ++ ENDFOREACH() + ENDIF() + + # Install libgcc as mylibgcc.a diff --git a/community-mysql.spec b/community-mysql.spec index ea04688..a738f19 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -22,9 +22,12 @@ # my.cnf and my.cnf.d %global ship_my_cnf 0 +# Name for the systemd unit file +%global daemon_name mysqld.service + Name: community-mysql Version: 5.6.19 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -39,10 +42,12 @@ Source4: mysql_config_multilib.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license -Source10: mysql.tmpfiles.d -Source11: mysqld.service -Source12: mysqld-prepare-db-dir -Source13: mysqld-wait-ready +Source10: mysql.tmpfiles.d.in +Source11: mysqld.service.in +Source12: mysqld-prepare-db-dir.sh +Source13: mysqld-wait-ready.sh +Source14: mysqld-check-socket.sh +Source15: mysqld-scripts-common.sh # To track rpmlint warnings Source17: mysql-5.6.10-rpmlintrc @@ -63,6 +68,7 @@ Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch Patch34: community-mysql-pluginerrmsg.patch Patch35: community-mysql-5.6.19-gcc49-aarch64-opt.patch +Patch37: community-mysql-scripts.patch BuildRequires: cmake BuildRequires: dos2unix @@ -147,7 +153,7 @@ MySQL package. Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} %description errmsg The package provides error messages files for the MySQL daemon and the @@ -276,6 +282,7 @@ the MySQL sources. %endif %patch34 -p1 %patch35 -p1 +%patch37 -p1 # Modify tests to pass on all archs pushd mysql-test @@ -313,6 +320,9 @@ add_test 'main.upgrade : unknown' %endif popd +cp %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ + %{SOURCE15} scripts + %build # fail quickly and obviously if user tries to build as root %if %runselftest @@ -332,6 +342,7 @@ mkdir build && pushd build cmake .. -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ + -DDAEMON_NAME="%{daemon_name}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ @@ -401,11 +412,13 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} -install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ -install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ +install -D -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{daemon_name} +install -p -m 755 scripts/mysqld-prepare-db-dir %{buildroot}%{_libexecdir}/mysqld-prepare-db-dir +install -p -m 755 scripts/mysqld-wait-ready %{buildroot}%{_libexecdir}/mysqld-wait-ready +install -p -m 755 scripts/mysqld-check-socket %{buildroot}%{_libexecdir}/mysqld-check-socket +install -p -m 644 scripts/mysqld-scripts-common %{buildroot}%{_libexecdir}/mysqld-scripts-common -install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -489,18 +502,18 @@ popd %post embedded -p /sbin/ldconfig %post server -%systemd_post mysqld.service +%systemd_post %{daemon_name} /bin/touch %{_localstatedir}/log/mysqld.log %preun server -%systemd_preun mysqld.service +%systemd_preun %{daemon_name} %postun libs -p /sbin/ldconfig %postun embedded -p /sbin/ldconfig %postun server -%systemd_postun_with_restart mysqld.service +%systemd_postun_with_restart %{daemon_name} %files %doc README.mysql-docs @@ -648,9 +661,11 @@ popd %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/%{basename:%SOURCE11} -%{_libexecdir}/%{basename:%SOURCE12} -%{_libexecdir}/%{basename:%SOURCE13} +%{_unitdir}/%{daemon_name} +%{_libexecdir}/mysqld-prepare-db-dir +%{_libexecdir}/mysqld-wait-ready +%{_libexecdir}/mysqld-check-socket +%{_libexecdir}/mysqld-scripts-common %{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld @@ -687,6 +702,9 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 22 2014 Honza Horak - 5.6.19-5 +- Port scripts for systemd unit from MariaDB + * Mon Jul 21 2014 Honza Horak - 5.6.19-4 - Port some latest changes from MariaDB package to sync those packages - Error messages now provided by a separate package (thanks Alexander Barkov) diff --git a/mysql.tmpfiles.d b/mysql.tmpfiles.d deleted file mode 100644 index 74cd5f8..0000000 --- a/mysql.tmpfiles.d +++ /dev/null @@ -1 +0,0 @@ -d /var/run/mysqld 0755 mysql mysql - diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in new file mode 100644 index 0000000..0698a19 --- /dev/null +++ b/mysql.tmpfiles.d.in @@ -0,0 +1 @@ +d /var/run/@RPM_PACKAGE_PREFIX@mysqld 0755 mysql mysql - diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir deleted file mode 100644 index f73bc66..0000000 --- a/mysqld-prepare-db-dir +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh - -# This script creates the mysql data directory during first service start. -# In subsequent starts, it does nothing much. - -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# 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(){ - result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -# Defaults here had better match what mysqld_safe will default to -get_mysql_option mysqld datadir "/var/lib/mysql" -datadir="$result" -get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" -errlogfile="$result" - -# Absorb configuration settings from the specified systemd service file, -# or the default "mysqld" service if not specified -SERVICE_NAME="$1" -if [ x"$SERVICE_NAME" = x ] -then - SERVICE_NAME=mysqld.service -fi - -myuser=`systemctl show -p User "${SERVICE_NAME}" | - sed 's/^User=//'` -if [ x"$myuser" = x ] -then - myuser=mysql -fi - -mygroup=`systemctl show -p Group "${SERVICE_NAME}" | - sed 's/^Group=//'` -if [ x"$mygroup" = x ] -then - mygroup=mysql -fi - -# Set up the errlogfile with appropriate permissions -touch "$errlogfile" -chown "$myuser:$mygroup" "$errlogfile" -chmod 0640 "$errlogfile" -[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" - -# Make the data directory -if [ ! -d "$datadir/mysql" ] ; then - # First, make sure $datadir is there with correct permissions - # (note: if it's not, and we're not root, this'll fail ...) - if [ ! -e "$datadir" -a ! -h "$datadir" ] - then - mkdir -p "$datadir" || exit 1 - fi - chown "$myuser:$mygroup" "$datadir" - chmod 0755 "$datadir" - [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" - - # Now create the database - echo "Initializing MySQL database" - /usr/bin/mysql_install_db --datadir="$datadir" --user="$myuser" - ret=$? - if [ $ret -ne 0 ] ; then - echo "Initialization of MySQL database failed." >&2 - echo "Perhaps /etc/my.cnf is misconfigured." >&2 - # Clean up any partially-created database files - if [ ! -e "$datadir/mysql/user.frm" ] ; then - rm -rf "$datadir"/* - fi - exit $ret - fi - # In case we're running as root, make sure files are owned properly - chown -R "$myuser:$mygroup" "$datadir" -fi - -exit 0 diff --git a/mysqld-prepare-db-dir.sh b/mysqld-prepare-db-dir.sh new file mode 100644 index 0000000..8581a5f --- /dev/null +++ b/mysqld-prepare-db-dir.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +# This script creates the mysql data directory during first service start. +# In subsequent starts, it does nothing much. + +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" + +# If two args given first is user, second is group +# otherwise the arg is the systemd service file +if [ "$#" -eq 2 ] +then + myuser="$1" + mygroup="$2" +else + # Absorb configuration settings from the specified systemd service file, + # or the default "mariadb" service if not specified + SERVICE_NAME="$1" + if [ x"$SERVICE_NAME" = x ] + then + SERVICE_NAME=@DAEMON_NAME@.service + fi + + myuser=`systemctl show -p User "${SERVICE_NAME}" | + sed 's/^User=//'` + if [ x"$myuser" = x ] + then + myuser=mysql + fi + + mygroup=`systemctl show -p Group "${SERVICE_NAME}" | + sed 's/^Group=//'` + if [ x"$mygroup" = x ] + then + mygroup=mysql + fi +fi + +# Set up the errlogfile with appropriate permissions +touch "$errlogfile" +ret=$? +# Provide some advice if the log file cannot be touched +if [ $ret -ne 0 ] ; then + errlogdir=$(dirname $errlogfile) + if ! [ -d "$errlogdir" ] ; then + echo "The directory $errlogdir does not exist." + elif [ -f "$errlogfile" ] ; then + echo "The log file $errlogfile cannot be touched, please, fix its permissions." + else + echo "The log file $errlogfile could not be created." + fi + echo "The daemon will be run under $myuser:$mygroup" + exit 1 +fi +chown "$myuser:$mygroup" "$errlogfile" +chmod 0640 "$errlogfile" +[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" + +# Make the data directory +if [ ! -d "$datadir/mysql" ] ; then + # First, make sure $datadir is there with correct permissions + # (note: if it's not, and we're not root, this'll fail ...) + if [ ! -e "$datadir" -a ! -h "$datadir" ] + then + mkdir -p "$datadir" || exit 1 + fi + chown "$myuser:$mygroup" "$datadir" + chmod 0755 "$datadir" + [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" + + # Now create the database + echo "Initializing MySQL database" + @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" + ret=$? + if [ $ret -ne 0 ] ; then + echo "Initialization of MySQL database failed." >&2 + echo "Perhaps @sysconfdir@/my.cnf is misconfigured." >&2 + # Clean up any partially-created database files + if [ ! -e "$datadir/mysql/user.frm" ] ; then + rm -rf "$datadir"/* + fi + exit $ret + fi + # In case we're running as root, make sure files are owned properly + chown -R "$myuser:$mygroup" "$datadir" +fi + +exit 0 diff --git a/mysqld-wait-ready b/mysqld-wait-ready.sh similarity index 53% rename from mysqld-wait-ready rename to mysqld-wait-ready.sh index 9e5d3e4..a5356c2 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready.sh @@ -1,55 +1,44 @@ #!/bin/sh +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" + # This script waits for mysqld to be ready to accept connections # (which can be many seconds or even minutes after launch, if there's # a lot of crash-recovery work to do). # Running this as ExecStartPost is useful so that services declared as # "After mysqld" won't be started until the database is really ready. +if [ $# -ne 1 ] ; then + echo "You need to pass daemon pid as an argument for this script." + exit 20 +fi + # Service file passes us the daemon's PID (actually, mysqld_safe's PID) daemon_pid="$1" -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# 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(){ - result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -# Defaults here had better match what mysqld_safe will default to -get_mysql_option mysqld datadir "/var/lib/mysql" -datadir="$result" -get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" -socketfile="$result" - # Wait for the server to come up or for the mysqld process to disappear ret=0 while /bin/true; do - RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + # Check process still exists + if ! [ -d "/proc/${daemon_pid}" ] ; then + ret=1 + break + fi + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` mret=$? - if [ $mret -eq 0 ]; then + if [ $mret -eq 0 ] ; then break fi # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, # anything else suggests a configuration error if [ $mret -ne 1 -a $mret -ne 11 ]; then - ret=1 + echo "Cannot check for MySQL Daemon startup because of mysqladmin failure." >&2 + ret=$mret break fi # "Access denied" also means the server is alive echo "$RESPONSE" | grep -q "Access denied for user" && break - # Check process still exists - if ! /bin/kill -0 $daemon_pid 2>/dev/null; then - ret=1 - break - fi sleep 1 done diff --git a/mysqld.service b/mysqld.service.in similarity index 82% rename from mysqld.service rename to mysqld.service.in index 3193ce2..d3f550c 100644 --- a/mysqld.service +++ b/mysqld.service.in @@ -18,7 +18,7 @@ # though /lib/... will still work. [Unit] -Description=MySQL database server +Description=MySQL @MAJOR_VERSION@.@MINOR_VERSION@ database server After=syslog.target After=network.target @@ -27,11 +27,12 @@ Type=simple User=mysql Group=mysql -ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n +ExecStartPre=@libexecdir@/mariadb-check-socket +ExecStartPre=@libexecdir@/mysqld-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=/usr/bin/mysqld_safe --basedir=/usr -ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID +ExecStart=@bindir@/mysqld_safe --basedir=/usr +ExecStartPost=@libexecdir@/mysqld-wait-ready $MAINPID # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 638671d4dfd05b47ff155ef73345d2c6ed4e7c59 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 24 Jul 2014 10:00:55 +0200 Subject: [PATCH 294/616] Spec rewrite to be more similar to oterh MySQL implementations --- ....patch => community-mysql-cipherspec.patch | 0 community-mysql-scripts.patch | 14 +- community-mysql.spec | 427 +++++++++++++----- mysql-check-socket.sh | 39 ++ ...epare-db-dir.sh => mysql-prepare-db-dir.sh | 8 +- mysql-scripts-common.sh | 58 +++ mysqld-wait-ready.sh => mysql-wait-ready.sh | 4 +- mysql.init.in | 177 ++++++++ mysql.service.in | 49 ++ mysql.tmpfiles.d.in | 2 +- mysql_config_multilib.sh | 8 +- mysqld.service.in | 44 -- 12 files changed, 656 insertions(+), 174 deletions(-) rename community-mysql-5.6.11-cipherspec.patch => community-mysql-cipherspec.patch (100%) create mode 100644 mysql-check-socket.sh rename mysqld-prepare-db-dir.sh => mysql-prepare-db-dir.sh (91%) create mode 100755 mysql-scripts-common.sh rename mysqld-wait-ready.sh => mysql-wait-ready.sh (87%) create mode 100644 mysql.init.in create mode 100644 mysql.service.in delete mode 100644 mysqld.service.in diff --git a/community-mysql-5.6.11-cipherspec.patch b/community-mysql-cipherspec.patch similarity index 100% rename from community-mysql-5.6.11-cipherspec.patch rename to community-mysql-cipherspec.patch diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index f658b33..7dba8b9 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,28 @@ ELSE() +@@ -381,6 +381,30 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -9,11 +9,13 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + # files for systemd + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d -+ mysqld.service -+ mysqld-prepare-db-dir -+ mysqld-wait-ready -+ mysqld-check-socket -+ mysqld-scripts-common ++ mysql.service ++ mysql-prepare-db-dir ++ mysql-wait-ready ++ mysql-check-socket ++ mysql-scripts-common ++ mysql_config_multilib ++ mysql.init + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/community-mysql.spec b/community-mysql.spec index a738f19..6c21ccf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,3 +1,6 @@ +# Name of the package without any prefixes +%global pkgname community-mysql + # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) @@ -22,10 +25,40 @@ # my.cnf and my.cnf.d %global ship_my_cnf 0 -# Name for the systemd unit file -%global daemon_name mysqld.service +# For some use cases we do not need some parts of the package +%bcond_without clibrary +%bcond_without embedded +%bcond_without devel +%bcond_without client +%bcond_without common +%bcond_without errmsg +%bcond_without bench +%bcond_without test -Name: community-mysql +# Include files for SysV init or systemd +%if 0%{?fedora} >= 15 +%bcond_without init_systemd +%bcond_with init_sysv +%global daemon_name mysqld +%else +%bcond_with init_systemd +%bcond_without init_sysv +%global daemon_name mysqld +%endif + +# We define some system's well known locations here so we can use them easily +# later when building to another location (like SCL) +%global logrotateddir %{_sysconfdir}/logrotate.d +%global logfiledir %{_localstatedir}/log +%global logfile %{_localstatedir}/log/%{name}.log + +# Home directory of mysql user should be same for all packages that create it +%global mysqluserhome /var/lib/mysql + +# Make long macros shorter +%global sameevp %{?epoch:%{epoch}:}%{version}-%{release} + +Name: %{pkgname} Version: 5.6.19 Release: 5%{?dist} Summary: MySQL client programs and shared libraries @@ -37,38 +70,42 @@ URL: http://www.mysql.com License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz +Source2: mysql_config_multilib.sh Source3: my.cnf -Source4: mysql_config_multilib.sh -Source5: my_config.h +Source4: my_config.h Source6: README.mysql-docs Source7: README.mysql-license Source10: mysql.tmpfiles.d.in -Source11: mysqld.service.in -Source12: mysqld-prepare-db-dir.sh -Source13: mysqld-wait-ready.sh -Source14: mysqld-check-socket.sh -Source15: mysqld-scripts-common.sh +Source11: mysql.service.in +Source12: mysql-prepare-db-dir.sh +Source13: mysql-wait-ready.sh +Source14: mysql-check-socket.sh +Source15: mysql-scripts-common.sh +Source17: mysql.init.in # To track rpmlint warnings -Source17: mysql-5.6.10-rpmlintrc +Source30: mysql-5.6.10-rpmlintrc # Comments for these patches are in the patch files -Patch2: community-mysql-strmov.patch -Patch3: community-mysql-install-test.patch -Patch4: community-mysql-expired-certs.patch -Patch6: community-mysql-chain-certs.patch -Patch11: community-mysql-s390-tsc.patch -Patch16: community-mysql-logrotate.patch -Patch18: community-mysql-5.6.11-cipherspec.patch -Patch19: community-mysql-file-contents.patch -Patch21: community-mysql-dh1024.patch -Patch22: community-mysql-sharedir.patch -Patch23: community-mysql-5.6.16-libmysql-version.patch -Patch24: community-mysql-man-pages.patch -Patch25: community-mysql-5.6.16-mysql-install.patch -Patch26: community-mysql-5.6.13-major.patch -Patch34: community-mysql-pluginerrmsg.patch -Patch35: community-mysql-5.6.19-gcc49-aarch64-opt.patch -Patch37: community-mysql-scripts.patch +# Patches common for more mysql-like packages +Patch1: %{pkgname}-strmov.patch +Patch2: %{pkgname}-install-test.patch +Patch3: %{pkgname}-s390-tsc.patch +Patch4: %{pkgname}-logrotate.patch +Patch5: %{pkgname}-cipherspec.patch +Patch6: %{pkgname}-file-contents.patch +Patch7: %{pkgname}-dh1024.patch +Patch8: %{pkgname}-scripts.patch + +# Patches specific for this mysql package +Patch50: %{pkgname}-expired-certs.patch +Patch51: %{pkgname}-chain-certs.patch +Patch52: %{pkgname}-sharedir.patch +Patch53: %{pkgname}-5.6.16-libmysql-version.patch +Patch54: %{pkgname}-man-pages.patch +Patch55: %{pkgname}-5.6.16-mysql-install.patch +Patch56: %{pkgname}-pluginerrmsg.patch +Patch57: %{pkgname}-5.6.19-gcc49-aarch64-opt.patch +Patch70: %{pkgname}-5.6.13-major.patch BuildRequires: cmake BuildRequires: dos2unix @@ -86,21 +123,25 @@ BuildRequires: perl(Env) BuildRequires: perl(Exporter) BuildRequires: perl(Fcntl) BuildRequires: perl(File::Temp) +BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -BuildRequires: systemd +%{?with_init_systemd:BuildRequires: systemd} Requires: bash Requires: fileutils Requires: grep -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Provides: mysql = %{version}-%{release} -Provides: mysql%{?_isa} = %{version}-%{release} -Provides: mysql-compat-client = %{version}-%{release} -Provides: mysql-compat-client%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} + +Provides: mysql = %{sameevp} +Provides: mysql%{?_isa} = %{sameevp} +Provides: mysql-compat-client = %{sameevp} +Provides: mysql-compat-client%{?_isa} = %{sameevp} + Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -122,20 +163,23 @@ and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. +%if %{with clibrary} %package libs Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Provides: mysql-libs = %{version}-%{release} -Provides: mysql-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Provides: mysql-libs = %{sameevp} +Provides: mysql-libs%{?_isa} = %{sameevp} %description libs The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. +%endif +%if %{with common} %package common Summary: The shared files required for MySQL server and client Group: Applications/Databases @@ -147,40 +191,49 @@ Requires: %{_sysconfdir}/my.cnf The mysql-common package provides the essential shared files for any MySQL program. You will need to install this package to use any other MySQL package. +%endif +%if %{with errmsg} %package errmsg - Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} %description errmsg The package provides error messages files for the MySQL daemon and the embedded server. You will need to install this package to use any of those MySQL packages. +%endif + %package server Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %{version}-%{release} +# note: no version here = %{sameevp} Requires: mysql-compat-client%{?_isa} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +%if %{without common} +Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf.d +%endif +Requires: %{name}-errmsg%{?_isa} = %{sameevp} Requires: sh-utils Requires(pre): /usr/sbin/useradd -# We require this to be present for %%{_prefix}/lib/tmpfiles.d +%if %{with init_systemd} +# We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} +%endif # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) -Provides: mysql-server = %{version}-%{release} -Provides: mysql-server%{?_isa} = %{version}-%{release} -Provides: mysql-compat-server = %{version}-%{release} -Provides: mysql-compat-server%{?_isa} = %{version}-%{release} +Provides: mysql-server = %{sameevp} +Provides: mysql-server%{?_isa} = %{sameevp} +Provides: mysql-compat-server = %{sameevp} +Provides: mysql-compat-server%{?_isa} = %{sameevp} Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -191,11 +244,11 @@ and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. +%if %{with devel} %package devel Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{sameevp} Requires: openssl-devel%{?_isa} Conflicts: mariadb-devel @@ -203,15 +256,17 @@ Conflicts: mariadb-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. +%endif +%if %{with embedded} %package embedded Summary: MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} -Provides: mysql-embedded = %{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-errmsg%{?_isa} = %{sameevp} +Provides: mysql-embedded = %{sameevp} +Provides: mysql-embedded%{?_isa} = %{sameevp} %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -222,67 +277,83 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-embedded%{?_isa} = %{sameevp} +Requires: %{name}-devel%{?_isa} = %{sameevp} Conflicts: mariadb-embedded-devel %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MySQL server. +%endif +%if %{with bench} %package bench Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{sameevp} Conflicts: mariadb-bench -Provides: mysql-bench = %{version}-%{release} -Provides: mysql-bench%{?_isa} = %{version}-%{release} +Provides: mysql-bench = %{sameevp} +Provides: mysql-bench%{?_isa} = %{sameevp} %description bench MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. +%endif +%if %{with test} %package test Summary: The test suite distributed with MySQL Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-server%{?_isa} = %{sameevp} +Requires: perl(Env) +Requires: perl(Exporter) +Requires: perl(Fcntl) +Requires: perl(File::Temp) +Requires: perl(Data::Dumper) +Requires: perl(Getopt::Long) +Requires: perl(IPC::Open3) +Requires: perl(Socket) +Requires: perl(Sys::Hostname) +Requires: perl(Test::More) +Requires: perl(Time::HiRes) Conflicts: mariadb-test -Provides: mysql-test = %{version}-%{release} -Provides: mysql-test%{?_isa} = %{version}-%{release} +Provides: mysql-test = %{sameevp} +Provides: mysql-test%{?_isa} = %{sameevp} %description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. +%endif %prep %setup -q -n mysql-%{version} +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %patch6 -p1 -%patch11 -p1 -%patch16 -p1 -%patch18 -p1 -%patch19 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 +%patch7 -p1 +%patch8 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 +%patch57 -p1 %if %{with_shared_lib_major_hack} -%patch26 -p1 +%patch70 -p1 %endif -%patch34 -p1 -%patch35 -p1 -%patch37 -p1 # Modify tests to pass on all archs pushd mysql-test @@ -320,8 +391,8 @@ add_test 'main.upgrade : unknown' %endif popd -cp %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} scripts +cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ + %{SOURCE15} %{SOURCE17} scripts %build # fail quickly and obviously if user tries to build as root @@ -337,12 +408,27 @@ cp %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ # build out of source mkdir build && pushd build +# significant performance gains can be achieved by compiling with -O3 optimization +# rhbz#1051069 +%ifarch ppc64 +CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` +%endif +CXXFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS + +%if 0%{?_hardened_build} +# building with PIE +LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" +export LDFLAGS +%endif + # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. cmake .. -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ + -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ @@ -379,6 +465,8 @@ cmake .. -DBUILD_CONFIG=mysql_release \ make %{?_smp_mflags} VERBOSE=1 +popd + %install pushd build make DESTDIR=%{buildroot} install @@ -390,19 +478,19 @@ unamei=$(uname -i) unamei=arm %endif %ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$unamei.h -install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h +install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config %endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, -# but that's pretty wacko --- see also mysql-file-contents.patch) +# but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -mkdir -p %{buildroot}%{_localstatedir}/log -touch %{buildroot}%{_localstatedir}/log/mysqld.log +mkdir -p %{buildroot}%{logfiledir} +touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{_localstatedir}/run/mysqld install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql @@ -412,13 +500,21 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{daemon_name} -install -p -m 755 scripts/mysqld-prepare-db-dir %{buildroot}%{_libexecdir}/mysqld-prepare-db-dir -install -p -m 755 scripts/mysqld-wait-ready %{buildroot}%{_libexecdir}/mysqld-wait-ready -install -p -m 755 scripts/mysqld-check-socket %{buildroot}%{_libexecdir}/mysqld-check-socket -install -p -m 644 scripts/mysqld-scripts-common %{buildroot}%{_libexecdir}/mysqld-scripts-common - +%if %{with init_systemd} +install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +%endif + +# install SysV init script +%if %{with init_sysv} +install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} +%endif + +# helper scripts for service starting +install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready +install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -438,19 +534,19 @@ rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be -mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d -mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysqld -chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/mysqld +mkdir -p %{buildroot}%{logrotateddir} +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} +chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} -mkdir -p %{buildroot}/etc/ld.so.conf.d -echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # Back to src dir popd # copy additional docs into build tree so %%doc will find them -install -p -m 0644 %{SOURCE6} README.mysql-docs -install -p -m 0644 %{SOURCE7} README.mysql-license +install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test @@ -473,7 +569,57 @@ rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 +%if %{without clibrary} +rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d +%endif + +%if %{without embedded} +rm -f %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm -f %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%endif + +%if %{without devel} +rm -f %{buildroot}%{_bindir}/mysql_config* +rm -rf %{buildroot}%{_includedir}/mysql +rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* +%endif + +%if %{without client} +rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_config_editor,\ +mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\ +mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +%endif + +%if %{without common} +rm -f %{buildroot}%{_sysconfdir}/my.cnf +rm -rf %{buildroot}%{_datadir}/%{name}/charsets +%endif + +%if %{without errmsg} +rm -rf %{buildroot}%{_datadir}/%{name}/{english,bulgarian,czech,danish,dutch,estonian,\ +french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ +polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} +%endif + +%if %{without bench} +rm -rf %{buildroot}%{_datadir}/sql-bench +%endif + +%if %{without test} +rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -rf %{buildroot}%{_datadir}/mysql-test +rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +%endif + %check +%if %{with test} %if %runselftest pushd build make test VERBOSE=1 @@ -491,33 +637,65 @@ export MTR_BUILD_THREAD=%{__isa_bits} popd popd %endif +%endif %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /bin/bash \ +/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : +%if %{with clibrary} %post libs -p /sbin/ldconfig +%endif +%if %{with embedded} %post embedded -p /sbin/ldconfig +%endif %post server -%systemd_post %{daemon_name} -/bin/touch %{_localstatedir}/log/mysqld.log +%if %{with init_systemd} +%systemd_post %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 = 1 ]; then + /sbin/chkconfig --add %{daemon_name} +fi +%endif +/bin/touch %{logfile} %preun server -%systemd_preun %{daemon_name} +%if %{with init_systemd} +%systemd_preun %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 = 0 ]; then + /sbin/service %{daemon_name} stop >/dev/null 2>&1 + /sbin/chkconfig --del %{daemon_name} +fi +%endif +%if %{with clibrary} %postun libs -p /sbin/ldconfig +%endif +%if %{with embedded} %postun embedded -p /sbin/ldconfig +%endif %postun server -%systemd_postun_with_restart %{daemon_name} +%if %{with init_systemd} +%systemd_postun_with_restart %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 -ge 1 ]; then + /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || : +fi +%endif %files %doc README.mysql-docs +%if %{with client} %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config_editor @@ -547,24 +725,30 @@ popd %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* +%endif +%if %{with clibrary} %files libs %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* +%endif +%if %{with common} %files common %doc README COPYING README.mysql-license %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # 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. +# common package because it can be used for client settings too. %if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_sysconfdir}/my.cnf.d %endif %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets +%endif +%if %{with errmsg} %files errmsg %{_datadir}/%{name}/english %lang(bg) %{_datadir}/%{name}/bulgarian @@ -590,9 +774,10 @@ popd %lang(es) %{_datadir}/%{name}/spanish %lang(sv) %{_datadir}/%{name}/swedish %lang(uk) %{_datadir}/%{name}/ukrainian +%endif %files server -%{_bindir}/myisamchk +%{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack @@ -621,6 +806,10 @@ popd %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN +%if %{without common} +%dir %{_datadir}/%{name} +%endif + %{_libdir}/mysql/plugin %{_mandir}/man1/myisamchk.1* @@ -661,18 +850,20 @@ popd %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/%{daemon_name} -%{_libexecdir}/mysqld-prepare-db-dir -%{_libexecdir}/mysqld-wait-ready -%{_libexecdir}/mysqld-check-socket -%{_libexecdir}/mysqld-scripts-common +%{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} +%{?with_init_sysv:%{_initddir}/%{daemon_name}} +%{_libexecdir}/mysql-prepare-db-dir +%{_libexecdir}/mysql-wait-ready +%{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-scripts-common -%{_tmpfilesdir}/%{name}.conf -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log -%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%config(noreplace) %{logrotateddir}/%{daemon_name} +%if %{with devel} %files devel %{_bindir}/mysql_config %{_bindir}/mysql_config-%{__isa_bits} @@ -681,7 +872,9 @@ popd %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %{_mandir}/man1/mysql_config.1* +%endif +%if %{with embedded} %files embedded %{_libdir}/mysql/libmysqld.so.* @@ -691,18 +884,26 @@ popd %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* %{_mandir}/man1/mysqltest_embedded.1* +%endif +%if %{with bench} %files bench %{_datadir}/sql-bench +%endif +%if %{with test} %files test %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* +%endif %changelog * Tue Jul 22 2014 Honza Horak - 5.6.19-5 +- Spec rewrite to be more similar to oterh MySQL implementations +- Include SysV init script if built on older system +- Add possibility to not ship some sub-packages - Port scripts for systemd unit from MariaDB * Mon Jul 21 2014 Honza Horak - 5.6.19-4 diff --git a/mysql-check-socket.sh b/mysql-check-socket.sh new file mode 100644 index 0000000..b15cd32 --- /dev/null +++ b/mysql-check-socket.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# We check if there is already a process using the socket file, +# since otherwise the systemd service file could report false +# positive result when starting and mysqld_safe could remove +# a socket file, which is actually being used by a different daemon. + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +if test -e "$socketfile" ; then + echo "Socket file $socketfile exists." >&2 + + # no write permissions + if ! test -w "$socketfile" ; then + echo "Not enough permission to write to the socket file $socketfile, which is suspicious." >&2 + echo "Please, remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # not a socket file + if ! test -S "$socketfile" ; then + echo "The file $socketfile is not a socket file, which is suspicious." >&2 + echo "Please, remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # some process uses the socket file + if fuser "$socketfile" &>/dev/null ; then + socketpid=$(fuser "$socketfile" 2>/dev/null) + echo "Is another MySQL daemon already running with the same unix socket?" >&2 + echo "Please, stop the process $socketpid or remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # socket file is a garbage + echo "No process is using $socketfile, which means it is a garbage, so it will be removed automatically." >&2 +fi + +exit 0 diff --git a/mysqld-prepare-db-dir.sh b/mysql-prepare-db-dir.sh similarity index 91% rename from mysqld-prepare-db-dir.sh rename to mysql-prepare-db-dir.sh index 8581a5f..0507f52 100644 --- a/mysqld-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -3,7 +3,7 @@ # This script creates the mysql data directory during first service start. # In subsequent starts, it does nothing much. -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" # If two args given first is user, second is group # otherwise the arg is the systemd service file @@ -13,7 +13,7 @@ then mygroup="$2" else # Absorb configuration settings from the specified systemd service file, - # or the default "mariadb" service if not specified + # or the default service if not specified SERVICE_NAME="$1" if [ x"$SERVICE_NAME" = x ] then @@ -68,11 +68,11 @@ if [ ! -d "$datadir/mysql" ] ; then [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" # Now create the database - echo "Initializing MySQL database" + echo "Initializing @NICE_PROJECT_NAME@ database" @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then - echo "Initialization of MySQL database failed." >&2 + echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 echo "Perhaps @sysconfdir@/my.cnf is misconfigured." >&2 # Clean up any partially-created database files if [ ! -e "$datadir/mysql/user.frm" ] ; then diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh new file mode 100755 index 0000000..e9ac2bf --- /dev/null +++ b/mysql-scripts-common.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# Some useful functions used in other MySQL helper scripts +# This scripts defines variables datadir, errlogfile, socketfile + +export LC_ALL=C + +# extract value of a MySQL option from config files +# Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ] +# result is returned in $result +# 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(){ + if [ $# -ne 3 ] ; then + echo "get_mysql_option requires 3 arguments: section option default_value" + return + fi + sections="$1" + option_name="$2" + default_value="$3" + result=`@bindir@/my_print_defaults $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="${default_value}" + fi +} + +# Defaults here had better match what mysqld_safe will default to +# The option values are generally defined on three important places +# on the default installation: +# 1) default values are hardcoded in the code of mysqld daemon or +# mysqld_safe script +# 2) configurable values are defined in @sysconfdir@/my.cnf +# 3) default values for helper scripts are specified bellow +# So, in case values are defined in my.cnf, we need to get that value. +# In case they are not defined in my.cnf, we need to get the same value +# in the daemon, as in the helper scripts. Thus, default values here +# must correspond with values defined in mysqld_safe script and source +# code itself. + +server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" + +get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" +datadir="$result" + +# if there is log_error in the my.cnf, my_print_defaults still +# returns log-error +# log-error might be defined in mysqld_safe and mysqld sections, +# the former has bigger priority +get_mysql_option "$server_sections" log-error "`hostname`.err" +errlogfile="$result" + +get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" +socketfile="$result" + +get_mysql_option "$server_sections" pid-file "`hostname`.pid" +pidfile="$result" + diff --git a/mysqld-wait-ready.sh b/mysql-wait-ready.sh similarity index 87% rename from mysqld-wait-ready.sh rename to mysql-wait-ready.sh index a5356c2..2ed5fe1 100644 --- a/mysqld-wait-ready.sh +++ b/mysql-wait-ready.sh @@ -1,6 +1,6 @@ #!/bin/sh -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" # This script waits for mysqld to be ready to accept connections # (which can be many seconds or even minutes after launch, if there's @@ -32,7 +32,7 @@ while /bin/true; do # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, # anything else suggests a configuration error if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "Cannot check for MySQL Daemon startup because of mysqladmin failure." >&2 + echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 ret=$mret break fi diff --git a/mysql.init.in b/mysql.init.in new file mode 100644 index 0000000..91e2f98 --- /dev/null +++ b/mysql.init.in @@ -0,0 +1,177 @@ +#!/bin/sh +# +# @DAEMON_NAME@ This shell script takes care of starting and stopping +# the MySQL subsystem (mysqld). +# +# chkconfig: - 64 36 +# description: MySQL database server. +# processname: mysqld +# config: @sysconfdir@/my.cnf +# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NAME@.pid +### BEGIN INIT INFO +# Provides: mysqld +# Required-Start: $local_fs $remote_fs $network $named $syslog $time +# Required-Stop: $local_fs $remote_fs $network $named $syslog $time +# Short-Description: start and stop MySQL server +# Description: MySQL database server +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + + +exec="@bindir@/mysqld_safe" +prog="@DAEMON_NAME@" + +# Set timeouts here so they can be overridden from /etc/sysconfig/@DAEMON_NAME@ +STARTTIMEOUT=300 +STOPTIMEOUT=60 + +# User and group the daemon will run under +MYUSER=mysql +MYGROUP=mysql + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +# get options from my.cnf +source "@libexecdir@/mariadb-scripts-common" + +start(){ + [ -x $exec ] || exit 5 + # check to see if it's already running + MYSQLDRUNNING=0 + if [ -f "$pidfile" ]; then + MYSQLPID=`cat "$pidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then + MYSQLDRUNNING=1 + fi + fi + RESPONSE=`@bindir@/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" + then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + else + @libexecdir@/mariadb-prepare-db-dir $MYUSER $MYGROUP || return 4 + @libexecdir@/mariadb-check-socket || return 1 + + # Pass all the options determined above, to ensure consistent behavior. + # In many cases mysqld_safe would arrive at the same conclusions anyway + # but we need to be sure. (An exception is that we don't force the + # log-error setting, since this script doesn't really depend on that, + # and some users might prefer to configure logging to syslog.) + # Note: set --basedir to prevent probes that might trigger SELinux + # alarms, per bug #547485 + $exec --datadir="$datadir" --socket="$socketfile" \ + --pid-file="$pidfile" \ + --basedir=@prefix@ --user=$MYUSER >/dev/null 2>&1 & + safe_pid=$! + + # Wait until the daemon is up + @libexecdir@/mariadb-wait-ready "$safe_pid" + ret=$? + + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + chmod o+r $pidfile >/dev/null 2>&1 + touch $lockfile + else + action $"Starting $prog: " /bin/false + fi + fi + return $ret +} + +stop(){ + if [ ! -f "$pidfile" ]; then + # not running; per LSB standards this is "ok" + action $"Stopping $prog: " /bin/true + return 0 + fi + MYSQLPID=`cat "$pidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ]; then + if ! [ -d "/proc/$MYSQLPID" ] ; then + # process doesn't run anymore + action $"Stopping $prog: " /bin/true + return 0 + fi + /bin/kill "$MYSQLPID" >/dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + TIMEOUT="$STOPTIMEOUT" + while [ $TIMEOUT -gt 0 ]; do + /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break + sleep 1 + let TIMEOUT=${TIMEOUT}-1 + done + if [ $TIMEOUT -eq 0 ]; then + echo "Timeout error occurred trying to stop MySQL Daemon." + ret=1 + action $"Stopping $prog: " /bin/false + else + rm -f $lockfile + rm -f "$socketfile" + action $"Stopping $prog: " /bin/true + fi + else + # kill command failed, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + else + # failed to read pidfile, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + return $ret +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e $lockfile ] && restart || : +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status -p "$pidfile" $prog + ;; + restart) + restart + ;; + condrestart|try-restart) + condrestart + ;; + reload) + exit 3 + ;; + force-reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac + +exit $? diff --git a/mysql.service.in b/mysql.service.in new file mode 100644 index 0000000..4c2b60a --- /dev/null +++ b/mysql.service.in @@ -0,0 +1,49 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", +# containing +# .include /usr/lib/systemd/system/@DAEMON_NAME@.service +# ...make your changes here... +# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", +# which doesn't need to include ".include" call and which will be parsed +# after the file @DAEMON_NAME@.service itself is parsed. +# +# For more info about custom unit files, see systemd.unit(5) or +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F + +# For example, if you want to increase mysql's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, so create a file named +# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# [Service] +# LimitNOFILE=10000 + +# Note: /usr/lib/... is recommended in the .include line though /lib/... +# still works. +# Don't forget to reload systemd daemon after you change unit configuration: +# root> systemctl --system daemon-reload + +[Unit] +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=simple +User=mysql +Group=mysql + +ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ +ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index 0698a19..b486d78 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1 +1 @@ -d /var/run/@RPM_PACKAGE_PREFIX@mysqld 0755 mysql mysql - +d /var/run/@DAEMON_NAME@ 0755 mysql mysql - diff --git a/mysql_config_multilib.sh b/mysql_config_multilib.sh index 4849e95..06c2a2b 100644 --- a/mysql_config_multilib.sh +++ b/mysql_config_multilib.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /bin/sh # # Wrapper script for mysql_config to support multilib # @@ -17,10 +17,10 @@ if [ "$status" = "unknown" ] ; then fi -if [ -x /usr/bin/mysql_config-$bits ] ; then - /usr/bin/mysql_config-$bits "$@" +if [ -x @bindir@/mysql_config-$bits ] ; then + @bindir@/mysql_config-$bits "$@" else - echo "$0: error: needed binary: /usr/bin/mysql_config-$bits is missing" + echo "$0: error: needed binary: @bindir@/mysql_config-$bits is missing" exit 1 fi diff --git a/mysqld.service.in b/mysqld.service.in deleted file mode 100644 index d3f550c..0000000 --- a/mysqld.service.in +++ /dev/null @@ -1,44 +0,0 @@ -# It's not recommended to modify this file in-place, because it will be -# overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/mysqld.service", -# containing -# .include /lib/systemd/system/mysqld.service -# ...make your changes here... -# For more info about custom unit files, see -# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/mysqld.service" containing: -# .include /lib/systemd/system/mysqld.service -# [Service] -# LimitNOFILE=10000 - -# Note: in F-17 and beyond, /usr/lib/... is recommended in the .include line -# though /lib/... will still work. - -[Unit] -Description=MySQL @MAJOR_VERSION@.@MINOR_VERSION@ database server -After=syslog.target -After=network.target - -[Service] -Type=simple -User=mysql -Group=mysql - -ExecStartPre=@libexecdir@/mariadb-check-socket -ExecStartPre=@libexecdir@/mysqld-prepare-db-dir %n -# Note: we set --basedir to prevent probes that might trigger SELinux alarms, -# per bug #547485 -ExecStart=@bindir@/mysqld_safe --basedir=/usr -ExecStartPost=@libexecdir@/mysqld-wait-ready $MAINPID - -# Give a reasonable amount of time for the server to start up/shut down -TimeoutSec=300 - -# Place temp files in a secure directory, not /tmp -PrivateTmp=true - -[Install] -WantedBy=multi-user.target From 3ba3312a645fddab7f5ef4f9569557b3369ad5ff Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 25 Jul 2014 16:51:11 +0200 Subject: [PATCH 295/616] Hardcoded paths removed to work fine in chroot --- community-mysql-file-contents.patch | 33 ++++-- community-mysql-logrotate.patch | 45 +++++--- community-mysql-paths.patch | 164 ++++++++++++++++++++++++++++ community-mysql-scripts.patch | 3 +- community-mysql.spec | 13 ++- my.cnf => my.cnf.in | 4 +- mysql.tmpfiles.d.in | 2 +- 7 files changed, 237 insertions(+), 27 deletions(-) create mode 100644 community-mysql-paths.patch rename my.cnf => my.cnf.in (94%) diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 0b1a552..76afb92 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -6,20 +6,39 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mysql-5.6.15/mysql-test/t/file_contents.test.p19 mysql-5.6.15/mysql-test/t/file_contents.test ---- mysql-5.6.15/mysql-test/t/file_contents.test.p19 2013-12-09 18:44:48.425892516 +0100 -+++ mysql-5.6.15/mysql-test/t/file_contents.test 2013-12-09 18:48:02.247150032 +0100 -@@ -39,6 +39,14 @@ if ($dir_bin =~ m|/usr/|) { +diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19/mysql-test/t/file_contents.test +--- mysql-5.6.19/mysql-test/t/file_contents.test.file-contents 2014-07-25 11:56:12.442153944 +0200 ++++ mysql-5.6.19/mysql-test/t/file_contents.test 2014-07-25 12:00:11.578581702 +0200 +@@ -11,7 +11,7 @@ + --perl + print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; + $dir_bin = $ENV{'MYSQL_BINDIR'}; +-if ($dir_bin =~ m|/usr/|) { ++if ($dir_bin =~ m|.*/usr/$|) { + # RPM package + $dir_docs = $dir_bin; + $dir_docs =~ s|/lib|/share/doc|; +@@ -26,7 +26,7 @@ if ($dir_bin =~ m|/usr/|) { + $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; + } + } +-} elsif ($dir_bin =~ m|/usr$|) { ++} elsif ($dir_bin =~ m|.*/usr$|) { + # RPM build during development + $dir_docs = "$dir_bin/share/doc"; + if(-d "$dir_docs/packages") { +@@ -39,6 +39,15 @@ if ($dir_bin =~ m|/usr/|) { # If not it might be ULN so try that $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; } ++ + # All the above is entirely wacko, because these files are not docs; + # they should be kept in libdir instead. mtr does not provide a nice + # way to find libdir though, so we have to kluge it like this: -+ if (-d "/usr/lib64/mysql") { -+ $dir_docs = "/usr/lib64/mysql"; ++ if (-d "$dir_bin/lib64/mysql") { ++ $dir_docs = "$dir_bin/lib64/mysql"; + } else { -+ $dir_docs = "/usr/lib/mysql"; ++ $dir_docs = "$dir_bin/lib/mysql"; + } } } else { diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch index b5f5220..7c0b7e5 100644 --- a/community-mysql-logrotate.patch +++ b/community-mysql-logrotate.patch @@ -14,21 +14,40 @@ Adjust the mysql-log-rotate script in several ways: See discussions at RH bugs 799735, 547007 -diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/support-files/mysql-log-rotate.sh ---- mysql-5.6.10/support-files/mysql-log-rotate.sh.orig 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/support-files/mysql-log-rotate.sh 2013-02-19 15:27:28.448443077 +0100 -@@ -4,7 +4,7 @@ - # follows: +diff -up mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate mysql-5.6.19/support-files/mysql-log-rotate.sh +--- mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate 2014-07-25 11:49:37.237448291 +0200 ++++ mysql-5.6.19/support-files/mysql-log-rotate.sh 2014-07-25 11:53:17.096840857 +0200 +@@ -1,14 +1,13 @@ +-# The log file name and location can be set in +-# /etc/my.cnf by setting the "log-error" option +-# in either [mysqld] or [mysqld_safe] section as +-# follows: ++# This logname can be set in /etc/my.cnf ++# by setting the variable "log-error" ++# in the [mysqld_safe] section as follows: # - # [mysqld] +-# [mysqld] -# log-error=@localstatedir@/mysqld.log -+# log-error=/var/log/mysqld.log ++# [mysqld_safe] ++# log-error=@LOG_LOCATION@ # - # In case the root user has a password, then you - # have to create a /root/.my.cnf configuration file -@@ -19,19 +19,21 @@ - # ATTENTION: The /root/.my.cnf file should be readable - # _ONLY_ by root ! +-# In case the root user has a password, then you +-# have to create a /root/.my.cnf configuration file +-# with the following content: ++# If the root user has a password you have to create a ++# /root/.my.cnf configuration file with the following ++# content: + # + # [mysqladmin] + # password = +@@ -16,22 +15,24 @@ + # + # where "" is the password. + # +-# ATTENTION: The /root/.my.cnf file should be readable +-# _ONLY_ by root ! ++# ATTENTION: This /root/.my.cnf should be readable ONLY ++# for root ! -@localstatedir@/mysqld.log { - # create 600 mysql mysql @@ -48,7 +67,7 @@ diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/suppor -} +# Then, un-comment the following lines to enable rotation of mysql's log file: + -+#/var/log/mysqld.log { ++#@LOG_LOCATION@ { +# create 640 mysql mysql +# notifempty +# daily diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch new file mode 100644 index 0000000..db90278 --- /dev/null +++ b/community-mysql-paths.patch @@ -0,0 +1,164 @@ +Some hard-coded paths make problems when package is built into chroot like +Software Collections. Removing these hard-coded paths should fix it. + +Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 + + +diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql_plugin.c +--- mysql-5.6.19/client/mysql_plugin.c.cmakepaths 2014-05-06 12:45:57.000000000 +0200 ++++ mysql-5.6.19/client/mysql_plugin.c 2014-07-25 13:12:36.991896193 +0200 +@@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); + static int build_bootstrap_file(char *operation, char *bootstrap); + static int dump_bootstrap_file(char *bootstrap_file); + static int bootstrap_server(char *server_path, char *bootstrap_file); ++static int find_file_in_path(char *to,const char *name); + + + int main(int argc,char *argv[]) +@@ -121,7 +122,7 @@ int main(int argc,char *argv[]) + */ + if ((error= process_options(argc, argv, operation)) || + (error= check_access()) || +- (error= find_tool("mysqld" FN_EXEEXT, server_path)) || ++ (error= find_file_in_path("mysqld" FN_EXEEXT, server_path)) || + (error= find_plugin(tp_path)) || + (error= build_bootstrap_file(operation, bootstrap))) + goto exit; +@@ -324,7 +325,7 @@ static int get_default_values() + FILE *file= 0; + + memset(tool_path, 0, FN_REFLEN); +- if ((error= find_tool("my_print_defaults" FN_EXEEXT, tool_path))) ++ if ((error= find_file_in_path("my_print_defaults" FN_EXEEXT, tool_path))) + goto exit; + else + { +@@ -989,6 +990,55 @@ exit: + } + + ++#if defined(__WIN__) ++#define F_OK 0 ++#define PATH_SEP ';' ++#define PROGRAM_EXTENSION ".exe" ++#else ++#define PATH_SEP ':' ++#endif ++ ++static int find_file_in_path(char *to, const char *name) ++{ ++ char *path,*pos,dir[2]; ++ const char *ext=""; ++ ++ if (!(path=getenv("PATH"))) ++ goto notfound; ++ dir[0]=FN_LIBCHAR; dir[1]=0; ++#ifdef PROGRAM_EXTENSION ++ if (!fn_ext(name)[0]) ++ ext=PROGRAM_EXTENSION; ++#endif ++ ++ for (pos=path ; (pos=strchr(pos,PATH_SEP)) ; path= ++pos) ++ { ++ if (path != pos) ++ { ++ strxmov(strnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); ++ if (!access(to,F_OK)) ++ { ++ if (opt_verbose) ++ printf("# Found tool '%s' as '%s'.\n", name, to); ++ return 0; ++ } ++ } ++ } ++#ifdef __WIN__ ++ to[0]=FN_CURLIB; ++ strxmov(to+1,dir,name,ext,NullS); ++ if (!access(to,F_OK)) /* Test in current dir */ ++ { ++ if (opt_verbose) ++ printf("# Found tool '%s' as '%s'.\n", name, to); ++ return 0; ++ } ++#endif ++notfound: ++ fprintf(stderr, "WARNING: Cannot find %s.\n", name); ++ return 1; /* File not found */ ++} ++ + /** + Locate the tool and form tool path. + +diff -up mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths mysql-5.6.19/mysys_ssl/my_default.cc +--- mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths 2014-05-06 12:45:58.000000000 +0200 ++++ mysql-5.6.19/mysys_ssl/my_default.cc 2014-07-25 13:19:12.587624249 +0200 +@@ -1389,12 +1389,12 @@ static const char **init_default_directo + + #else + +- errors += add_directory(alloc, "/etc/", dirs); +- errors += add_directory(alloc, "/etc/mysql/", dirs); +- + #if defined(DEFAULT_SYSCONFDIR) + if (DEFAULT_SYSCONFDIR[0]) ++ { + errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); ++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); ++ } + #endif /* DEFAULT_SYSCONFDIR */ + + #endif +diff -up mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths mysql-5.6.19/scripts/mysqlaccess.sh +--- mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 ++++ mysql-5.6.19/scripts/mysqlaccess.sh 2014-07-25 13:12:36.995896200 +0200 +@@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); + elsif (-f "@sysconfdir@/$script_conf") { + require "@sysconfdir@/$script_conf"; + } +- elsif (-f "/etc/$script_conf") { +- require "/etc/$script_conf"; +- } + + # **************************** + # Read in all parameters +@@ -951,7 +948,6 @@ sub MergeConfigFile { + sub MergeConfigFiles { + my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<; + MergeConfigFile("@sysconfdir@/my.cnf"); +- MergeConfigFile("/etc/my.cnf"); + MergeConfigFile("$dir/.my.cnf"); + } + +diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/mysqld_multi.sh +--- mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 ++++ mysql-5.6.19/scripts/mysqld_multi.sh 2014-07-25 13:12:36.996896202 +0200 +@@ -573,9 +573,7 @@ sub list_defaults_files + + my %seen; # Don't list the same file more than once + return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } +- ('/etc/my.cnf', +- '/etc/mysql/my.cnf', +- '@sysconfdir@/my.cnf', ++ ('@sysconfdir@/my.cnf', + ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), + $opt{'extra-file'}, + ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); +--- mysql-5.6.19/cmake/install_layout.cmake.cmakepaths 2014-07-25 14:21:56.063132378 +0200 ++++ mysql-5.6.19/cmake/install_layout.cmake 2014-07-25 14:25:46.894644591 +0200 +@@ -94,7 +94,7 @@ IF(UNIX) + " Choose between ${VALID_INSTALL_LAYOUTS}" ) + ENDIF() + +- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" ++ SET(SYSCONFDIR "/etc" + CACHE PATH "config directory (for my.cnf)") + MARK_AS_ADVANCED(SYSCONFDIR) + ENDIF() +@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE + SET(INSTALL_BINDIR_RPM "bin") + SET(INSTALL_SBINDIR_RPM "sbin") + SET(INSTALL_SCRIPTDIR_RPM "bin") ++SET(INSTALL_SYSCONFDIR_RPM "/etc") + # + IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + SET(INSTALL_LIBDIR_RPM "lib64") diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 7dba8b9..bc920a1 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,30 @@ ELSE() +@@ -381,6 +381,31 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -16,6 +16,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql-scripts-common + mysql_config_multilib + mysql.init ++ my.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/community-mysql.spec b/community-mysql.spec index 6c21ccf..9983bf6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -71,7 +71,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz Source2: mysql_config_multilib.sh -Source3: my.cnf +Source3: my.cnf.in Source4: my_config.h Source6: README.mysql-docs Source7: README.mysql-license @@ -95,6 +95,7 @@ Patch5: %{pkgname}-cipherspec.patch Patch6: %{pkgname}-file-contents.patch Patch7: %{pkgname}-dh1024.patch Patch8: %{pkgname}-scripts.patch +Patch9: %{pkgname}-paths.patch # Patches specific for this mysql package Patch50: %{pkgname}-expired-certs.patch @@ -343,6 +344,7 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -391,8 +393,8 @@ add_test 'main.upgrade : unknown' %endif popd -cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} %{SOURCE17} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ + %{SOURCE14} %{SOURCE15} %{SOURCE17} scripts %build # fail quickly and obviously if user tries to build as root @@ -428,8 +430,11 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ + -DLOG_LOCATION="%{logfile}" \ + -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DSYSCONFDIR="%{_sysconfdir}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ @@ -461,6 +466,7 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DWITH_ZLIB=system \ -DCMAKE_C_FLAGS="%{optflags}" \ -DCMAKE_CXX_FLAGS="%{optflags}" \ + -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -901,6 +907,7 @@ fi %changelog * Tue Jul 22 2014 Honza Horak - 5.6.19-5 +- Hardcoded paths removed to work fine in chroot - Spec rewrite to be more similar to oterh MySQL implementations - Include SysV init script if built on older system - Add possibility to not ship some sub-packages diff --git a/my.cnf b/my.cnf.in similarity index 94% rename from my.cnf rename to my.cnf.in index ac882ac..edad8f7 100644 --- a/my.cnf +++ b/my.cnf.in @@ -17,8 +17,8 @@ symbolic-links=0 # /etc/my.cnf.d/server.cnf (part of mariadb-server). # It doesn't matter that we set these settings only for [mysqld] here, # because they will be read and used in mysqld_safe as well. -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid +log-error=@LOG_LOCATION@ +pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid [mysqld_safe] diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index b486d78..d2c4b31 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1 +1 @@ -d /var/run/@DAEMON_NAME@ 0755 mysql mysql - +d @PID_FILE_DIR@ 0755 mysql mysql - From 06090053f1bfe4cc826b784393aef143b9c8db5c Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Thu, 31 Jul 2014 13:05:18 +0200 Subject: [PATCH 296/616] Update to MySQL 5.6.20 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-5.6.16-mysql-install.patch | 111 ++------------------- community-mysql-pluginerrmsg.patch | 52 +++++----- community-mysql.spec | 54 ++++------ mysql-prepare-db-dir.sh | 2 +- mysql-scripts-common.sh | 0 mysql.init.in | 8 +- sources | 2 +- 8 files changed, 64 insertions(+), 166 deletions(-) mode change 100755 => 100644 mysql-scripts-common.sh diff --git a/.gitignore b/.gitignore index 02af558..86c7f42 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /mysql-5.6.16.tar.gz /mysql-5.6.17.tar.gz /mysql-5.6.19.tar.gz +/mysql-5.6.20.tar.gz diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 943009e..232687d 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -1,17 +1,8 @@ diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in -index 440a977..7d068fc 100644 +index 1fa5164..4aa49ca 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in -@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] - --help Display this help and exit. - --ldata=path The path to the MySQL data directory. Same as --datadir. - --no-defaults Don't read default options from any option file. -+ --keep-my-cnf Don't try to create my.cnf based on template. -+ Useful for systems with working, updated my.cnf. - EOF1 - if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { - print <{srcdir} and $opt->{basedir} ) +@@ -439,7 +440,7 @@ if ( $opt->{srcdir} and $opt->{basedir} ) { error($opt,"Specify either --basedir or --srcdir, not both"); } +-if ( $opt->{'keep-my-cnf'} ) +if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) -+{ -+ $keep_my_cnf = 1; -+} - if ( $opt->{srcdir} ) { - $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,7 +462,7 @@ my $config_file; - my $copy_cfg_file; - - # ---------------------------------------------------------------------- --# This will be the default config file -+# This will be the default config file (unless creation is unwanted) - # ---------------------------------------------------------------------- - - my $cnfext = ( $^O =~ m/^(MSWin32|cygwin)$/ ) ? "ini" : "cnf"; -@@ -434,6 +471,11 @@ $config_file= "$basedir/my.$cnfext"; - - my $cfg_template= find_in_basedir($opt,"file","my-default.$cnfext", - ".", "share","share/mysql","support-files"); -+# Distros might move files -+if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { -+ $cfg_template = "@pkgdatadir@/my-default.cnf"; -+} -+ - -e $cfg_template or cannot_find_file("my-default.$cnfext"); - - $copy_cfg_file= $config_file; -@@ -443,22 +485,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.$cnfext/my-new.$cnfext/; - # Too early to print warning here, the user may not notice + $keep_my_cnf = 1; } --open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); --if (open (CFG, "> $copy_cfg_file")) --{ -- while () -- { -- # Remove lines beginning with # *** which are template comments -- print CFG $_ unless /^# \*\*\*/; -+ -+if ( ! $keep_my_cnf ) { -+ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); -+ if (open (CFG, "> $copy_cfg_file")) { -+ while () { -+ # Remove lines beginning with # *** which are template comments -+ print CFG $_ unless /^# \*\*\*/; -+ } -+ close CFG; -+ } else { -+ warning($opt,"Could not write to config file $copy_cfg_file: $!"); -+ $failed_write_cfg= 1; - } -- close CFG; -+ close TEMPL; - } --else --{ -- warning($opt,"Could not write to config file $copy_cfg_file: $!"); -- $failed_write_cfg= 1; --} --close TEMPL; - - # ---------------------------------------------------------------------- - # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -621,7 +662,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) +@@ -664,7 +665,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) } # ---------------------------------------------------------------------- @@ -110,7 +28,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # FIXME The shell variant uses "mkdir -p": -@@ -654,7 +695,7 @@ if ($opt_user) +@@ -697,7 +698,7 @@ if ($opt_user) } } @@ -119,18 +37,3 @@ index 440a977..7d068fc 100644 { mkdir($dir, 0700) unless -d $dir; if ($opt_user and -w "/") -@@ -848,7 +889,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) - "", - "Support MySQL by buying support/licenses at http://shop.mysql.com"); - -- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) -+ if ($keep_my_cnf) -+ { -+ report($opt, -+ "Note: new default config file not created.", -+ "Please make sure your config file is current"); -+ } -+ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) - { - report($opt, - "New default config file was created as $config_file and", diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch index ae8c231..a781172 100644 --- a/community-mysql-pluginerrmsg.patch +++ b/community-mysql-pluginerrmsg.patch @@ -12,9 +12,10 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 -diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h ---- mysql-5.6.14/include/mysql.h.p34 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/include/mysql.h 2013-10-09 15:33:04.523541478 +0200 +diff --git a/include/mysql.h b/include/mysql.h +index 38b54de..0b13e92 100644 +--- a/include/mysql.h ++++ b/include/mysql.h @@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; /* backward compatibility define - to be removed eventually */ @@ -23,32 +24,34 @@ diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ -diff -up mysql-5.6.14/mysql-test/r/plugin.result.p34 mysql-5.6.14/mysql-test/r/plugin.result ---- mysql-5.6.14/mysql-test/r/plugin.result.p34 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/r/plugin.result 2013-10-09 15:33:04.523541478 +0200 -@@ -162,3 +162,5 @@ SELECT @@SESSION.example_double_thdvar; - @@SESSION.example_double_thdvar - 1000.500000 - UNINSTALL PLUGIN example; +diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result +index a3d7437..8ea475d 100644 +--- a/mysql-test/r/plugin.result ++++ b/mysql-test/r/plugin.result +@@ -232,3 +232,5 @@ DROP PROCEDURE p_install; + SET DEBUG_SYNC='RESET'; + disconnect con1; + disconnect con2; +UNINSTALL PLUGIN MyISAM; +ERROR HY000: Built-in plugins cannot be deleted -diff -up mysql-5.6.14/mysql-test/t/plugin.test.p34 mysql-5.6.14/mysql-test/t/plugin.test ---- mysql-5.6.14/mysql-test/t/plugin.test.p34 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/t/plugin.test 2013-10-09 15:33:04.524541479 +0200 -@@ -160,3 +160,10 @@ SET SESSION example_double_thdvar = 1000 - SELECT @@SESSION.example_double_thdvar; +diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test +index de68d36..bf9fb7d 100644 +--- a/mysql-test/t/plugin.test ++++ b/mysql-test/t/plugin.test +@@ -277,3 +277,9 @@ disconnect con1; + disconnect con2; - UNINSTALL PLUGIN example; + --disable_connect_log + +# +# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins +# +--error ER_PLUGIN_DELETE_BUILTIN +UNINSTALL PLUGIN MyISAM; -+ -diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errmsg-utf8.txt ---- mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 2013-09-10 09:38:26.000000000 +0200 -+++ mysql-5.6.14/sql/share/errmsg-utf8.txt 2013-10-09 15:33:04.525541480 +0200 +diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt +index 15acc66..35e2c3c 100644 +--- a/sql/share/errmsg-utf8.txt ++++ b/sql/share/errmsg-utf8.txt @@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO WARN_OPTION_IGNORED eng "<%-.64s> option ignored" @@ -58,10 +61,11 @@ diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errms eng "Built-in plugins cannot be deleted" ger "Eingebaute Plugins können nicht gelöscht werden" WARN_PLUGIN_BUSY -diff -up mysql-5.6.14/sql/sql_plugin.cc.p34 mysql-5.6.14/sql/sql_plugin.cc ---- mysql-5.6.14/sql/sql_plugin.cc.p34 2013-10-09 15:33:04.527541481 +0200 -+++ mysql-5.6.14/sql/sql_plugin.cc 2013-10-09 15:34:30.760598323 +0200 -@@ -1979,9 +1979,7 @@ bool mysql_uninstall_plugin(THD *thd, co +diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc +index f134e4f..7e34432 100644 +--- a/sql/sql_plugin.cc ++++ b/sql/sql_plugin.cc +@@ -2008,9 +2008,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name) } if (!plugin->plugin_dl) { diff --git a/community-mysql.spec b/community-mysql.spec index 9983bf6..7269213 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -50,7 +50,7 @@ # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log -%global logfile %{_localstatedir}/log/%{name}.log +%global logfile %{_localstatedir}/log/mysqld.log # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql @@ -59,8 +59,8 @@ %global sameevp %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} -Version: 5.6.19 -Release: 5%{?dist} +Version: 5.6.20 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -109,7 +109,6 @@ Patch57: %{pkgname}-5.6.19-gcc49-aarch64-opt.patch Patch70: %{pkgname}-5.6.13-major.patch BuildRequires: cmake -BuildRequires: dos2unix BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel @@ -148,7 +147,7 @@ Conflicts: mariadb Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?__requires_exclude:1} +%if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ %else @@ -357,6 +356,10 @@ the MySQL sources. %patch70 -p1 %endif +# Avoid dtrace dep +sed -i -e "1d" mysql-test/std_data/dtrace.d +chmod 0644 mysql-test/std_data/dtrace.d + # Modify tests to pass on all archs pushd mysql-test add_test () { @@ -410,20 +413,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ # build out of source mkdir build && pushd build -# significant performance gains can be achieved by compiling with -O3 optimization -# rhbz#1051069 -%ifarch ppc64 -CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` -%endif -CXXFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS - -%if 0%{?_hardened_build} -# building with PIE -LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" -export LDFLAGS -%endif - # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. cmake .. -DBUILD_CONFIG=mysql_release \ @@ -557,19 +546,6 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test -# Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 -chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql -find %{buildroot}%{_datadir}/mysql-test/{r,suite,t} -type f -print0 | xargs --null chmod 0644 -chmod 0644 %{buildroot}%{_datadir}/mysql-test/include/{start_mysqld,shutdown_mysqld,check_ipv4_mapped}.inc -for f in std_data/checkDBI_DBD-mysql.pl suite/engines/rr_trx/run_stress_tx_rr.pl \ - suite/funcs_1/lib/DataGen_local.pl suite/funcs_1/lib/DataGen_modify.pl \ - suite/funcs_2/lib/gen_charset_utf8.pl suite/opt_trace/validate_json.py \ - suite/rpl/extension/bhs.pl suite/rpl/extension/checksum.pl ; do - chmod 0755 %{buildroot}%{_datadir}/mysql-test/$f -done -chmod 0644 %{buildroot}%{_datadir}/sql-bench/graph-compare-results -dos2unix -k %{buildroot}%{_datadir}/sql-bench/innotest* - # These are in fact identical rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 @@ -906,6 +882,20 @@ fi %endif %changelog +* Thu Jul 31 2014 Bjorn Munch - 5.6.20-1 +- Update to MySQL 5.6.20, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html +- Rebase install and pluginerrmsg patch +- Drop dos2unix from buildreq, files fixed upstream +- No need to add -O3, it's default +- LDFLAGS is passed by cmake option, not from environment +- Using __requires_exclude in conditional don't seems to work, swap + to dist macros +- Avoid unwanted dtrace dep +- Fix mysql.init and mysql-prepare-db-dir +- Logfile name must match value from /etc/my.cnf (and be known + by SELinux policy) + * Tue Jul 22 2014 Honza Horak - 5.6.19-5 - Hardcoded paths removed to work fine in chroot - Spec rewrite to be more similar to oterh MySQL implementations diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 0507f52..e1dad61 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -69,7 +69,7 @@ if [ ! -d "$datadir/mysql" ] ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" + @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh old mode 100755 new mode 100644 diff --git a/mysql.init.in b/mysql.init.in index 91e2f98..d6b43d3 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -39,7 +39,7 @@ MYGROUP=mysql lockfile=/var/lock/subsys/$prog # get options from my.cnf -source "@libexecdir@/mariadb-scripts-common" +source "@libexecdir@/mysql-scripts-common" start(){ [ -x $exec ] || exit 5 @@ -62,8 +62,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 else - @libexecdir@/mariadb-prepare-db-dir $MYUSER $MYGROUP || return 4 - @libexecdir@/mariadb-check-socket || return 1 + @libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP || return 4 + @libexecdir@/mysql-check-socket || return 1 # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway @@ -78,7 +78,7 @@ start(){ safe_pid=$! # Wait until the daemon is up - @libexecdir@/mariadb-wait-ready "$safe_pid" + @libexecdir@/mysql-wait-ready "$safe_pid" ret=$? if [ $ret -eq 0 ]; then diff --git a/sources b/sources index 660dc7b..14e48be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a663c5b3c710043c74f97902a1ed62c0 mysql-5.6.19.tar.gz +71ed71ecc53222a2f03523cd13cf2141 mysql-5.6.20.tar.gz From 9d06c4aeb4914fa475bae146d499ea14c0f6d914 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 5 Aug 2014 14:21:51 +0200 Subject: [PATCH 297/616] Adopt changes from mariadb to sync spec files --- README.mysql-license | 3 + community-mysql-paths.patch | 12 ++++ community-mysql.spec | 120 ++++++++++++++++++------------------ mysql-scripts-common.sh | 4 +- 4 files changed, 78 insertions(+), 61 deletions(-) diff --git a/README.mysql-license b/README.mysql-license index 1282653..ceabbcf 100644 --- a/README.mysql-license +++ b/README.mysql-license @@ -4,3 +4,6 @@ so long as the application is under a license approved by Oracle. For details see http://www.mysql.com/about/legal/licensing/foss-exception/ + +Some innobase code from Percona and Google is under BSD license. +Some code related to test-suite is under LGPLv2. diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index db90278..95945bb 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -162,3 +162,15 @@ diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/my # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") +diff -up mysql-5.6.20/scripts/CMakeLists.txt.pathsmore mysql-5.6.20/scripts/CMakeLists.txt +--- mysql-5.6.20/scripts/CMakeLists.txt.pathsmore 2014-08-05 16:41:28.900098862 +0200 ++++ mysql-5.6.20/scripts/CMakeLists.txt 2014-08-05 16:41:52.474177142 +0200 +@@ -228,7 +228,7 @@ INSTALL_SCRIPT( + ) + + SET(prefix "${CMAKE_INSTALL_PREFIX}") +-SET(sysconfdir ${prefix}) ++SET(sysconfdir ${SYSCONFDIR}) + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) + SET(scriptdir ${prefix}/${INSTALL_BINDIR}) diff --git a/community-mysql.spec b/community-mysql.spec index 7269213..52cb6c3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,5 +1,6 @@ # Name of the package without any prefixes %global pkgname community-mysql +%global pkgnamepatch community-mysql # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining @@ -50,17 +51,17 @@ # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log -%global logfile %{_localstatedir}/log/mysqld.log +%global logfile %{logfiledir}/%{daemon_name}.log # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql # Make long macros shorter -%global sameevp %{?epoch:%{epoch}:}%{version}-%{release} +%global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} Version: 5.6.20 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -81,32 +82,32 @@ Source12: mysql-prepare-db-dir.sh Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh -Source17: mysql.init.in +Source18: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc # Comments for these patches are in the patch files # Patches common for more mysql-like packages -Patch1: %{pkgname}-strmov.patch -Patch2: %{pkgname}-install-test.patch -Patch3: %{pkgname}-s390-tsc.patch -Patch4: %{pkgname}-logrotate.patch -Patch5: %{pkgname}-cipherspec.patch -Patch6: %{pkgname}-file-contents.patch -Patch7: %{pkgname}-dh1024.patch -Patch8: %{pkgname}-scripts.patch -Patch9: %{pkgname}-paths.patch +Patch1: %{pkgnamepatch}-strmov.patch +Patch2: %{pkgnamepatch}-install-test.patch +Patch3: %{pkgnamepatch}-s390-tsc.patch +Patch4: %{pkgnamepatch}-logrotate.patch +Patch5: %{pkgnamepatch}-cipherspec.patch +Patch6: %{pkgnamepatch}-file-contents.patch +Patch7: %{pkgnamepatch}-dh1024.patch +Patch8: %{pkgnamepatch}-scripts.patch +Patch9: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package -Patch50: %{pkgname}-expired-certs.patch -Patch51: %{pkgname}-chain-certs.patch -Patch52: %{pkgname}-sharedir.patch -Patch53: %{pkgname}-5.6.16-libmysql-version.patch -Patch54: %{pkgname}-man-pages.patch -Patch55: %{pkgname}-5.6.16-mysql-install.patch -Patch56: %{pkgname}-pluginerrmsg.patch -Patch57: %{pkgname}-5.6.19-gcc49-aarch64-opt.patch -Patch70: %{pkgname}-5.6.13-major.patch +Patch50: %{pkgnamepatch}-expired-certs.patch +Patch51: %{pkgnamepatch}-chain-certs.patch +Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch +Patch54: %{pkgnamepatch}-man-pages.patch +Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch +Patch56: %{pkgnamepatch}-pluginerrmsg.patch +Patch57: %{pkgnamepatch}-5.6.19-gcc49-aarch64-opt.patch +Patch70: %{pkgnamepatch}-5.6.13-major.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -135,12 +136,12 @@ BuildRequires: perl(Time::HiRes) Requires: bash Requires: fileutils Requires: grep -Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: mysql = %{sameevp} -Provides: mysql%{?_isa} = %{sameevp} -Provides: mysql-compat-client = %{sameevp} -Provides: mysql-compat-client%{?_isa} = %{sameevp} +Provides: mysql = %{sameevr} +Provides: mysql%{?_isa} = %{sameevr} +Provides: mysql-compat-client = %{sameevr} +Provides: mysql-compat-client%{?_isa} = %{sameevr} Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more @@ -167,9 +168,9 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{sameevp} -Provides: mysql-libs = %{sameevp} -Provides: mysql-libs%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} +Provides: mysql-libs = %{sameevr} +Provides: mysql-libs%{?_isa} = %{sameevr} %description libs The mysql-libs package provides the essential shared libraries for any @@ -198,7 +199,7 @@ MySQL package. %package errmsg Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg The package provides error messages files for the MySQL daemon and the @@ -211,14 +212,14 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %{sameevp} +# note: no version here = %{sameevr} Requires: mysql-compat-client%{?_isa} -Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} %if %{without common} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d %endif -Requires: %{name}-errmsg%{?_isa} = %{sameevp} +Requires: %{name}-errmsg%{?_isa} = %{sameevr} Requires: sh-utils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} @@ -230,10 +231,10 @@ Requires: systemd # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) -Provides: mysql-server = %{sameevp} -Provides: mysql-server%{?_isa} = %{sameevp} -Provides: mysql-compat-server = %{sameevp} -Provides: mysql-compat-server%{?_isa} = %{sameevp} +Provides: mysql-server = %{sameevr} +Provides: mysql-server%{?_isa} = %{sameevr} +Provides: mysql-compat-server = %{sameevr} +Provides: mysql-compat-server%{?_isa} = %{sameevr} Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -248,7 +249,7 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{sameevp} +Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: openssl-devel%{?_isa} Conflicts: mariadb-devel @@ -263,10 +264,10 @@ developing MySQL client applications. %package embedded Summary: MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{sameevp} -Requires: %{name}-errmsg%{?_isa} = %{sameevp} -Provides: mysql-embedded = %{sameevp} -Provides: mysql-embedded%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-errmsg%{?_isa} = %{sameevr} +Provides: mysql-embedded = %{sameevr} +Provides: mysql-embedded%{?_isa} = %{sameevr} %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -277,8 +278,8 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{sameevp} -Requires: %{name}-devel%{?_isa} = %{sameevp} +Requires: %{name}-embedded%{?_isa} = %{sameevr} +Requires: %{name}-devel%{?_isa} = %{sameevr} Conflicts: mariadb-embedded-devel %description embedded-devel @@ -292,10 +293,10 @@ the embedded version of the MySQL server. %package bench Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevp} +Requires: %{name}%{?_isa} = %{sameevr} Conflicts: mariadb-bench -Provides: mysql-bench = %{sameevp} -Provides: mysql-bench%{?_isa} = %{sameevp} +Provides: mysql-bench = %{sameevr} +Provides: mysql-bench%{?_isa} = %{sameevr} %description bench MySQL is a multi-user, multi-threaded SQL database server. This @@ -308,9 +309,9 @@ MySQL. %package test Summary: The test suite distributed with MySQL Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevp} -Requires: %{name}-common%{?_isa} = %{sameevp} -Requires: %{name}-server%{?_isa} = %{sameevp} +Requires: %{name}%{?_isa} = %{sameevr} +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-server%{?_isa} = %{sameevr} Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) @@ -323,8 +324,8 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) Conflicts: mariadb-test -Provides: mysql-test = %{sameevp} -Provides: mysql-test%{?_isa} = %{sameevp} +Provides: mysql-test = %{sameevr} +Provides: mysql-test%{?_isa} = %{sameevr} %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -397,7 +398,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE17} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE18} scripts %build # fail quickly and obviously if user tries to build as root @@ -487,11 +488,11 @@ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} -mkdir -p %{buildroot}%{_localstatedir}/run/mysqld +mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql %if %{ship_my_cnf} -install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf +install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup @@ -675,8 +676,6 @@ fi %endif %files -%doc README.mysql-docs - %if %{with client} %{_bindir}/msql2mysql %{_bindir}/mysql @@ -718,7 +717,7 @@ fi %if %{with common} %files common -%doc README COPYING README.mysql-license +%doc README COPYING README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. @@ -882,6 +881,9 @@ fi %endif %changelog +* Tue Aug 05 2014 Honza Horak - 5.6.20-2 +- Adopt changes from mariadb to sync spec files + * Thu Jul 31 2014 Bjorn Munch - 5.6.20-1 - Update to MySQL 5.6.20, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index e9ac2bf..9dab30e 100644 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -47,12 +47,12 @@ datadir="$result" # returns log-error # log-error might be defined in mysqld_safe and mysqld sections, # the former has bigger priority -get_mysql_option "$server_sections" log-error "`hostname`.err" +get_mysql_option "$server_sections" log-error "$datadir/`hostname`.err" errlogfile="$result" get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" socketfile="$result" -get_mysql_option "$server_sections" pid-file "`hostname`.pid" +get_mysql_option "$server_sections" pid-file "$datadir/`hostname`.pid" pidfile="$result" From f1a4e59c2d1fdbc4fa3aad16b085bce1edc1e977 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 6 Aug 2014 07:03:34 +0200 Subject: [PATCH 298/616] Move %files section into with client condition --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 52cb6c3..451fd9a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -675,8 +675,8 @@ if [ $1 -ge 1 ]; then fi %endif -%files %if %{with client} +%files %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config_editor From 7dc500d407b153079f175d36857e18970b8010ef Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Aug 2014 17:24:36 +0200 Subject: [PATCH 299/616] Introduce -config subpackage and ship base config files here --- community-mysql.spec | 61 ++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 451fd9a..8fe7ddc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,5 +1,5 @@ # Name of the package without any prefixes -%global pkgname community-mysql +%global pkgname community-mysql %global pkgnamepatch community-mysql # Regression tests may take a long time (many cores recommended), skip them by @@ -19,13 +19,6 @@ %global skiplist platform-specific-tests.list -# When there is already another package that ships /etc/my.cnf, -# rather include it than ship the file again, since conflicts between -# those files may create issues -# ship_my_cnf=1 means this is the only package in distro which ships -# my.cnf and my.cnf.d -%global ship_my_cnf 0 - # For some use cases we do not need some parts of the package %bcond_without clibrary %bcond_without embedded @@ -36,6 +29,11 @@ %bcond_without bench %bcond_without test +# When there is already another package that ships /etc/my.cnf, +# rather include it than ship the file again, since conflicts between +# those files may create issues +%bcond_with config + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 %bcond_without init_systemd @@ -61,7 +59,7 @@ Name: %{pkgname} Version: 5.6.20 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -180,13 +178,24 @@ MySQL server. %endif +%if %{with config} +%package config +Summary: The config files required by server and client +Group: Applications/Databases + +%description config +The package provides the config file my.cnf and my.cnf.d directory used by any +MariaDB or MySQL program. You will need to install this package to use any +other MariaDB or MySQL package if the config files are not provided in the +package itself. +%endif + + %if %{with common} %package common Summary: The shared files required for MySQL server and client Group: Applications/Databases -%if ! %{ship_my_cnf} Requires: %{_sysconfdir}/my.cnf -%endif %description common The mysql-common package provides the essential shared files for any @@ -212,13 +221,11 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %{sameevr} +# note: no version here = %%{sameevr} Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} -%if %{without common} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -%endif Requires: %{name}-errmsg%{?_isa} = %{sameevr} Requires: sh-utils Requires(pre): /usr/sbin/useradd @@ -491,7 +498,7 @@ touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql -%if %{ship_my_cnf} +%if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %endif @@ -580,8 +587,13 @@ mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif -%if %{without common} +%if %{with config} +mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d +%else rm -f %{buildroot}%{_sysconfdir}/my.cnf +%endif + +%if %{without common} rm -rf %{buildroot}%{_datadir}/%{name}/charsets %endif @@ -715,16 +727,18 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif +%if %{with config} +%files config +# although the default my.cnf contains only server settings, we put it in the +# common package because it can be used for client settings too. +%config(noreplace) %{_sysconfdir}/my.cnf +%dir %{_sysconfdir}/my.cnf.d +%endif + %if %{with common} %files common %doc README COPYING README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google -# although the default my.cnf contains only server settings, we put it in the -# common package because it can be used for client settings too. -%if %{ship_my_cnf} -%config(noreplace) %{_sysconfdir}/my.cnf -%dir %{_sysconfdir}/my.cnf.d -%endif %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets %endif @@ -881,6 +895,9 @@ fi %endif %changelog +* Tue Aug 12 2014 Honza Horak - 5.6.20-3 +- Introduce -config subpackage and ship base config files here + * Tue Aug 05 2014 Honza Horak - 5.6.20-2 - Adopt changes from mariadb to sync spec files From 7624bb0df0bbeb10a835a4c2570cc1f8a9cf20fb Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 16 Aug 2014 00:57:15 +0000 Subject: [PATCH 300/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8fe7ddc..850c0c2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.20 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -895,6 +895,9 @@ fi %endif %changelog +* Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Tue Aug 12 2014 Honza Horak - 5.6.20-3 - Introduce -config subpackage and ship base config files here From 7b008c4d2ae3ec41d28f50342d0f75da0eb91219 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 21 Aug 2014 14:55:06 +0200 Subject: [PATCH 301/616] Handle all ppc64 the same in my_config.h --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 850c0c2..6da19f5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -480,6 +480,9 @@ unamei=$(uname -i) %ifarch %{arm} unamei=arm %endif +%ifarch %{power64} +unamei=ppc64 +%endif %ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ From 0a354ab64ee5ab159ee25fc804b05e5598bd741f Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 13:04:05 +0200 Subject: [PATCH 302/616] Fix paths in mysql_install_db script Related: #1134328 --- community-mysql-install-db-sharedir.patch | 38 +++++++++++++++++++++++ community-mysql.spec | 10 ++++-- 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 community-mysql-install-db-sharedir.patch diff --git a/community-mysql-install-db-sharedir.patch b/community-mysql-install-db-sharedir.patch new file mode 100644 index 0000000..4949b6d --- /dev/null +++ b/community-mysql-install-db-sharedir.patch @@ -0,0 +1,38 @@ +Use configured value instead of hardcoded path + +diff -up mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.0.13/scripts/mysql_install_db.pl.in +--- mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir 2014-09-04 12:50:24.061979080 +0200 ++++ mariadb-10.0.13/scripts/mysql_install_db.pl.in 2014-09-04 12:51:22.929045559 +0200 +@@ -318,7 +318,7 @@ elsif ( $opt->{basedir} ) + find_in_basedir($opt,"file","mysqld-nt", + "bin"); # ,"sql" + $pkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", +- "share","share/mysql"); # ,"scripts" ++ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" + $scriptdir = "$opt->{basedir}/scripts"; + } + else +diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/scripts/mysql_install_db.sh +--- mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir 2014-09-04 12:51:59.005086301 +0200 ++++ mariadb-10.0.13/scripts/mysql_install_db.sh 2014-09-04 12:54:02.794222597 +0200 +@@ -280,16 +280,16 @@ then + cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin + exit 1 + fi +- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` ++ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` + if test -z "$langdir" + then +- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english ++ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english + exit 1 + fi +- pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` ++ pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` + if test -z "$pkgdatadir" + then +- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql ++ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ + exit 1 + fi + scriptdir="$basedir/scripts" diff --git a/community-mysql.spec b/community-mysql.spec index 6da19f5..637f111 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.20 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -94,7 +94,8 @@ Patch5: %{pkgnamepatch}-cipherspec.patch Patch6: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch -Patch9: %{pkgnamepatch}-paths.patch +Patch9: %{pkgnamepatch}-install-db-sharedir.patch +Patch10: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch50: %{pkgnamepatch}-expired-certs.patch @@ -352,6 +353,7 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -898,6 +900,10 @@ fi %endif %changelog +* Thu Sep 04 2014 Honza Horak - 5.6.20-5 +- Fix paths in mysql_install_db script + Related: #1134328 + * Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 8f249754e9ac072fbe1fe412f679177df60ff071 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 13:05:11 +0200 Subject: [PATCH 303/616] Use %%cmake macro --- community-mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 637f111..2766e20 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -425,7 +425,8 @@ mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -cmake .. -DBUILD_CONFIG=mysql_release \ +%cmake .. \ + -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ @@ -903,6 +904,7 @@ fi * Thu Sep 04 2014 Honza Horak - 5.6.20-5 - Fix paths in mysql_install_db script Related: #1134328 +- Use %%cmake macro * Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 7f0cca4a38c09096f83120b7ac0b867ff384fe2d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 13:21:10 +0200 Subject: [PATCH 304/616] Install systemd service file on RHEL-7+ Server requires any mysql package, so it should be fine with older client --- community-mysql.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2766e20..851b4bd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -35,7 +35,7 @@ %bcond_with config # Include files for SysV init or systemd -%if 0%{?fedora} >= 15 +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv %global daemon_name mysqld @@ -223,7 +223,7 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %%{sameevr} -Requires: mysql-compat-client%{?_isa} +Requires: mysql%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -905,6 +905,8 @@ fi - Fix paths in mysql_install_db script Related: #1134328 - Use %%cmake macro +- Install systemd service file on RHEL-7+ + Server requires any mysql package, so it should be fine with older client * Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 72a002abcfcf86909097c309b8c517f120dbc71b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 24 Sep 2014 17:04:34 +0200 Subject: [PATCH 305/616] Update to MySQL 5.6.21 --- .gitignore | 1 + community-mysql.spec | 9 +++++++-- sources | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 86c7f42..1656e1d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /mysql-5.6.17.tar.gz /mysql-5.6.19.tar.gz /mysql-5.6.20.tar.gz +/mysql-5.6.21.tar.gz diff --git a/community-mysql.spec b/community-mysql.spec index 851b4bd..0cfd020 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -58,8 +58,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} -Version: 5.6.20 -Release: 5%{?dist} +Version: 5.6.21 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -872,6 +872,7 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/mysql/libmysqlservices.so %{_mandir}/man1/mysql_config.1* %endif @@ -901,6 +902,10 @@ fi %endif %changelog +* Wed Sep 24 2014 Honza Horak - 5.6.20-1 +- Update to MySQL 5.6.21, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-21.html + * Thu Sep 04 2014 Honza Horak - 5.6.20-5 - Fix paths in mysql_install_db script Related: #1134328 diff --git a/sources b/sources index 14e48be..012044f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -71ed71ecc53222a2f03523cd13cf2141 mysql-5.6.20.tar.gz +e47c3a70b8d89db3199a349204b2ae4e mysql-5.6.21.tar.gz From a5b96ba57019a230abab10aa5a129f1424b55c15 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Fri, 26 Sep 2014 13:48:31 +0200 Subject: [PATCH 306/616] Some updates for 5.6.21 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- community-mysql.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0cfd020..19c4019 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -366,10 +366,6 @@ the MySQL sources. %patch70 -p1 %endif -# Avoid dtrace dep -sed -i -e "1d" mysql-test/std_data/dtrace.d -chmod 0644 mysql-test/std_data/dtrace.d - # Modify tests to pass on all archs pushd mysql-test add_test () { @@ -425,7 +421,7 @@ mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -%cmake .. \ +cmake .. \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ @@ -872,7 +868,6 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so -%{_libdir}/mysql/libmysqlservices.so %{_mandir}/man1/mysql_config.1* %endif @@ -902,6 +897,10 @@ fi %endif %changelog +* Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 +- Using %%cmake macro break some tests, reverted +- Unwanted dtrace dep fixed upstream + * Wed Sep 24 2014 Honza Horak - 5.6.20-1 - Update to MySQL 5.6.21, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-21.html From 415ef8be9e5a347686dc4ef4c8c75777bc5d41b4 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 16:05:17 +0200 Subject: [PATCH 307/616] Check upgrade script added to warn about need for mysql_upgrade --- community-mysql-scripts.patch | 3 ++- community-mysql.spec | 12 ++++++++--- mysql-check-upgrade.sh | 39 +++++++++++++++++++++++++++++++++++ mysql-prepare-db-dir.sh | 2 ++ mysql.service.in | 1 + 5 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 mysql-check-upgrade.sh diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index bc920a1..015e604 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,31 @@ ELSE() +@@ -381,6 +381,32 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -13,6 +13,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql-prepare-db-dir + mysql-wait-ready + mysql-check-socket ++ mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib + mysql.init diff --git a/community-mysql.spec b/community-mysql.spec index 19c4019..c51a860 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -80,7 +80,8 @@ Source12: mysql-prepare-db-dir.sh Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh -Source18: mysql.init.in +Source16: mysql-check-upgrade.sh +Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc @@ -403,7 +404,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE18} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} scripts %build # fail quickly and obviously if user tries to build as root @@ -519,6 +520,7 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common # mysql-test includes one executable that doesn't belong under /usr/share, @@ -852,6 +854,7 @@ fi %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-wait-ready %{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} @@ -897,6 +900,9 @@ fi %endif %changelog +* Mon Sep 29 2014 Honza Horak - 5.6.21-3 +- Check upgrade script added to warn about need for mysql_upgrade + * Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 - Using %%cmake macro break some tests, reverted - Unwanted dtrace dep fixed upstream diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh new file mode 100644 index 0000000..43941b8 --- /dev/null +++ b/mysql-check-upgrade.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +upgrade_info_file="$datadir/mysql_upgrade_info" +version=0 +# get version as integer from mysql_upgrade_info file +if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then + version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/') + version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/') + if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then + version=$((version_major*100+version_minor)) + fi +fi + +# compute current version as integer +thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@)) + +# provide warning in cases we should run mysql_upgrade +if [ $version -ne $thisversion ] ; then + + # give extra warning if some version seems to be skipped + if [ $version -gt 0 ] && [ $version -lt 505 ] ; then + echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2 + fi + + cat <&2 +The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: + + 1. Back-up your data before running 'mysql_upgrade' + 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' + 3. Run 'mysql_upgrade' with a database user that has sufficent privileges + +Read more about 'mysql_upgrade' usage at: +http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html +EOF +fi + +exit 0 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index e1dad61..563f644 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -80,6 +80,8 @@ if [ ! -d "$datadir/mysql" ] ; then fi exit $ret fi + # upgrade does not need to be run on a fresh datadir + echo "@VERSION@" >"$datadir/mysql_upgrade_info" # In case we're running as root, make sure files are owned properly chown -R "$myuser:$mygroup" "$datadir" fi diff --git a/mysql.service.in b/mysql.service.in index 4c2b60a..a33df16 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -38,6 +38,7 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # per bug #547485 ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID +ExecStartPost=@libexecdir@/mysql-check-upgrade # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 0873bbbc513f2756b7dd3616840cbaa79deee5b9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 18:54:58 +0200 Subject: [PATCH 308/616] Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond with MariaDB upstream packages --- community-mysql.spec | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index c51a860..fb7e719 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -584,11 +584,11 @@ rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %if %{without client} rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{with config} @@ -697,6 +697,7 @@ fi %{_bindir}/mysql %{_bindir}/mysql_config_editor %{_bindir}/mysql_find_rows +%{_bindir}/mysql_plugin %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess %{_bindir}/mysqladmin @@ -712,6 +713,7 @@ fi %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* @@ -749,6 +751,7 @@ fi %if %{with errmsg} %files errmsg +%{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/english %lang(bg) %{_datadir}/%{name}/bulgarian %lang(cs) %{_datadir}/%{name}/czech @@ -783,7 +786,6 @@ fi %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_install_db -%{_bindir}/mysql_plugin %{_bindir}/mysql_secure_installation %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql @@ -819,7 +821,6 @@ fi %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_install_db.1* -%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* @@ -840,7 +841,6 @@ fi %{_mandir}/man8/mysqld.8* %{_datadir}/%{name}/dictionary.txt -%{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/fill_help_tables.sql %{_datadir}/%{name}/innodb_memcached_config.sql %{_datadir}/%{name}/mysql_security_commands.sql @@ -902,6 +902,8 @@ fi %changelog * Mon Sep 29 2014 Honza Horak - 5.6.21-3 - Check upgrade script added to warn about need for mysql_upgrade +- Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond + with MariaDB upstream packages * Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 - Using %%cmake macro break some tests, reverted From cccf2a4098b36c538eb0d14f779bb40ceb2a7939 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 18:57:37 +0200 Subject: [PATCH 309/616] Add with_debug option --- community-mysql-paths.patch | 4 ++-- community-mysql.spec | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 95945bb..200aa3e 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -11,7 +11,7 @@ diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql static int build_bootstrap_file(char *operation, char *bootstrap); static int dump_bootstrap_file(char *bootstrap_file); static int bootstrap_server(char *server_path, char *bootstrap_file); -+static int find_file_in_path(char *to,const char *name); ++static int find_file_in_path(const char *name, char *to); int main(int argc,char *argv[]) @@ -45,7 +45,7 @@ diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql +#define PATH_SEP ':' +#endif + -+static int find_file_in_path(char *to, const char *name) ++static int find_file_in_path(const char *name, char *to) +{ + char *path,*pos,dir[2]; + const char *ext=""; diff --git a/community-mysql.spec b/community-mysql.spec index fb7e719..b69cd32 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -34,6 +34,9 @@ # those files may create issues %bcond_with config +# For deep debugging we need to build binaries with extra debug info +%bcond_with debug + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd @@ -59,7 +62,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 3%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -461,8 +464,9 @@ cmake .. \ -DWITH_LIBEVENT=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DCMAKE_C_FLAGS="%{optflags}" \ - -DCMAKE_CXX_FLAGS="%{optflags}" \ + -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ +%{?with_debug: -DWITH_DEBUG=1}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -548,6 +552,10 @@ chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf +%if %{with debug} +mv %{buildroot}%{_libexecdir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld +%endif + # Back to src dir popd @@ -904,6 +912,7 @@ fi - Check upgrade script added to warn about need for mysql_upgrade - Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond with MariaDB upstream packages +- Add with_debug option * Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 - Using %%cmake macro break some tests, reverted From 45b0a6010f10bebf1f4aa91105ccb107634e08bf Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 Sep 2014 21:34:18 +0200 Subject: [PATCH 310/616] Remove errmsg-utf8.txt if not packaged --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index b69cd32..e9d12f3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -610,6 +610,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/charsets %endif %if %{without errmsg} +rm -f %{buildroot}%{_datadir}/%{name}/errmsg-utf8.txt rm -rf %{buildroot}%{_datadir}/%{name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} From 7f738e37a95cbc9c7c18fb4d41d5da7f1ca570be Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 1 Oct 2014 15:30:21 +0200 Subject: [PATCH 311/616] Add bcond_without mysql_names --- community-mysql.spec | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index e9d12f3..10912bc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -57,12 +57,15 @@ # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql +# Provide mysql names for compatibility +%bcond_without mysql_names + # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} Version: 5.6.21 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -141,10 +144,12 @@ Requires: fileutils Requires: grep Requires: %{name}-common%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql = %{sameevr} Provides: mysql%{?_isa} = %{sameevr} Provides: mysql-compat-client = %{sameevr} Provides: mysql-compat-client%{?_isa} = %{sameevr} +%endif Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more @@ -172,8 +177,10 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} +%endif %description libs The mysql-libs package provides the essential shared libraries for any @@ -243,10 +250,12 @@ Requires: systemd # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) +%if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} +%endif Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -278,8 +287,10 @@ Summary: MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-embedded = %{sameevr} Provides: mysql-embedded%{?_isa} = %{sameevr} +%endif %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -307,8 +318,10 @@ Summary: MySQL benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Conflicts: mariadb-bench +%if %{with mysql_names} Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} +%endif %description bench MySQL is a multi-user, multi-threaded SQL database server. This @@ -336,8 +349,10 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) Conflicts: mariadb-test +%if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} +%endif %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -909,6 +924,9 @@ fi %endif %changelog +* Wed Oct 01 2014 Honza Horak - 5.6.21-4 +- Add bcond_without mysql_names + * Mon Sep 29 2014 Honza Horak - 5.6.21-3 - Check upgrade script added to warn about need for mysql_upgrade - Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond From 4d18bb0bac8f66f20dcce94ed8a8c0096b42507e Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Wed, 8 Oct 2014 16:12:38 +0200 Subject: [PATCH 312/616] Fix rhbz #1149986; follow MySQL upstream and run pre/post scripts as root Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- community-mysql.spec | 5 ++++- mysql.service.in | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 10912bc..114154c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -65,7 +65,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -924,6 +924,9 @@ fi %endif %changelog +* Wed Oct 08 2014 Bjorn Munch - 5.6.21-5 +- Fix rhbz #1149986 + * Wed Oct 01 2014 Honza Horak - 5.6.21-4 - Add bcond_without mysql_names diff --git a/mysql.service.in b/mysql.service.in index a33df16..2f09a0a 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -32,6 +32,9 @@ Type=simple User=mysql Group=mysql +# Execute pre and post scripts as root +PermissionsStartOnly=true + ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, From 397f7594fe02b36217964221f645a54ee23be7d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 3 Dec 2014 15:01:06 +0100 Subject: [PATCH 313/616] Update to 5.6.22 --- .gitignore | 1 + community-mysql-file-contents.patch | 16 ++++++++-------- community-mysql.spec | 11 ++++++++--- sources | 2 +- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 1656e1d..1f93e75 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /mysql-5.6.19.tar.gz /mysql-5.6.20.tar.gz /mysql-5.6.21.tar.gz +/mysql-5.6.22.tar.gz diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 76afb92..0991d7a 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -6,9 +6,9 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19/mysql-test/t/file_contents.test ---- mysql-5.6.19/mysql-test/t/file_contents.test.file-contents 2014-07-25 11:56:12.442153944 +0200 -+++ mysql-5.6.19/mysql-test/t/file_contents.test 2014-07-25 12:00:11.578581702 +0200 +diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22/mysql-test/t/file_contents.test +--- mysql-5.6.22/mysql-test/t/file_contents.test.file-contents 2014-12-03 15:05:18.629731527 +0100 ++++ mysql-5.6.22/mysql-test/t/file_contents.test 2014-12-03 15:09:36.082081039 +0100 @@ -11,7 +11,7 @@ --perl print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; @@ -18,8 +18,8 @@ diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19 # RPM package $dir_docs = $dir_bin; $dir_docs =~ s|/lib|/share/doc|; -@@ -26,7 +26,7 @@ if ($dir_bin =~ m|/usr/|) { - $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; +@@ -30,7 +30,7 @@ if ($dir_bin =~ m|/usr/|) { + } } } -} elsif ($dir_bin =~ m|/usr$|) { @@ -27,9 +27,9 @@ diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19 # RPM build during development $dir_docs = "$dir_bin/share/doc"; if(-d "$dir_docs/packages") { -@@ -39,6 +39,15 @@ if ($dir_bin =~ m|/usr/|) { - # If not it might be ULN so try that - $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; +@@ -47,6 +47,15 @@ if ($dir_bin =~ m|/usr/|) { + $dir_docs = glob "$dir_bin/share/mysql/docs"; + } } + + # All the above is entirely wacko, because these files are not docs; diff --git a/community-mysql.spec b/community-mysql.spec index 114154c..c6f4622 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -64,8 +64,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} -Version: 5.6.21 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 5.6.22 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -387,13 +387,15 @@ the MySQL sources. # Modify tests to pass on all archs pushd mysql-test + add_test () { echo $1 >> %{skiplist} } +touch %{skiplist} + # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt -touch %{skiplist} # Archs without hw performance counter, rh 741325 %ifarch %{arm} aarch64 sparc64 @@ -924,6 +926,9 @@ fi %endif %changelog +* Wed Dec 3 2014 Jakub Dorňák - 5.6.22-1 +- Update to MySQL 5.6.22 + * Wed Oct 08 2014 Bjorn Munch - 5.6.21-5 - Fix rhbz #1149986 diff --git a/sources b/sources index 012044f..099af04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e47c3a70b8d89db3199a349204b2ae4e mysql-5.6.21.tar.gz +3985b634294482363f3d87e0d67f2262 mysql-5.6.22.tar.gz From a05cac8215275684059e543daa7f1cfa6ef15a46 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 12 Jan 2015 16:34:36 +0100 Subject: [PATCH 314/616] Add configuration file for server --- community-mysql-scripts.patch | 3 ++- community-mysql.spec | 12 ++++++++++-- server.cnf.in | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 server.cnf.in diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 015e604..4044867 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,32 @@ ELSE() +@@ -381,6 +381,33 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -18,6 +18,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql_config_multilib + mysql.init + my.cnf ++ server.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/community-mysql.spec b/community-mysql.spec index c6f4622..845ccaf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -65,7 +65,7 @@ Name: %{pkgname} Version: 5.6.22 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -90,6 +90,8 @@ Source16: mysql-check-upgrade.sh Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc +# Configuration for server +Source31: server.cnf.in # Comments for these patches are in the patch files # Patches common for more mysql-like packages @@ -424,7 +426,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -543,6 +545,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -829,6 +832,8 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf + %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC @@ -926,6 +931,9 @@ fi %endif %changelog +* Mon Jan 12 2015 Honza Horak - 5.6.22-2 +- Add configuration file for server + * Wed Dec 3 2014 Jakub Dorňák - 5.6.22-1 - Update to MySQL 5.6.22 diff --git a/server.cnf.in b/server.cnf.in new file mode 100644 index 0000000..35e57a4 --- /dev/null +++ b/server.cnf.in @@ -0,0 +1,15 @@ +# +# These groups are read by MySQL server. +# Use it for options that only the server (but not clients) should see +# +# See the examples of server my.cnf files in /usr/share/mysql/ +# + +# this is read by the standalone daemon and embedded servers +[server] + +# this is only for the mysqld standalone daemon +[mysqld] +log-error=@LOG_LOCATION@ +pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid + From 1d84d0bf9dc331d565cf333d12ebdb3f0bab5073 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 12 Jan 2015 23:15:34 +0100 Subject: [PATCH 315/616] Require mysql and mysql-compat-client only when providing them, since otherwise we cannot be sure there is such a package in the repo --- community-mysql.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 845ccaf..456e1a8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -236,7 +236,12 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %%{sameevr} +%if %{with mysql_names} +Requires: mysql-compat-client%{?_isa} Requires: mysql%{?_isa} +%else +Requires: %{name}%{?_isa} +%endif Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d From f1ae8ff9b8c6dc7f2ed097d1ff79566559df0e78 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 24 Jan 2015 23:03:48 +0100 Subject: [PATCH 316/616] Fix path for sysconfig file Filter provides in el6 properly Fix initscript file location --- community-mysql.spec | 49 +++++++++++++++++++++++++------------------- mysql.init.in | 4 +++- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 456e1a8..641dac9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -2,7 +2,7 @@ %global pkgname community-mysql %global pkgnamepatch community-mysql -# Regression tests may take a long time (many cores recommended), skip them by +# Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) %{!?runselftest:%global runselftest 1} @@ -10,7 +10,7 @@ # set to 1 to enable %global with_shared_lib_major_hack 1 -# use Full RELRO for all binaries (RHBZ#1092548) +# Use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. @@ -41,12 +41,11 @@ %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv -%global daemon_name mysqld %else %bcond_with init_systemd %bcond_without init_sysv -%global daemon_name mysqld %endif +%global daemon_name mysqld # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -59,13 +58,14 @@ # Provide mysql names for compatibility %bcond_without mysql_names +%bcond_without conflicts # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} Version: 5.6.22 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -153,7 +153,7 @@ Provides: mysql-compat-client = %{sameevr} Provides: mysql-compat-client%{?_isa} = %{sameevr} %endif -Conflicts: mariadb +%{?with_conflicts:Conflicts: mariadb} # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -163,7 +163,7 @@ Obsoletes: mysql-cluster < 5.1.44 %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ %else %filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so) %filter_setup %endif @@ -263,8 +263,8 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -Conflicts: mariadb-server -Conflicts: mariadb-galera-server +%{?with_conflicts:Conflicts: mariadb-server} +%{?with_conflicts:Conflicts: mariadb-galera-server} %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -279,7 +279,7 @@ Summary: Files for development of MySQL applications Group: Applications/Databases Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: openssl-devel%{?_isa} -Conflicts: mariadb-devel +%{?with_conflicts:Conflicts: mariadb-devel} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -310,7 +310,7 @@ Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} -Conflicts: mariadb-embedded-devel +%{?with_conflicts:Conflicts: mariadb-embedded-devel} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -324,7 +324,7 @@ the embedded version of the MySQL server. Summary: MySQL benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} -Conflicts: mariadb-bench +%{?with_conflicts:Conflicts: mariadb-bench} %if %{with mysql_names} Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} @@ -355,7 +355,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -Conflicts: mariadb-test +%{?with_conflicts:Conflicts: mariadb-test} %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -477,8 +477,8 @@ cmake .. \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{name} \ - -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ - -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ + -DMYSQL_DATADIR="%{dbdatadir}" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DWITH_INNODB_MEMCACHED=ON \ @@ -527,7 +527,7 @@ mkdir -p %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} -install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql +install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf @@ -541,7 +541,7 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam # install SysV init script %if %{with init_sysv} -install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} +install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} %endif # helper scripts for service starting @@ -695,6 +695,7 @@ if [ $1 = 1 ]; then fi %endif /bin/touch %{logfile} +/bin/chmod 0755 %{dbdatadir} %preun server %if %{with init_systemd} @@ -762,7 +763,6 @@ fi %if %{with clibrary} %files libs -%dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif @@ -771,14 +771,15 @@ fi %files config # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. -%config(noreplace) %{_sysconfdir}/my.cnf %dir %{_sysconfdir}/my.cnf.d +%config(noreplace) %{_sysconfdir}/my.cnf %endif %if %{with common} %files common %doc README COPYING README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%dir %{_libdir}/mysql %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets %endif @@ -885,8 +886,7 @@ fi %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} -%{?with_init_sysv:%{_initddir}/%{daemon_name}} +%{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-wait-ready %{_libexecdir}/mysql-check-socket @@ -894,8 +894,10 @@ fi %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql +%attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -936,6 +938,11 @@ fi %endif %changelog +* Sat Jan 24 2015 Honza Horak - 5.6.22-3 +- Fix path for sysconfig file + Filter provides in el6 properly + Fix initscript file location + * Mon Jan 12 2015 Honza Horak - 5.6.22-2 - Add configuration file for server diff --git a/mysql.init.in b/mysql.init.in index d6b43d3..be34fbf 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -34,7 +34,9 @@ STOPTIMEOUT=60 MYUSER=mysql MYGROUP=mysql -[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog +# Edit the following file in order to re-write some of the environment +# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec +[ -e @sysconfdir@/sysconfig/$prog ] && . @sysconfdir@/sysconfig/$prog lockfile=/var/lock/subsys/$prog From 93eef1b56581f16f771d1ef46490a5fb02cd1d9d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 00:04:17 +0100 Subject: [PATCH 317/616] Fix path for sysconfig file Filter provides in el6 properly Fix initscript file location --- community-mysql.spec | 9 ++++++--- my.cnf.in | 31 ++++++++++--------------------- server.cnf.in | 10 ++++++++++ 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 641dac9..a7bd572 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -65,7 +65,7 @@ Name: %{pkgname} Version: 5.6.22 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -550,7 +550,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf +install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -838,7 +838,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf %{_libexecdir}/mysqld @@ -938,6 +938,9 @@ fi %endif %changelog +* Sat Jan 24 2015 Honza Horak - 5.6.22-4 +- Move server settings to renamed config file under my.cnf.d dir + * Sat Jan 24 2015 Honza Horak - 5.6.22-3 - Fix path for sysconfig file Filter provides in el6 properly diff --git a/my.cnf.in b/my.cnf.in index edad8f7..247e12d 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -1,29 +1,18 @@ +# +# This group is read both both by the client and the server +# use it for options that affect everything +# +[client-server] + +# +# This group is read by the server +# [mysqld] -datadir=/var/lib/mysql -socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 -# Settings user and group are ignored when systemd is used. -# If you need to run mysqld under a different user or group, -# customize your systemd unit file for mysqld/mariadb according to the -# instructions in http://fedoraproject.org/wiki/Systemd - -# Currently, there are mariadb and community-mysql packages in Fedora. -# This particular config file is included in respective RPMs of both of them, -# so the following settings are general and will be also used by both of them. -# Otherwise the RPMs would be in conflict. -# Settings for particular implementations like MariaDB are then -# defined in appropriate sections; for MariaDB server in [mariadb] section in -# /etc/my.cnf.d/server.cnf (part of mariadb-server). -# It doesn't matter that we set these settings only for [mysqld] here, -# because they will be read and used in mysqld_safe as well. -log-error=@LOG_LOCATION@ -pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid - -[mysqld_safe] # # include all files from the config directory # -!includedir /etc/my.cnf.d +!includedir @INSTALL_SYSCONF2DIR@ diff --git a/server.cnf.in b/server.cnf.in index 35e57a4..18d920c 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -9,7 +9,17 @@ [server] # this is only for the mysqld standalone daemon +# Settings user and group are ignored when systemd is used. +# If you need to run mysqld under a different user or group, +# customize your systemd unit file for mysqld/mariadb according to the +# instructions in http://fedoraproject.org/wiki/Systemd [mysqld] +datadir=@MYSQL_DATADIR@ +socket=@DMYSQL_UNIX_ADDR@ log-error=@LOG_LOCATION@ pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid + +# this is only for embedded server +[embedded] + From 24e1d7e023c8c7b7538883506102436154ba07a4 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 12:07:57 +0100 Subject: [PATCH 318/616] Use pkg_name for files in share --- community-mysql.spec | 118 ++++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 57 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a7bd572..2d16f40 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,5 +1,5 @@ # Name of the package without any prefixes -%global pkgname community-mysql +%global pkg_name %{name} %global pkgnamepatch community-mysql # Regression tests may take a long time (many cores recommended), skip them by @@ -10,6 +10,10 @@ # set to 1 to enable %global with_shared_lib_major_hack 1 +# In f20+ use unversioned docdirs, otherwise the old versioned one +%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} + # Use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 @@ -41,9 +45,11 @@ %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv +%global daemondir %{_unitdir} %else %bcond_with init_systemd %bcond_without init_sysv +%global daemondir %{_sysconfdir}/rc.d/init.d %endif %global daemon_name mysqld @@ -53,6 +59,9 @@ %global logfiledir %{_localstatedir}/log %global logfile %{logfiledir}/%{daemon_name}.log +# Defining where database data live +%global dbdatadir %{_localstatedir}/lib/mysql + # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql @@ -63,7 +72,7 @@ # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} -Name: %{pkgname} +Name: community-mysql Version: 5.6.22 Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries @@ -459,24 +468,19 @@ cmake .. \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ -%if 0%{?fedora} >= 20 - -DINSTALL_DOCDIR="share/doc/%{name}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ -%else - -DINSTALL_DOCDIR="share/doc/%{name}-%{version}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{name}-%{version}" \ -%endif + -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/%{name} \ + -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ - -DINSTALL_SUPPORTFILESDIR=share/%{name} \ + -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ @@ -550,7 +554,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf +install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -561,17 +565,17 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ rm -f %{buildroot}%{_bindir}/mysqlaccess.conf rm -f %{buildroot}%{_bindir}/mysql_embedded rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{name}/binary-configure -rm -f %{buildroot}%{_datadir}/%{name}/magic -rm -f %{buildroot}%{_datadir}/%{name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server +rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic +rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm -f %{buildroot}%{_mandir}/man1/comp_err.1* rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} +mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d @@ -631,12 +635,12 @@ rm -f %{buildroot}%{_sysconfdir}/my.cnf %endif %if %{without common} -rm -rf %{buildroot}%{_datadir}/%{name}/charsets +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm -f %{buildroot}%{_datadir}/%{name}/errmsg-utf8.txt -rm -rf %{buildroot}%{_datadir}/%{name}/{english,bulgarian,czech,danish,dutch,estonian,\ +rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif @@ -780,37 +784,37 @@ fi %doc README COPYING README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_libdir}/mysql -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/charsets +%dir %{_datadir}/%{pkg_name} +%{_datadir}/%{pkg_name}/charsets %endif %if %{with errmsg} %files errmsg -%{_datadir}/%{name}/errmsg-utf8.txt -%{_datadir}/%{name}/english -%lang(bg) %{_datadir}/%{name}/bulgarian -%lang(cs) %{_datadir}/%{name}/czech -%lang(da) %{_datadir}/%{name}/danish -%lang(nl) %{_datadir}/%{name}/dutch -%lang(et) %{_datadir}/%{name}/estonian -%lang(fr) %{_datadir}/%{name}/french -%lang(de) %{_datadir}/%{name}/german -%lang(el) %{_datadir}/%{name}/greek -%lang(hu) %{_datadir}/%{name}/hungarian -%lang(it) %{_datadir}/%{name}/italian -%lang(ja) %{_datadir}/%{name}/japanese -%lang(ko) %{_datadir}/%{name}/korean -%lang(no) %{_datadir}/%{name}/norwegian -%lang(no) %{_datadir}/%{name}/norwegian-ny -%lang(pl) %{_datadir}/%{name}/polish -%lang(pt) %{_datadir}/%{name}/portuguese -%lang(ro) %{_datadir}/%{name}/romanian -%lang(ru) %{_datadir}/%{name}/russian -%lang(sr) %{_datadir}/%{name}/serbian -%lang(sk) %{_datadir}/%{name}/slovak -%lang(es) %{_datadir}/%{name}/spanish -%lang(sv) %{_datadir}/%{name}/swedish -%lang(uk) %{_datadir}/%{name}/ukrainian +%{_datadir}/%{pkg_name}/errmsg-utf8.txt +%{_datadir}/%{pkg_name}/english +%lang(bg) %{_datadir}/%{pkg_name}/bulgarian +%lang(cs) %{_datadir}/%{pkg_name}/czech +%lang(da) %{_datadir}/%{pkg_name}/danish +%lang(nl) %{_datadir}/%{pkg_name}/dutch +%lang(et) %{_datadir}/%{pkg_name}/estonian +%lang(fr) %{_datadir}/%{pkg_name}/french +%lang(de) %{_datadir}/%{pkg_name}/german +%lang(el) %{_datadir}/%{pkg_name}/greek +%lang(hu) %{_datadir}/%{pkg_name}/hungarian +%lang(it) %{_datadir}/%{pkg_name}/italian +%lang(ja) %{_datadir}/%{pkg_name}/japanese +%lang(ko) %{_datadir}/%{pkg_name}/korean +%lang(no) %{_datadir}/%{pkg_name}/norwegian +%lang(no) %{_datadir}/%{pkg_name}/norwegian-ny +%lang(pl) %{_datadir}/%{pkg_name}/polish +%lang(pt) %{_datadir}/%{pkg_name}/portuguese +%lang(ro) %{_datadir}/%{pkg_name}/romanian +%lang(ru) %{_datadir}/%{pkg_name}/russian +%lang(sr) %{_datadir}/%{pkg_name}/serbian +%lang(sk) %{_datadir}/%{pkg_name}/slovak +%lang(es) %{_datadir}/%{pkg_name}/spanish +%lang(sv) %{_datadir}/%{pkg_name}/swedish +%lang(uk) %{_datadir}/%{pkg_name}/ukrainian %endif %files server @@ -838,14 +842,14 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN %if %{without common} -%dir %{_datadir}/%{name} +%dir %{_datadir}/%{pkg_name} %endif %{_libdir}/mysql/plugin @@ -877,14 +881,14 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* -%{_datadir}/%{name}/dictionary.txt -%{_datadir}/%{name}/fill_help_tables.sql -%{_datadir}/%{name}/innodb_memcached_config.sql -%{_datadir}/%{name}/mysql_security_commands.sql -%{_datadir}/%{name}/mysql_system_tables.sql -%{_datadir}/%{name}/mysql_system_tables_data.sql -%{_datadir}/%{name}/mysql_test_data_timezone.sql -%{_datadir}/%{name}/my-*.cnf +%{_datadir}/%{pkg_name}/dictionary.txt +%{_datadir}/%{pkg_name}/fill_help_tables.sql +%{_datadir}/%{pkg_name}/innodb_memcached_config.sql +%{_datadir}/%{pkg_name}/mysql_security_commands.sql +%{_datadir}/%{pkg_name}/mysql_system_tables.sql +%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql +%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql +%{_datadir}/%{pkg_name}/my-*.cnf %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From babed9f6e2f4db9c906702564586bb19a9fead1e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 19:53:08 +0100 Subject: [PATCH 319/616] Use correct dir for config files --- community-mysql.spec | 7 +++++-- my.cnf.in | 2 +- mysql-check-upgrade.sh | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2d16f40..29f4d94 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -74,7 +74,7 @@ Name: community-mysql Version: 5.6.22 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -468,6 +468,7 @@ cmake .. \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ + -DSYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ @@ -699,7 +700,6 @@ if [ $1 = 1 ]; then fi %endif /bin/touch %{logfile} -/bin/chmod 0755 %{dbdatadir} %preun server %if %{with init_systemd} @@ -942,6 +942,9 @@ fi %endif %changelog +* Sun Jan 25 2015 Honza Horak - 5.6.22-5 +- Use correct dir for config files + * Sat Jan 24 2015 Honza Horak - 5.6.22-4 - Move server settings to renamed config file under my.cnf.d dir diff --git a/my.cnf.in b/my.cnf.in index 247e12d..1e9009e 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -14,5 +14,5 @@ symbolic-links=0 # # include all files from the config directory # -!includedir @INSTALL_SYSCONF2DIR@ +!includedir @SYSCONF2DIR@ diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh index 43941b8..cf41d84 100644 --- a/mysql-check-upgrade.sh +++ b/mysql-check-upgrade.sh @@ -27,9 +27,9 @@ if [ $version -ne $thisversion ] ; then cat <&2 The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: - 1. Back-up your data before running 'mysql_upgrade' - 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' - 3. Run 'mysql_upgrade' with a database user that has sufficent privileges + 1. Back-up your data before with 'mysql_upgrade' + 2. Start the database daemon using 'service @DAEMON_NAME@ start' + 3. Run 'mysql_upgrade' with a database user that has sufficient privileges Read more about 'mysql_upgrade' usage at: http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html From b9961f6d17838c69aa06178fa6598927d9cdcc6e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 26 Jan 2015 17:57:44 +0100 Subject: [PATCH 320/616] Do not own /var/log --- community-mysql.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 29f4d94..12aa749 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -74,7 +74,7 @@ Name: community-mysql Version: 5.6.22 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -901,7 +901,6 @@ fi %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql -%attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -942,6 +941,9 @@ fi %endif %changelog +* Mon Jan 26 2015 Honza Horak - 5.6.22-6 +- Do not own /var/log + * Sun Jan 25 2015 Honza Horak - 5.6.22-5 - Use correct dir for config files From 303feabd0e8d7a2a0296d2cad3389f80998647d2 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Mon, 2 Feb 2015 15:07:16 +0100 Subject: [PATCH 321/616] Update to MySQL 5.6.23 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-expired-certs.patch | 571 ---------------------------- community-mysql-file-contents.patch | 2 +- community-mysql.spec | 14 +- server.cnf.in | 2 +- sources | 2 +- 6 files changed, 14 insertions(+), 578 deletions(-) delete mode 100644 community-mysql-expired-certs.patch diff --git a/.gitignore b/.gitignore index 1f93e75..d6dcc65 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /mysql-5.6.20.tar.gz /mysql-5.6.21.tar.gz /mysql-5.6.22.tar.gz +/mysql-5.6.23.tar.gz diff --git a/community-mysql-expired-certs.patch b/community-mysql-expired-certs.patch deleted file mode 100644 index 2418bea..0000000 --- a/community-mysql-expired-certs.patch +++ /dev/null @@ -1,571 +0,0 @@ -Upstream insists on generating SSL testing certificates with relatively short -lifespan, which has repeatedly caused problems (ie, one day the regression -tests suddenly stop working). Replace them with certificates with 20-year -lifespan. We should periodically regenerate these, too, but at least not -very often. - - -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/cacert.pem mysql-5.1.50/mysql-test/std_data/cacert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/cacert.pem 2010-08-03 13:55:04.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/cacert.pem 2010-08-27 23:42:05.751428144 -0400 -@@ -1,17 +1,22 @@ - -----BEGIN CERTIFICATE----- --MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV -+MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV - BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD --VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkxMTQ3MTBaFw0xNTAxMjgxMTQ3MTBaMEQx -+VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx - CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh --MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA --wQYsOEfrN4ESP3FjsI8cghE+tZVuyK2gck61lwieVxjgFMtBd65mI5a1y9pmlOI1 --yM4SB2Ppqcuw7/e1CdV1y7lvHrGNt5yqEHbN4QX1gvsN8TQauP/2WILturk4R4Hq --rKg0ZySu7f1Xhl0ed9a48LpaEHD17IcxWEGMMJwAxF0CAwEAAaOBpjCBozAMBgNV --HRMEBTADAQH/MB0GA1UdDgQWBBSvktYQ0ahLnyxyVKqty+WpBbBrDTB0BgNVHSME --bTBrgBSvktYQ0ahLnyxyVKqty+WpBbBrDaFIpEYwRDELMAkGA1UEBhMCU0UxEDAO --BgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FM --IEFCggkAwjvFkqOGsNswDQYJKoZIhvcNAQEEBQADgYEAdKN1PjwMHAKG2Ww1145g --JQGBnKxSFOUaoSvkBi/4ntTM+ysnViWh7WvxyWjR9zU9arfr7aqsDeQxm0XDOqzj --AQ/cQIla2/Li8tXyfc06bisH/IHRaSc2zWqioTKbEwMdVOdrvq4a8V8ic3xYyIWn --7F4WeS07J8LKardSvM0+hOA= -+MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -+ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R -+vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 -+u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 -+qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv -+lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X -+/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA -+jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh -+SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV -+cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB -+Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai -+8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ -+nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL -+NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q -+Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 -+ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem mysql-5.1.50/mysql-test/std_data/client-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem 2010-08-03 13:55:04.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/client-cert.pem 2010-08-27 23:42:05.752428395 -0400 -@@ -1,46 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048577 (0x100001) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 6 (0x6) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 11:50:22 2010 GMT -- Not After : Jan 28 11:50:22 2015 GMT -+ Not Before: Feb 20 03:03:26 2010 GMT -+ Not After : Sep 3 03:03:26 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (1024 bit) -- Modulus: -- 00:cc:9a:37:49:13:66:dc:cf:e3:0b:13:a1:23:ed: -- 78:db:4e:bd:11:f6:8c:0d:76:f9:a3:32:56:9a:f8: -- a1:21:6a:55:4e:4d:3f:e6:67:9d:26:99:b2:cd:a4: -- 9a:d2:2b:59:5c:d7:8a:d3:60:68:f8:18:bd:c5:be: -- 15:e1:2a:3c:a3:d4:61:cb:f5:11:94:17:81:81:f7: -- 87:8c:f6:6a:d2:ee:d8:e6:77:f6:62:66:4d:2e:16: -- 8d:08:81:4a:c9:c6:4b:31:e5:b9:c7:8a:84:96:48: -- a7:47:8c:0d:26:90:56:4e:e6:a5:6e:8c:b3:f2:9f: -- fc:3d:78:9b:49:6e:86:83:77 -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: -+ 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: -+ 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: -+ 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: -+ 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: -+ 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: -+ bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: -+ 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: -+ c1:60:19:5f:96:56:7e:55:19 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 5e:1f:a3:53:5f:24:13:1c:f8:28:32:b0:7f:69:69:f3:0e:c0: -- 34:87:10:03:7d:da:15:8b:bd:19:b8:1a:56:31:e7:85:49:81: -- c9:7f:45:20:74:3e:89:c0:e0:26:84:51:cc:04:16:ce:69:99: -- 01:e1:26:99:b3:e3:f5:bd:ec:5f:a0:84:e4:38:da:75:78:7b: -- 89:9c:d2:cd:60:95:20:ba:8e:e3:7c:e6:df:76:3a:7c:89:77: -- 02:94:86:11:3a:c4:61:7d:6f:71:83:21:8a:17:fb:17:e2:ee: -- 02:6b:61:c1:b4:52:63:d7:d8:46:b2:c5:9c:6f:38:91:8a:35: -- 32:0b -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: -+ b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: -+ 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: -+ ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: -+ 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: -+ 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: -+ 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: -+ 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: -+ 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: -+ e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: -+ 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: -+ 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: -+ ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: -+ 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: -+ 1d:c4:76:d0 - -----BEGIN CERTIFICATE----- --MIIB5zCCAVACAxAAATANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTE1MDIyWhcNMTUwMTI4MTE1MDIyWjAyMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJKoZI --hvcNAQEBBQADgY0AMIGJAoGBAMyaN0kTZtzP4wsToSPteNtOvRH2jA12+aMyVpr4 --oSFqVU5NP+ZnnSaZss2kmtIrWVzXitNgaPgYvcW+FeEqPKPUYcv1EZQXgYH3h4z2 --atLu2OZ39mJmTS4WjQiBSsnGSzHluceKhJZIp0eMDSaQVk7mpW6Ms/Kf/D14m0lu --hoN3AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAXh+jU18kExz4KDKwf2lp8w7ANIcQ --A33aFYu9GbgaVjHnhUmByX9FIHQ+icDgJoRRzAQWzmmZAeEmmbPj9b3sX6CE5Dja --dXh7iZzSzWCVILqO43zm33Y6fIl3ApSGETrEYX1vcYMhihf7F+LuAmthwbRSY9fY --RrLFnG84kYo1Mgs= -+MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ -+KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e -+Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE -+UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ -+X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl -+eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG -+MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz -+YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA -+A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q -+xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh -+gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 -+XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST -+YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU -+EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-key.pem mysql-5.1.50/mysql-test/std_data/client-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/client-key.pem 2010-08-03 13:55:05.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/client-key.pem 2010-08-27 23:42:05.752428395 -0400 -@@ -1,15 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m --Z50mmbLNpJrSK1lc14rTYGj4GL3FvhXhKjyj1GHL9RGUF4GB94eM9mrS7tjmd/Zi --Zk0uFo0IgUrJxksx5bnHioSWSKdHjA0mkFZO5qVujLPyn/w9eJtJboaDdwIDAQAB --AoGASqk/4We2En+93y3jkIO4pXafIe3w/3zZ7caRue1ehx4RUQh5d+95djuB9u7J --HEZ7TpjM7QNyao5EueL6gvbxt0LXFvqAMni7yM9tt/HUYtHHPqYiRtUny9bKYFTm --l8szCCMal/wD9GZU9ByHDNHm7tHUMyMhARNTYSgx+SERFmECQQD/6jJocC4SXf6f --T3LqimWR02lbJ7qCoDgRglsUXh0zjrG+IIiAyE+QOCCx1GMe3Uw6bsIuYwdHT6as --WcdPs04xAkEAzKulvEvLVvN5zfa/DTYRTV7jh6aDleOxjsD5oN/oJXoACnPzVuUL --qQQMNtuAXm6Q1QItrRxpQsSKbY0UQka6JwJBAOSgoNoG5lIIYTKIMvzwGV+XBLeo --HYsXgh+6Wo4uql3mLErUG78ZtWL9kc/tE4R+ZdyKGLaCR/1gXmH5bwN4B/ECQEBb --uUH8k3REG4kojesZlVc+/00ojzgS4UKCa/yqa9VdB6ZBz8MDQydinnShkTwgiGpy --xOoqhO753o2UT0qH8wECQQC99IEJWUnwvExVMkLaZH5NjAFJkb22sjkmuT11tAgU --RQgOMoDOm6driojnOnDWOkx1r1Gy9NgMLooduja4v6cx -+MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I -+RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u -+sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB -+AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 -+MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM -+mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe -+ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA -+FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI -+iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty -+EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 -+bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE -+z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK -+Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem mysql-5.1.50/mysql-test/std_data/server-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server-cert.pem 2010-08-27 23:42:05.753428361 -0400 -@@ -1,41 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048578 (0x100002) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 4 (0x4) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 11:56:49 2010 GMT -- Not After : Jan 28 11:56:49 2015 GMT -+ Not Before: Feb 20 02:55:06 2010 GMT -+ Not After : Sep 3 02:55:06 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (512 bit) -- Modulus: -- 00:cd:e4:87:51:9d:72:11:a0:d1:fa:f3:92:8b:13: -- 1c:eb:f7:e2:9a:2f:72:a8:d6:65:48:d1:69:af:1b: -- c0:4c:13:e5:60:60:51:41:e9:ab:a6:bc:13:bb:0c: -- 5e:32:7c:d9:6c:9e:cd:05:24:84:78:db:80:91:2e: -- d8:88:2b:c2:ed -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: -+ 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: -+ a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: -+ e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: -+ e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: -+ 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: -+ ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: -+ 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: -+ 8a:d1:77:aa:87:fb:38:cd:b7 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 73:ce:9c:6e:39:46:b4:14:be:da:3f:f3:1b:ba:90:bc:23:43: -- d7:82:2a:70:4e:a6:d9:5a:65:5c:b7:df:71:df:75:77:c5:80: -- a4:af:fa:d2:59:e2:fd:c9:9c:f0:98:95:8e:69:a9:8c:7c:d8: -- 6f:48:d2:e3:36:e0:cd:ff:3f:d1:a5:e6:ab:75:09:c4:50:10: -- c4:96:dd:bf:3b:de:32:46:da:ca:4a:f1:d6:52:8a:33:2f:ab: -- f5:2e:70:3f:d4:9c:be:00:c8:03:f9:39:8a:df:5b:70:3c:40: -- ef:03:be:7c:3d:1d:32:32:f3:51:81:e2:83:30:6e:3d:38:9b: -- fb:3c -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: -+ 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: -+ 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: -+ 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: -+ dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: -+ 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: -+ c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: -+ 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: -+ a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: -+ 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: -+ 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: -+ 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: -+ 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: -+ e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: -+ 45:f6:25:f9 - -----BEGIN CERTIFICATE----- --MIIBtzCCASACAxAAAjANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTE1NjQ5WhcNMTUwMTI4MTE1NjQ5WjBGMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNVBAMT --CWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDN5IdRnXIRoNH685KL --Exzr9+KaL3Ko1mVI0WmvG8BME+VgYFFB6aumvBO7DF4yfNlsns0FJIR424CRLtiI --K8LtAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAc86cbjlGtBS+2j/zG7qQvCND14Iq --cE6m2VplXLffcd91d8WApK/60lni/cmc8JiVjmmpjHzYb0jS4zbgzf8/0aXmq3UJ --xFAQxJbdvzveMkbaykrx1lKKMy+r9S5wP9ScvgDIA/k5it9bcDxA7wO+fD0dMjLz --UYHigzBuPTib+zw= -+MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV -+BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 -+qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT -+tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu -+ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA -+MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 -+tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw -+cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit -+TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 -+Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM -+Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K -+4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt -+bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl -+qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-key.pem mysql-5.1.50/mysql-test/std_data/server-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server-key.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server-key.pem 2010-08-27 23:42:05.754428433 -0400 -@@ -1,9 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp --q6a8E7sMXjJ82WyezQUkhHjbgJEu2Igrwu0CAwEAAQJBAJuwhFbF3NzRpBbEmnqJ --4GPa1UJMQMLFJF+04tqj/HxJcAIVhOJhGmmtYNw1yjz/ZsPnfJCMz4eFOtdjvGtf --peECIQDmFFg2WLvYo+2m9w9V7z4ZIkg7ixYkI/ObUUctfZkPOQIhAOUWnrvjFrAX --bIvYT/YR50+3ZDLEc51XxNgJnWqWYl1VAiEAnTOFWgyivFC1DgF8PvDp8u5TgCt2 --A1d1GMgd490O+TECIC/WMl0/hTxOF9930vKqOGf//o9PUGkZq8QE9fcM4gtlAiAE --iOcFpnLjtWj57jrhuw214ucnB5rklkQQe+AtcARNkg== -+MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b -+BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi -+xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB -+AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj -+XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS -+FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z -+AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D -+3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h -+Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl -+TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc -+YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp -+kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o -+9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.50/mysql-test/std_data/server8k-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server8k-cert.pem 2010-08-27 23:43:00.005366270 -0400 -@@ -1,51 +1,69 @@ -+Certificate: -+ Data: -+ Version: 3 (0x2) -+ Serial Number: 5 (0x5) -+ Signature Algorithm: sha1WithRSAEncryption -+ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB -+ Validity -+ Not Before: Feb 20 03:00:54 2010 GMT -+ Not After : Sep 3 03:00:54 2030 GMT -+ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server -+ Subject Public Key Info: -+ Public Key Algorithm: rsaEncryption -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: -+ 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: -+ 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: -+ 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: -+ 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: -+ cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: -+ 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: -+ 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: -+ 91:b5:dd:06:47:ed:05:e3:db -+ Exponent: 65537 (0x10001) -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: -+ 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: -+ a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: -+ a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: -+ 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: -+ 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: -+ 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: -+ 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: -+ bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: -+ f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: -+ 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: -+ 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: -+ 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: -+ 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: -+ 86:32:d3:b4 - -----BEGIN CERTIFICATE----- --MIIJFDCCBPwCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw --CQYDVQQDEwJDQTAeFw0xMDA3MjgxNDA3MjhaFw0xODEwMTQxNDA3MjhaMFIxCzAJ --BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQjEN --MAsGA1UECxMEVGVzdDEPMA0GA1UEAxMGc2VydmVyMIIEIjANBgkqhkiG9w0BAQEF --AAOCBA8AMIIECgKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSEC --PgxNNcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+Lr --hXIqCz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2 --DA7kvMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5 --hACbfU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09 --Gh/GwmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33 --aGsZ5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4 --PRd31qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2 --OaIwFjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83 --psQ6R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCc --HSFu07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs --+LFdt4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS --9+LB+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1P --sZi4UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUd --NhXxi/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfV --JTt8Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwx --UADgR0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1 --kOE7GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQ --uw4qVKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRY --nTIywUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PT --trohFSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFT --d33ZDke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABMA0GCSqGSIb3DQEB --BAUAA4IEAQCc9RBhRbuWlmRZPZkqIdi5/+enyjoMmOa6ryJPxFSP8D2jrlHgQsk1 --+GsJmPFT3rwWfoGAQu/aeSX4sp8OhKVJtqNA6MJrGYnZIMolgYa1wZPbkjJsdEfi --UsZdIB0n2+KA0xwEdGPdkGCfNPBtOg557DkcyEvsIZ9ELp4Pp2XzWRhyFGasJZc4 --YwgD/3K2rpOPZoMkBKeKqV19j41OfLKGBVyuaqzitbu9+KT4RU1ibr2a+UuFCwdT --oqyN7bfWXjcjXOMkxCsOmLfKmqQxs7TEOVrYPTdYjamDxLy/e5g5FgoCxGY8iil0 --+YFLZyH6eEx/Os9DlG/M3O1MeRD9U97CdsphbDVZIDyWw5xeX8qQHJe0KSprAgiG --TLhTZHeyrKujQCQS1oFFmNy4gSqXt0j1/6/9T80j6HeyjiiYEaEQK9YLTAjRoA7W --VN8wtHI5F3RlNOVQEJks/bjdlpLL3VhaWtfewGh/mXRGcow84cgcsejMexmhreHm --JfTUl9+X1IFFxGq2/606A9ROQ7kN/s4rXu7/TiMODXI/kZijoWd2SCc7Z0YWoNo7 --IRKkmZtrsflJbObEuK2Jk59uqzSxyQOBId8qtbPo8qJJyHGV5GCp34g4x67BxJBo --h1iyVMamBAS5Ip1ejghuROrB8Hit8NhAZApXju62btJeXLX+mQayXb/wC/IXNJJD --83tXiLfZgs6GzLAq7+KW/64sZSvj87CPiNtxkvjchAvyr+fhbBXCrf4rlOjJE6SH --Je2/Jon7uqijncARGLBeYUT0Aa6k1slpXuSKxDNt7EIkP21kDZ5/OJ0Y1u587KVB --dEhuDgNf2/8ij7gAQBwBoZMe1DrwddrxgLLBlyHpAZetNYFZNT+Cs/OlpqI0Jm59 --kK9pX0BY4AGOd23XM3K/uLawdmf67kkftim7aVaqXFHPiWsJVtlzmidKvNSmbmZe --dOmMXp6PBoqcdusFVUS7vjd3KAes5wUX/CaTyOOPRu0LMSnpwEnaL76IC9x4Jd6d --7QqY/OFTjpPH8nP57LwouiT6MgSUCWGaOkPuBJ9w9sENSbbINpgJJ42iAe2kE+R7 --qEIvf/2ETCTseeQUqm2nWiSPLkNagEh6kojmEoKrGyrv3YjrSXSOY1a70tDVy43+ --ueQDQzNZm3Q7inpke2ZKvWyY0LQmLzP2te+tnNBcdLyKJx7emPRTuMUlEdK7cLbt --V3Sy9IKtyAXqqd66fPFj4NhJygyncj8M6CSqhG5L0GhDbkA8UJ8yK/gfKm3h5xe2 --utULK5VMtAhQt6cVahO59A9t/OI17y45bmlIgdlEQISzVFe9ZbIUJW44zBfPx74k --/w8pMRr8gEuRqpL2WdJiKGG6lhMHLVFo -+MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV -+BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv -+oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz -+T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk -+YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G -+A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN -+aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh -+bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 -+JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy -++/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt -+mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY -+H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn -+0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D -+DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/mysql-test/std_data/server8k-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server8k-key.pem 2010-08-27 23:43:10.165365998 -0400 -@@ -1,99 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIISKQIBAAKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSECPgxN --NcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+LrhXIq --Cz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2DA7k --vMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5hACb --fU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09Gh/G --wmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33aGsZ --5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4PRd3 --1qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2OaIw --FjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83psQ6 --R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCcHSFu --07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs+LFd --t4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS9+LB --+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1PsZi4 --UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUdNhXx --i/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfVJTt8 --Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwxUADg --R0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1kOE7 --GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQuw4q --VKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRYnTIy --wUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PTtroh --FSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFTd33Z --Dke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABAoIEAQCSt6YoZqigz/50 --XvYT6Uf6T6S1lBDFXNmY1qOuDkLBJTWRiwYMDViQEaWCaZgGTKDYeT3M8uR/Phyu --lRFi5vCEMufmcAeZ3hxptw7KU+R8ILJ207/zgit6YglTys9h5txTIack39+6FJmx --wbZ64HpETJZnpMO6+fuZaMXyLjuT8mmXjvHcOgXOvjWeFkZOveDhjJkAesUXuqyX --EI+ajoXuQiPXeKonkD2qd7NTjzfy4gw/ZF4NXs0ZVJeviqtIPo2xp33udOw2vRFh --bMvlF4cNLAbIKYVyOG0ruOfd2I7Unsc/CvD1u5vlRVuUd8OO0JZLIZR7hlRX+A58 --8O1g2H/wJZAsF1BnLnFzDGYCX2WjCCK3Zn85FkKGRa0lTdYDduad/C/N3Y2/pHFE --e7U/2D7IkEei59tD2HcsDBB3MJnckkn/hyiL9qWcxqWZ61vurE+XjU6tc6fnfhk9 --pJQ6yU3epPU7Vfsk0UGA7bbgKpsyzyH8Zl76YC2mN2ZVJjZekfhY+ibT9odEPdOl --yLB5iXA6/WhKkDWaOqZGOH+7MblWgT9wHINlcn+nKzOr00JHl26ac6aMlXXi9vbe --4jgJbFK1HYlFIndyX/BdqRTsFemDoDrVqrEYsaONoVYDd9c5qrqYOeh34DhOksQW --hNwWBfmMlfzgOGtCYhMeK+AajqTtUbMYQA6qp47KJd/Oa5Dvi3ZCpvZh3Ll5iIau --rqCtmojsWCqmpWSu7P+Wu4+O3XkUMPdQUuQ5rJFESEBB3yEJcxqk/RItTcKNElNC --PASrPrMD9cli7S/pJ+frbhu1Gna1ArXzXQE9pMozPaBpjCig7+15R0lL3pmOKO6e --WK3dgSwrnW6TQdLPlSD4lbRoiIdTHVBczztDeUqVvFiV3/cuaEi1nvaVdAYLqjuL --ogK4HwE/FQ54S0ijAsP52n25usoH6OTU3bSd/7NTp0vZCy3yf10x7HUdsh2DvhRO --3+TSK5t0yz0Nt7hNwcI6pLmWUIYcZgpFc/WsiiGscTfhy8rh3kRHI8ylGq53KNF+ --yCVmjqnBRWs91ArxmeF1ctX2t3w5p7gf65hJWqoX/2DiSi5FBsr6HLxa5sUi4wRZ --136aCNt5Wu7w+AzPDbQW6qKUGSyfHJAw4JZasZcaZLise5IWb1ks0DtFbWWdT3ux --8r2AM7IO1WopnekrYCnx/aBvBAv4NjWozVA517ztVttPERt3AGb4nm387nYt5R2U --NO2GBWcDyT8JQLKmffE1AkWolCR1GsvcNLQfLCbnNppgsnsLE/viTG4mq1wjnd8O --2Q8nH1SVTuyGFREMp/zsiAEaGfdd0hI2r1J7OdNPBBCtmhITsy9ZYHqm5vrGvy3s --vi2GuB2RAoICAQD/oWUsg4eTJxHifTJLz/tVSTXnw7DhfbFVa1K1rUV63/MRQAFW --pabN4T6Yfp3CpdRkljCA8KPJZj7euwhm4OEg1ulpOouA+cfWlE9RFE8wyOK5SYwM --k+nk31P9MUC866pZg/ghzBGDub91OW1+ZGEtqnLI/n/LhiAIWt0hJvgZclTc1cAL --xffHVlFwoSyNl/nc3ueZCC95nOLst2XcuxZLLbOFtZCmDYsp49q/Jn6EFjn4Ge2o --qp38z6eZgDMP1F4lb9nDqXPHfUSt2jxKlmpfXS+IPKdba67+EjhbtmUYzaR4EoPI --zh+o6SrVWT6Yve7KGiYv06fuRz1m/lLQO/Arbd9ntSjgn+ZEXGOkbhnHUX3DJ4ny --/6XEGB9NLQjern4uNTn0AaV+uvhncapFMaIBnVfq0Cw8eog0136PBYRaVX7T44j5 --HwIyGXWtYGA/SzDEQoksD0Y/T61BEGnLZaKeavNd82WwFvcYHZtE0J4aQGjCEE7N --+nijzCy+j5ETmme9KJvQHpEyXP3N4RBko1eWvyTwFZDdIXtoa6TTEI51lm+FXJ/b --Y+BzMr6KRo29FB+7//1ptUoMvn5hzL0PwOv2ZSTQuoG5hLDEbxWXLNhd1VHcfznF --3EZHwfD2F8aGQ3kz+fkMTNfK955KorDrmLgvmV9eZZ5yQxGZrs5H5YfKpwKCAgEA --6nSUbzfSdVFUH89NM5FmEJgkD06vqCgHl2mpyF+VmDGcay4K06eA4QbRO5kns13+ --n6PcBl/YVW/rNE8iFi+WxfqUpAjdR1HlShvTuTRVqtFTfuN8XhbYU6VMjKyuE0kd --LKe3KRdwubjVNhXRZLBknU+3Y/4hnIR7mcE3/M5Zv5hjb7XnwWg/SzxV9WojCKiu --vQ7cXhH5/o7EuKcl1d6vueGhWsRylCG9RimwgViR2H7zD9kpkOc0nNym9cSpb0Gv --Lui4cf/fVwIt2HfNEGBjbM/83e2MH6b8Xp1fFAy0aXCdRtOo4LVOzJVAxn5dERMX --4JJ4d5cSFbssDN1bITOKzuytfBqRIQGNkOfizgQNWUiaFI0MhEN/icymjm1ybOIh --Gc9tzqKI4wP2X9g+u3+Oof1QaBcZ4UbZEU9ITN87Pa6XVJmpNx7A81BafWoEPFeE --ahoO4XDwlHZazDuSlOseEShxXcVwaIiqySy7OBEPBVuYdEd2Qw/z3JTx9Kw8MKnf --hu+ar5tz5dPnJIsvLeYCcJDe/K6loiZuHTtPbWEy9p6It7qubQNPBvTSBN5eVDKc --Q2bTQNCx8SAAA9C5gJiwWoQKsXJzbRFRY77P9JjuGpua3YJ2nYBHEJmF+fp1R33c --uHIyMphPMkKC4GC3/43kkMr6tck8kZbXGSYsLsBr2GkCggIBAJvvrjILQianzKcm --zAmnI6AQ+ssYesvyyrxaraeZvSqJdlLtgmOCxVANuQt5IW9djUSWwZvGL4Np1aw0 --15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS --SJKzVPxwX3jwlrBmbx/pnb7dcLbFIbNcyLvl1ZJJu4BDMVRmgssTRp/5eExtQZg4 --//A4SA8wH7TO3yAMXvn8vrGgH8kfbdlEp88d1SYk3g4rP/rGB3A63NIYikIEzmJn --ICQ3wUfPJnGq3kRMWgEuyCZaCy2oNE3yrWVPJ8z3/2MJ/79ZDVNHxEeki2o1FuW+ --+nGAPq+fZIp03iy4HdVRro7dgugtc9QaSHJtNId8V4vSjviX5Oz3FxUb9AJst58S --nVV8Q2FMxBa/SlzSOkhRtCg2q1gXkzhaMnIVUleRZFGQ2uWBToxKMjcoUifIyN1J --z999bkfI4hBLq5pRSAXz+YVu5SMKa10GaawIwJLat+i+1zboF6QyI2o/Wz8nrsNq --KX/ajFGu5C94WFgsVoWKNI90KBLe48Ssje9c68waBlV/WHMg1YLvU3yqVDOV+K5c --IHB9tPMnG+AgBYZPxSzuvnLrrkj/GeKx0WI7TrvzOLRGKJo6irMEJ8IzFegASRUq --TVZKYQDYRG7m+lKlSxU+pyMAh2c9AoICAE4kavCip1eIssQjYLTGSkFPo/0iGbOv --G9CgXAE3snFWX67tWphupKrbjdMSWcQTmPD2OTg6q6zWL4twsIi6dcMooHAHsFC7 --//LyUV/SDJdxSyXohiQJ8zH1zwy35RDydnHSuF5OvLh53T44iWDI1dAEqLgAFI3J --LjTxzEpLMGiGTuYFt+ejai0WQAQayvBw4ESM9m+4CB2K0hBFTXv5y5HlnNTW0uWC --VUZUUMrbjUieDz8B/zOXi9aYSGFzmZFGUDAPSqJcSMEELemPDF7f8WNr8vi42tIV --4tlaFD1nep4F9bWMiCXU6B2RxVQi+7vcJEIqL1KUnGd3ydfD00K+ng4Xnj7Vz/cz --QE7CqrpFaXmPlCMzW6+dm51/AyhHXDLkL2od05hiXcNkJ7KMLWRqwExHVIxM3shR --x7lYNl3ArUsCrNd6m4aOjnrKFk7kjeLavHxskPccoGKrC9o0JMfTkWLgmuBJFQ0S --N/HzIbcvIFWF0Ms4ojb50yp6ziXhXfJOO/0KUQEki71XIhvw89mVZszDzD5lqzjf --HCZMBU4MbmL6NdEevFIDH0zPPkx3HPNtJt3kIJbit9wI8VhUMe+ldGnGxpWb8tKw --SfM3vrHkYr+lizk26XfXMFhdAuVtT7dzQKSNEyP/1a2Hs307Xzgiv8JulJ8QIkrX --/nsYWPOAGLG5AoICABmdW9Ppkvuhb1AEcjTWb+XCyopoBc6vit/uQWD9uO+CeX7a --cfzq+iH01CAjyVMc4E1JDc5Lpi106U+GRGcAAaPJB2Sp5NznoxaOVrb71blu4Q4x --bNjtKM/P/DXpO+yJYoOPdKtaSDhtnfNDM7H/jztJ3XIrOltKA7CcRDohbBWIx8Q0 --0uEpvfFpZZBco3yVmjP0RLgIVYn/ZDj9wGhSvFWIJ5vv6GXmtDrcHGMLxcfv7t76 --UVcMW/Yy4mYJRCzGOrWagyVijJ6MTVNciqadWcH1KcbB3EGoMFYMn61or2qJABPM --xz89IlhnROU1Re3X/QRx5t86cw6oa+FqrWMOhSs31I0dNWSuS/xDympG27YIYSDd --mv5seT78GjFmMJC5pPOLoXsbTPB0HpsX2/UL/w/eRAfilTOef/Cf9VE5MP/C2YR7 --NBxUU7/+21D6WvdtBTcZbrXWGroAo8zPP+PwX0+c6WoAvqDJvCPndp8xZhSgEJN/ --0kScptezi8n3ZHI95EA9U5mAHxHz0IhDDVzWw/z1f1SBPxKVX3+By3zaa3lrD2ch --cHq7nBkX72veEevnHUY8Z2rHE2G2jdmRfOtwm4sjL0VBV9fRRoxzJWRduKyeOtDL --EhhBhUoTrT48UnfW9hxnbNLB9P/hh+UJu9HrS2uAwHoGE1+8gcyundupGDBn -+MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ -+PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od -+Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB -+AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs -+70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C -+ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O -+r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye -+u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG -+DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 -+NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn -+67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ -+nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z -++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== - -----END RSA PRIVATE KEY----- -diff -u mysql-5.6.10/mysql-test/r/ssl.result.orig mysql-5.6.10/mysql-test/r/ssl.result ---- mysql-5.6.10/mysql-test/r/ssl.result.orig 2013-03-04 09:50:24.227923768 +0100 -+++ mysql-5.6.10/mysql-test/r/ssl.result 2013-03-04 09:53:28.449873521 +0100 -@@ -3,10 +3,10 @@ - Ssl_cipher DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_server_not_before'; - Variable_name Value --Ssl_server_not_before Jan 29 11:56:49 2010 GMT -+Ssl_server_not_before Feb 20 02:55:06 2010 GMT - SHOW STATUS LIKE 'Ssl_server_not_after'; - Variable_name Value --Ssl_server_not_after Jan 28 11:56:49 2015 GMT -+Ssl_server_not_after Sep 3 02:55:06 2030 GMT - drop table if exists t1,t2,t3,t4; - CREATE TABLE t1 ( - Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 0991d7a..ed72d5c 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -42,4 +42,4 @@ diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22 + } } } else { - # tar.gz package, Windows, or developer work (in BZR) + # tar.gz package, Windows, or developer work (in git) diff --git a/community-mysql.spec b/community-mysql.spec index 12aa749..b37edef 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,8 +73,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.22 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 5.6.23 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -116,7 +116,6 @@ Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package -Patch50: %{pkgnamepatch}-expired-certs.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch @@ -389,7 +388,6 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch50 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 @@ -941,6 +939,14 @@ fi %endif %changelog +* Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 +- Update to MySQL 5.6.23, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-23.html +- Expired certs patch now obsolete +- Fixed changelog +- Refreshed file contents patch +- Fix typo in server.cnf.in + * Mon Jan 26 2015 Honza Horak - 5.6.22-6 - Do not own /var/log diff --git a/server.cnf.in b/server.cnf.in index 18d920c..2c0572e 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -15,7 +15,7 @@ # instructions in http://fedoraproject.org/wiki/Systemd [mysqld] datadir=@MYSQL_DATADIR@ -socket=@DMYSQL_UNIX_ADDR@ +socket=@MYSQL_UNIX_ADDR@ log-error=@LOG_LOCATION@ pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid diff --git a/sources b/sources index 099af04..13cbdde 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3985b634294482363f3d87e0d67f2262 mysql-5.6.22.tar.gz +60344f26eae136a267a0277407926e79 mysql-5.6.23.tar.gz From 5e06e86227f0ed88a7abcbcde4098d373133518c Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Feb 2015 15:03:35 +0100 Subject: [PATCH 322/616] Removing man pages patch since upstream claims the version in tarball is correct. --- community-mysql-man-pages.patch | 979 -------------------------------- community-mysql.spec | 3 +- 2 files changed, 1 insertion(+), 981 deletions(-) delete mode 100644 community-mysql-man-pages.patch diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch deleted file mode 100644 index 43fe99d..0000000 --- a/community-mysql-man-pages.patch +++ /dev/null @@ -1,979 +0,0 @@ -diff --git a/man/mysql.1 b/man/mysql.1 -index 2e1602c..1e1d9f3 100644 ---- a/man/mysql.1 -+++ b/man/mysql.1 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Options that Affect Option-File Handling\(r - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -348,6 +349,21 @@ Compress all information sent between the client and the server if both support - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -+.\" mysql: connect-timeout option -+.\" connect-timeout option: mysql -+\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR -+.sp -+Set the time for connection timeout in seconds\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .el \{\ - .sp -1 - .IP \(bu 2.3 -@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. - .sp - .RS 4 - .ie n \{\ -+.\" mysql: defaults-file option -+.\" defaults-file option: mysql -+\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: defaults-extra-file option -+.\" defaults-extra-file option: mysql -+\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\(rq)\&. - .el \{\ - .sp -1 - .IP \(bu 2.3 -+.\" mysql: max-allowed-packet option -+.\" max-allowed-packet option: mysql -+\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR -+.sp -+Specify the maximum packet length to send to or recieve form server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: max-join-size option -+.\" max-join-size option: mysql -+\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR -+.sp -+Set the automatic limit for rows in a join when using \fB\-\-safe\-updates\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\} - .\" mysql: init-command option - .\" init-command option: mysql -@@ -691,6 +768,21 @@ has no effect if the server does not also support it\&. - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -+.\" mysql: no-defaults option -+.\" no-defaults option: mysql -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\} - .el \{\ - .sp -1 -@@ -911,6 +1003,21 @@ the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&. - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -+.\" mysql: print-defaults option -+.\" print-defaults option: mysql -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you - \fIcannot\fR - have a space between the option and the password\&. If you omit the -@@ -1102,6 +1209,36 @@ If the connection to the server is lost, automatically try to reconnect\&. A sin - \fB\-\-skip\-reconnect\fR\&. - .RE - .sp -+.\" mysql: select-limit option -+.\" select-limit option: mysql -+\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR -+.sp -+Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: server-arg option -+.\" server-arg option: mysql -+\fB\-\-server\-arg=\fR\fB\fIname\fR\fR -+.sp -+Send \fB\fIname\fR\fR as a parameter to the embedded server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -1146,9 +1283,39 @@ to disable it\&. - .if n \{\ - .sp - .\} -+.\" mysql: net-buffer-length option -+.\" net-buffer-length option: mysql -+\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR -+.sp -+Set the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RS 4 - .it 1 an-trap - .nr an-no-space-flag 1 -+.\" mysql: skip-auto-rehash option -+.\" skip-auto-rehash option: mysql -+\fB\-\-skip\-auto\-rehash\fR -+.sp -+Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .nr an-break-flag 1 - .br - .ps +1 -@@ -1305,7 +1472,7 @@ localhost, the Unix socket file to use, or, on Windows, the name of the named pi - \fB\-\-ssl*\fR - .sp - Options that begin with --\fB\-\-ssl\fR -+\fB\-\-ssl\fR, - specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.10.4, \(lqSSL Command Options\(rq\&. - .RE -@@ -1481,7 +1648,7 @@ The XML output also uses an XML namespace, as shown here: - .RS 4 - .\} - .nf --shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR -+shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR - - - -@@ -3395,16 +3562,16 @@ statements that probably need to examine more than 1,000,000 row combinations\&. - .RE - .PP - To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the --\fB\-\-select_limit\fR -+\fB\-\-select\-limit\fR - and --\fB\-\-max_join_size\fR -+\fB\-\-max\-join\-size\fR - options: - .sp - .if n \{\ - .RS 4 - .\} - .nf --shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR -+shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR - .fi - .if n \{\ - .RE -diff --git a/man/mysql_config.1 b/man/mysql_config.1 -index 5bd4e5b..e7e11db 100644 ---- a/man/mysql_config.1 -+++ b/man/mysql_config.1 -@@ -174,6 +174,22 @@ The default TCP/IP port number, defined when configuring MySQL\&. - .sp - .RS 4 - .ie n \{\ -+.\" mysql_config: variable option -+.\" variable option: mysql_config -+\fB\-\-variable=VAR\fR -+.sp -+Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of -+`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -diff --git a/man/mysqladmin.1 b/man/mysqladmin.1 -index d1a1020..111715e 100644 ---- a/man/mysqladmin.1 -+++ b/man/mysqladmin.1 -@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: connect-timeout option -+.\" connect-timeout option: mysqladmin -+\fB\-\-connect-timeout=\fR\fB\fItimeout\fR\fR -+.sp -+Equivalent to \fB\-\-connect_timeout\fR, see the end of this section\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: compress option - .\" compress option: mysqladmin - \fB\-\-compress\fR, -@@ -729,6 +744,37 @@ Print debugging information and memory and CPU usage statistics when the program - .sp - The client\-side authentication plugin to use\&. See - Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. -+.\" mysqladmin: defaults-extra-file option -+.\" defaults-extra-file option: mysqladmin -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqladmin: defaults-file option -+.\" defaults-file option: mysqladmin -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RE - .sp - .RS 4 -@@ -789,6 +835,21 @@ command\&. With multiple commands, continue even if an error occurs\&. - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -+.\" mysqladmin: no-defaults option -+.\" no-defaults option: mysqladmin -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .el \{\ - .sp -1 - .IP \(bu 2.3 -@@ -887,6 +948,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guidelines for Password Security\(rq\&. You can - On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. - .RE - .sp -+.\" mysqladmin: print-defaults option -+.\" print-defaults option: mysqladmin -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -967,6 +1043,21 @@ command\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: shutdown-timeout option -+.\" shutdown-timeout option: mysqladmin -+\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR -+.sp -+Equivalent of \fB\-\-shutdown_timeout\fR, see the end of this section\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: secure-auth option - .\" secure-auth option: mysqladmin - \fB\-\-secure\-auth\fR -diff --git a/man/mysqlbinlog.1 b/man/mysqlbinlog.1 -index eead304..8e30383 100644 ---- a/man/mysqlbinlog.1 -+++ b/man/mysqlbinlog.1 -@@ -629,6 +629,7 @@ Do not display any of the groups listed in the - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -743,6 +744,22 @@ or any other MySQL program\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlbinlog: open-files-limit option -+.\" open-files-limit option: mysqlbinlog -+\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR -+.sp -+Sets the open_files_limit variable, which is used to reserve file descriptors for -+\fBmysqlbinlog\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlbinlog: login-path option - .\" login-path option: mysqlbinlog - \fB\-\-login\-path=\fR\fB\fIname\fR\fR -diff --git a/man/mysqlcheck.1 b/man/mysqlcheck.1 -index 8f1a6ce..2cddc1f 100644 ---- a/man/mysqlcheck.1 -+++ b/man/mysqlcheck.1 -@@ -456,6 +456,38 @@ Print some debugging information when the program exits\&. - .IP \(bu 2.3 - .\} - .\" mysqlcheck: debug-info option -+.\" mysqlcheck: defaults-extra-file option -+.\" defaults-extra-file option: mysqlcheck -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlcheck: defaults-file option -+.\" defaults-file option: mysqlcheck -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" debug-info option: mysqlcheck - \fB\-\-debug\-info\fR - .sp -@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. Only table names that contain special cha - .\} - .\" mysqlcheck: force option - .\" force option: mysqlcheck -+.\" mysqlcheck: no-defaults option -+.\" no-defaults option: mysqlcheck -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - \fB\-\-force\fR, - \fB\-f\fR - .sp -@@ -728,6 +775,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlcheck: print-defaults option -+.\" print-defaults option: mysqlcheck -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlcheck: port option - .\" port option: mysqlcheck - \fB\-\-port=\fR\fB\fIport_num\fR\fR, -diff --git a/man/mysqldump.1 b/man/mysqldump.1 -index 9f5dad4..d92f4e6 100644 ---- a/man/mysqldump.1 -+++ b/man/mysqldump.1 -@@ -1304,7 +1304,7 @@ statements that include column names\&. - .\} - .\" mysqldump: create-options option - .\" create-options option: mysqldump --\fB\-\-create\-options\fR -+\fB\-\-create\-options\fR, \fB\-a\fR - .sp - Include all MySQL\-specific table options in the - CREATE TABLE -@@ -1724,6 +1724,38 @@ Do not dump the given table, which must be specified using both the database and - \fB\-d\fR - .sp - Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the -+.\" mysqldump: defaults-extra-file option -+.\" defaults-extra-file option: mysqldump -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: defaults-file option -+.\" defaults-file option: mysqldump -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - CREATE TABLE - statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. - .RE -@@ -1975,6 +2007,36 @@ for information about selectively enabling or disabling a subset of the options - .IP \(bu 2.3 - .\} - .\" mysqldump: quick option -+.\" mysqldump: max-allowed-packet option -+.\" max-allowed-packet option: mysqldump -+\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR -+.sp -+Sets the maximum packet length to send to or recieve from server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: net-buffer-length option -+.\" net-buffer-length option: mysqldump -+\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR -+.sp -+Sets the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" quick option: mysqldump - \fB\-\-quick\fR, - \fB\-q\fR -@@ -2252,6 +2314,21 @@ is on by default\&. Thus you rarely if ever specify - .el \{\ - .sp -1 - .IP \(bu 2.3 -+.\" mysqldump: no-defaults option -+.\" no-defaults option: mysqldump -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\} - The - \fB\-\-compact\fR -@@ -2436,6 +2513,21 @@ is on by default\&.) - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: print-defaults option -+.\" print-defaults option: mysqldump -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must begiven as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - To reverse - \fB\-\-opt\fR - for all features except index disabling and table locking, use -diff --git a/man/mysqlimport.1 b/man/mysqlimport.1 -index 9d82dab..1d231d3 100644 ---- a/man/mysqlimport.1 -+++ b/man/mysqlimport.1 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlimport: defaults-extra-file option -+.\" defaults-extra-file option: mysqlimport -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlimport: defaults-file option -+.\" defaults-file option: mysqlimport -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: delete option - .\" delete option: mysqlimport - \fB\-\-delete\fR, --\fB\-D\fR -+\fB\-d\fR - .sp - Empty the table before importing the text file\&. - .RE -@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE Syntax\(rq\&. - Read input files locally from the client host\&. - .RE - .sp -+.\" mysqlimport: no-defaults option -+.\" no-defaults option: mysqlimport -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -535,6 +583,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlimport: print-defaults option -+.\" print-defaults option: mysqlimport -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: port option - .\" port option: mysqlimport - \fB\-\-port=\fR\fB\fIport_num\fR\fR, -diff --git a/man/mysqlshow.1 b/man/mysqlshow.1 -index 0634515..0cfbfd3 100644 ---- a/man/mysqlshow.1 -+++ b/man/mysqlshow.1 -@@ -173,7 +173,7 @@ This option is supported beginning with MySQL 5\&.6\&.1\&. - .\} - .\" mysqlshow: character-sets-dir option - .\" character-sets-dir option: mysqlshow --\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR -+\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, \fB\-c\fR - .sp - The directory where character sets are installed\&. See - Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. - .\} - .el \{\ - .sp -1 -+.\" mysqlshow: defaults-extra-file option -+.\" defaults-extra-file option: mysqlshow -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlshow: defaults-file option -+.\" defaults-file option: mysqlshow -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .IP \(bu 2.3 - .\} - .\" mysqlshow: default-auth option -@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2\&. - Connect to the MySQL server on the given host\&. - .RE - .sp -+.\" mysqlshow: no-defaults option -+.\" no-defaults option: mysqlshow -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -429,6 +477,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlshow: print-defaults option -+.\" print-defaults option: mysqlshow -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlshow: port option - .\" port option: mysqlshow - \fB\-\-port=\fR\fB\fIport_num\fR\fR, -diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 -index 7c4d4e7..85a5168 100644 ---- a/man/mysqlslap.1 -+++ b/man/mysqlslap.1 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2\&. - .el \{\ - .sp -1 - .IP \(bu 2.3 -+.\" mysqlslap: defaults-extra-file option -+.\" defaults-extra-file option: mysqlslap -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: defaults-file option -+.\" defaults-file option: mysqlslap -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\} - .\" mysqlslap: delimiter option - .\" delimiter option: mysqlslap -@@ -584,6 +616,37 @@ Section\ \&6.3.8.7, \(lqThe Cleartext Client-Side Authentication Plugin\(rq\&.) - \fB\-e \fR\fB\fIengine_name\fR\fR - .sp - The storage engine to use for creating tables\&. -+.\" mysqlslap: no-defaults option -+.\" no-defaults option: mysqlslap -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: no-drop option -+.\" no-drop option: mysqlslap -+\fB\-\-no\-drop\fR -+.sp -+Do not drop the schema after the test\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RE - .sp - .RS 4 -@@ -822,6 +885,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlslap: print-defaults option -+.\" print-defaults option: mysqlslap -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlslap: port option - .\" port option: mysqlslap - \fB\-\-port=\fR\fB\fIport_num\fR\fR, diff --git a/community-mysql.spec b/community-mysql.spec index b37edef..5a64f0c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -119,7 +119,6 @@ Patch10: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch -Patch54: %{pkgnamepatch}-man-pages.patch Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch Patch56: %{pkgnamepatch}-pluginerrmsg.patch Patch57: %{pkgnamepatch}-5.6.19-gcc49-aarch64-opt.patch @@ -391,7 +390,6 @@ the MySQL sources. %patch51 -p1 %patch52 -p1 %patch53 -p1 -%patch54 -p1 %patch55 -p1 %patch56 -p1 %patch57 -p1 @@ -945,6 +943,7 @@ fi - Expired certs patch now obsolete - Fixed changelog - Refreshed file contents patch +- Man pages fixed upstream - Fix typo in server.cnf.in * Mon Jan 26 2015 Honza Horak - 5.6.22-6 From a760efc9b3ebd00a514d97e8b91ed19917f566d3 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 12:32:53 +0100 Subject: [PATCH 323/616] Add comment into community-mysql-5.6.16-mysql-install.patch about its purpose --- community-mysql-5.6.16-mysql-install.patch | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 232687d..5efc4eb 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -1,3 +1,10 @@ +We have, for security hardening reasons, changed upstream sources to never +create the test database in 5.7. This patch is a backport from 5.7. + +The patch in Fedora is the same that we apply in our own repos. Debian and +Ubuntu are also skipping creation of the test database, so we're trying +to align across distros in this issue. + diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 1fa5164..4aa49ca 100644 --- a/scripts/mysql_install_db.pl.in From d79b2f1f8f003592104d3dc41ba9ceee11ac8472 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 13:16:31 +0100 Subject: [PATCH 324/616] Expand paths in perl scripts in mysql-test Conflicts: community-mysql.spec --- community-mysql-sharedir.patch | 22 ++++++++++++++++++---- community-mysql.spec | 5 ++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 0311bfc..19f0b33 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -6,7 +6,7 @@ diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql- -my @share_locations= ("share/mysql", "sql/share", "share"); -+my @share_locations= ("share/community-mysql", "sql/share", "share"); ++my @share_locations= ("@INSTALL_MYSQLSHAREDIR@", "sql/share", "share"); sub get_basedir { @@ -18,12 +18,12 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m # Look for language files and charsetsdir, use same share - $path_language= mtr_path_exists("$bindir/share/mysql", -+ $path_language= mtr_path_exists("$bindir/share/community-mysql", ++ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/sql/share", "$bindir/share"); my $path_share= $path_language; - $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets", -+ $path_charsetsdir = mtr_path_exists("$basedir/share/community-mysql/charsets", ++ $path_charsetsdir = mtr_path_exists("$basedir/@INSTALL_MYSQLSHAREDIR@/charsets", "$basedir/sql/share/charsets", "$basedir/share/charsets"); @@ -32,7 +32,21 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m my $path_sql= my_find_file($install_basedir, - ["mysql", "sql/share", "share/mysql", -+ ["mysql", "sql/share", "share/community-mysql", ++ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@", "share", "scripts"], "mysql_system_tables.sql", NOT_REQUIRED); +diff -up mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir mysql-5.6.23/mysql-test/CMakeLists.txt +--- mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir 2015-01-19 14:48:31.000000000 +0100 ++++ mysql-5.6.23/mysql-test/CMakeLists.txt 2015-02-23 13:11:58.358488693 +0100 +@@ -33,6 +33,10 @@ ENDIF() + + + ++# Expand some paths in the perl scripts correctly ++CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY) ++CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY) ++ + IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + # Enable running mtr from build directory + CONFIGURE_FILE( diff --git a/community-mysql.spec b/community-mysql.spec index 5a64f0c..d3c599e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -74,7 +74,7 @@ Name: community-mysql Version: 5.6.23 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -937,6 +937,9 @@ fi %endif %changelog +* Mon Feb 23 2015 Honza Horak - 5.6.23-3 +- Expand paths in perl scripts in mysql-test + * Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 - Update to MySQL 5.6.23, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-23.html From fbbcbd4fef782435635c2da4b1bbb9d95807aedb Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 13:38:37 +0100 Subject: [PATCH 325/616] Use correct path in install_db script warning --- community-mysql-paths.patch | 99 +++++++++++++++++++++---------------- community-mysql.spec | 1 + 2 files changed, 57 insertions(+), 43 deletions(-) diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 200aa3e..d406b96 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,9 +4,9 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 -diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql_plugin.c ---- mysql-5.6.19/client/mysql_plugin.c.cmakepaths 2014-05-06 12:45:57.000000000 +0200 -+++ mysql-5.6.19/client/mysql_plugin.c 2014-07-25 13:12:36.991896193 +0200 +diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_plugin.c +--- mysql-5.6.23/client/mysql_plugin.c.hardpaths 2015-01-19 14:48:30.000000000 +0100 ++++ mysql-5.6.23/client/mysql_plugin.c 2015-02-23 13:34:21.328484658 +0100 @@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); static int build_bootstrap_file(char *operation, char *bootstrap); static int dump_bootstrap_file(char *bootstrap_file); @@ -89,9 +89,29 @@ diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql /** Locate the tool and form tool path. -diff -up mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths mysql-5.6.19/mysys_ssl/my_default.cc ---- mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths 2014-05-06 12:45:58.000000000 +0200 -+++ mysql-5.6.19/mysys_ssl/my_default.cc 2014-07-25 13:19:12.587624249 +0200 +diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/install_layout.cmake +--- mysql-5.6.23/cmake/install_layout.cmake.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/cmake/install_layout.cmake 2015-02-23 13:34:21.330484657 +0100 +@@ -94,7 +94,7 @@ IF(UNIX) + " Choose between ${VALID_INSTALL_LAYOUTS}" ) + ENDIF() + +- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" ++ SET(SYSCONFDIR "/etc" + CACHE PATH "config directory (for my.cnf)") + MARK_AS_ADVANCED(SYSCONFDIR) + ENDIF() +@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE + SET(INSTALL_BINDIR_RPM "bin") + SET(INSTALL_SBINDIR_RPM "sbin") + SET(INSTALL_SCRIPTDIR_RPM "bin") ++SET(INSTALL_SYSCONFDIR_RPM "/etc") + # + IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + SET(INSTALL_LIBDIR_RPM "lib64") +diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/my_default.cc +--- mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/mysys_ssl/my_default.cc 2015-02-23 13:34:21.329484658 +0100 @@ -1389,12 +1389,12 @@ static const char **init_default_directo #else @@ -108,9 +128,21 @@ diff -up mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths mysql-5.6.19/mysys_ssl/ #endif /* DEFAULT_SYSCONFDIR */ #endif -diff -up mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths mysql-5.6.19/scripts/mysqlaccess.sh ---- mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 -+++ mysql-5.6.19/scripts/mysqlaccess.sh 2014-07-25 13:12:36.995896200 +0200 +diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMakeLists.txt +--- mysql-5.6.23/scripts/CMakeLists.txt.hardpaths 2015-02-23 13:34:21.325484657 +0100 ++++ mysql-5.6.23/scripts/CMakeLists.txt 2015-02-23 13:34:21.330484657 +0100 +@@ -219,7 +219,7 @@ INSTALL_SCRIPT( + ) + + SET(prefix "${CMAKE_INSTALL_PREFIX}") +-SET(sysconfdir ${prefix}) ++SET(sysconfdir ${SYSCONFDIR}) + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) + SET(scriptdir ${prefix}/${INSTALL_BINDIR}) +diff -up mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths mysql-5.6.23/scripts/mysqlaccess.sh +--- mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/scripts/mysqlaccess.sh 2015-02-23 13:34:21.329484658 +0100 @@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); elsif (-f "@sysconfdir@/$script_conf") { require "@sysconfdir@/$script_conf"; @@ -129,9 +161,9 @@ diff -up mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths mysql-5.6.19/scripts/mys MergeConfigFile("$dir/.my.cnf"); } -diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/mysqld_multi.sh ---- mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 -+++ mysql-5.6.19/scripts/mysqld_multi.sh 2014-07-25 13:12:36.996896202 +0200 +diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mysqld_multi.sh +--- mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/scripts/mysqld_multi.sh 2015-02-23 13:34:21.329484658 +0100 @@ -573,9 +573,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once @@ -143,34 +175,15 @@ diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/my ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), $opt{'extra-file'}, ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); ---- mysql-5.6.19/cmake/install_layout.cmake.cmakepaths 2014-07-25 14:21:56.063132378 +0200 -+++ mysql-5.6.19/cmake/install_layout.cmake 2014-07-25 14:25:46.894644591 +0200 -@@ -94,7 +94,7 @@ IF(UNIX) - " Choose between ${VALID_INSTALL_LAYOUTS}" ) - ENDIF() - -- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" -+ SET(SYSCONFDIR "/etc" - CACHE PATH "config directory (for my.cnf)") - MARK_AS_ADVANCED(SYSCONFDIR) - ENDIF() -@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE - SET(INSTALL_BINDIR_RPM "bin") - SET(INSTALL_SBINDIR_RPM "sbin") - SET(INSTALL_SCRIPTDIR_RPM "bin") -+SET(INSTALL_SYSCONFDIR_RPM "/etc") - # - IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - SET(INSTALL_LIBDIR_RPM "lib64") -diff -up mysql-5.6.20/scripts/CMakeLists.txt.pathsmore mysql-5.6.20/scripts/CMakeLists.txt ---- mysql-5.6.20/scripts/CMakeLists.txt.pathsmore 2014-08-05 16:41:28.900098862 +0200 -+++ mysql-5.6.20/scripts/CMakeLists.txt 2014-08-05 16:41:52.474177142 +0200 -@@ -228,7 +228,7 @@ INSTALL_SCRIPT( - ) - - SET(prefix "${CMAKE_INSTALL_PREFIX}") --SET(sysconfdir ${prefix}) -+SET(sysconfdir ${SYSCONFDIR}) - SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) - SET(scriptdir ${prefix}/${INSTALL_BINDIR}) +diff -up mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths mysql-5.6.23/scripts/mysql_install_db.pl.in +--- mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths 2015-02-23 13:34:37.995485386 +0100 ++++ mysql-5.6.23/scripts/mysql_install_db.pl.in 2015-02-23 13:35:15.505487028 +0100 +@@ -922,7 +922,7 @@ if ( open(PIPE, "| $mysqld_install_cmd_l + "The new default config file was created as $copy_cfg_file,", + "please compare it with your file and take the changes you need."); + } +- foreach my $cfg ( "/etc/my.$cnfext", "/etc/mysql/my.$cnfext" ) ++ foreach my $cfg ( "@SYSCONFDIR@/my.$cnfext", "@SYSCONFDIR@/mysql/my.$cnfext" ) + { + check_sys_cfg_file ($opt, $cfg); + } diff --git a/community-mysql.spec b/community-mysql.spec index d3c599e..3e6dba6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -939,6 +939,7 @@ fi %changelog * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test +- Use correct path in install_db script warning * Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 - Update to MySQL 5.6.23, for various fixes described at From 4640877fbc09d24bb9a01bc01e2dba8d3bced515 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 14:40:08 +0100 Subject: [PATCH 326/616] Use --no-defaults when checking server status before starting --- community-mysql.spec | 1 + mysql.init.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3e6dba6..df3cf6d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -940,6 +940,7 @@ fi * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test - Use correct path in install_db script warning +- Use --no-defaults when checking server status before starting * Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 - Update to MySQL 5.6.23, for various fixes described at diff --git a/mysql.init.in b/mysql.init.in index be34fbf..475fa72 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -53,7 +53,7 @@ start(){ MYSQLDRUNNING=1 fi fi - RESPONSE=`@bindir@/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then # already running, do nothing action $"Starting $prog: " /bin/true From 4e1363278b976cb1cf00315ce7239d03f59fc4d0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 15:59:39 +0100 Subject: [PATCH 327/616] Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html Conflicts: community-mysql.spec --- community-mysql.spec | 19 ++++++++++++++----- mysql.init.in | 4 ++-- server.cnf.in | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index df3cf6d..f83186e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -52,12 +52,16 @@ %global daemondir %{_sysconfdir}/rc.d/init.d %endif %global daemon_name mysqld +%global daemon_no_prefix mysqld + +# Directory for storing pid file +%global pidfiledir %{_localstatedir}/run/%{daemon_name} # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log -%global logfile %{logfiledir}/%{daemon_name}.log +%global logfile %{logfiledir}/%{daemon_no_prefix}.log # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql @@ -74,7 +78,7 @@ Name: community-mysql Version: 5.6.23 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -459,8 +463,9 @@ cmake .. \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ + -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ -DLOG_LOCATION="%{logfile}" \ - -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ + -DPID_FILE_DIR="%{pidfiledir}" \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ @@ -527,7 +532,7 @@ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} -mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} +mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} @@ -895,7 +900,7 @@ fi %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} +%attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -937,6 +942,10 @@ fi %endif %changelog +* Tue Mar 03 2015 Honza Horak - 5.6.23-4 +- Do not use scl prefix more than once in paths + Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html + * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test - Use correct path in install_db script warning diff --git a/mysql.init.in b/mysql.init.in index 475fa72..3dfa55a 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -7,7 +7,7 @@ # description: MySQL database server. # processname: mysqld # config: @sysconfdir@/my.cnf -# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NAME@.pid +# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid ### BEGIN INIT INFO # Provides: mysqld # Required-Start: $local_fs $remote_fs $network $named $syslog $time @@ -36,7 +36,7 @@ MYGROUP=mysql # Edit the following file in order to re-write some of the environment # variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec -[ -e @sysconfdir@/sysconfig/$prog ] && . @sysconfdir@/sysconfig/$prog +[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ lockfile=/var/lock/subsys/$prog diff --git a/server.cnf.in b/server.cnf.in index 2c0572e..e25b599 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -17,7 +17,7 @@ datadir=@MYSQL_DATADIR@ socket=@MYSQL_UNIX_ADDR@ log-error=@LOG_LOCATION@ -pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid +pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid # this is only for embedded server From e7792a52dcd7e6b3bd8a5919fd65034cd7268bf8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 16:02:11 +0100 Subject: [PATCH 328/616] Check permissions when starting service on RHEL-6 Resolves: #1194699 --- community-mysql.spec | 2 ++ mysql.init.in | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index f83186e..d5cc07a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -945,6 +945,8 @@ fi * Tue Mar 03 2015 Honza Horak - 5.6.23-4 - Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html +- Check permissions when starting service on RHEL-6 + Resolves: #1194699 * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test diff --git a/mysql.init.in b/mysql.init.in index 3dfa55a..e9a34c2 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -45,6 +45,13 @@ source "@libexecdir@/mysql-scripts-common" start(){ [ -x $exec ] || exit 5 + + # check permissions + if ! touch $(dirname $socketfile) &>/dev/null ; then + action $"Starting $prog: " /bin/false + return 4 + fi + # check to see if it's already running MYSQLDRUNNING=0 if [ -f "$pidfile" ]; then From 3ad7495110f990b3020085badf11998cd7d03221 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Feb 2015 21:41:01 +0100 Subject: [PATCH 329/616] Wait for daemon ends Related: #1072958 Conflicts: community-mysql.spec mysql-scl-env-check.patch --- community-mysql-scripts.patch | 3 ++- community-mysql.spec | 7 ++++++- mysql-wait-stop.sh | 36 +++++++++++++++++++++++++++++++++++ mysql.service.in | 1 + 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 mysql-wait-stop.sh diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 4044867..e7874ce 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,33 @@ ELSE() +@@ -381,6 +381,34 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -12,6 +12,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql.service + mysql-prepare-db-dir + mysql-wait-ready ++ mysql-wait-stop + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common diff --git a/community-mysql.spec b/community-mysql.spec index d5cc07a..d046ed3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -100,6 +100,7 @@ Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh +Source17: mysql-wait-stop.sh Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc @@ -440,7 +441,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} %{SOURCE31} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -553,6 +554,7 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready +install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common @@ -894,6 +896,7 @@ fi %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-wait-ready +%{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common @@ -947,6 +950,8 @@ fi Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html - Check permissions when starting service on RHEL-6 Resolves: #1194699 +- Wait for daemon ends + Related: #1072958 * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test diff --git a/mysql-wait-stop.sh b/mysql-wait-stop.sh new file mode 100644 index 0000000..62bde30 --- /dev/null +++ b/mysql-wait-stop.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +# This script waits for mysqld to be properly stopped +# (which can be many seconds in some large load). +# Running this as ExecStopPost is useful so that starting which is done +# as part of restart doesn't see the former process still running. + +# Wait for the server to properly end the main server +ret=0 +TIMEOUT=60 +SECONDS=0 + +if ! [ -f "$pidfile" ]; then + exit 0 +fi + +MYSQLPID=`cat "$pidfile" 2>/dev/null` +if [ -z "$MYSQLPID" ] ; then + exit 2 +fi + +while /bin/true; do + # Check process still exists + if ! [ -d "/proc/${MYSQLPID}" ] ; then + break + fi + if [ $SECONDS -gt $TIMEOUT ] ; then + ret=3 + break + fi + sleep 1 +done + +exit $ret diff --git a/mysql.service.in b/mysql.service.in index 2f09a0a..b9adee8 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -42,6 +42,7 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStopPost=@libexecdir@/mysql-wait-stop # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From cd899439bda8ff30f6a960040e9f228ea393b55c Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 22:42:49 +0100 Subject: [PATCH 330/616] Do not include symlink to libmysqlclient if not shipping the library --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index d046ed3..6d75300 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -605,6 +605,8 @@ cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqlt cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 %if %{without clibrary} +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif @@ -914,8 +916,10 @@ fi %{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 +%if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%endif %{_mandir}/man1/mysql_config.1* %endif From 1dec6496a547c60fb0d28a1d6272001789d6c946 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 22:45:19 +0100 Subject: [PATCH 331/616] Require -libs only when it is build --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6d75300..ffc1b0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -289,7 +289,7 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{sameevr} +%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel%{?_isa} %{?with_conflicts:Conflicts: mariadb-devel} From 31c3fe99dea8979d6f834e4970d4eb4fcc81e68b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 9 Apr 2015 06:59:20 +0200 Subject: [PATCH 332/616] Update to 5.6.24 --- .gitignore | 1 + ...unity-mysql-5.6.19-gcc49-aarch64-opt.patch | 58 +++++++++---------- community-mysql.spec | 7 ++- sources | 2 +- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index d6dcc65..5bd14b2 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /mysql-5.6.21.tar.gz /mysql-5.6.22.tar.gz /mysql-5.6.23.tar.gz +/mysql-5.6.24.tar.gz diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch index ed3e295..de94a31 100644 --- a/community-mysql-5.6.19-gcc49-aarch64-opt.patch +++ b/community-mysql-5.6.19-gcc49-aarch64-opt.patch @@ -1,8 +1,7 @@ -diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc -index 405364a..ed3bef1 100644 ---- a/storage/perfschema/pfs_account.cc -+++ b/storage/perfschema/pfs_account.cc -@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_key *key, +diff -up mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 mysql-5.6.24/storage/perfschema/pfs_account.cc +--- mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_account.cc 2015-04-09 06:53:12.383168058 +0200 +@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_ key->m_key_length= ptr - &key->m_hash_key[0]; } @@ -16,30 +15,28 @@ index 405364a..ed3bef1 100644 PFS_account * find_or_create_account(PFS_thread *thread, const char *username, uint username_length, -diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc -index addfac1..68e76cd 100644 ---- a/storage/perfschema/pfs_digest.cc -+++ b/storage/perfschema/pfs_digest.cc -@@ -168,6 +168,14 @@ static LF_PINS* get_digest_hash_pins(PFS_thread *thread) +diff -up mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 mysql-5.6.24/storage/perfschema/pfs_digest.cc +--- mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 2015-04-09 06:53:12.386168058 +0200 ++++ mysql-5.6.24/storage/perfschema/pfs_digest.cc 2015-04-09 06:56:20.385213275 +0200 +@@ -170,6 +170,14 @@ static LF_PINS* get_digest_hash_pins(PFS return thread->m_digest_hash_pins; } +#if defined(__aarch64__) +PFS_statement_stat* +find_or_create_digest(PFS_thread *thread, -+ PSI_digest_storage *digest_storage, ++ const sql_digest_storage *digest_storage, + const char *schema_name, + uint schema_name_length) __attribute__((optimize (1))); +#endif + PFS_statement_stat* find_or_create_digest(PFS_thread *thread, - PSI_digest_storage *digest_storage, -diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc -index 0c6f5cf..fc624d7 100644 ---- a/storage/perfschema/pfs_host.cc -+++ b/storage/perfschema/pfs_host.cc -@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *key, + const sql_digest_storage *digest_storage, +diff -up mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 mysql-5.6.24/storage/perfschema/pfs_host.cc +--- mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_host.cc 2015-04-09 06:53:12.386168058 +0200 +@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *k key->m_key_length= ptr - &key->m_hash_key[0]; } @@ -51,11 +48,10 @@ index 0c6f5cf..fc624d7 100644 PFS_host *find_or_create_host(PFS_thread *thread, const char *hostname, uint hostname_length) { -diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc -index cf0e6fd..8682e04 100644 ---- a/storage/perfschema/pfs_instr.cc -+++ b/storage/perfschema/pfs_instr.cc -@@ -1149,6 +1149,11 @@ LF_PINS* get_filename_hash_pins(PFS_thread *thread) +diff -up mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr.cc +--- mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_instr.cc 2015-04-09 06:53:12.388168058 +0200 +@@ -1199,6 +1199,11 @@ LF_PINS* get_filename_hash_pins(PFS_thre @param create create a file instance if none found @return a file instance, or NULL */ @@ -67,11 +63,10 @@ index cf0e6fd..8682e04 100644 PFS_file* find_or_create_file(PFS_thread *thread, PFS_file_class *klass, const char *filename, uint len, bool create) -diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc -index 4d73396..139a2db 100644 ---- a/storage/perfschema/pfs_instr_class.cc -+++ b/storage/perfschema/pfs_instr_class.cc -@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share) +diff -up mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr_class.cc +--- mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_instr_class.cc 2015-04-09 06:53:12.389168058 +0200 +@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share @param share table share @return a table share, or NULL */ @@ -83,11 +78,10 @@ index 4d73396..139a2db 100644 PFS_table_share* find_or_create_table_share(PFS_thread *thread, bool temporary, const TABLE_SHARE *share) -diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc -index 9f53702..2f418a7 100644 ---- a/storage/perfschema/pfs_user.cc -+++ b/storage/perfschema/pfs_user.cc -@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *key, +diff -up mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 mysql-5.6.24/storage/perfschema/pfs_user.cc +--- mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_user.cc 2015-04-09 06:53:12.389168058 +0200 +@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *k key->m_key_length= ptr - &key->m_hash_key[0]; } diff --git a/community-mysql.spec b/community-mysql.spec index ffc1b0a..7d0f7f2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,8 +77,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.23 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.6.24 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -949,6 +949,9 @@ fi %endif %changelog +* Thu Apr 09 2015 Honza Horak - 5.6.24-1 +- Update to 5.6.24 + * Tue Mar 03 2015 Honza Horak - 5.6.23-4 - Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html diff --git a/sources b/sources index 13cbdde..81ca628 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -60344f26eae136a267a0277407926e79 mysql-5.6.23.tar.gz +68e1911f70eb1b02170d4f96bf0f0f88 mysql-5.6.24.tar.gz From dff0c67dd2ed5655e8d363f23f48e1fa19b89151 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 10 Apr 2015 13:09:48 +0200 Subject: [PATCH 333/616] Fix for big integers on gcc5 --- community-mysql-gcc5.patch | 60 ++++++++++++++++++++++++++++++++++++++ community-mysql.spec | 7 ++++- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 community-mysql-gcc5.patch diff --git a/community-mysql-gcc5.patch b/community-mysql-gcc5.patch new file mode 100644 index 0000000..679f6d8 --- /dev/null +++ b/community-mysql-gcc5.patch @@ -0,0 +1,60 @@ +commit b377595b246be1de01c37f1d0269b5821e19b3fb +Author: Tor Didriksen +Date: Wed Apr 8 16:53:55 2015 +0200 + + Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD + + Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow. + Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's + (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7) + +diff --git a/strings/decimal.c b/strings/decimal.c +index 0d47241..ccb4a6b 100644 +--- a/strings/decimal.c ++++ b/strings/decimal.c +@@ -1064,26 +1064,34 @@ int double2decimal(double from, decimal_t *to) + + static int ull2dec(ulonglong from, decimal_t *to) + { +- int intg1, error=E_DEC_OK; +- ulonglong x=from; ++ int intg1; ++ int error= E_DEC_OK; ++ ulonglong x= from; + dec1 *buf; + + sanity(to); + +- for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) ; ++ if (from == 0) ++ intg1= 1; ++ else ++ { ++ /* Count the number of decimal_digit_t's we need. */ ++ for (intg1= 0; from != 0; intg1++, from/= DIG_BASE) ++ ; ++ } + if (unlikely(intg1 > to->len)) + { +- intg1=to->len; +- error=E_DEC_OVERFLOW; ++ intg1= to->len; ++ error= E_DEC_OVERFLOW; + } +- to->frac=0; +- to->intg=intg1*DIG_PER_DEC1; ++ to->frac= 0; ++ to->intg= intg1 * DIG_PER_DEC1; + +- for (buf=to->buf+intg1; intg1; intg1--) ++ for (buf= to->buf + intg1; intg1; intg1--) + { +- ulonglong y=x/DIG_BASE; +- *--buf=(dec1)(x-y*DIG_BASE); +- x=y; ++ ulonglong y= x / DIG_BASE; ++ *--buf=(dec1)(x - y * DIG_BASE); ++ x= y; + } + return error; + } diff --git a/community-mysql.spec b/community-mysql.spec index 7d0f7f2..6712999 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 5.6.24 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -119,6 +119,7 @@ Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch +Patch11: %{pkgnamepatch}-gcc5.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -392,6 +393,7 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 @@ -949,6 +951,9 @@ fi %endif %changelog +* Fri Apr 10 2015 Honza Horak - 5.6.24-2 +- Fix for big integers on gcc5 + * Thu Apr 09 2015 Honza Horak - 5.6.24-1 - Update to 5.6.24 From 5a01b19e5a39d2cc3f7fd565698edd3369885e42 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Thu, 23 Apr 2015 19:17:35 +0200 Subject: [PATCH 334/616] gcc5 makes gcc49-aarch64 patch obsolete (and wrong) --- ...unity-mysql-5.6.19-gcc49-aarch64-opt.patch | 96 ------------------- community-mysql.spec | 7 +- 2 files changed, 4 insertions(+), 99 deletions(-) delete mode 100644 community-mysql-5.6.19-gcc49-aarch64-opt.patch diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch deleted file mode 100644 index de94a31..0000000 --- a/community-mysql-5.6.19-gcc49-aarch64-opt.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff -up mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 mysql-5.6.24/storage/perfschema/pfs_account.cc ---- mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_account.cc 2015-04-09 06:53:12.383168058 +0200 -@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_ - key->m_key_length= ptr - &key->m_hash_key[0]; - } - -+#if defined(__aarch64__) -+PFS_account * -+find_or_create_account(PFS_thread *thread, -+ const char *username, uint username_length, -+ const char *hostname, uint hostname_length) __attribute__((optimize (1))); -+#endif -+ - PFS_account * - find_or_create_account(PFS_thread *thread, - const char *username, uint username_length, -diff -up mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 mysql-5.6.24/storage/perfschema/pfs_digest.cc ---- mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 2015-04-09 06:53:12.386168058 +0200 -+++ mysql-5.6.24/storage/perfschema/pfs_digest.cc 2015-04-09 06:56:20.385213275 +0200 -@@ -170,6 +170,14 @@ static LF_PINS* get_digest_hash_pins(PFS - return thread->m_digest_hash_pins; - } - -+#if defined(__aarch64__) -+PFS_statement_stat* -+find_or_create_digest(PFS_thread *thread, -+ const sql_digest_storage *digest_storage, -+ const char *schema_name, -+ uint schema_name_length) __attribute__((optimize (1))); -+#endif -+ - PFS_statement_stat* - find_or_create_digest(PFS_thread *thread, - const sql_digest_storage *digest_storage, -diff -up mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 mysql-5.6.24/storage/perfschema/pfs_host.cc ---- mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_host.cc 2015-04-09 06:53:12.386168058 +0200 -@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *k - key->m_key_length= ptr - &key->m_hash_key[0]; - } - -+#if defined(__aarch64__) -+PFS_host *find_or_create_host(PFS_thread *thread, -+ const char *hostname, uint hostname_length) __attribute__((optimize (1))); -+#endif -+ - PFS_host *find_or_create_host(PFS_thread *thread, - const char *hostname, uint hostname_length) - { -diff -up mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr.cc ---- mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_instr.cc 2015-04-09 06:53:12.388168058 +0200 -@@ -1199,6 +1199,11 @@ LF_PINS* get_filename_hash_pins(PFS_thre - @param create create a file instance if none found - @return a file instance, or NULL - */ -+#if defined(__aarch64__) -+PFS_file* -+find_or_create_file(PFS_thread *thread, PFS_file_class *klass, -+ const char *filename, uint len, bool create) __attribute__((optimize (1))); -+#endif - PFS_file* - find_or_create_file(PFS_thread *thread, PFS_file_class *klass, - const char *filename, uint len, bool create) -diff -up mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr_class.cc ---- mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_instr_class.cc 2015-04-09 06:53:12.389168058 +0200 -@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share - @param share table share - @return a table share, or NULL - */ -+#if defined(__aarch64__) -+PFS_table_share* find_or_create_table_share(PFS_thread *thread, -+ bool temporary, -+ const TABLE_SHARE *share) __attribute__((optimize (1))); -+#endif - PFS_table_share* find_or_create_table_share(PFS_thread *thread, - bool temporary, - const TABLE_SHARE *share) -diff -up mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 mysql-5.6.24/storage/perfschema/pfs_user.cc ---- mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_user.cc 2015-04-09 06:53:12.389168058 +0200 -@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *k - key->m_key_length= ptr - &key->m_hash_key[0]; - } - -+#if defined(__aarch64__) -+PFS_user * -+find_or_create_user(PFS_thread *thread, -+ const char *username, uint username_length) __attribute__((optimize (1))); -+#endif -+ - PFS_user * - find_or_create_user(PFS_thread *thread, - const char *username, uint username_length) diff --git a/community-mysql.spec b/community-mysql.spec index 6712999..790b286 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 5.6.24 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -127,7 +127,6 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch Patch56: %{pkgnamepatch}-pluginerrmsg.patch -Patch57: %{pkgnamepatch}-5.6.19-gcc49-aarch64-opt.patch Patch70: %{pkgnamepatch}-5.6.13-major.patch BuildRequires: cmake @@ -399,7 +398,6 @@ the MySQL sources. %patch53 -p1 %patch55 -p1 %patch56 -p1 -%patch57 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -951,6 +949,9 @@ fi %endif %changelog +* Thu Apr 23 2015 Bjorn Munch - 5.6.24-3 +- gcc5 makes gcc49-aarch64 patch obsolete (and wrong) + * Fri Apr 10 2015 Honza Horak - 5.6.24-2 - Fix for big integers on gcc5 From c6553415d0ff645ee137846f927f77fb612f4d3b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 03:04:07 +0000 Subject: [PATCH 335/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 790b286..b358972 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 5.6.24 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -949,6 +949,9 @@ fi %endif %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 5.6.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Thu Apr 23 2015 Bjorn Munch - 5.6.24-3 - gcc5 makes gcc49-aarch64 patch obsolete (and wrong) From a66d4b2b4665a861ad35e632586b3db8fda6c661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 21 Jul 2015 09:50:40 +0200 Subject: [PATCH 336/616] Update to 5.6.25 --- .gitignore | 1 + community-mysql-gcc5.patch | 60 -------------------------------------- community-mysql.spec | 9 +++--- sources | 2 +- 4 files changed, 7 insertions(+), 65 deletions(-) delete mode 100644 community-mysql-gcc5.patch diff --git a/.gitignore b/.gitignore index 5bd14b2..9c8c433 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /mysql-5.6.22.tar.gz /mysql-5.6.23.tar.gz /mysql-5.6.24.tar.gz +/mysql-5.6.25.tar.gz diff --git a/community-mysql-gcc5.patch b/community-mysql-gcc5.patch deleted file mode 100644 index 679f6d8..0000000 --- a/community-mysql-gcc5.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit b377595b246be1de01c37f1d0269b5821e19b3fb -Author: Tor Didriksen -Date: Wed Apr 8 16:53:55 2015 +0200 - - Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD - - Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow. - Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's - (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7) - -diff --git a/strings/decimal.c b/strings/decimal.c -index 0d47241..ccb4a6b 100644 ---- a/strings/decimal.c -+++ b/strings/decimal.c -@@ -1064,26 +1064,34 @@ int double2decimal(double from, decimal_t *to) - - static int ull2dec(ulonglong from, decimal_t *to) - { -- int intg1, error=E_DEC_OK; -- ulonglong x=from; -+ int intg1; -+ int error= E_DEC_OK; -+ ulonglong x= from; - dec1 *buf; - - sanity(to); - -- for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) ; -+ if (from == 0) -+ intg1= 1; -+ else -+ { -+ /* Count the number of decimal_digit_t's we need. */ -+ for (intg1= 0; from != 0; intg1++, from/= DIG_BASE) -+ ; -+ } - if (unlikely(intg1 > to->len)) - { -- intg1=to->len; -- error=E_DEC_OVERFLOW; -+ intg1= to->len; -+ error= E_DEC_OVERFLOW; - } -- to->frac=0; -- to->intg=intg1*DIG_PER_DEC1; -+ to->frac= 0; -+ to->intg= intg1 * DIG_PER_DEC1; - -- for (buf=to->buf+intg1; intg1; intg1--) -+ for (buf= to->buf + intg1; intg1; intg1--) - { -- ulonglong y=x/DIG_BASE; -- *--buf=(dec1)(x-y*DIG_BASE); -- x=y; -+ ulonglong y= x / DIG_BASE; -+ *--buf=(dec1)(x - y * DIG_BASE); -+ x= y; - } - return error; - } diff --git a/community-mysql.spec b/community-mysql.spec index b358972..41550ce 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,8 +77,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.24 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.6.25 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -119,7 +119,6 @@ Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch -Patch11: %{pkgnamepatch}-gcc5.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -392,7 +391,6 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 @@ -949,6 +947,9 @@ fi %endif %changelog +* Tue Jul 21 2015 Jakub Dorňák - 5.6.25-1 +- Update to 5.6.25 + * Wed Jun 17 2015 Fedora Release Engineering - 5.6.24-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 81ca628..9161948 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -68e1911f70eb1b02170d4f96bf0f0f88 mysql-5.6.24.tar.gz +37664399c91021abe070faa700ecd0ed mysql-5.6.25.tar.gz From 85d0decd0bc423545de764744f372e5272887e35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 30 Jul 2015 13:20:21 +0200 Subject: [PATCH 337/616] Update to 5.6.26 --- .gitignore | 1 + community-mysql-dh1024.patch | 63 ------------------------------------ community-mysql.spec | 7 ++-- sources | 2 +- 4 files changed, 6 insertions(+), 67 deletions(-) delete mode 100644 community-mysql-dh1024.patch diff --git a/.gitignore b/.gitignore index 9c8c433..35f340c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /mysql-5.6.23.tar.gz /mysql-5.6.24.tar.gz /mysql-5.6.25.tar.gz +/mysql-5.6.26.tar.gz diff --git a/community-mysql-dh1024.patch b/community-mysql-dh1024.patch deleted file mode 100644 index 620ee0b..0000000 --- a/community-mysql-dh1024.patch +++ /dev/null @@ -1,63 +0,0 @@ -Change the DH key length from 512 to 1024 bits to meet minimum requirements -of FIPS 140-2. (In principle we could use the larger size only when FIPS -mode is on, but it doesn't seem worth the trouble.) - -The new parameter value was generated using "openssl dhparam -C 1024". - - -diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c ---- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/vio/viosslfactories.c 2012-11-15 11:19:38.575701435 -0500 -@@ -20,27 +20,32 @@ - static my_bool ssl_algorithms_added = FALSE; - static my_bool ssl_error_strings_loaded= FALSE; - --static unsigned char dh512_p[]= -+static unsigned char dh1024_p[]= - { -- 0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75, -- 0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F, -- 0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3, -- 0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12, -- 0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C, -- 0x47,0x74,0xE8,0x33, -+ 0xBF,0x5C,0xFA,0xD1,0xDD,0xBB,0xB3,0x0A,0x58,0x29,0x05,0xF5, -+ 0x7D,0x64,0xB2,0xE1,0xCE,0xE8,0xE0,0xE1,0x7A,0xB6,0xBC,0x5B, -+ 0x21,0x56,0xDF,0x2C,0x82,0x60,0xDC,0x31,0xCA,0x1E,0x02,0xFE, -+ 0xC4,0xE7,0x24,0x63,0x31,0xE4,0x67,0x1C,0x0B,0xFF,0x86,0x12, -+ 0x0D,0x2E,0xE6,0x35,0x0A,0x07,0x4F,0xE7,0x3F,0xDE,0xFE,0xF0, -+ 0x13,0x1C,0xA2,0x2B,0xF4,0xEE,0x2C,0x90,0x10,0x57,0x6B,0x2B, -+ 0xB9,0x1E,0x1B,0x47,0xB0,0x25,0xBF,0x45,0x86,0xDA,0x87,0x35, -+ 0x2C,0xF5,0x6A,0x41,0xA2,0x57,0xD8,0x16,0x5E,0x82,0x91,0x99, -+ 0x33,0xA0,0x8B,0x9D,0x34,0xCE,0x03,0x01,0x80,0x32,0x07,0x3B, -+ 0xF2,0x93,0xFC,0x3A,0x25,0xEC,0xB3,0xED,0x5C,0x4E,0x57,0xF2, -+ 0x3C,0x2E,0x0D,0xB1,0x59,0xA2,0x08,0x93, - }; - --static unsigned char dh512_g[]={ -+static unsigned char dh1024_g[]={ - 0x02, - }; - --static DH *get_dh512(void) -+static DH *get_dh1024(void) - { - DH *dh; - if ((dh=DH_new())) - { -- dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL); -- dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL); -+ dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL); -+ dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL); - if (! dh->p || ! dh->g) - { - DH_free(dh); -@@ -255,7 +260,7 @@ - } - - /* DH stuff */ -- dh=get_dh512(); -+ dh=get_dh1024(); - SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh); - DH_free(dh); - diff --git a/community-mysql.spec b/community-mysql.spec index 41550ce..d2b0591 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,7 +77,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.25 +Version: 5.6.26 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -115,7 +115,6 @@ Patch3: %{pkgnamepatch}-s390-tsc.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-cipherspec.patch Patch6: %{pkgnamepatch}-file-contents.patch -Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch @@ -387,7 +386,6 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 @@ -947,6 +945,9 @@ fi %endif %changelog +* Thu Jul 30 2015 Jakub Dorňák - 5.6.26-1 +- Update to 5.6.26 + * Tue Jul 21 2015 Jakub Dorňák - 5.6.25-1 - Update to 5.6.25 diff --git a/sources b/sources index 9161948..0562d0f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -37664399c91021abe070faa700ecd0ed mysql-5.6.25.tar.gz +733e1817c88c16fb193176e76f5b818f mysql-5.6.26.tar.gz From 4b29ada7b5a41df00a89799c1d925f1af1c61457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 30 Jul 2015 18:04:44 +0200 Subject: [PATCH 338/616] disable perfschema.global_read_lock on arm --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index d2b0591..5a20d13 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -415,6 +415,7 @@ rm -f t/ssl_8k_key-master.opt add_test 'perfschema.func_file_io : rh 741325' add_test 'perfschema.func_mutex : rh 741325' add_test 'perfschema.setup_objects : rh 741325' +add_test 'perfschema.global_read_lock : 77889' %endif # Archs with collation issues, bugs.mysql.com/46895 From 7a61daa818bf4dc68d58ff6fc968f79627cfce35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 1 Oct 2015 15:56:59 +0200 Subject: [PATCH 339/616] Update to 5.6.27 --- .gitignore | 1 + community-mysql.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 35f340c..83b41a1 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /mysql-5.6.24.tar.gz /mysql-5.6.25.tar.gz /mysql-5.6.26.tar.gz +/mysql-5.6.27.tar.gz diff --git a/community-mysql.spec b/community-mysql.spec index 5a20d13..c0903df 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,7 +77,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.26 +Version: 5.6.27 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -145,6 +145,7 @@ BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) @@ -946,6 +947,9 @@ fi %endif %changelog +* Thu Oct 1 2015 Jakub Dorňák - 5.6.27-1 +- Update to 5.6.27 + * Thu Jul 30 2015 Jakub Dorňák - 5.6.26-1 - Update to 5.6.26 diff --git a/sources b/sources index 0562d0f..16afe97 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -733e1817c88c16fb193176e76f5b818f mysql-5.6.26.tar.gz +7754df40bb5567b03b041ccb6b5ddffa mysql-5.6.27.tar.gz From 59da3ffa45f14b787fce5b20fb73c942e76318e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 23 Sep 2015 12:31:06 +0200 Subject: [PATCH 340/616] Update to 5.7.9 --- .gitignore | 1 + community-mysql-5.6.13-major.patch | 11 - community-mysql-5.6.16-libmysql-version.patch | 960 ------------------ community-mysql-5.7.9-major.patch | 11 + community-mysql-boost.patch | 160 +++ community-mysql-install-db-sharedir.patch | 38 - community-mysql-paths.patch | 83 +- community-mysql-pluginerrmsg.patch | 78 -- community-mysql-s390-tsc.patch | 30 +- community-mysql-scripts.patch | 14 +- community-mysql-sharedir.patch | 24 +- community-mysql-strmov.patch | 34 - community-mysql-test-openssl_1.patch | 23 + community-mysql.spec | 203 ++-- sources | 2 +- 15 files changed, 370 insertions(+), 1302 deletions(-) delete mode 100644 community-mysql-5.6.13-major.patch delete mode 100644 community-mysql-5.6.16-libmysql-version.patch create mode 100644 community-mysql-5.7.9-major.patch create mode 100644 community-mysql-boost.patch delete mode 100644 community-mysql-install-db-sharedir.patch delete mode 100644 community-mysql-pluginerrmsg.patch delete mode 100644 community-mysql-strmov.patch create mode 100644 community-mysql-test-openssl_1.patch diff --git a/.gitignore b/.gitignore index 83b41a1..fa5212b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /mysql-5.6.25.tar.gz /mysql-5.6.26.tar.gz /mysql-5.6.27.tar.gz +/mysql-5.7.9.tar.gz diff --git a/community-mysql-5.6.13-major.patch b/community-mysql-5.6.13-major.patch deleted file mode 100644 index 8d65acf..0000000 --- a/community-mysql-5.6.13-major.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mysql-5.6.13/cmake/mysql_version.cmake.orig 2013-08-15 13:48:26.177017731 +0200 -+++ mysql-5.6.13/cmake/mysql_version.cmake 2013-08-15 13:49:35.478949928 +0200 -@@ -17,7 +17,7 @@ - # Global constants, only to be changed between major releases. - # - --SET(SHARED_LIB_MAJOR_VERSION "18") -+SET(SHARED_LIB_MAJOR_VERSION "1018") - SET(SHARED_LIB_MINOR_VERSION "1") - SET(PROTOCOL_VERSION "10") - SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-5.6.16-libmysql-version.patch b/community-mysql-5.6.16-libmysql-version.patch deleted file mode 100644 index e16e65a..0000000 --- a/community-mysql-5.6.16-libmysql-version.patch +++ /dev/null @@ -1,960 +0,0 @@ -diff -rup old/libmysql/libmysql.c new/libmysql/libmysql.c ---- old/libmysql/libmysql.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/libmysql/libmysql.c 2014-01-14 12:10:27.148374504 +0100 -@@ -4898,3 +4898,612 @@ my_bool STDCALL mysql_read_query_result( - return (*mysql->methods->read_query_result)(mysql); - } - -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name) -+{ -+ return myodbc_remove_escape(mysql, name); -+} -+SYM_16(myodbc_remove_escape); -+ -+ -+my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql) -+{ -+ return mysql_affected_rows(mysql); -+} -+SYM_16(mysql_affected_rows); -+ -+ -+my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode) -+{ -+ return mysql_autocommit(mysql, auto_mode); -+} -+SYM_16(mysql_autocommit); -+ -+ -+my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db) -+{ -+ return mysql_change_user(mysql, user, passwd, db); -+} -+SYM_16(mysql_change_user); -+ -+ -+const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql) -+{ -+ return mysql_character_set_name(mysql); -+} -+SYM_16(mysql_character_set_name); -+ -+ -+my_bool STDCALL symver16_mysql_commit(MYSQL * mysql) -+{ -+ return mysql_commit(mysql); -+} -+SYM_16(mysql_commit); -+ -+ -+void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row) -+{ -+ return mysql_data_seek(result, row); -+} -+SYM_16(mysql_data_seek); -+ -+ -+void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused))) -+{ -+ return mysql_debug(debug); -+} -+SYM_16(mysql_debug); -+ -+ -+int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql) -+{ -+ return mysql_dump_debug_info(mysql); -+} -+SYM_16(mysql_dump_debug_info); -+ -+ -+my_bool STDCALL symver16_mysql_embedded(void) -+{ -+ return mysql_embedded(); -+} -+SYM_16(mysql_embedded); -+ -+ -+my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res) -+{ -+ return mysql_eof(res); -+} -+SYM_16(mysql_eof); -+ -+ -+ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length) -+{ -+ return mysql_escape_string(to, from, length); -+} -+SYM_16(mysql_escape_string); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result) -+{ -+ return mysql_fetch_field(result); -+} -+SYM_16(mysql_fetch_field); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr) -+{ -+ return mysql_fetch_field_direct(res, fieldnr); -+} -+SYM_16(mysql_fetch_field_direct); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res) -+{ -+ return mysql_fetch_fields(res); -+} -+SYM_16(mysql_fetch_fields); -+ -+ -+unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql) -+{ -+ return mysql_field_count(mysql); -+} -+SYM_16(mysql_field_count); -+ -+ -+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset) -+{ -+ return mysql_field_seek(result, field_offset); -+} -+SYM_16(mysql_field_seek); -+ -+ -+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res) -+{ -+ return mysql_field_tell(res); -+} -+SYM_16(mysql_field_tell); -+ -+ -+void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo) -+{ -+ return mysql_get_character_set_info(mysql, csinfo); -+} -+SYM_16(mysql_get_character_set_info); -+ -+ -+const char * STDCALL symver16_mysql_get_client_info(void) -+{ -+ return mysql_get_client_info(); -+} -+SYM_16(mysql_get_client_info); -+ -+ulong STDCALL symver16_mysql_get_client_version(void) -+{ -+ return mysql_get_client_version(); -+} -+SYM_16(mysql_get_client_version); -+ -+ -+const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql) -+{ -+ return mysql_get_host_info(mysql); -+} -+SYM_16(mysql_get_host_info); -+ -+ -+MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void) -+{ -+ return mysql_get_parameters(); -+} -+SYM_16(mysql_get_parameters); -+ -+ -+uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql) -+{ -+ return mysql_get_proto_info(mysql); -+} -+SYM_16(mysql_get_proto_info); -+ -+ -+const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql) -+{ -+ return mysql_get_server_info(mysql); -+} -+SYM_16(mysql_get_server_info); -+ -+ -+ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length) -+{ -+ return mysql_hex_string(to, from, length); -+} -+SYM_16(mysql_hex_string); -+ -+ -+const char *STDCALL symver16_mysql_info(MYSQL *mysql) -+{ -+ return mysql_info(mysql); -+} -+SYM_16(mysql_info); -+ -+ -+my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql) -+{ -+ return mysql_insert_id(mysql); -+} -+SYM_16(mysql_insert_id); -+ -+ -+int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid) -+{ -+ return mysql_kill(mysql, pid); -+} -+SYM_16(mysql_kill); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild) -+{ -+ return mysql_list_dbs(mysql, wild); -+} -+SYM_16(mysql_list_dbs); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild) -+{ -+ return mysql_list_fields(mysql, table, wild); -+} -+SYM_16(mysql_list_fields); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql) -+{ -+ return mysql_list_processes(mysql); -+} -+SYM_16(mysql_list_processes); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild) -+{ -+ return mysql_list_tables(mysql, wild); -+} -+SYM_16(mysql_list_tables); -+ -+ -+my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql) -+{ -+ return mysql_more_results(mysql); -+} -+SYM_16(mysql_more_results); -+ -+ -+int STDCALL symver16_mysql_next_result(MYSQL *mysql) -+{ -+ return mysql_next_result(mysql); -+} -+SYM_16(mysql_next_result); -+ -+ -+int STDCALL symver16_mysql_ping(MYSQL *mysql) -+{ -+ return mysql_ping(mysql); -+} -+SYM_16(mysql_ping); -+ -+ -+int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query) -+{ -+ return mysql_query(mysql, query); -+} -+SYM_16(mysql_query); -+ -+ -+my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql) -+{ -+ return mysql_read_query_result(mysql); -+} -+SYM_16(mysql_read_query_result); -+ -+ -+ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length) -+{ -+ return mysql_real_escape_string(mysql, to, from, length); -+} -+SYM_16(mysql_real_escape_string); -+ -+ -+int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options) -+{ -+ return mysql_refresh(mysql, options); -+} -+SYM_16(mysql_refresh); -+ -+ -+my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql) -+{ -+ return mysql_rollback(mysql); -+} -+SYM_16(mysql_rollback); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row) -+{ -+ return mysql_row_seek(result, row); -+} -+SYM_16(mysql_row_seek); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res) -+{ -+ return mysql_row_tell(res); -+} -+SYM_16(mysql_row_tell); -+ -+ -+void STDCALL symver16_mysql_server_end() -+{ -+ return mysql_server_end(); -+} -+SYM_16(mysql_server_end); -+ -+ -+int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused))) -+{ -+ return mysql_server_init(argc, argv, groups); -+} -+SYM_16(mysql_server_init); -+ -+ -+void symver16_mysql_set_local_infile_default(MYSQL *mysql) -+{ -+ return mysql_set_local_infile_default(mysql); -+} -+SYM_16(mysql_set_local_infile_default); -+ -+ -+void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata) -+{ -+ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata); -+} -+SYM_16(mysql_set_local_infile_handler); -+ -+ -+int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option) -+{ -+ return mysql_set_server_option(mysql, option); -+} -+SYM_16(mysql_set_server_option); -+ -+ -+int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level) -+{ -+ return mysql_shutdown(mysql, shutdown_level); -+} -+SYM_16(mysql_shutdown); -+ -+ -+const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql) -+{ -+ return mysql_sqlstate(mysql); -+} -+SYM_16(mysql_sqlstate); -+ -+ -+const char * STDCALL symver16_mysql_stat(MYSQL *mysql) -+{ -+ return mysql_stat(mysql); -+} -+SYM_16(mysql_stat); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_affected_rows(stmt); -+} -+SYM_16(mysql_stmt_affected_rows); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value) -+{ -+ return mysql_stmt_attr_get(stmt, attr_type, value); -+} -+SYM_16(mysql_stmt_attr_get); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value) -+{ -+ return mysql_stmt_attr_set(stmt, attr_type, value); -+} -+SYM_16(mysql_stmt_attr_set); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) -+{ -+ return mysql_stmt_bind_param(stmt, my_bind); -+} -+SYM_16(mysql_stmt_bind_param); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) -+{ -+ return mysql_stmt_bind_result(stmt, my_bind); -+} -+SYM_16(mysql_stmt_bind_result); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_close(stmt); -+} -+SYM_16(mysql_stmt_close); -+ -+ -+void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row) -+{ -+ return mysql_stmt_data_seek(stmt, row); -+} -+SYM_16(mysql_stmt_data_seek); -+ -+ -+uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_errno(stmt); -+} -+SYM_16(mysql_stmt_errno); -+ -+ -+const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_error(stmt); -+} -+SYM_16(mysql_stmt_error); -+ -+ -+int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_execute(stmt); -+} -+SYM_16(mysql_stmt_execute); -+ -+ -+int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_fetch(stmt); -+} -+SYM_16(mysql_stmt_fetch); -+ -+ -+int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset) -+{ -+ return mysql_stmt_fetch_column(stmt, my_bind, column, offset); -+} -+SYM_16(mysql_stmt_fetch_column); -+ -+ -+unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_field_count(stmt); -+} -+SYM_16(mysql_stmt_field_count); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_free_result(stmt); -+} -+SYM_16(mysql_stmt_free_result); -+ -+ -+MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql) -+{ -+ return mysql_stmt_init(mysql); -+} -+SYM_16(mysql_stmt_init); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_insert_id(stmt); -+} -+SYM_16(mysql_stmt_insert_id); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_num_rows(stmt); -+} -+SYM_16(mysql_stmt_num_rows); -+ -+ -+ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_param_count(stmt); -+} -+SYM_16(mysql_stmt_param_count); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_param_metadata(stmt); -+} -+SYM_16(mysql_stmt_param_metadata); -+ -+ -+int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) -+{ -+ return mysql_stmt_prepare(stmt, query, length); -+} -+SYM_16(mysql_stmt_prepare); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_reset(stmt); -+} -+SYM_16(mysql_stmt_reset); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_result_metadata(stmt); -+} -+SYM_16(mysql_stmt_result_metadata); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row) -+{ -+ return mysql_stmt_row_seek(stmt, row); -+} -+SYM_16(mysql_stmt_row_seek); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_row_tell(stmt); -+} -+SYM_16(mysql_stmt_row_tell); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length) -+{ -+ return mysql_stmt_send_long_data(stmt, param_number, data, length); -+} -+SYM_16(mysql_stmt_send_long_data); -+ -+ -+const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_sqlstate(stmt); -+} -+SYM_16(mysql_stmt_sqlstate); -+ -+ -+int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_store_result(stmt); -+} -+SYM_16(mysql_stmt_store_result); -+ -+ -+void STDCALL symver16_mysql_thread_end() -+{ -+ return mysql_thread_end(); -+} -+SYM_16(mysql_thread_end); -+ -+ -+ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql) -+{ -+ return mysql_thread_id(mysql); -+} -+SYM_16(mysql_thread_id); -+ -+ -+my_bool STDCALL symver16_mysql_thread_init() -+{ -+ return mysql_thread_init(); -+} -+SYM_16(mysql_thread_init); -+ -+ -+uint STDCALL symver16_mysql_thread_safe(void) -+{ -+ return mysql_thread_safe(); -+} -+SYM_16(mysql_thread_safe); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql) -+{ -+ return mysql_use_result(mysql); -+} -+SYM_16(mysql_use_result); -+ -+ -+uint STDCALL symver16_mysql_warning_count(MYSQL *mysql) -+{ -+ return mysql_warning_count(mysql); -+} -+SYM_16(mysql_warning_count); -+ -+/*****/ -+ -+MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag) -+{ -+ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); -+} -+SYM_16(mysql_real_connect); -+ -+/*****/ -+ -+my_bool symver16_my_init(void) -+{ -+ return my_init(); -+} -+SYM_16(my_init); -+ -+#endif -diff -rup old/libmysql/libmysql.ver.in new/libmysql/libmysql.ver.in ---- old/libmysql/libmysql.ver.in 2013-11-04 20:15:10.000000000 +0100 -+++ new/libmysql/libmysql.ver.in 2014-01-14 12:10:27.148374504 +0100 -@@ -1 +1,136 @@ --libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; -+libmysqlclient_16 -+{ -+ local: -+ symver16_*; -+}; -+ -+libmysqlclient_18 -+{ -+ global: -+ my_init; -+ myodbc_remove_escape; -+ mysql_affected_rows; -+ mysql_autocommit; -+ mysql_change_user; -+ mysql_character_set_name; -+ mysql_close; -+ mysql_commit; -+ mysql_data_seek; -+ mysql_debug; -+ mysql_dump_debug_info; -+ mysql_embedded; -+ mysql_eof; -+ mysql_errno; -+ mysql_error; -+ mysql_escape_string; -+ mysql_fetch_field; -+ mysql_fetch_field_direct; -+ mysql_fetch_fields; -+ mysql_fetch_lengths; -+ mysql_fetch_row; -+ mysql_field_count; -+ mysql_field_seek; -+ mysql_field_tell; -+ mysql_free_result; -+ mysql_get_character_set_info; -+ mysql_get_client_info; -+ mysql_get_client_version; -+ mysql_get_host_info; -+ mysql_get_parameters; -+ mysql_get_proto_info; -+ mysql_get_server_info; -+ mysql_get_server_version; -+ mysql_get_ssl_cipher; -+ mysql_hex_string; -+ mysql_info; -+ mysql_init; -+ mysql_insert_id; -+ mysql_kill; -+ mysql_list_dbs; -+ mysql_list_fields; -+ mysql_list_processes; -+ mysql_list_tables; -+ mysql_more_results; -+ mysql_next_result; -+ mysql_num_fields; -+ mysql_num_rows; -+ mysql_options; -+ mysql_ping; -+ mysql_query; -+ mysql_read_query_result; -+ mysql_real_connect; -+ mysql_real_escape_string; -+ mysql_real_query; -+ mysql_refresh; -+ mysql_rollback; -+ mysql_row_seek; -+ mysql_row_tell; -+ mysql_select_db; -+ mysql_send_query; -+ mysql_server_end; -+ mysql_server_init; -+ mysql_set_character_set; -+ mysql_set_local_infile_default; -+ mysql_set_local_infile_handler; -+ mysql_set_server_option; -+ mysql_shutdown; -+ mysql_sqlstate; -+ mysql_ssl_set; -+ mysql_stat; -+ mysql_stmt_affected_rows; -+ mysql_stmt_attr_get; -+ mysql_stmt_attr_set; -+ mysql_stmt_bind_param; -+ mysql_stmt_bind_result; -+ mysql_stmt_close; -+ mysql_stmt_data_seek; -+ mysql_stmt_errno; -+ mysql_stmt_error; -+ mysql_stmt_execute; -+ mysql_stmt_fetch; -+ mysql_stmt_fetch_column; -+ mysql_stmt_field_count; -+ mysql_stmt_free_result; -+ mysql_stmt_init; -+ mysql_stmt_insert_id; -+ mysql_stmt_num_rows; -+ mysql_stmt_param_count; -+ mysql_stmt_param_metadata; -+ mysql_stmt_prepare; -+ mysql_stmt_reset; -+ mysql_stmt_result_metadata; -+ mysql_stmt_row_seek; -+ mysql_stmt_row_tell; -+ mysql_stmt_send_long_data; -+ mysql_stmt_sqlstate; -+ mysql_stmt_store_result; -+ mysql_store_result; -+ mysql_thread_end; -+ mysql_thread_id; -+ mysql_thread_init; -+ mysql_thread_safe; -+ mysql_use_result; -+ mysql_warning_count; -+ -+ free_defaults; -+ handle_options; -+ load_defaults; -+ my_print_help; -+ -+ #my_make_scrambled_password; -+ THR_KEY_mysys; -+ -+ mysql_client_find_plugin; -+ mysql_client_register_plugin; -+ mysql_load_plugin; -+ mysql_load_plugin_v; -+ mysql_plugin_options; -+ mysql_stmt_next_result; -+ -+ #mysql_default_charset_info; -+ mysql_get_charset; -+ mysql_get_charset_by_csname; -+ mysql_net_realloc; -+ #mysql_client_errors; -+ *; -+} libmysqlclient_16; -diff -rup old/mysys/charset.c new/mysys/charset.c ---- old/mysys/charset.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/mysys/charset.c 2014-01-14 12:10:27.197377417 +0100 -@@ -1040,3 +1040,20 @@ size_t escape_quotes_for_mysql(CHARSET_I - *to= 0; - return overflow ? (ulong)~0 : (ulong) (to - to_start); - } -+ -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide Fedora symbols -+ -+CHARSET_INFO *mysql_get_charset(uint cs_number, myf flags) -+{ -+ return get_charset(cs_number, flags); -+} -+ -+ -+CHARSET_INFO * mysql_get_charset_by_csname(const char *cs_name, uint cs_flags, myf flags) -+{ -+ return get_charset_by_csname(cs_name, cs_flags, flags); -+} -+ -+#endif -diff -rup old/sql/net_serv.cc new/sql/net_serv.cc ---- old/sql/net_serv.cc 2013-11-04 20:15:10.000000000 +0100 -+++ new/sql/net_serv.cc 2014-01-14 12:10:27.252380688 +0100 -@@ -1047,3 +1047,15 @@ void my_net_set_write_timeout(NET *net, - DBUG_VOID_RETURN; - } - -+#ifndef EMBEDDED_LIBRARY -+C_MODE_START -+ -+// Hack to provide Fedora symbols -+ -+my_bool mysql_net_realloc(NET *net, size_t length) -+{ -+ return net_realloc(net, length); -+} -+ -+C_MODE_END -+#endif -diff -rup old/sql/password.c new/sql/password.c ---- old/sql/password.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/sql/password.c 2014-01-14 12:10:27.309384078 +0100 -@@ -584,3 +584,16 @@ void make_password_from_salt(char *to, c - octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE); - } - -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len) -+{ -+ my_make_scrambled_password(to, password, pass_len); -+} -+SYM_16(my_make_scrambled_password); -+ -+#endif -diff -rup old/sql-common/client.c new/sql-common/client.c ---- old/sql-common/client.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/sql-common/client.c 2014-01-14 12:10:27.199377537 +0100 -@@ -4847,3 +4847,136 @@ static int clear_password_auth_client(MY - - return res ? CR_ERROR : CR_OK; - } -+ -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void STDCALL symver16_mysql_close(MYSQL *mysql) -+{ -+ return mysql_close(mysql); -+} -+SYM_16(mysql_close); -+ -+ -+uint STDCALL symver16_mysql_errno(MYSQL *mysql) -+{ -+ return mysql_errno(mysql); -+} -+SYM_16(mysql_errno); -+ -+ -+const char * STDCALL symver16_mysql_error(MYSQL *mysql) -+{ -+ return mysql_error(mysql); -+} -+SYM_16(mysql_error); -+ -+ -+ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res) -+{ -+ return mysql_fetch_lengths(res); -+} -+SYM_16(mysql_fetch_lengths); -+ -+ -+MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res) -+{ -+ return mysql_fetch_row(res); -+} -+SYM_16(mysql_fetch_row); -+ -+ -+void STDCALL symver16_mysql_free_result(MYSQL_RES *result) -+{ -+ return mysql_free_result(result); -+} -+SYM_16(mysql_free_result); -+ -+ -+ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql) -+{ -+ return mysql_get_server_version(mysql); -+} -+SYM_16(mysql_get_server_version); -+ -+ -+const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused))) -+{ -+ return mysql_get_ssl_cipher(mysql); -+} -+SYM_16(mysql_get_ssl_cipher); -+ -+ -+MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql) -+{ -+ return mysql_init(mysql); -+} -+SYM_16(mysql_init); -+ -+ -+unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res) -+{ -+ return mysql_num_fields(res); -+} -+SYM_16(mysql_num_fields); -+ -+ -+my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res) -+{ -+ return mysql_num_rows(res); -+} -+SYM_16(mysql_num_rows); -+ -+ -+int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) -+{ -+ return mysql_options(mysql, option, arg); -+} -+SYM_16(mysql_options); -+ -+ -+int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length) -+{ -+ return mysql_real_query(mysql, query, length); -+} -+SYM_16(mysql_real_query); -+ -+ -+int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db) -+{ -+ return mysql_select_db(mysql, db); -+} -+SYM_16(mysql_select_db); -+ -+ -+int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length) -+{ -+ return mysql_send_query(mysql, query, length); -+} -+SYM_16(mysql_send_query); -+ -+ -+int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name) -+{ -+ return mysql_set_character_set(mysql, cs_name); -+} -+SYM_16(mysql_set_character_set); -+ -+ -+my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused))) -+{ -+ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher); -+} -+SYM_16(mysql_ssl_set); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql) -+{ -+ return mysql_store_result(mysql); -+} -+SYM_16(mysql_store_result); -+ -+#endif diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch new file mode 100644 index 0000000..b822aed --- /dev/null +++ b/community-mysql-5.7.9-major.patch @@ -0,0 +1,11 @@ +--- mysql-5.7.8/cmake/mysql_version.cmake.orig 2015-09-23 15:43:23.252558904 +0200 ++++ mysql-5.7.8/cmake/mysql_version.cmake 2015-09-23 15:42:58.187604141 +0200 +@@ -17,7 +17,7 @@ + # Global constants, only to be changed between major releases. + # + +-SET(SHARED_LIB_MAJOR_VERSION "20") ++SET(SHARED_LIB_MAJOR_VERSION "1020") + SET(SHARED_LIB_MINOR_VERSION "0") + SET(PROTOCOL_VERSION "10") + SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-boost.patch b/community-mysql-boost.patch new file mode 100644 index 0000000..03e2aa3 --- /dev/null +++ b/community-mysql-boost.patch @@ -0,0 +1,160 @@ +--- mysql-5.7.9/client/CMakeLists.txt.orig 2015-10-12 08:21:35.000000000 +0200 ++++ mysql-5.7.9/client/CMakeLists.txt 2015-11-10 21:16:37.264522003 +0100 +@@ -30,12 +30,6 @@ INCLUDE_DIRECTORIES( + + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + +-# Prevent Boost from including external precompiled Boost libraries, use +-# threading (not implemented for Solaris) and turn off unused functionality. +-ADD_DEFINITIONS( +- -DBOOST_ALL_NO_LIB +- -DBOOST_SYSTEM_NO_DEPRECATED) +- + ## Subdirectory with common client code. + ADD_SUBDIRECTORY(base) + ## Subdirectory for mysqlpump code. +@@ -46,74 +40,6 @@ COPY_OPENSSL_DLLS(copy_openssl_client) + + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + +-SET(BOOST_SOURCES_DIR ${BOOST_PATCHES_DIR}) +- +-IF(WIN32) +- LIST(APPEND BOOST_THREAD_SOURCES +- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp +- ) +-ELSE() +- LIST(APPEND BOOST_THREAD_SOURCES +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp +- ) +-ENDIF() +- +-SET(BOOST_LIB_SOURCES +- ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp +- ${BOOST_SOURCES_DIR}/libs/chrono/src/chrono.cpp +- ${BOOST_SOURCES_DIR}/libs/chrono/src/process_cpu_clocks.cpp +- ${BOOST_SOURCES_DIR}/libs/chrono/src/thread_clock.cpp +- ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/future.cpp +-) +- +-ADD_CONVENIENCE_LIBRARY(boost_lib +- ${BOOST_LIB_SOURCES} +- ${BOOST_THREAD_SOURCES} +-) +- +-SET_TARGET_PROPERTIES(boost_lib +- PROPERTIES COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB") +- +-IF(HAVE_clock_gettime_IN_rt) +- TARGET_LINK_LIBRARIES(boost_lib ${LIBRT}) +-ENDIF() +- +-# Do not build library unless it is needed by some other target. +-SET_PROPERTY(TARGET boost_lib PROPERTY EXCLUDE_FROM_ALL TRUE) +- +-MY_CHECK_CXX_COMPILER_FLAG("-Wno-logical-op" HAVE_NO_LOGICAL_OP) +-IF(HAVE_NO_LOGICAL_OP) +- ADD_COMPILE_FLAGS( +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp +- COMPILE_FLAGS "-Wno-logical-op" +- ) +-ENDIF() +- +-# Boost source has unused local typedefs. +-MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" HAVE_NO_UNUSED_TYPEDEFS) +-IF(HAVE_NO_UNUSED_TYPEDEFS) +- ADD_COMPILE_FLAGS( +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp +- COMPILE_FLAGS "-Wno-unused-local-typedefs" +- ) +-ENDIF() +- +-ADD_COMPILE_FLAGS( +- ${BOOST_LIB_SOURCES} +- ${BOOST_THREAD_SOURCES} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +-) +- +-# Need explicit pthread for gcc -fsanitize=address +-IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") +- TARGET_LINK_LIBRARIES(boost_lib pthread) +-ENDIF() +- + ADD_DEFINITIONS(${SSL_DEFINES}) + MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc) + TARGET_LINK_LIBRARIES(mysql mysqlclient) +@@ -125,9 +51,6 @@ IF(NOT WITHOUT_SERVER) + MYSQL_ADD_EXECUTABLE(mysql_upgrade + upgrade/program.cc + ) +-ADD_COMPILE_FLAGS( +- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +-) + TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core) + ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema) + ENDIF() +--- mysql-5.7.9/client/base/CMakeLists.txt.orig 2015-11-10 21:38:13.968255057 +0100 ++++ mysql-5.7.9/client/base/CMakeLists.txt 2015-11-10 21:41:47.685928592 +0100 +@@ -45,14 +45,7 @@ ADD_CONVENIENCE_LIBRARY(client_base + ../../sql-common/sql_string.cc + ) + +-ADD_COMPILE_FLAGS( +- mutex.cc +- mysql_query_runner.cc +- show_variable_query_extractor.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +-) +- +-TARGET_LINK_LIBRARIES(client_base mysqlclient boost_lib) ++TARGET_LINK_LIBRARIES(client_base mysqlclient boost_chrono boost_system) + + # Do not build library unless it is needed by some other target. + SET_PROPERTY(TARGET client_base PROPERTY EXCLUDE_FROM_ALL TRUE) +--- mysql-5.7.9/client/dump/CMakeLists.txt.orig 2015-11-10 21:37:51.399289532 +0100 ++++ mysql-5.7.9/client/dump/CMakeLists.txt 2015-11-10 21:40:32.536043387 +0100 +@@ -101,7 +101,7 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL + ../../sql-common/my_user.c) + ADD_CONVENIENCE_LIBRARY(mysqlpump_lib ${MYSQLPUMP_LIB_SOURCES}) + TARGET_LINK_LIBRARIES(mysqlpump_lib +- client_base ${LZ4_LIBRARY} boost_lib) ++ client_base ${LZ4_LIBRARY} boost_chrono boost_system) + + # Boost source has unused local typedefs. + MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" +@@ -125,19 +125,11 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL + ENDIF() + + ADD_COMPILE_FLAGS( +- ${MYSQLPUMP_LIB_SOURCES} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +- ) +- +- ADD_COMPILE_FLAGS( + compression_writer.cc + mysqldump_tool_chain_maker.cc + COMPILE_FLAGS -I${LZ4_INCLUDE_DIR} + ) + MYSQL_ADD_EXECUTABLE(mysqlpump program.cc) +- ADD_COMPILE_FLAGS( +- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +- ) + + TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib) + +--- mysql-5.7.9/CMakeLists.txt.orig 2015-10-12 08:21:33.000000000 +0200 ++++ mysql-5.7.9/CMakeLists.txt 2015-11-11 12:19:26.313509287 +0100 +@@ -432,8 +432,6 @@ ELSE() + SET(DEFAULT_TMPDIR "\"${TMPDIR}\"") + ENDIF() + +-INCLUDE(cmake/boost.cmake) +- + IF (CMAKE_SYSTEM_NAME MATCHES "Linux") + OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF) + IF (WITH_SYSTEMD) diff --git a/community-mysql-install-db-sharedir.patch b/community-mysql-install-db-sharedir.patch deleted file mode 100644 index 4949b6d..0000000 --- a/community-mysql-install-db-sharedir.patch +++ /dev/null @@ -1,38 +0,0 @@ -Use configured value instead of hardcoded path - -diff -up mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.0.13/scripts/mysql_install_db.pl.in ---- mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir 2014-09-04 12:50:24.061979080 +0200 -+++ mariadb-10.0.13/scripts/mysql_install_db.pl.in 2014-09-04 12:51:22.929045559 +0200 -@@ -318,7 +318,7 @@ elsif ( $opt->{basedir} ) - find_in_basedir($opt,"file","mysqld-nt", - "bin"); # ,"sql" - $pkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", -- "share","share/mysql"); # ,"scripts" -+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" - $scriptdir = "$opt->{basedir}/scripts"; - } - else -diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/scripts/mysql_install_db.sh ---- mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir 2014-09-04 12:51:59.005086301 +0200 -+++ mariadb-10.0.13/scripts/mysql_install_db.sh 2014-09-04 12:54:02.794222597 +0200 -@@ -280,16 +280,16 @@ then - cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin - exit 1 - fi -- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` -+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` - if test -z "$langdir" - then -- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english -+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english - exit 1 - fi -- pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` -+ pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` - if test -z "$pkgdatadir" - then -- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql -+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ - exit 1 - fi - scriptdir="$basedir/scripts" diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index d406b96..7f9ed93 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 -diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_plugin.c ---- mysql-5.6.23/client/mysql_plugin.c.hardpaths 2015-01-19 14:48:30.000000000 +0100 -+++ mysql-5.6.23/client/mysql_plugin.c 2015-02-23 13:34:21.328484658 +0100 -@@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); +diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c +--- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200 +@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path); static int build_bootstrap_file(char *operation, char *bootstrap); static int dump_bootstrap_file(char *bootstrap_file); static int bootstrap_server(char *server_path, char *bootstrap_file); @@ -15,7 +15,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ int main(int argc,char *argv[]) -@@ -121,7 +122,7 @@ int main(int argc,char *argv[]) +@@ -125,7 +126,7 @@ int main(int argc,char *argv[]) */ if ((error= process_options(argc, argv, operation)) || (error= check_access()) || @@ -24,7 +24,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ (error= find_plugin(tp_path)) || (error= build_bootstrap_file(operation, bootstrap))) goto exit; -@@ -324,7 +325,7 @@ static int get_default_values() +@@ -331,7 +332,7 @@ static int get_default_values() FILE *file= 0; memset(tool_path, 0, FN_REFLEN); @@ -33,7 +33,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ goto exit; else { -@@ -989,6 +990,55 @@ exit: +@@ -1014,6 +1015,55 @@ exit: } @@ -62,7 +62,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ + { + if (path != pos) + { -+ strxmov(strnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); ++ strxmov(my_stpnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); + if (!access(to,F_OK)) + { + if (opt_verbose) @@ -89,10 +89,10 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ /** Locate the tool and form tool path. -diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/install_layout.cmake ---- mysql-5.6.23/cmake/install_layout.cmake.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/cmake/install_layout.cmake 2015-02-23 13:34:21.330484657 +0100 -@@ -94,7 +94,7 @@ IF(UNIX) +diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake +--- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200 ++++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200 +@@ -107,7 +107,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -101,7 +101,7 @@ diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/in CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE +@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") SET(INSTALL_SCRIPTDIR_RPM "bin") @@ -109,10 +109,10 @@ diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/in # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") -diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/my_default.cc ---- mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/mysys_ssl/my_default.cc 2015-02-23 13:34:21.329484658 +0100 -@@ -1389,12 +1389,12 @@ static const char **init_default_directo +diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc +--- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200 +@@ -1404,12 +1404,12 @@ static const char **init_default_directo #else @@ -128,11 +128,11 @@ diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/m #endif /* DEFAULT_SYSCONFDIR */ #endif -diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMakeLists.txt ---- mysql-5.6.23/scripts/CMakeLists.txt.hardpaths 2015-02-23 13:34:21.325484657 +0100 -+++ mysql-5.6.23/scripts/CMakeLists.txt 2015-02-23 13:34:21.330484657 +0100 -@@ -219,7 +219,7 @@ INSTALL_SCRIPT( - ) +diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt +--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200 +@@ -295,7 +295,7 @@ ELSE() + ENDIF() SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) @@ -140,30 +140,9 @@ diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMak SET(bindir ${prefix}/${INSTALL_BINDIR}) SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) SET(scriptdir ${prefix}/${INSTALL_BINDIR}) -diff -up mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths mysql-5.6.23/scripts/mysqlaccess.sh ---- mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/scripts/mysqlaccess.sh 2015-02-23 13:34:21.329484658 +0100 -@@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); - elsif (-f "@sysconfdir@/$script_conf") { - require "@sysconfdir@/$script_conf"; - } -- elsif (-f "/etc/$script_conf") { -- require "/etc/$script_conf"; -- } - - # **************************** - # Read in all parameters -@@ -951,7 +948,6 @@ sub MergeConfigFile { - sub MergeConfigFiles { - my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<; - MergeConfigFile("@sysconfdir@/my.cnf"); -- MergeConfigFile("/etc/my.cnf"); - MergeConfigFile("$dir/.my.cnf"); - } - -diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mysqld_multi.sh ---- mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/scripts/mysqld_multi.sh 2015-02-23 13:34:21.329484658 +0100 +diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh +--- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200 @@ -573,9 +573,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once @@ -175,15 +154,3 @@ diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mys ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), $opt{'extra-file'}, ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); -diff -up mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths mysql-5.6.23/scripts/mysql_install_db.pl.in ---- mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths 2015-02-23 13:34:37.995485386 +0100 -+++ mysql-5.6.23/scripts/mysql_install_db.pl.in 2015-02-23 13:35:15.505487028 +0100 -@@ -922,7 +922,7 @@ if ( open(PIPE, "| $mysqld_install_cmd_l - "The new default config file was created as $copy_cfg_file,", - "please compare it with your file and take the changes you need."); - } -- foreach my $cfg ( "/etc/my.$cnfext", "/etc/mysql/my.$cnfext" ) -+ foreach my $cfg ( "@SYSCONFDIR@/my.$cnfext", "@SYSCONFDIR@/mysql/my.$cnfext" ) - { - check_sys_cfg_file ($opt, $cfg); - } diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch deleted file mode 100644 index a781172..0000000 --- a/community-mysql-pluginerrmsg.patch +++ /dev/null @@ -1,78 +0,0 @@ -In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in. -In this case, the plugin cannot be uninstalled and we get error when trying -to do so: - -mysql> uninstall plugin innodb; -ERROR 1305 (42000): PLUGIN innodb does not exist - -But the error message is misleading. The plugin does exist, it just cannot -be installed because it's not dynamically loaded. - -MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 -MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 -MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 - -diff --git a/include/mysql.h b/include/mysql.h -index 38b54de..0b13e92 100644 ---- a/include/mysql.h -+++ b/include/mysql.h -@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; - - /* backward compatibility define - to be removed eventually */ - #define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED -+#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN - - typedef struct st_mysql_rows { - struct st_mysql_rows *next; /* list of rows */ -diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result -index a3d7437..8ea475d 100644 ---- a/mysql-test/r/plugin.result -+++ b/mysql-test/r/plugin.result -@@ -232,3 +232,5 @@ DROP PROCEDURE p_install; - SET DEBUG_SYNC='RESET'; - disconnect con1; - disconnect con2; -+UNINSTALL PLUGIN MyISAM; -+ERROR HY000: Built-in plugins cannot be deleted -diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test -index de68d36..bf9fb7d 100644 ---- a/mysql-test/t/plugin.test -+++ b/mysql-test/t/plugin.test -@@ -277,3 +277,9 @@ disconnect con1; - disconnect con2; - - --disable_connect_log -+ -+# -+# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins -+# -+--error ER_PLUGIN_DELETE_BUILTIN -+UNINSTALL PLUGIN MyISAM; -diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt -index 15acc66..35e2c3c 100644 ---- a/sql/share/errmsg-utf8.txt -+++ b/sql/share/errmsg-utf8.txt -@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO - WARN_OPTION_IGNORED - eng "<%-.64s> option ignored" - ger "Option <%-.64s> ignoriert" --WARN_PLUGIN_DELETE_BUILTIN -+ER_PLUGIN_DELETE_BUILTIN - eng "Built-in plugins cannot be deleted" - ger "Eingebaute Plugins können nicht gelöscht werden" - WARN_PLUGIN_BUSY -diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc -index f134e4f..7e34432 100644 ---- a/sql/sql_plugin.cc -+++ b/sql/sql_plugin.cc -@@ -2008,9 +2008,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name) - } - if (!plugin->plugin_dl) - { -- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, -- WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN)); -- my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str); -+ my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0)); - goto err; - } - if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT) diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index f995266..91bfc10 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -2,38 +2,38 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 -diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h ---- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100 +diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h +--- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200 ++++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100 @@ -125,6 +125,7 @@ C_MODE_END - #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 -+#define MY_TIMER_ROUTINE_ASM_S390 28 + #define MY_TIMER_ROUTINE_ASM_AARCH64 28 ++#define MY_TIMER_ROUTINE_ASM_S390 29 #endif -diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c ---- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100 -@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void) - clock_gettime(CLOCK_SGI_CYCLE, &tp); - return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; +diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c +--- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200 ++++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100 +@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void) + __asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result)); + return result; } +#elif defined(__GNUC__) && defined(__s390__) + /* covers both s390 and s390x */ + { + ulonglong result; + __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); -+ return result; ++ return result; + } #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ return (ulonglong) gethrtime(); -@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti) +@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti) mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; - #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) - mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; + #elif defined(__GNUC__) && defined(__aarch64__) + mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64; +#elif defined(__GNUC__) && defined(__s390__) + mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index e7874ce..db6c70b 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,10 +1,10 @@ -diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt ---- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 -+++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,34 @@ ELSE() - ENDIF() - INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) - ENDFOREACH() +diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt +--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 +@@ -483,6 +483,34 @@ ELSE() + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) + ENDIF() + + # files for systemd + SET(SYSTEMD_SCRIPTS diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 19f0b33..6ceaed2 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,6 +1,6 @@ -diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm ---- mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 2013-04-24 20:15:14.085623163 +0200 -+++ mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm 2013-04-24 20:15:37.456630939 +0200 +diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm +--- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200 ++++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200 @@ -36,7 +36,7 @@ my @pre_rules= ); @@ -10,10 +10,10 @@ diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql- sub get_basedir { -diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/mysql-test-run.pl ---- mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysql-test/mysql-test-run.pl 2013-04-24 20:18:28.538687866 +0200 -@@ -1238,11 +1238,11 @@ sub command_line_setup { +diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl +--- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200 +@@ -1282,11 +1282,11 @@ sub command_line_setup { } # Look for language files and charsetsdir, use same share @@ -27,18 +27,18 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m "$basedir/sql/share/charsets", "$basedir/share/charsets"); -@@ -3324,7 +3324,7 @@ sub mysql_install_db { +@@ -3729,7 +3729,7 @@ sub mysql_install_db { } my $path_sql= my_find_file($install_basedir, - ["mysql", "sql/share", "share/mysql", + ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@", "share", "scripts"], - "mysql_system_tables.sql", + "mysql_system_tables.sql", NOT_REQUIRED); -diff -up mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir mysql-5.6.23/mysql-test/CMakeLists.txt ---- mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir 2015-01-19 14:48:31.000000000 +0100 -+++ mysql-5.6.23/mysql-test/CMakeLists.txt 2015-02-23 13:11:58.358488693 +0100 +diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt +--- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200 @@ -33,6 +33,10 @@ ENDIF() diff --git a/community-mysql-strmov.patch b/community-mysql-strmov.patch deleted file mode 100644 index 1c44f55..0000000 --- a/community-mysql-strmov.patch +++ /dev/null @@ -1,34 +0,0 @@ -Remove overly optimistic definition of strmov() as stpcpy(). - -mysql uses this macro with overlapping source and destination strings, -which is verboten per spec, and fails on some Red Hat platforms. -Deleting the definition is sufficient to make it fall back to a -byte-at-a-time copy loop, which should consistently give the -expected behavior. - -Note: the particular case that prompted this patch is reported and fixed -at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's -ability to detect this type of error is low, and I also see little evidence -of any real performance gain from optimizing these calls. So I'm keeping -this patch. - - -diff -up mysql-5.6.10/include/m_string.h.orig mysql-5.6.10/include/m_string.h ---- mysql-5.6.10/include/m_string.h.orig 2013-01-22 17:54:49.000000000 +0100 -+++ mysql-5.6.10/include/m_string.h 2013-02-19 14:12:58.866241727 +0100 -@@ -65,15 +65,6 @@ extern void *(*my_str_malloc)(size_t); - extern void *(*my_str_realloc)(void *, size_t); - extern void (*my_str_free)(void *); - --#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) --#define strmov(A,B) __builtin_stpcpy((A),(B)) --#elif defined(HAVE_STPCPY) --#define strmov(A,B) stpcpy((A),(B)) --#ifndef stpcpy --extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */ --#endif --#endif -- - /* Declared in int2str() */ - extern char _dig_vec_upper[]; - extern char _dig_vec_lower[]; diff --git a/community-mysql-test-openssl_1.patch b/community-mysql-test-openssl_1.patch new file mode 100644 index 0000000..26f293c --- /dev/null +++ b/community-mysql-test-openssl_1.patch @@ -0,0 +1,23 @@ +diff -rup mysql-5.7.8.orig/mysql-test/r/openssl_1.result mysql-5.7.8/mysql-test/r/openssl_1.result +--- mysql-5.7.8.orig/mysql-test/r/openssl_1.result 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/r/openssl_1.result 2015-10-15 11:15:37.719376398 +0200 +@@ -211,8 +211,6 @@ Variable_name Value + Ssl_cipher EDH-RSA-DES-CBC3-SHA + Variable_name Value + Ssl_cipher AES256-SHA +-Variable_name Value +-Ssl_cipher RC4-SHA + select 'is still running; no cipher request crashed the server' as result from dual; + result + is still running; no cipher request crashed the server +diff -rup mysql-5.7.8.orig/mysql-test/t/openssl_1.test mysql-5.7.8/mysql-test/t/openssl_1.test +--- mysql-5.7.8.orig/mysql-test/t/openssl_1.test 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/t/openssl_1.test 2015-10-15 11:15:07.648425927 +0200 +@@ -218,7 +218,6 @@ DROP TABLE t1; + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=DHE-RSA-AES256-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=EDH-RSA-DES-CBC3-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=AES256-SHA +---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=RC4-SHA + --disable_query_log + --disable_result_log + diff --git a/community-mysql.spec b/community-mysql.spec index c0903df..0e7cf75 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -7,6 +7,9 @@ # --nocheck is not possible (e.g. in koji build) %{!?runselftest:%global runselftest 1} +# Set this to 1 to see which tests fail +%global check_testsuite 0 + # set to 1 to enable %global with_shared_lib_major_hack 1 @@ -30,7 +33,6 @@ %bcond_without client %bcond_without common %bcond_without errmsg -%bcond_without bench %bcond_without test # When there is already another package that ships /etc/my.cnf, @@ -77,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.27 +Version: 5.7.9 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -87,7 +89,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz +Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source4: my_config.h @@ -109,28 +111,27 @@ Source31: server.cnf.in # Comments for these patches are in the patch files # Patches common for more mysql-like packages -Patch1: %{pkgnamepatch}-strmov.patch -Patch2: %{pkgnamepatch}-install-test.patch -Patch3: %{pkgnamepatch}-s390-tsc.patch -Patch4: %{pkgnamepatch}-logrotate.patch -Patch5: %{pkgnamepatch}-cipherspec.patch -Patch6: %{pkgnamepatch}-file-contents.patch -Patch8: %{pkgnamepatch}-scripts.patch -Patch9: %{pkgnamepatch}-install-db-sharedir.patch -Patch10: %{pkgnamepatch}-paths.patch +Patch1: %{pkgnamepatch}-install-test.patch +Patch2: %{pkgnamepatch}-s390-tsc.patch +Patch3: %{pkgnamepatch}-logrotate.patch +Patch4: %{pkgnamepatch}-file-contents.patch +Patch5: %{pkgnamepatch}-scripts.patch +Patch6: %{pkgnamepatch}-paths.patch +Patch7: %{pkgnamepatch}-boost.patch +Patch8: %{pkgnamepatch}-test-openssl_1.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch -Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch -Patch56: %{pkgnamepatch}-pluginerrmsg.patch -Patch70: %{pkgnamepatch}-5.6.13-major.patch +Patch70: %{pkgnamepatch}-5.7.9-major.patch +BuildRequires: boost-devel BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel +BuildRequires: lz4-devel +BuildRequires: mecab-devel BuildRequires: openssl-devel BuildRequires: perl BuildRequires: systemtap-sdt-devel @@ -138,6 +139,8 @@ BuildRequires: zlib-devel # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time +BuildRequires: perl(Digest::file) +BuildRequires: perl(Digest::MD5) BuildRequires: perl(Env) BuildRequires: perl(Exporter) BuildRequires: perl(Fcntl) @@ -257,6 +260,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: %{name}-errmsg%{?_isa} = %{sameevr} +%{?mecab:Requires: mecab-ipadic} Requires: sh-utils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} @@ -273,7 +277,10 @@ Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} +Obsoletes: mysql-bench < 5.7.8 +Obsoletes: mysql-bench%{?_isa} %endif +Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} @@ -329,25 +336,6 @@ package contains files needed for developing and testing with the embedded version of the MySQL server. %endif - -%if %{with bench} -%package bench -Summary: MySQL benchmark scripts and data -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevr} -%{?with_conflicts:Conflicts: mariadb-bench} -%if %{with mysql_names} -Provides: mysql-bench = %{sameevr} -Provides: mysql-bench%{?_isa} = %{sameevr} -%endif - -%description bench -MySQL is a multi-user, multi-threaded SQL database server. This -package contains benchmark scripts and data for use when benchmarking -MySQL. -%endif - - %if %{with test} %package test Summary: The test suite distributed with MySQL @@ -355,6 +343,8 @@ Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: perl(Digest::file) +Requires: perl(Digest::MD5) Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) @@ -387,18 +377,17 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch55 -p1 -%patch56 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +# Prevent using bundled boost +rm -r include/boost_1_59_0 + # Modify tests to pass on all archs pushd mysql-test @@ -408,11 +397,58 @@ add_test () { touch %{skiplist} +# these tests fail in 5.7.9 +add_test 'main.gis-precise : fails in 5.7.9' +add_test 'main.gis : fails in 5.7.9' +add_test 'gis.gis_bugs_crashes : fails in 5.7.9' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.9' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.9' +add_test 'gis.spatial_operators_difference : fails in 5.7.9' +add_test 'gis.spatial_operators_intersection : fails in 5.7.9' +add_test 'gis.spatial_operators_symdifference : fails in 5.7.9' +add_test 'main.datadir_permission : fails in 5.7.9' +add_test 'main.events_1 : fails in 5.7.9' + # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt +# these tests fail in 5.7.9 on arch +%ifarch %{arm} +add_test 'gis.spatial_operators_union : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_contains : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_disjoint : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_equals : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_intersects : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_overlaps : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_touches : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_within : fails in 5.7.9' +add_test 'innodb_fts.opt : fails in 5.7.9' +add_test 'innodb_gis.gis : fails in 5.7.9' +add_test 'innodb_gis.precise : fails in 5.7.9' +add_test 'innodb_gis.1 : fails in 5.7.9' +add_test 'innodb.log_file : fails in 5.7.9' +add_test 'perfschema.dml_host_cache : fails in 5.7.9' +add_test 'perfschema.dml_hosts : fails in 5.7.9' +add_test 'perfschema.func_file_io : fails in 5.7.9' +add_test 'perfschema.setup_objects : fails in 5.7.9' +add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9' +add_test 'test_service_sql_api.test_session_info : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' +%endif + + # Archs without hw performance counter, rh 741325 -%ifarch %{arm} aarch64 sparc64 +%ifarch aarch64 sparc64 add_test 'perfschema.func_file_io : rh 741325' add_test 'perfschema.func_mutex : rh 741325' add_test 'perfschema.setup_objects : rh 741325' @@ -420,7 +456,7 @@ add_test 'perfschema.global_read_lock : 77889' %endif # Archs with collation issues, bugs.mysql.com/46895 -%ifarch %{arm} aarch64 ppc %{power64} s390 s390x +%ifarch aarch64 ppc %{power64} s390 s390x add_test 'innodb.innodb_ctype_ldml : 46895' add_test 'main.ctype_ldml : 46895' %endif @@ -480,17 +516,23 @@ cmake .. \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ - -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ +%if %{with init_systemd} + -DWITH_SYSTEMD=1 \ + -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ + -DSYSTEMD_PID_DIR="%{pidfiledir}" \ +%endif -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ + -DWITH_LZ4=system \ + -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -564,10 +606,8 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # not needed in rpm package -rm -f %{buildroot}%{_bindir}/mysqlaccess.conf rm -f %{buildroot}%{_bindir}/mysql_embedded rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -604,7 +644,6 @@ cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif @@ -619,17 +658,18 @@ rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded rm -f %{buildroot}%{_bindir}/mysql_config* rm -rf %{buildroot}%{_includedir}/mysql rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm -f %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +rm -f %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{with config} @@ -649,10 +689,6 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif -%if %{without bench} -rm -rf %{buildroot}%{_datadir}/sql-bench -%endif - %if %{without test} rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} rm -rf %{buildroot}%{_datadir}/mysql-test @@ -670,10 +706,14 @@ cp ../../mysql-test/%{skiplist} . export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ - --skip-test-list=%{skiplist} \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir + --clean-vardir \ +%if %{check_testsuite} + --max-test-fail=0 || : +%else + --skip-test-list=%{skiplist} +%endif rm -rf var/* $(readlink var) popd popd @@ -735,34 +775,28 @@ fi %if %{with client} %files -%{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config_editor -%{_bindir}/mysql_find_rows %{_bindir}/mysql_plugin -%{_bindir}/mysql_waitpid -%{_bindir}/mysqlaccess %{_bindir}/mysqladmin %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump %{_bindir}/mysqlimport +%{_bindir}/mysqlpump %{_bindir}/mysqlshow %{_bindir}/mysqlslap %{_bindir}/my_print_defaults -%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* -%{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysql_waitpid.1* -%{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* @@ -825,19 +859,16 @@ fi %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack -%{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_fix_extensions %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation -%{_bindir}/mysql_setpermission +%{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%{_bindir}/mysql_zap -%{_bindir}/mysqlbug +%{_bindir}/mysqlbinlog +%if %{with init_systemd} +%{_bindir}/mysqld_pre_systemd +%endif %{_bindir}/mysqldumpslow -%{_bindir}/mysqld_multi -%{_bindir}/mysqld_safe -%{_bindir}/mysqlhotcopy %{_bindir}/mysqltest %{_bindir}/innochecksum %{_bindir}/perror @@ -860,38 +891,36 @@ fi %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* -%{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* +%{_mandir}/man1/mysql_ssl_rsa_setup.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqlhotcopy.1* %{_mandir}/man1/mysqlman.1* -%{_mandir}/man1/mysql_setpermission.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/innodb_memcached_config.sql +%{_datadir}/%{pkg_name}/install_rewriter.sql %{_datadir}/%{pkg_name}/mysql_security_commands.sql +%{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/my-*.cnf +%{_datadir}/%{pkg_name}/uninstall_rewriter.sql %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -901,10 +930,10 @@ fi %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common +%{_tmpfilesdir}/mysql.conf %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0755,mysql,mysql) %dir %{pidfiledir} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -916,8 +945,8 @@ fi %{_datadir}/aclocal/mysql.m4 %if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so -%{_libdir}/mysql/libmysqlclient_r.so %endif +%{_libdir}/pkgconfig/mysqlclient.pc %{_mandir}/man1/mysql_config.1* %endif @@ -933,11 +962,6 @@ fi %{_mandir}/man1/mysqltest_embedded.1* %endif -%if %{with bench} -%files bench -%{_datadir}/sql-bench -%endif - %if %{with test} %files test %{_bindir}/mysql_client_test @@ -947,6 +971,9 @@ fi %endif %changelog +* Fri Oct 2 2015 Jakub Dorňák - 5.7.9-1 +- Update to 5.7.9 + * Thu Oct 1 2015 Jakub Dorňák - 5.6.27-1 - Update to 5.6.27 diff --git a/sources b/sources index 16afe97..35278c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7754df40bb5567b03b041ccb6b5ddffa mysql-5.6.27.tar.gz +6d782dda9046acb81e694934fd513993 mysql-5.7.9.tar.gz From 50e5fb4dfe0b84e02f6e67acd23c1b01995c8db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Sat, 14 Nov 2015 18:06:21 +0100 Subject: [PATCH 341/616] skip tests that randomly fail --- community-mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0e7cf75..9dad6d6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -408,6 +408,11 @@ add_test 'gis.spatial_operators_intersection : fails in 5.7.9' add_test 'gis.spatial_operators_symdifference : fails in 5.7.9' add_test 'main.datadir_permission : fails in 5.7.9' add_test 'main.events_1 : fails in 5.7.9' +# these tests fail in 5.7.9 randomly +add_test 'sysschema.fn_ps_thread_trx_info : randomly fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_shutdown : randomly fails in 5.7.9' +add_test 'main.mysqldump : randomly fails in 5.7.9' +add_test 'perfschema.memory_aggregate_no_a_no_u : randomly fails in 5.7.9' # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt @@ -444,9 +449,11 @@ add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9' add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9' add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9' add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' +# fails sometimes +add_test 'perfschema.func_mutex : fails in 5.7.9' +add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' %endif - # Archs without hw performance counter, rh 741325 %ifarch aarch64 sparc64 add_test 'perfschema.func_file_io : rh 741325' From 7d65ce3d61f11a68fa17d5220bfcc4b3bc1ca34c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Sun, 15 Nov 2015 10:59:31 +0100 Subject: [PATCH 342/616] skip tests that randomly fail --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index 9dad6d6..9f21708 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -452,6 +452,7 @@ add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' # fails sometimes add_test 'perfschema.func_mutex : fails in 5.7.9' add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' +add_test 'perfschema.global_read_lock : fails in 5.7.9' %endif # Archs without hw performance counter, rh 741325 From 6735fb239a4069ac1194f1e4a2be7e25e8e55ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 18 Nov 2015 09:36:22 +0100 Subject: [PATCH 343/616] skip tests that randomly fail --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 9f21708..e402580 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -435,6 +435,8 @@ add_test 'innodb_gis.1 : fails in 5.7.9' add_test 'innodb.log_file : fails in 5.7.9' add_test 'perfschema.dml_host_cache : fails in 5.7.9' add_test 'perfschema.dml_hosts : fails in 5.7.9' +add_test 'perfschema.dml_file_instances : fails in 5.7.9' +add_test 'perfschema.mdl_func : fails in 5.7.9' add_test 'perfschema.func_file_io : fails in 5.7.9' add_test 'perfschema.setup_objects : fails in 5.7.9' add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9' @@ -452,6 +454,7 @@ add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' # fails sometimes add_test 'perfschema.func_mutex : fails in 5.7.9' add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' +add_test 'main.innodb_icp_all : fails in 5.7.9' add_test 'perfschema.global_read_lock : fails in 5.7.9' %endif From e5b6f709fa2d9e359d61634103988124c9f48cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 16 Dec 2015 14:21:03 +0100 Subject: [PATCH 344/616] Update to 5.7.10 --- .gitignore | 2 + boost-1.48.0-add-bjam-man-page.patch | 150 ++++++++++ boost-1.50.0-fix-non-utf8-files.patch | 22 ++ boost-1.54.0-locale-unused_typedef.patch | 11 + ...0-python-test-PyImport_AppendInittab.patch | 98 +++++++ boost-1.57.0-build-optflags.patch | 48 ++++ boost-1.57.0-mpl-print.patch | 31 +++ boost-1.57.0-python-abi_letters.patch | 62 +++++ boost-1.57.0-python-libpython_dep.patch | 13 + boost-1.57.0-spirit-unused_typedef.patch | 19 ++ boost-1.58.0-address-model.patch | 13 + boost-1.58.0-pool-test_linking.patch | 31 +++ boost-1.58.0-pool.patch | 120 ++++++++ boost-1.59-python-make_setter.patch | 25 ++ boost-1.59-test-fenv.patch | 32 +++ boost-1.59.0-log.patch | 106 +++++++ community-mysql-5.6.16-mysql-install.patch | 46 --- community-mysql-5.7.9-major.patch | 6 +- community-mysql-boost.patch | 160 ----------- community-mysql-test-openssl_1.patch | 23 -- community-mysql.spec | 263 ++++++++++++------ sources | 3 +- 22 files changed, 972 insertions(+), 312 deletions(-) create mode 100644 boost-1.48.0-add-bjam-man-page.patch create mode 100644 boost-1.50.0-fix-non-utf8-files.patch create mode 100644 boost-1.54.0-locale-unused_typedef.patch create mode 100644 boost-1.55.0-python-test-PyImport_AppendInittab.patch create mode 100644 boost-1.57.0-build-optflags.patch create mode 100644 boost-1.57.0-mpl-print.patch create mode 100644 boost-1.57.0-python-abi_letters.patch create mode 100644 boost-1.57.0-python-libpython_dep.patch create mode 100644 boost-1.57.0-spirit-unused_typedef.patch create mode 100644 boost-1.58.0-address-model.patch create mode 100644 boost-1.58.0-pool-test_linking.patch create mode 100644 boost-1.58.0-pool.patch create mode 100644 boost-1.59-python-make_setter.patch create mode 100644 boost-1.59-test-fenv.patch create mode 100644 boost-1.59.0-log.patch delete mode 100644 community-mysql-5.6.16-mysql-install.patch delete mode 100644 community-mysql-boost.patch delete mode 100644 community-mysql-test-openssl_1.patch diff --git a/.gitignore b/.gitignore index fa5212b..5707045 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ /mysql-5.6.26.tar.gz /mysql-5.6.27.tar.gz /mysql-5.7.9.tar.gz +/mysql-5.7.10.tar.gz +/boost_1_59_0.tar.bz2 diff --git a/boost-1.48.0-add-bjam-man-page.patch b/boost-1.48.0-add-bjam-man-page.patch new file mode 100644 index 0000000..ea3f19f --- /dev/null +++ b/boost-1.48.0-add-bjam-man-page.patch @@ -0,0 +1,150 @@ +diff --git a/tools/build/v2/doc/bjam.1 b/tools/build/v2/doc/bjam.1 +new file mode 100644 +index 0000000..8a44af6 +--- /dev/null ++++ b/tools/build/v2/doc/bjam.1 +@@ -0,0 +1,144 @@ ++.TH "bjam" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*- ++.ad l ++.nh ++.SH NAME ++bjam \- Command-line utility to build Boost-related C++ projects with Boost\&.Build ++.SH "SYNOPSIS" ++.PP ++\fBbjam\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP ++.PP ++\fIbjam\fP accepts the following options: ++.PP ++\fB-a\fP ++.br ++ Build all targets, even if they are current ++.PP ++\fB-dx\fP ++.br ++ Set the debug level to x (0-9) ++.PP ++\fB-fx\fP ++.br ++ Read x instead of Jambase ++.PP ++\fB-jx\fP ++.br ++ Run up to x shell commands concurrently ++.PP ++\fB-lx\fP ++.br ++ Limit actions to x number of seconds after which they are stopped ++.PP ++\fB-n\fP ++.br ++ Don't actually execute the updating actions ++.PP ++\fB-ox\fP ++.br ++ Write the updating actions to file x ++.PP ++\fB-px\fP ++.br ++ x=0, pipes action stdout and stderr merged into action output ++.PP ++\fB-q\fP ++.br ++ Quit quickly as soon as a target fails ++.PP ++\fB-sx=y\fP ++.br ++ Set variable x=y, overriding environment ++.PP ++\fB-tx\fP ++.br ++ Rebuild x, even if it is up-to-date ++.PP ++\fB-v\fP ++.br ++ Print the version of jam and exit ++.PP ++\fB--x\fP ++.br ++ Option is ignored ++.SH "DESCRIPTION" ++.PP ++This section provides the information necessary to create your own projects using \fIBoost\&.Build\fP The information provided here is relatively high-level, and Chapter 6, Reference as well as the on-line help system must be used to obtain low-level documentation (see --help) ++.PP ++\fIBoost\&.Build\fP actually consists of two parts - \fIBoost\&.Jam\fP, a build engine with its own interpreted language, and \fIBoost\&.Build\fP itself, implemented in \fIBoost\&.Jam's\fP language\&. The chain of events when you type bjam on the command line is as follows: ++.IP "\(bu" 2 ++\fIBoost\&.Jam\fP tries to find \fIBoost\&.Build\fP and loads the top-level module\&. The exact process is described in the section called “Initialization” ++.PP ++.PP ++.IP "\(bu" 2 ++The top-level module loads user-defined configuration files, \fIuser-config\&.jam\fP and \fIsite-config\&.jam\fP, which define available toolsets ++.PP ++.PP ++.IP "\(bu" 2 ++The \fIJamfile\fP in the current directory is read That in turn might cause reading of further Jamfiles\&. As a result, a tree of projects is created, with targets inside projects ++.PP ++.PP ++.IP "\(bu" 2 ++Finally, using the build request specified on the command line, \fIBoost\&.Build\fP decides which targets should be built and how\&. That information is passed back to \fIBoost\&.Jam\fP, which takes care of actually running the scheduled build action commands ++.PP ++.PP ++So, to be able to successfully use \fIBoost\&.Build\fP, you need to know only four things: ++.IP "\(bu" 2 ++How to configure \fIBoost\&.Build\fP (http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html) ++.IP "\(bu" 2 ++How to declare targets in Jamfiles (http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html) ++.IP "\(bu" 2 ++How the build process works (http://www.boost.org/boost-build2/doc/html/bbv2/overview/build_process.html) ++.PP ++.PP ++Some Basics about the \fIBoost\&.Jam\fP language\&. See the section called “Boost\&.Jam Language” (http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html) ++.SH "CONCEPTS" ++.PP ++\fIBoost\&.Build\fP has a few unique concepts that are introduced in this section\&. The best way to explain the concepts is by comparison with more classical build tools ++.PP ++When using any flavour of make, you directly specify targets and commands that are used to create them from other target\&. The below example creates a\&.o from a\&.c using a hardcoded compiler invocation command ++.PP ++a\&.o: a\&.c ++.br ++ g++ -o a\&.o -g a\&.c ++.PP ++This is rather low-level description mechanism and it is hard to adjust commands, options, and sets of created targets depending on the used compiler and operating system\&. ++.PP ++To improve portability, most modern build system provide a set of higher-level functions that can be used in build description files\&. Consider this example: ++.PP ++add_program ('a', 'a\&.c') ++.br ++.PP ++This is a function call that creates targets necessary to create executable file from source file a\&.c\&. Depending on configured properties, different commands line may be used\&. However, \fIadd_program\fP is higher-level, but rather thin level All targets are created immediately when build description is parsed, which makes it impossible to perform multi-variant builds\&. Often, change in any build property requires complete reconfiguration of the build tree ++.PP ++In order to support true multivariant builds, Boost\&.Build introduces the concept of metatarget—object that is created when build description is parsed and can be later called with specific build properties to generate actual targets ++.PP ++Consider an example: ++.PP ++exe a : a\&.cpp ; ++.br ++.PP ++When this declaration is parsed, \fIBoost\&.Build\fP creates a metatarget, but does not yet decides what files must be created, or what commands must be used\&. After all build files are parsed, Boost\&.Build considers properties requested on the command line\&. Supposed you have invoked \fIBoost\&.Build\fP with: ++.PP ++\fIbjam\fP toolset=gcc toolset=msvc ++.br ++.PP ++In that case, the metatarget will be called twice, once with toolset=gcc and once with toolset=msvc\&. Both invocations will produce concrete targets, that will have different extensions and use different command lines\&. Another key concept is build property\&. Build property is a variable that affects the build process\&. It can be specified on the command line, and is passed when calling a metatarget ++.PP ++While all build tools have a similar mechanism, \fIBoost\&.Build\fP differs by requiring that all build properties are declared in advance, and providing a large set of properties with portable semantics ++.PP ++The final concept is property propagation\&. Boost\&.Build does not require that every metatarget is called with the same properties\&. Instead, the 'top-level' metatargets are called with the properties specified on the command line Each metatarget can elect to augment or override some properties (in particular, using the requirements mechanism, see the section called “Requirements”: http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html#bbv2.overview.targets.requirements) Then, the dependency metatargets are called with modified properties and produce concrete targets that are then used in build process Of course, dependency metatargets maybe in turn modify build properties and have dependencies of their own\&. ++.PP ++For more in-depth treatment of the requirements and concepts, you may refer to SYRCoSE 2009 Boost\&.Build article (http://syrcose.ispras.ru/2009/files/04_paper.pdf)\&. ++.SH "SEE ALSO" ++.PP ++\fBboost-libraries\fP(3) ++.SH "SUPPORT" ++.PP ++Please report any bugs to https://svn.boost.org/trac/boost/ ++.SH "COPYRIGHT" ++.PP ++Boost Software License - Version 1\&.0 - August 17th, 2003 ++.PP ++See the LICENSE_1_0\&.txt file for more information on that license, or directly on Internet: ++.br ++ http://www.boost.org/LICENSE_1_0.txt diff --git a/boost-1.50.0-fix-non-utf8-files.patch b/boost-1.50.0-fix-non-utf8-files.patch new file mode 100644 index 0000000..b60a3ac --- /dev/null +++ b/boost-1.50.0-fix-non-utf8-files.patch @@ -0,0 +1,22 @@ +diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp +index 8b2bc43..d04f2fe 100644 +--- a/libs/units/example/autoprefixes.cpp ++++ b/libs/units/example/autoprefixes.cpp +@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit + { + static const char* name() { return("EUR"); } +- static const char* symbol() { return("€"); } ++ static const char* symbol() { return("€"); } + }; + + int main() +@@ -140,7 +140,7 @@ int main() + + quantity ce = 2048. * euro_base_unit::unit_type(); + cout << name_format << engineering_prefix << ce << endl; // 2.048 kiloEUR +- cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ ++ cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ + + + return 0; diff --git a/boost-1.54.0-locale-unused_typedef.patch b/boost-1.54.0-locale-unused_typedef.patch new file mode 100644 index 0000000..b7c9128 --- /dev/null +++ b/boost-1.54.0-locale-unused_typedef.patch @@ -0,0 +1,11 @@ +diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp +--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200 ++++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200 +@@ -27,7 +27,6 @@ namespace boundary { + int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end) + { + typedef LeftIterator left_iterator; +- typedef RightIterator right_iterator; + typedef typename std::iterator_traits::value_type char_type; + typedef std::char_traits traits; + while(l_begin!=l_end && r_begin!=r_end) { diff --git a/boost-1.55.0-python-test-PyImport_AppendInittab.patch b/boost-1.55.0-python-test-PyImport_AppendInittab.patch new file mode 100644 index 0000000..1d2ee5c --- /dev/null +++ b/boost-1.55.0-python-test-PyImport_AppendInittab.patch @@ -0,0 +1,98 @@ +diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp +--- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200 ++++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100 +@@ -56,6 +56,20 @@ void eval_test() + BOOST_TEST(value == "ABCDEFG"); + } + ++struct PyCtx ++{ ++ PyCtx() { ++ Py_Initialize(); ++ } ++ ++ ~PyCtx() { ++ // N.B. certain problems may arise when Py_Finalize is called when ++ // using Boost.Python. However in this test suite it all seems to ++ // work fine. ++ Py_Finalize(); ++ } ++}; ++ + void exec_test() + { + // Register the module with the interpreter +@@ -68,6 +82,8 @@ void exec_test() + ) == -1) + throw std::runtime_error("Failed to add embedded_hello to the interpreter's " + "builtin modules"); ++ ++ PyCtx ctx; + // Retrieve the main module + python::object main = python::import("__main__"); + +@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal + } + } + ++template ++bool ++run_and_handle_exception(Cb cb, bool pyerr_expected = false) ++{ ++ PyCtx ctx; ++ if (python::handle_exception(cb)) { ++ check_pyerr(pyerr_expected); ++ return true; ++ } else { ++ return false; ++ } ++} ++ + int main(int argc, char **argv) + { + BOOST_TEST(argc == 2 || argc == 3); + std::string script = argv[1]; +- // Initialize the interpreter +- Py_Initialize(); + +- if (python::handle_exception(eval_test)) { +- check_pyerr(); +- } +- else if(python::handle_exception(exec_test)) { +- check_pyerr(); +- } +- else if (python::handle_exception(boost::bind(exec_file_test, script))) { ++ // N.B. exec_test mustn't be called through run_and_handle_exception ++ // as it needs to handles the python context by itself. ++ if (run_and_handle_exception(eval_test) ++ || python::handle_exception(exec_test)) + check_pyerr(); +- } +- +- if (python::handle_exception(exec_test_error)) +- { +- check_pyerr(/*pyerr_expected*/ true); +- } + else +- { ++ run_and_handle_exception(boost::bind(exec_file_test, script)); ++ ++ if (!run_and_handle_exception(exec_test_error, true)) + BOOST_ERROR("Python exception expected, but not seen."); +- } + + if (argc > 2) { ++ PyCtx ctx; + // The main purpose is to test compilation. Since this test generates + // a file and I (rwgk) am uncertain about the side-effects, run it only + // if explicitly requested. + exercise_embedding_html(); + } + +- // Boost.Python doesn't support Py_Finalize yet. +- // Py_Finalize(); + return boost::report_errors(); + } + + +Diff finished. Fri Jan 9 21:31:13 2015 diff --git a/boost-1.57.0-build-optflags.patch b/boost-1.57.0-build-optflags.patch new file mode 100644 index 0000000..d0b925f --- /dev/null +++ b/boost-1.57.0-build-optflags.patch @@ -0,0 +1,48 @@ +diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam +--- ./tools/build/src/tools/gcc.jam~ 2015-02-09 15:01:04.850331626 +0100 ++++ ./tools/build/src/tools/gcc.jam 2015-02-09 15:44:29.122307134 +0100 +@@ -366,17 +366,17 @@ generators.override gcc.compile.c++.pch + toolset.flags gcc.compile PCH_FILE on : ; + + # Declare flags and action for compilation. +-toolset.flags gcc.compile OPTIONS off : -O0 ; +-toolset.flags gcc.compile OPTIONS speed : -O3 ; +-toolset.flags gcc.compile OPTIONS space : -Os ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS speed : ; ++toolset.flags gcc.compile OPTIONS space : ; + +-toolset.flags gcc.compile OPTIONS off : -fno-inline ; +-toolset.flags gcc.compile OPTIONS on : -Wno-inline ; +-toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS full : ; + +-toolset.flags gcc.compile OPTIONS off : -w ; +-toolset.flags gcc.compile OPTIONS on : -Wall ; +-toolset.flags gcc.compile OPTIONS all : -Wall -pedantic ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS all : ; + toolset.flags gcc.compile OPTIONS on : -Werror ; + + toolset.flags gcc.compile OPTIONS on : -g ; +@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc + + actions compile.c++ bind PCH_FILE + { +- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" + } + + actions compile.c bind PCH_FILE +@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE + + actions compile.c++.preprocess bind PCH_FILE + { +- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" + } + + actions compile.c.preprocess bind PCH_FILE diff --git a/boost-1.57.0-mpl-print.patch b/boost-1.57.0-mpl-print.patch new file mode 100644 index 0000000..561cef1 --- /dev/null +++ b/boost-1.57.0-mpl-print.patch @@ -0,0 +1,31 @@ +diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp +--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200 ++++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100 +@@ -52,16 +52,15 @@ struct print + enum { n = sizeof(T) + -1 }; + #elif defined(__MWERKS__) + void f(int); +-#else +- enum { +- n = +-# if defined(__EDG_VERSION__) +- aux::dependent_unsigned::value > -1 +-# else +- sizeof(T) > -1 +-# endif +- }; +-#endif ++#elif defined(__EDG_VERSION__) ++ enum { n = aux::dependent_unsigned::value > -1 }; ++#elif defined(BOOST_GCC) ++ enum { n1 }; ++ enum { n2 }; ++ enum { n = n1 != n2 }; ++#else ++ enum { n = sizeof(T) > -1 }; ++#endif + }; + + #if defined(BOOST_MSVC) + +Diff finished. Tue Jan 20 12:45:03 2015 diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch new file mode 100644 index 0000000..7df3ee7 --- /dev/null +++ b/boost-1.57.0-python-abi_letters.patch @@ -0,0 +1,62 @@ +--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 ++++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 +@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti + # using python : 2.3 : /usr/local/bin/python ; + # + rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? +- : condition * : extension-suffix ? ) ++ : condition * : extension-suffix ? : abi-letters ? ) + { + project.push-current $(.project) ; + +@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? + } + } + +- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ; ++ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ; + + project.pop-current ; + } +@@ -653,7 +653,7 @@ local rule system-library-dependencies ( + + # Declare a target to represent Python's library. + # +-local rule declare-libpython-target ( version ? : requirements * ) ++local rule declare-libpython-target ( version ? : requirements * : abi-letters ? ) + { + # Compute the representation of Python version in the name of Python's + # library file. +@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve + } + + # Declare it. +- lib python.lib : : python$(lib-version) $(requirements) ; ++ lib python.lib : : python$(lib-version)$(abi-letters) $(requirements) ; + } + + + # Implementation of init. + local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : +- condition * : extension-suffix ? ) ++ condition * : extension-suffix ? : abi-letters ? ) + { + local prefix ; + local exec-prefix ; +@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o + extension-suffix ?= _d ; + } + extension-suffix ?= "" ; ++ abi-letters ?= "" ; + + # Normalize and dissect any version number. + local major-minor ; +@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o + } + else + { +- declare-libpython-target $(version) : $(target-requirements) ; ++ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ; + + # This is an evil hack. On, Windows, when Python is embedded, nothing + # seems to set up sys.path to include Python's standard library diff --git a/boost-1.57.0-python-libpython_dep.patch b/boost-1.57.0-python-libpython_dep.patch new file mode 100644 index 0000000..57bfc26 --- /dev/null +++ b/boost-1.57.0-python-libpython_dep.patch @@ -0,0 +1,13 @@ +Index: boost_1_57_0/tools/build/src/tools/python.jam +=================================================================== +--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) ++++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) +@@ -994,7 +994,7 @@ + else + { + alias python_for_extensions +- : ++ : python + : $(target-requirements) + : + : $(usage-requirements) diff --git a/boost-1.57.0-spirit-unused_typedef.patch b/boost-1.57.0-spirit-unused_typedef.patch new file mode 100644 index 0000000..2829629 --- /dev/null +++ b/boost-1.57.0-spirit-unused_typedef.patch @@ -0,0 +1,19 @@ +diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp +--- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200 ++++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100 +@@ -282,12 +282,12 @@ struct grammar_definition + #if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE) + typedef impl::grammar_helper_base helper_base_t; + typedef grammar_helper_list helper_list_t; +- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; + + helper_list_t& helpers = + grammartract_helper_list::do_(self); + + # if defined(BOOST_INTEL_CXX_VERSION) ++ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; + for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i) + (*i)->undefine(self); + # else + +Diff finished. Tue Jan 20 13:25:53 2015 diff --git a/boost-1.58.0-address-model.patch b/boost-1.58.0-address-model.patch new file mode 100644 index 0000000..3582737 --- /dev/null +++ b/boost-1.58.0-address-model.patch @@ -0,0 +1,13 @@ +--- boost_1_58_0/tools/build/src/tools/gcc.jam~ 2015-07-17 15:14:57.381636224 +0100 ++++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-27 17:35:29.122264048 +0100 +@@ -421,7 +421,9 @@ + + rule setup-address-model ( targets * : sources * : properties * ) + { +- local model = [ feature.get-values address-model : $(properties) ] ; ++ # For RPM builds the address model flag is passed in %{optflags}. ++ # local model = [ feature.get-values address-model : $(properties) ] ; ++ local model ; + if $(model) + { + local option ; diff --git a/boost-1.58.0-pool-test_linking.patch b/boost-1.58.0-pool-test_linking.patch new file mode 100644 index 0000000..a381370 --- /dev/null +++ b/boost-1.58.0-pool-test_linking.patch @@ -0,0 +1,31 @@ +diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2 +--- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100 ++++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100 +@@ -28,17 +28,17 @@ + local Werr = gcc:on msvc:on ; + + test-suite pool : +- [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 ] +- [ run test_pool_alloc.cpp : : : $(Werr) ] +- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 ] +- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ] +- [ run test_bug_3349.cpp : : : $(Werr) ] +- [ run test_bug_4960.cpp : : : $(Werr) ] +- [ run test_bug_1252.cpp : : : $(Werr) ] +- [ run test_bug_2696.cpp : : : $(Werr) ] +- [ run test_bug_5526.cpp : : : $(Werr) ] ++ [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 /boost/system//boost_system ] ++ [ run test_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 /boost/system//boost_system ] ++ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_3349.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_4960.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_1252.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_2696.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_5526.cpp : : : $(Werr) /boost/system//boost_system ] + [ run test_threading.cpp : : : multi /boost/thread//boost_thread ] +- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ] ++ [ run ../example/time_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] + [ compile test_poisoned_macros.cpp : $(Werr) ] + + # diff --git a/boost-1.58.0-pool.patch b/boost-1.58.0-pool.patch new file mode 100644 index 0000000..ed8449e --- /dev/null +++ b/boost-1.58.0-pool.patch @@ -0,0 +1,120 @@ +Index: boost/pool/pool.hpp +=================================================================== +--- boost/pool/pool.hpp (revision 78317) ++++ boost/pool/pool.hpp (revision 78326) +@@ -27,4 +27,6 @@ + #include + ++// std::numeric_limits ++#include + // boost::integer::static_lcm + #include +@@ -358,4 +360,11 @@ + } + ++ size_type max_chunks() const ++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. ++ size_type partition_size = alloc_size(); ++ size_type POD_size = integer::static_lcm::value + sizeof(size_type); ++ return (std::numeric_limits::max() - POD_size) / alloc_size(); ++ } ++ + static void * & nextof(void * const ptr) + { //! \returns Pointer dereferenced. +@@ -377,5 +388,7 @@ + //! the first time that object needs to allocate system memory. + //! The default is 32. This parameter may not be 0. +- //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ set_next_size(nnext_size); ++ set_max_size(nmax_size); + } + +@@ -400,7 +413,7 @@ + } + void set_next_size(const size_type nnext_size) +- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. +- //! \returns nnext_size. +- next_size = start_size = nnext_size; ++ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. ++ BOOST_USING_STD_MIN(); ++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); + } + size_type get_max_size() const +@@ -410,5 +423,6 @@ + void set_max_size(const size_type nmax_size) + { //! Set max_size. +- max_size = nmax_size; ++ BOOST_USING_STD_MIN(); ++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); + } + size_type get_requested_size() const +@@ -713,7 +727,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -753,7 +767,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -797,4 +811,6 @@ + //! \returns Address of chunk n if allocated ok. + //! \returns 0 if not enough memory for n chunks. ++ if (n > max_chunks()) ++ return 0; + + const size_type partition_size = alloc_size(); +@@ -845,7 +861,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // insert it into the list, +Index: libs/pool/test/test_bug_6701.cpp +=================================================================== +--- libs/pool/test/test_bug_6701.cpp (revision 78326) ++++ libs/pool/test/test_bug_6701.cpp (revision 78326) +@@ -0,0 +1,27 @@ ++/* Copyright (C) 2012 Étienne Dupuis ++* ++* Use, modification and distribution is subject to the ++* Boost Software License, Version 1.0. (See accompanying ++* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701) ++ ++#include ++#include ++ ++int main() ++{ ++ boost::pool<> p(1024, std::numeric_limits::max() / 768); ++ ++ void *x = p.malloc(); ++ BOOST_ASSERT(!x); ++ ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_next_size()); ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_max_size()); ++ ++ void *y = p.ordered_malloc(std::numeric_limits::max() / 768); ++ BOOST_ASSERT(!y); ++ ++ return 0; ++} diff --git a/boost-1.59-python-make_setter.patch b/boost-1.59-python-make_setter.patch new file mode 100644 index 0000000..6c00658 --- /dev/null +++ b/boost-1.59-python-make_setter.patch @@ -0,0 +1,25 @@ +From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Wed, 2 Sep 2015 13:02:12 +0100 +Subject: [PATCH] Python: Fix condition for make_setter overload. + +This fixes the regression caused by 42e7d7b. + +Fixes #39 +--- + include/boost/python/data_members.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp +index 139bde3..5d3309c 100644 +--- a/include/boost/python/data_members.hpp ++++ b/include/boost/python/data_members.hpp +@@ -305,7 +305,7 @@ inline object make_setter(D& x) + return detail::make_setter(x, default_call_policies(), is_member_pointer(), 0); + } + +-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ++# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + template + inline object make_setter(D const& x) + { diff --git a/boost-1.59-test-fenv.patch b/boost-1.59-test-fenv.patch new file mode 100644 index 0000000..df87f56 --- /dev/null +++ b/boost-1.59-test-fenv.patch @@ -0,0 +1,32 @@ +commit 2f3b98e640c25fe45ae691a5aa950745380b983e +Author: Jonathan Wakely +Date: Mon Sep 14 15:05:24 2015 +0100 + + Do not qualify names that might be macros. + +diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp +index 3a9e779..8b319df 100644 +--- a/include/boost/test/impl/execution_monitor.ipp ++++ b/include/boost/test/impl/execution_monitor.ipp +@@ -1380,8 +1380,8 @@ enable( unsigned mask ) + + return ~old_cw & BOOST_FPE_ALL; + #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) +- ::feclearexcept(BOOST_FPE_ALL); +- int res = ::feenableexcept( mask ); ++ feclearexcept(BOOST_FPE_ALL); ++ int res = feenableexcept( mask ); + return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; + #else + /* Not Implemented */ +@@ -1417,8 +1417,8 @@ disable( unsigned mask ) + + return ~old_cw & BOOST_FPE_ALL; + #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) +- ::feclearexcept(BOOST_FPE_ALL); +- int res = ::fedisableexcept( mask ); ++ feclearexcept(BOOST_FPE_ALL); ++ int res = fedisableexcept( mask ); + return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; + #else + /* Not Implemented */ diff --git a/boost-1.59.0-log.patch b/boost-1.59.0-log.patch new file mode 100644 index 0000000..844b3ff --- /dev/null +++ b/boost-1.59.0-log.patch @@ -0,0 +1,106 @@ +From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001 +From: Andrey Semashev +Date: Sun, 23 Aug 2015 17:27:20 +0300 +Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when + the operator right hand argument is not directly supported by + formatting_ostream. Fixed #11549. + +--- + +diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp +index b3c58e2..c1e8059 100644 +--- a/include/boost/log/sources/record_ostream.hpp ++++ b/include/boost/log/sources/record_ostream.hpp +@@ -39,6 +39,18 @@ namespace boost { + + BOOST_LOG_OPEN_NAMESPACE + ++template< typename CharT > ++class basic_record_ostream; ++ ++namespace aux { ++ ++template< typename StreamT, typename R > ++struct enable_if_record_ostream {}; ++template< typename CharT, typename R > ++struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; }; ++ ++} // namespace aux ++ + /*! + * \brief Logging record adapter with a streaming capability + * +@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ + typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging + #endif + ++// Implementation note: these operators below should be the least attractive for the compiler ++// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. ++// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload ++// would be more preferred than the typical one written by users: ++// ++// record_ostream& operator<< (record_ostream& strm, my_type const& arg); ++// ++// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required ++// if there is a perfect forwarding overload. ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT& strm, T const& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT& strm, T& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT&& strm, T const& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT&& strm, T& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) ++ + namespace aux { + + //! Internal class that provides formatting streams for record pumps +diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp +index 4345206..744acc0 100644 +--- a/include/boost/log/utility/formatting_ostream.hpp ++++ b/include/boost/log/utility/formatting_ostream.hpp +@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const + + // Implementation note: these operators below should be the least attractive for the compiler + // so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. ++// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload ++// would be more preferred than the typical one written by users: ++// ++// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg); ++// ++// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required ++// if there is a perfect forwarding overload. + template< typename StreamT, typename T > + inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type + operator<< (StreamT& strm, T const& value) diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch deleted file mode 100644 index 5efc4eb..0000000 --- a/community-mysql-5.6.16-mysql-install.patch +++ /dev/null @@ -1,46 +0,0 @@ -We have, for security hardening reasons, changed upstream sources to never -create the test database in 5.7. This patch is a backport from 5.7. - -The patch in Fedora is the same that we apply in our own repos. Debian and -Ubuntu are also skipping creation of the test database, so we're trying -to align across distros in this issue. - -diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in -index 1fa5164..4aa49ca 100644 ---- a/scripts/mysql_install_db.pl.in -+++ b/scripts/mysql_install_db.pl.in -@@ -113,6 +113,7 @@ EOF2 - print <{srcdir} and $opt->{basedir} ) - { - error($opt,"Specify either --basedir or --srcdir, not both"); - } --if ( $opt->{'keep-my-cnf'} ) -+if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) - { - $keep_my_cnf = 1; - } -@@ -664,7 +665,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) - } - - # ---------------------------------------------------------------------- --# Create database directories mysql & test -+# Create database directory mysql - # ---------------------------------------------------------------------- - - # FIXME The shell variant uses "mkdir -p": -@@ -697,7 +698,7 @@ if ($opt_user) - } - } - --foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) -+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") - { - mkdir($dir, 0700) unless -d $dir; - if ($opt_user and -w "/") diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch index b822aed..15b50b8 100644 --- a/community-mysql-5.7.9-major.patch +++ b/community-mysql-5.7.9-major.patch @@ -1,11 +1,11 @@ ---- mysql-5.7.8/cmake/mysql_version.cmake.orig 2015-09-23 15:43:23.252558904 +0200 -+++ mysql-5.7.8/cmake/mysql_version.cmake 2015-09-23 15:42:58.187604141 +0200 +--- mysql-5.7.10/cmake/mysql_version.cmake.orig 2015-11-29 20:16:24.000000000 +0100 ++++ mysql-5.7.10/cmake/mysql_version.cmake 2015-12-16 14:15:49.129269372 +0100 @@ -17,7 +17,7 @@ # Global constants, only to be changed between major releases. # -SET(SHARED_LIB_MAJOR_VERSION "20") +SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "0") + SET(SHARED_LIB_MINOR_VERSION "1") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-boost.patch b/community-mysql-boost.patch deleted file mode 100644 index 03e2aa3..0000000 --- a/community-mysql-boost.patch +++ /dev/null @@ -1,160 +0,0 @@ ---- mysql-5.7.9/client/CMakeLists.txt.orig 2015-10-12 08:21:35.000000000 +0200 -+++ mysql-5.7.9/client/CMakeLists.txt 2015-11-10 21:16:37.264522003 +0100 -@@ -30,12 +30,6 @@ INCLUDE_DIRECTORIES( - - INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) - --# Prevent Boost from including external precompiled Boost libraries, use --# threading (not implemented for Solaris) and turn off unused functionality. --ADD_DEFINITIONS( -- -DBOOST_ALL_NO_LIB -- -DBOOST_SYSTEM_NO_DEPRECATED) -- - ## Subdirectory with common client code. - ADD_SUBDIRECTORY(base) - ## Subdirectory for mysqlpump code. -@@ -46,74 +40,6 @@ COPY_OPENSSL_DLLS(copy_openssl_client) - - INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) - --SET(BOOST_SOURCES_DIR ${BOOST_PATCHES_DIR}) -- --IF(WIN32) -- LIST(APPEND BOOST_THREAD_SOURCES -- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp -- ) --ELSE() -- LIST(APPEND BOOST_THREAD_SOURCES -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp -- ) --ENDIF() -- --SET(BOOST_LIB_SOURCES -- ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp -- ${BOOST_SOURCES_DIR}/libs/chrono/src/chrono.cpp -- ${BOOST_SOURCES_DIR}/libs/chrono/src/process_cpu_clocks.cpp -- ${BOOST_SOURCES_DIR}/libs/chrono/src/thread_clock.cpp -- ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/future.cpp --) -- --ADD_CONVENIENCE_LIBRARY(boost_lib -- ${BOOST_LIB_SOURCES} -- ${BOOST_THREAD_SOURCES} --) -- --SET_TARGET_PROPERTIES(boost_lib -- PROPERTIES COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB") -- --IF(HAVE_clock_gettime_IN_rt) -- TARGET_LINK_LIBRARIES(boost_lib ${LIBRT}) --ENDIF() -- --# Do not build library unless it is needed by some other target. --SET_PROPERTY(TARGET boost_lib PROPERTY EXCLUDE_FROM_ALL TRUE) -- --MY_CHECK_CXX_COMPILER_FLAG("-Wno-logical-op" HAVE_NO_LOGICAL_OP) --IF(HAVE_NO_LOGICAL_OP) -- ADD_COMPILE_FLAGS( -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp -- COMPILE_FLAGS "-Wno-logical-op" -- ) --ENDIF() -- --# Boost source has unused local typedefs. --MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" HAVE_NO_UNUSED_TYPEDEFS) --IF(HAVE_NO_UNUSED_TYPEDEFS) -- ADD_COMPILE_FLAGS( -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp -- COMPILE_FLAGS "-Wno-unused-local-typedefs" -- ) --ENDIF() -- --ADD_COMPILE_FLAGS( -- ${BOOST_LIB_SOURCES} -- ${BOOST_THREAD_SOURCES} -- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} --) -- --# Need explicit pthread for gcc -fsanitize=address --IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") -- TARGET_LINK_LIBRARIES(boost_lib pthread) --ENDIF() -- - ADD_DEFINITIONS(${SSL_DEFINES}) - MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc) - TARGET_LINK_LIBRARIES(mysql mysqlclient) -@@ -125,9 +51,6 @@ IF(NOT WITHOUT_SERVER) - MYSQL_ADD_EXECUTABLE(mysql_upgrade - upgrade/program.cc - ) --ADD_COMPILE_FLAGS( -- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} --) - TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core) - ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema) - ENDIF() ---- mysql-5.7.9/client/base/CMakeLists.txt.orig 2015-11-10 21:38:13.968255057 +0100 -+++ mysql-5.7.9/client/base/CMakeLists.txt 2015-11-10 21:41:47.685928592 +0100 -@@ -45,14 +45,7 @@ ADD_CONVENIENCE_LIBRARY(client_base - ../../sql-common/sql_string.cc - ) - --ADD_COMPILE_FLAGS( -- mutex.cc -- mysql_query_runner.cc -- show_variable_query_extractor.cc -- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} --) -- --TARGET_LINK_LIBRARIES(client_base mysqlclient boost_lib) -+TARGET_LINK_LIBRARIES(client_base mysqlclient boost_chrono boost_system) - - # Do not build library unless it is needed by some other target. - SET_PROPERTY(TARGET client_base PROPERTY EXCLUDE_FROM_ALL TRUE) ---- mysql-5.7.9/client/dump/CMakeLists.txt.orig 2015-11-10 21:37:51.399289532 +0100 -+++ mysql-5.7.9/client/dump/CMakeLists.txt 2015-11-10 21:40:32.536043387 +0100 -@@ -101,7 +101,7 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL - ../../sql-common/my_user.c) - ADD_CONVENIENCE_LIBRARY(mysqlpump_lib ${MYSQLPUMP_LIB_SOURCES}) - TARGET_LINK_LIBRARIES(mysqlpump_lib -- client_base ${LZ4_LIBRARY} boost_lib) -+ client_base ${LZ4_LIBRARY} boost_chrono boost_system) - - # Boost source has unused local typedefs. - MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" -@@ -125,19 +125,11 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL - ENDIF() - - ADD_COMPILE_FLAGS( -- ${MYSQLPUMP_LIB_SOURCES} -- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} -- ) -- -- ADD_COMPILE_FLAGS( - compression_writer.cc - mysqldump_tool_chain_maker.cc - COMPILE_FLAGS -I${LZ4_INCLUDE_DIR} - ) - MYSQL_ADD_EXECUTABLE(mysqlpump program.cc) -- ADD_COMPILE_FLAGS( -- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} -- ) - - TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib) - ---- mysql-5.7.9/CMakeLists.txt.orig 2015-10-12 08:21:33.000000000 +0200 -+++ mysql-5.7.9/CMakeLists.txt 2015-11-11 12:19:26.313509287 +0100 -@@ -432,8 +432,6 @@ ELSE() - SET(DEFAULT_TMPDIR "\"${TMPDIR}\"") - ENDIF() - --INCLUDE(cmake/boost.cmake) -- - IF (CMAKE_SYSTEM_NAME MATCHES "Linux") - OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF) - IF (WITH_SYSTEMD) diff --git a/community-mysql-test-openssl_1.patch b/community-mysql-test-openssl_1.patch deleted file mode 100644 index 26f293c..0000000 --- a/community-mysql-test-openssl_1.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -rup mysql-5.7.8.orig/mysql-test/r/openssl_1.result mysql-5.7.8/mysql-test/r/openssl_1.result ---- mysql-5.7.8.orig/mysql-test/r/openssl_1.result 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/r/openssl_1.result 2015-10-15 11:15:37.719376398 +0200 -@@ -211,8 +211,6 @@ Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value - Ssl_cipher AES256-SHA --Variable_name Value --Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result - is still running; no cipher request crashed the server -diff -rup mysql-5.7.8.orig/mysql-test/t/openssl_1.test mysql-5.7.8/mysql-test/t/openssl_1.test ---- mysql-5.7.8.orig/mysql-test/t/openssl_1.test 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/t/openssl_1.test 2015-10-15 11:15:07.648425927 +0200 -@@ -218,7 +218,6 @@ DROP TABLE t1; - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=DHE-RSA-AES256-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=EDH-RSA-DES-CBC3-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=AES256-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log - diff --git a/community-mysql.spec b/community-mysql.spec index e402580..7863c44 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.9 +Version: 5.7.10 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -90,6 +90,7 @@ URL: http://www.mysql.com License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz +Source1: http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2 Source2: mysql_config_multilib.sh Source3: my.cnf.in Source4: my_config.h @@ -117,15 +118,29 @@ Patch3: %{pkgnamepatch}-logrotate.patch Patch4: %{pkgnamepatch}-file-contents.patch Patch5: %{pkgnamepatch}-scripts.patch Patch6: %{pkgnamepatch}-paths.patch -Patch7: %{pkgnamepatch}-boost.patch -Patch8: %{pkgnamepatch}-test-openssl_1.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch -BuildRequires: boost-devel +# Patches taken from boost 1.59 +Patch104: boost-1.50.0-fix-non-utf8-files.patch +Patch105: boost-1.48.0-add-bjam-man-page.patch +Patch115: boost-1.58.0-pool.patch +Patch125: boost-1.57.0-mpl-print.patch +Patch136: boost-1.57.0-spirit-unused_typedef.patch +Patch145: boost-1.54.0-locale-unused_typedef.patch +Patch151: boost-1.58.0-pool-test_linking.patch +Patch161: boost-1.57.0-python-libpython_dep.patch +Patch162: boost-1.57.0-python-abi_letters.patch +Patch163: boost-1.55.0-python-test-PyImport_AppendInittab.patch +Patch165: boost-1.57.0-build-optflags.patch +Patch168: boost-1.58.0-address-model.patch +Patch170: boost-1.59.0-log.patch +Patch180: boost-1.59-python-make_setter.patch +Patch181: boost-1.59-test-fenv.patch + BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel @@ -377,16 +392,33 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%patch8 -p1 %patch51 -p1 %patch52 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif -# Prevent using bundled boost -rm -r include/boost_1_59_0 +# Unpack Boost +%setup -q -n mysql-%{version} -D -T -a 1 + +# Patch Boost +pushd boost_1_59_0 +%patch104 -p1 +%patch105 -p1 +%patch115 -p0 +%patch125 -p1 +%patch136 -p1 +%patch145 -p1 +%patch151 -p1 +%patch161 -p1 +%patch162 -p1 +%patch163 -p1 +%patch165 -p1 +%patch168 -p1 +%patch170 -p2 +%patch180 -p2 +%patch181 -p2 +popd # Modify tests to pass on all archs pushd mysql-test @@ -397,92 +429,157 @@ add_test () { touch %{skiplist} -# these tests fail in 5.7.9 -add_test 'main.gis-precise : fails in 5.7.9' -add_test 'main.gis : fails in 5.7.9' -add_test 'gis.gis_bugs_crashes : fails in 5.7.9' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.9' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.9' -add_test 'gis.spatial_operators_difference : fails in 5.7.9' -add_test 'gis.spatial_operators_intersection : fails in 5.7.9' -add_test 'gis.spatial_operators_symdifference : fails in 5.7.9' -add_test 'main.datadir_permission : fails in 5.7.9' -add_test 'main.events_1 : fails in 5.7.9' -# these tests fail in 5.7.9 randomly -add_test 'sysschema.fn_ps_thread_trx_info : randomly fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_shutdown : randomly fails in 5.7.9' -add_test 'main.mysqldump : randomly fails in 5.7.9' -add_test 'perfschema.memory_aggregate_no_a_no_u : randomly fails in 5.7.9' +# these tests fail in 5.7.10 on arms +%ifarch aarch64 armv7hl +add_test 'binlog.binlog_xa_prepared_disconnect : fails in 5.7.10' +add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' +add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' +add_test 'gis.gis_bugs_crashes : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' +add_test 'gis.spatial_operators_intersection : fails in 5.7.10' +add_test 'gis.spatial_operators_union : fails in 5.7.10' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_contains : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_equals : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_touches : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_within : fails in 5.7.10' +add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' +add_test 'innodb_fts.opt : fails in 5.7.10' +add_test 'innodb_gis.gis : fails in 5.7.10' +add_test 'innodb_gis.1 : fails in 5.7.10' +add_test 'innodb.innodb : fails in 5.7.10' +add_test 'innodb.innodb-wl5980-discard : fails in 5.7.10' +add_test 'innodb.log_file : fails in 5.7.10' +add_test 'main.ctype_big5 : fails in 5.7.10' +add_test 'main.ctype_gbk : fails in 5.7.10' +add_test 'main.gis : fails in 5.7.10' +add_test 'main.gis-precise : fails in 5.7.10' +add_test 'main.insert : fails in 5.7.10' +add_test 'perfschema.func_file_io : fails in 5.7.10' +add_test 'perfschema.merge_table_io : fails in 5.7.10' +add_test 'perfschema.setup_objects : fails in 5.7.10' +add_test 'sysschema.fn_ps_thread_trx_info : fails in 5.7.10' +add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' +add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' +add_test 'test_service_sql_api.test_session_info : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.10' +%endif + +# these tests fail in 5.7.10 on ppcs +%ifarch ppc64 ppc64le +add_test 'federated.federated_server : fails in 5.7.10' +add_test 'funcs_1.innodb_views : fails in 5.7.10' +add_test 'funcs_1.storedproc : fails in 5.7.10' +add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' +add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' +add_test 'gis.gis_bugs_crashes : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' +add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' +add_test 'gis.spatial_operators_union : fails in 5.7.10' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' +add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' +add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' +add_test 'innodb_fts.ngram_1 : fails in 5.7.10' +add_test 'innodb_fts.plugin : fails in 5.7.10' +add_test 'innodb_fts.tablespace_location : fails in 5.7.10' +add_test 'innodb.innodb_bug30919 : fails in 5.7.10' +add_test 'innodb.innodb : fails in 5.7.10' +add_test 'innodb.mysqldump_max_recordsize : fails in 5.7.10' +add_test 'innodb_zip.cmp_per_index : fails in 5.7.10' +add_test 'innodb_zip.wl6470_2 : fails in 5.7.10' +add_test 'main.bootstrap : fails in 5.7.10' +add_test 'main.ctype_big5 : fails in 5.7.10' +add_test 'main.ctype_cp1251 : fails in 5.7.10' +add_test 'main.ctype_gbk : fails in 5.7.10' +add_test 'main.grant_alter_user : fails in 5.7.10' +add_test 'main.innodb_icp : fails in 5.7.10' +add_test 'main.innodb_mrr : fails in 5.7.10' +add_test 'main.innodb_mrr_icp : fails in 5.7.10' +add_test 'main.insert : fails in 5.7.10' +add_test 'main.mysql_client_test : fails in 5.7.10' +add_test 'main.mysqldump : fails in 5.7.10' +add_test 'main.mysql_embedded : fails in 5.7.10' +add_test 'main.partition_innodb_semi_consistent : fails in 5.7.10' +add_test 'main.partition_range : fails in 5.7.10' +add_test 'main.sql_mode_default : fails in 5.7.10' +add_test 'main.subquery_sj_dupsweed_bka_nixbnl : fails in 5.7.10' +add_test 'main.subquery_sj_firstmatch_bka : fails in 5.7.10' +add_test 'main.subquery_sj_firstmatch_bka_nixbnl : fails in 5.7.10' +add_test 'main.subquery_sj_none_bka : fails in 5.7.10' +add_test 'main.subselect_innodb : fails in 5.7.10' +add_test 'perfschema.mdl_func : fails in 5.7.10' +add_test 'perfschema.socket_summary_by_instance_func : fails in 5.7.10' +add_test 'rpl.rpl_alter_repository : fails in 5.7.10' +add_test 'rpl.rpl_checksum_cache : fails in 5.7.10' +add_test 'rpl.rpl_innodb_bug28430 : fails in 5.7.10' +add_test 'rpl.rpl_innodb_bug30888 : fails in 5.7.10' +add_test 'rpl.rpl_many_optimize : fails in 5.7.10' +add_test 'rpl.rpl_mixed_binlog_max_cache_size : fails in 5.7.10' +add_test 'rpl.rpl_recovery_replicate_same_server_id : fails in 5.7.10' +add_test 'rpl.rpl_replicate_do : fails in 5.7.10' +add_test 'rpl.rpl_rotate_logs : fails in 5.7.10' +add_test 'sysschema.pr_diagnostics : fails in 5.7.10' +add_test 'sysschema.pr_statement_performance_analyzer : fails in 5.7.10' +add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' +%endif + +# these tests fail in 5.7.10 on s390s +%ifarch s390 s390x +add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' +add_test 'gis.gis_bugs_crashes : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' +add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' +add_test 'gis.spatial_operators_union : fails in 5.7.10' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' +add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' +add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' +add_test 'innodb_fts.opt : fails in 5.7.10' +add_test 'main.ps_ddl : fails in 5.7.10' +add_test 'main.ps_ddl1 : fails in 5.7.10' +add_test 'perfschema.status_reprepare : fails in 5.7.10' +add_test 'rpl.rpl_cross_version : fails in 5.7.10' +add_test 'rpl.rpl_dual_pos_advance : fails in 5.7.10' +add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' +%endif # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt -# these tests fail in 5.7.9 on arch -%ifarch %{arm} -add_test 'gis.spatial_operators_union : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_contains : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_disjoint : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_equals : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_intersects : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_overlaps : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_touches : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_within : fails in 5.7.9' -add_test 'innodb_fts.opt : fails in 5.7.9' -add_test 'innodb_gis.gis : fails in 5.7.9' -add_test 'innodb_gis.precise : fails in 5.7.9' -add_test 'innodb_gis.1 : fails in 5.7.9' -add_test 'innodb.log_file : fails in 5.7.9' -add_test 'perfschema.dml_host_cache : fails in 5.7.9' -add_test 'perfschema.dml_hosts : fails in 5.7.9' -add_test 'perfschema.dml_file_instances : fails in 5.7.9' -add_test 'perfschema.mdl_func : fails in 5.7.9' -add_test 'perfschema.func_file_io : fails in 5.7.9' -add_test 'perfschema.setup_objects : fails in 5.7.9' -add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9' -add_test 'test_service_sql_api.test_session_info : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' -# fails sometimes -add_test 'perfschema.func_mutex : fails in 5.7.9' -add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' -add_test 'main.innodb_icp_all : fails in 5.7.9' -add_test 'perfschema.global_read_lock : fails in 5.7.9' -%endif - # Archs without hw performance counter, rh 741325 %ifarch aarch64 sparc64 add_test 'perfschema.func_file_io : rh 741325' -add_test 'perfschema.func_mutex : rh 741325' add_test 'perfschema.setup_objects : rh 741325' -add_test 'perfschema.global_read_lock : 77889' -%endif - -# Archs with collation issues, bugs.mysql.com/46895 -%ifarch aarch64 ppc %{power64} s390 s390x -add_test 'innodb.innodb_ctype_ldml : 46895' -add_test 'main.ctype_ldml : 46895' %endif # Archs with ps_ddl issues -%ifarch ppc s390 +%ifarch s390 add_test 'main.ps_ddl : ps_ddl issue' add_test 'main.ps_ddl1 : ps_ddl issue' %endif -# Arch with other issues -%ifarch ppc -add_test 'main.audit_plugin : unknown' -add_test 'main.upgrade : unknown' -%endif popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -546,6 +643,7 @@ cmake .. \ -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DWITH_BOOST=.. \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ @@ -886,6 +984,8 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%{_bindir}/lz4_decompress +%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -919,6 +1019,8 @@ fi %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* +%{_mandir}/man1/lz4_decompress.1* +%{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt @@ -982,6 +1084,9 @@ fi %endif %changelog +* Wed Dec 16 2015 Jakub Dorňák - 5.7.10-1 +- Update to 5.7.10 + * Fri Oct 2 2015 Jakub Dorňák - 5.7.9-1 - Update to 5.7.9 diff --git a/sources b/sources index 35278c8..7f953bc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -6d782dda9046acb81e694934fd513993 mysql-5.7.9.tar.gz +aabc96e8628228014479f7233d076877 mysql-5.7.10.tar.gz +6aa9a5c6a4ca1016edd0ed1178e3cb87 boost_1_59_0.tar.bz2 From df6a4b818da5c7a358e816acd66d857885218b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 22 Jan 2016 15:09:10 +0100 Subject: [PATCH 345/616] i will inspect and analyze test results separately --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7863c44..ef2c5fa 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 0 +%global check_testsuite 1 # set to 1 to enable %global with_shared_lib_major_hack 1 From 6c204540ad92a188d6e38e0ed10f841013374e71 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 27 Jan 2016 19:36:20 +0100 Subject: [PATCH 346/616] Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) Use mysqld --initialize-insecure instead of mysql_install_db Create /var/lib/mysql-files (used by secure-file-priv) http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv Remove unnecessary Perl dependencies (mysqlhotcopy was removed in 5.7) Thanks Norvald H. Ryeng --- community-mysql.spec | 15 +++++++++++---- mysql-prepare-db-dir.sh | 2 +- mysql.service.in | 4 ++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ef2c5fa..1ba60b0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.10 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -284,9 +284,6 @@ Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} %endif -# mysqlhotcopy needs DBI/DBD support -Requires: perl(DBI) -Requires: perl(DBD::mysql) %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -684,6 +681,7 @@ touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} +install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf @@ -1046,6 +1044,7 @@ fi %{_tmpfilesdir}/mysql.conf %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} +%attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -1084,6 +1083,14 @@ fi %endif %changelog +* Wed Jan 27 2016 Honza Horak - 5.7.10-2 +- Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) + Use mysqld --initialize-insecure instead of mysql_install_db + Create /var/lib/mysql-files (used by secure-file-priv) + http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv + Remove unnecessary Perl dependencies (mysqlhotcopy was removed in 5.7) + Thanks Norvald H. Ryeng + * Wed Dec 16 2015 Jakub Dorňák - 5.7.10-1 - Update to 5.7.10 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 563f644..6b1b5f1 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -69,7 +69,7 @@ if [ ! -d "$datadir/mysql" ] ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" + @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.service.in b/mysql.service.in index b9adee8..54b0638 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -28,7 +28,7 @@ After=syslog.target After=network.target [Service] -Type=simple +Type=forking User=mysql Group=mysql @@ -39,7 +39,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ +ExecStart=@libexecdir@/mysqld --daemonize --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop From 02bffdd08e664e49326228f49791e9d10ac8cea4 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 17:58:26 +0000 Subject: [PATCH 347/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1ba60b0..5b6f1f1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.10 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -1083,6 +1083,9 @@ fi %endif %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 5.7.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Wed Jan 27 2016 Honza Horak - 5.7.10-2 - Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) Use mysqld --initialize-insecure instead of mysql_install_db From 1632cd175515a8d717be4ede90eaf11701f01231 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 11 Feb 2016 22:43:45 +0100 Subject: [PATCH 348/616] Update to 5.7.11 Thanks to Norvald H. Ryeng Removing tar ball with boost and using mysql tar ball with boost bundled --- .gitignore | 2 + boost-1.48.0-add-bjam-man-page.patch | 150 ------------------ boost-1.50.0-fix-non-utf8-files.patch | 22 --- ...0-python-test-PyImport_AppendInittab.patch | 98 ------------ boost-1.57.0-build-optflags.patch | 48 ------ boost-1.57.0-python-abi_letters.patch | 62 -------- boost-1.57.0-python-libpython_dep.patch | 13 -- boost-1.58.0-address-model.patch | 13 -- boost-1.58.0-pool-test_linking.patch | 31 ---- community-mysql-5.7.9-major.patch | 2 +- community-mysql.spec | 43 ++--- mysql.service.in | 8 +- sources | 3 +- 13 files changed, 26 insertions(+), 469 deletions(-) delete mode 100644 boost-1.48.0-add-bjam-man-page.patch delete mode 100644 boost-1.50.0-fix-non-utf8-files.patch delete mode 100644 boost-1.55.0-python-test-PyImport_AppendInittab.patch delete mode 100644 boost-1.57.0-build-optflags.patch delete mode 100644 boost-1.57.0-python-abi_letters.patch delete mode 100644 boost-1.57.0-python-libpython_dep.patch delete mode 100644 boost-1.58.0-address-model.patch delete mode 100644 boost-1.58.0-pool-test_linking.patch diff --git a/.gitignore b/.gitignore index 5707045..3cb2961 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ /mysql-5.7.9.tar.gz /mysql-5.7.10.tar.gz /boost_1_59_0.tar.bz2 +/mysql-5.7.11.tar.gz +/mysql-boost-5.7.11.tar.gz diff --git a/boost-1.48.0-add-bjam-man-page.patch b/boost-1.48.0-add-bjam-man-page.patch deleted file mode 100644 index ea3f19f..0000000 --- a/boost-1.48.0-add-bjam-man-page.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/tools/build/v2/doc/bjam.1 b/tools/build/v2/doc/bjam.1 -new file mode 100644 -index 0000000..8a44af6 ---- /dev/null -+++ b/tools/build/v2/doc/bjam.1 -@@ -0,0 +1,144 @@ -+.TH "bjam" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*- -+.ad l -+.nh -+.SH NAME -+bjam \- Command-line utility to build Boost-related C++ projects with Boost\&.Build -+.SH "SYNOPSIS" -+.PP -+\fBbjam\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP -+.PP -+\fIbjam\fP accepts the following options: -+.PP -+\fB-a\fP -+.br -+ Build all targets, even if they are current -+.PP -+\fB-dx\fP -+.br -+ Set the debug level to x (0-9) -+.PP -+\fB-fx\fP -+.br -+ Read x instead of Jambase -+.PP -+\fB-jx\fP -+.br -+ Run up to x shell commands concurrently -+.PP -+\fB-lx\fP -+.br -+ Limit actions to x number of seconds after which they are stopped -+.PP -+\fB-n\fP -+.br -+ Don't actually execute the updating actions -+.PP -+\fB-ox\fP -+.br -+ Write the updating actions to file x -+.PP -+\fB-px\fP -+.br -+ x=0, pipes action stdout and stderr merged into action output -+.PP -+\fB-q\fP -+.br -+ Quit quickly as soon as a target fails -+.PP -+\fB-sx=y\fP -+.br -+ Set variable x=y, overriding environment -+.PP -+\fB-tx\fP -+.br -+ Rebuild x, even if it is up-to-date -+.PP -+\fB-v\fP -+.br -+ Print the version of jam and exit -+.PP -+\fB--x\fP -+.br -+ Option is ignored -+.SH "DESCRIPTION" -+.PP -+This section provides the information necessary to create your own projects using \fIBoost\&.Build\fP The information provided here is relatively high-level, and Chapter 6, Reference as well as the on-line help system must be used to obtain low-level documentation (see --help) -+.PP -+\fIBoost\&.Build\fP actually consists of two parts - \fIBoost\&.Jam\fP, a build engine with its own interpreted language, and \fIBoost\&.Build\fP itself, implemented in \fIBoost\&.Jam's\fP language\&. The chain of events when you type bjam on the command line is as follows: -+.IP "\(bu" 2 -+\fIBoost\&.Jam\fP tries to find \fIBoost\&.Build\fP and loads the top-level module\&. The exact process is described in the section called “Initialization” -+.PP -+.PP -+.IP "\(bu" 2 -+The top-level module loads user-defined configuration files, \fIuser-config\&.jam\fP and \fIsite-config\&.jam\fP, which define available toolsets -+.PP -+.PP -+.IP "\(bu" 2 -+The \fIJamfile\fP in the current directory is read That in turn might cause reading of further Jamfiles\&. As a result, a tree of projects is created, with targets inside projects -+.PP -+.PP -+.IP "\(bu" 2 -+Finally, using the build request specified on the command line, \fIBoost\&.Build\fP decides which targets should be built and how\&. That information is passed back to \fIBoost\&.Jam\fP, which takes care of actually running the scheduled build action commands -+.PP -+.PP -+So, to be able to successfully use \fIBoost\&.Build\fP, you need to know only four things: -+.IP "\(bu" 2 -+How to configure \fIBoost\&.Build\fP (http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html) -+.IP "\(bu" 2 -+How to declare targets in Jamfiles (http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html) -+.IP "\(bu" 2 -+How the build process works (http://www.boost.org/boost-build2/doc/html/bbv2/overview/build_process.html) -+.PP -+.PP -+Some Basics about the \fIBoost\&.Jam\fP language\&. See the section called “Boost\&.Jam Language” (http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html) -+.SH "CONCEPTS" -+.PP -+\fIBoost\&.Build\fP has a few unique concepts that are introduced in this section\&. The best way to explain the concepts is by comparison with more classical build tools -+.PP -+When using any flavour of make, you directly specify targets and commands that are used to create them from other target\&. The below example creates a\&.o from a\&.c using a hardcoded compiler invocation command -+.PP -+a\&.o: a\&.c -+.br -+ g++ -o a\&.o -g a\&.c -+.PP -+This is rather low-level description mechanism and it is hard to adjust commands, options, and sets of created targets depending on the used compiler and operating system\&. -+.PP -+To improve portability, most modern build system provide a set of higher-level functions that can be used in build description files\&. Consider this example: -+.PP -+add_program ('a', 'a\&.c') -+.br -+.PP -+This is a function call that creates targets necessary to create executable file from source file a\&.c\&. Depending on configured properties, different commands line may be used\&. However, \fIadd_program\fP is higher-level, but rather thin level All targets are created immediately when build description is parsed, which makes it impossible to perform multi-variant builds\&. Often, change in any build property requires complete reconfiguration of the build tree -+.PP -+In order to support true multivariant builds, Boost\&.Build introduces the concept of metatarget—object that is created when build description is parsed and can be later called with specific build properties to generate actual targets -+.PP -+Consider an example: -+.PP -+exe a : a\&.cpp ; -+.br -+.PP -+When this declaration is parsed, \fIBoost\&.Build\fP creates a metatarget, but does not yet decides what files must be created, or what commands must be used\&. After all build files are parsed, Boost\&.Build considers properties requested on the command line\&. Supposed you have invoked \fIBoost\&.Build\fP with: -+.PP -+\fIbjam\fP toolset=gcc toolset=msvc -+.br -+.PP -+In that case, the metatarget will be called twice, once with toolset=gcc and once with toolset=msvc\&. Both invocations will produce concrete targets, that will have different extensions and use different command lines\&. Another key concept is build property\&. Build property is a variable that affects the build process\&. It can be specified on the command line, and is passed when calling a metatarget -+.PP -+While all build tools have a similar mechanism, \fIBoost\&.Build\fP differs by requiring that all build properties are declared in advance, and providing a large set of properties with portable semantics -+.PP -+The final concept is property propagation\&. Boost\&.Build does not require that every metatarget is called with the same properties\&. Instead, the 'top-level' metatargets are called with the properties specified on the command line Each metatarget can elect to augment or override some properties (in particular, using the requirements mechanism, see the section called “Requirements”: http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html#bbv2.overview.targets.requirements) Then, the dependency metatargets are called with modified properties and produce concrete targets that are then used in build process Of course, dependency metatargets maybe in turn modify build properties and have dependencies of their own\&. -+.PP -+For more in-depth treatment of the requirements and concepts, you may refer to SYRCoSE 2009 Boost\&.Build article (http://syrcose.ispras.ru/2009/files/04_paper.pdf)\&. -+.SH "SEE ALSO" -+.PP -+\fBboost-libraries\fP(3) -+.SH "SUPPORT" -+.PP -+Please report any bugs to https://svn.boost.org/trac/boost/ -+.SH "COPYRIGHT" -+.PP -+Boost Software License - Version 1\&.0 - August 17th, 2003 -+.PP -+See the LICENSE_1_0\&.txt file for more information on that license, or directly on Internet: -+.br -+ http://www.boost.org/LICENSE_1_0.txt diff --git a/boost-1.50.0-fix-non-utf8-files.patch b/boost-1.50.0-fix-non-utf8-files.patch deleted file mode 100644 index b60a3ac..0000000 --- a/boost-1.50.0-fix-non-utf8-files.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp -index 8b2bc43..d04f2fe 100644 ---- a/libs/units/example/autoprefixes.cpp -+++ b/libs/units/example/autoprefixes.cpp -@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit - { - static const char* name() { return("EUR"); } -- static const char* symbol() { return("€"); } -+ static const char* symbol() { return("€"); } - }; - - int main() -@@ -140,7 +140,7 @@ int main() - - quantity ce = 2048. * euro_base_unit::unit_type(); - cout << name_format << engineering_prefix << ce << endl; // 2.048 kiloEUR -- cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ -+ cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ - - - return 0; diff --git a/boost-1.55.0-python-test-PyImport_AppendInittab.patch b/boost-1.55.0-python-test-PyImport_AppendInittab.patch deleted file mode 100644 index 1d2ee5c..0000000 --- a/boost-1.55.0-python-test-PyImport_AppendInittab.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp ---- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200 -+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100 -@@ -56,6 +56,20 @@ void eval_test() - BOOST_TEST(value == "ABCDEFG"); - } - -+struct PyCtx -+{ -+ PyCtx() { -+ Py_Initialize(); -+ } -+ -+ ~PyCtx() { -+ // N.B. certain problems may arise when Py_Finalize is called when -+ // using Boost.Python. However in this test suite it all seems to -+ // work fine. -+ Py_Finalize(); -+ } -+}; -+ - void exec_test() - { - // Register the module with the interpreter -@@ -68,6 +82,8 @@ void exec_test() - ) == -1) - throw std::runtime_error("Failed to add embedded_hello to the interpreter's " - "builtin modules"); -+ -+ PyCtx ctx; - // Retrieve the main module - python::object main = python::import("__main__"); - -@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal - } - } - -+template -+bool -+run_and_handle_exception(Cb cb, bool pyerr_expected = false) -+{ -+ PyCtx ctx; -+ if (python::handle_exception(cb)) { -+ check_pyerr(pyerr_expected); -+ return true; -+ } else { -+ return false; -+ } -+} -+ - int main(int argc, char **argv) - { - BOOST_TEST(argc == 2 || argc == 3); - std::string script = argv[1]; -- // Initialize the interpreter -- Py_Initialize(); - -- if (python::handle_exception(eval_test)) { -- check_pyerr(); -- } -- else if(python::handle_exception(exec_test)) { -- check_pyerr(); -- } -- else if (python::handle_exception(boost::bind(exec_file_test, script))) { -+ // N.B. exec_test mustn't be called through run_and_handle_exception -+ // as it needs to handles the python context by itself. -+ if (run_and_handle_exception(eval_test) -+ || python::handle_exception(exec_test)) - check_pyerr(); -- } -- -- if (python::handle_exception(exec_test_error)) -- { -- check_pyerr(/*pyerr_expected*/ true); -- } - else -- { -+ run_and_handle_exception(boost::bind(exec_file_test, script)); -+ -+ if (!run_and_handle_exception(exec_test_error, true)) - BOOST_ERROR("Python exception expected, but not seen."); -- } - - if (argc > 2) { -+ PyCtx ctx; - // The main purpose is to test compilation. Since this test generates - // a file and I (rwgk) am uncertain about the side-effects, run it only - // if explicitly requested. - exercise_embedding_html(); - } - -- // Boost.Python doesn't support Py_Finalize yet. -- // Py_Finalize(); - return boost::report_errors(); - } - - -Diff finished. Fri Jan 9 21:31:13 2015 diff --git a/boost-1.57.0-build-optflags.patch b/boost-1.57.0-build-optflags.patch deleted file mode 100644 index d0b925f..0000000 --- a/boost-1.57.0-build-optflags.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam ---- ./tools/build/src/tools/gcc.jam~ 2015-02-09 15:01:04.850331626 +0100 -+++ ./tools/build/src/tools/gcc.jam 2015-02-09 15:44:29.122307134 +0100 -@@ -366,17 +366,17 @@ generators.override gcc.compile.c++.pch - toolset.flags gcc.compile PCH_FILE on : ; - - # Declare flags and action for compilation. --toolset.flags gcc.compile OPTIONS off : -O0 ; --toolset.flags gcc.compile OPTIONS speed : -O3 ; --toolset.flags gcc.compile OPTIONS space : -Os ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS speed : ; -+toolset.flags gcc.compile OPTIONS space : ; - --toolset.flags gcc.compile OPTIONS off : -fno-inline ; --toolset.flags gcc.compile OPTIONS on : -Wno-inline ; --toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS on : ; -+toolset.flags gcc.compile OPTIONS full : ; - --toolset.flags gcc.compile OPTIONS off : -w ; --toolset.flags gcc.compile OPTIONS on : -Wall ; --toolset.flags gcc.compile OPTIONS all : -Wall -pedantic ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS on : ; -+toolset.flags gcc.compile OPTIONS all : ; - toolset.flags gcc.compile OPTIONS on : -Werror ; - - toolset.flags gcc.compile OPTIONS on : -g ; -@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc - - actions compile.c++ bind PCH_FILE - { -- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" -+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" - } - - actions compile.c bind PCH_FILE -@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE - - actions compile.c++.preprocess bind PCH_FILE - { -- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" -+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" - } - - actions compile.c.preprocess bind PCH_FILE diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch deleted file mode 100644 index 7df3ee7..0000000 --- a/boost-1.57.0-python-abi_letters.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 -+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 -@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti - # using python : 2.3 : /usr/local/bin/python ; - # - rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? -- : condition * : extension-suffix ? ) -+ : condition * : extension-suffix ? : abi-letters ? ) - { - project.push-current $(.project) ; - -@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? - } - } - -- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ; -+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ; - - project.pop-current ; - } -@@ -653,7 +653,7 @@ local rule system-library-dependencies ( - - # Declare a target to represent Python's library. - # --local rule declare-libpython-target ( version ? : requirements * ) -+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? ) - { - # Compute the representation of Python version in the name of Python's - # library file. -@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve - } - - # Declare it. -- lib python.lib : : python$(lib-version) $(requirements) ; -+ lib python.lib : : python$(lib-version)$(abi-letters) $(requirements) ; - } - - - # Implementation of init. - local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : -- condition * : extension-suffix ? ) -+ condition * : extension-suffix ? : abi-letters ? ) - { - local prefix ; - local exec-prefix ; -@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o - extension-suffix ?= _d ; - } - extension-suffix ?= "" ; -+ abi-letters ?= "" ; - - # Normalize and dissect any version number. - local major-minor ; -@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o - } - else - { -- declare-libpython-target $(version) : $(target-requirements) ; -+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ; - - # This is an evil hack. On, Windows, when Python is embedded, nothing - # seems to set up sys.path to include Python's standard library diff --git a/boost-1.57.0-python-libpython_dep.patch b/boost-1.57.0-python-libpython_dep.patch deleted file mode 100644 index 57bfc26..0000000 --- a/boost-1.57.0-python-libpython_dep.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: boost_1_57_0/tools/build/src/tools/python.jam -=================================================================== ---- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) -+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) -@@ -994,7 +994,7 @@ - else - { - alias python_for_extensions -- : -+ : python - : $(target-requirements) - : - : $(usage-requirements) diff --git a/boost-1.58.0-address-model.patch b/boost-1.58.0-address-model.patch deleted file mode 100644 index 3582737..0000000 --- a/boost-1.58.0-address-model.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- boost_1_58_0/tools/build/src/tools/gcc.jam~ 2015-07-17 15:14:57.381636224 +0100 -+++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-27 17:35:29.122264048 +0100 -@@ -421,7 +421,9 @@ - - rule setup-address-model ( targets * : sources * : properties * ) - { -- local model = [ feature.get-values address-model : $(properties) ] ; -+ # For RPM builds the address model flag is passed in %{optflags}. -+ # local model = [ feature.get-values address-model : $(properties) ] ; -+ local model ; - if $(model) - { - local option ; diff --git a/boost-1.58.0-pool-test_linking.patch b/boost-1.58.0-pool-test_linking.patch deleted file mode 100644 index a381370..0000000 --- a/boost-1.58.0-pool-test_linking.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2 ---- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100 -+++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100 -@@ -28,17 +28,17 @@ - local Werr = gcc:on msvc:on ; - - test-suite pool : -- [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 ] -- [ run test_pool_alloc.cpp : : : $(Werr) ] -- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 ] -- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ] -- [ run test_bug_3349.cpp : : : $(Werr) ] -- [ run test_bug_4960.cpp : : : $(Werr) ] -- [ run test_bug_1252.cpp : : : $(Werr) ] -- [ run test_bug_2696.cpp : : : $(Werr) ] -- [ run test_bug_5526.cpp : : : $(Werr) ] -+ [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 /boost/system//boost_system ] -+ [ run test_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 /boost/system//boost_system ] -+ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_3349.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_4960.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_1252.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_2696.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_5526.cpp : : : $(Werr) /boost/system//boost_system ] - [ run test_threading.cpp : : : multi /boost/thread//boost_thread ] -- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ] -+ [ run ../example/time_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] - [ compile test_poisoned_macros.cpp : $(Werr) ] - - # diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch index 15b50b8..bd50dc4 100644 --- a/community-mysql-5.7.9-major.patch +++ b/community-mysql-5.7.9-major.patch @@ -6,6 +6,6 @@ -SET(SHARED_LIB_MAJOR_VERSION "20") +SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "1") + SET(SHARED_LIB_MINOR_VERSION "2") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") diff --git a/community-mysql.spec b/community-mysql.spec index 5b6f1f1..ec5e6b6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.10 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 5.7.11 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -89,8 +89,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz -Source1: http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2 +Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source4: my_config.h @@ -125,18 +124,10 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 -Patch104: boost-1.50.0-fix-non-utf8-files.patch -Patch105: boost-1.48.0-add-bjam-man-page.patch Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch Patch136: boost-1.57.0-spirit-unused_typedef.patch Patch145: boost-1.54.0-locale-unused_typedef.patch -Patch151: boost-1.58.0-pool-test_linking.patch -Patch161: boost-1.57.0-python-libpython_dep.patch -Patch162: boost-1.57.0-python-abi_letters.patch -Patch163: boost-1.55.0-python-test-PyImport_AppendInittab.patch -Patch165: boost-1.57.0-build-optflags.patch -Patch168: boost-1.58.0-address-model.patch Patch170: boost-1.59.0-log.patch Patch180: boost-1.59-python-make_setter.patch Patch181: boost-1.59-test-fenv.patch @@ -395,23 +386,12 @@ the MySQL sources. %patch70 -p1 %endif -# Unpack Boost -%setup -q -n mysql-%{version} -D -T -a 1 - # Patch Boost -pushd boost_1_59_0 -%patch104 -p1 -%patch105 -p1 +pushd boost/boost_1_59_0 %patch115 -p0 %patch125 -p1 %patch136 -p1 %patch145 -p1 -%patch151 -p1 -%patch161 -p1 -%patch162 -p1 -%patch163 -p1 -%patch165 -p1 -%patch168 -p1 %patch170 -p2 %patch180 -p2 %patch181 -p2 @@ -640,9 +620,9 @@ cmake .. \ -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_BOOST=.. \ + -DWITH_BOOST=../boost/boost_1_59_0 \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ - -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="-std=gnu++98 %{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -682,6 +662,7 @@ touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files +install -p -m 0700 -d %{buildroot}%{_localstatedir}/lib/mysql-keyring %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf @@ -696,11 +677,11 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam # install SysV init script %if %{with init_sysv} install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} +install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready %endif # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade @@ -1035,7 +1016,9 @@ fi %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir +%if %{with init_sysv} %{_libexecdir}/mysql-wait-ready +%endif %{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade @@ -1045,6 +1028,7 @@ fi %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files +%attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -1083,6 +1067,11 @@ fi %endif %changelog +* Thu Feb 11 2016 Honza Horak - 5.7.11-1 +- Update to 5.7.11 + Thanks to Norvald H. Ryeng + Removing tar ball with boost and using mysql tar ball with boost bundled + * Wed Feb 03 2016 Fedora Release Engineering - 5.7.10-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/mysql.service.in b/mysql.service.in index 54b0638..32d22c8 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -31,6 +31,7 @@ After=network.target Type=forking User=mysql Group=mysql +PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid # Execute pre and post scripts as root PermissionsStartOnly=true @@ -39,8 +40,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --daemonize --basedir=@prefix@ -ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID +ExecStart=@libexecdir@/mysqld --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop @@ -50,5 +50,9 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true +Restart=on-failure + +RestartPreventExitStatus=1 + [Install] WantedBy=multi-user.target diff --git a/sources b/sources index 7f953bc..a686ee6 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -aabc96e8628228014479f7233d076877 mysql-5.7.10.tar.gz -6aa9a5c6a4ca1016edd0ed1178e3cb87 boost_1_59_0.tar.bz2 +c870306646c11b9de97956a4ba77d28c mysql-boost-5.7.11.tar.gz From d536b4e56c02b8d756b342ef4470dc03da59f813 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 14 Feb 2016 20:46:56 +0100 Subject: [PATCH 349/616] Remove duplicate tmpfiles.d file Resolves: #1288216 --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ec5e6b6..636ccb0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -671,7 +671,8 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service -install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf +rm -rf %{buildroot}%{_tmpfilesdir}/mysql.conf %endif # install SysV init script @@ -1024,8 +1025,7 @@ fi %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{_tmpfilesdir}/mysql.conf -%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%{?with_init_systemd:%{_tmpfilesdir}/%{daemon_name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring @@ -1067,6 +1067,10 @@ fi %endif %changelog +* Sun Feb 14 2016 Honza Horak - 5.7.11-2 +- Remove duplicate tmpfiles.d file + Resolves: #1288216 + * Thu Feb 11 2016 Honza Horak - 5.7.11-1 - Update to 5.7.11 Thanks to Norvald H. Ryeng From 8abb9d6e0863a428de23b6f3dde55a0983def684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 24 May 2016 12:58:33 +0200 Subject: [PATCH 350/616] Update to 5.7.12 --- .gitignore | 1 + community-mysql.spec | 19 +++++++++---------- sources | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 3cb2961..a4c10d0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /boost_1_59_0.tar.bz2 /mysql-5.7.11.tar.gz /mysql-boost-5.7.11.tar.gz +/mysql-boost-5.7.12.tar.gz diff --git a/community-mysql.spec b/community-mysql.spec index 636ccb0..84de1e0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.11 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 5.7.12 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -255,13 +255,7 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %%{sameevr} -%if %{with mysql_names} -Requires: mysql-compat-client%{?_isa} -Requires: mysql%{?_isa} -%else -Requires: %{name}%{?_isa} -%endif +Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -779,7 +773,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -f %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} rm -rf %{buildroot}%{_datadir}/mysql-test rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif @@ -1061,12 +1055,17 @@ fi %if %{with test} %files test %{_bindir}/mysql_client_test +%{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %endif %changelog +* Tue May 24 2016 Jakub Dorňák - 5.7.12-1 +- Update to 5.7.12 + Thanks to Norvald H. Ryeng + * Sun Feb 14 2016 Honza Horak - 5.7.11-2 - Remove duplicate tmpfiles.d file Resolves: #1288216 diff --git a/sources b/sources index a686ee6..0c4a6be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c870306646c11b9de97956a4ba77d28c mysql-boost-5.7.11.tar.gz +fb9d67b708e5e9d29533c5be2768b41e mysql-boost-5.7.12.tar.gz From 030cd1b25c7ca9f9d10649e3fdd6e2ae661ac211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 24 Jun 2016 09:41:32 +0200 Subject: [PATCH 351/616] Mandatory Perl build-requires added --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index 84de1e0..91f4b98 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -140,6 +140,7 @@ BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: openssl-devel BuildRequires: perl +BuildRequires: perl-generators BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # Tests requires time and ps and some perl modules From 74672f0ba7e84799f4c7177e077b47f1d9bdcf4b Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 27 Jun 2016 08:25:45 +0200 Subject: [PATCH 352/616] multilib fixes Delegate most of the multilib decisions to multilib-rpm-config, this allows us to maintain the rules at central place. Version: 5.7.12-2 --- community-mysql.spec | 26 +++++++++++--------------- my_config.h | 34 ---------------------------------- 2 files changed, 11 insertions(+), 49 deletions(-) delete mode 100644 my_config.h diff --git a/community-mysql.spec b/community-mysql.spec index 91f4b98..57d75cf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -92,7 +92,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source4: my_config.h Source6: README.mysql-docs Source7: README.mysql-license Source10: mysql.tmpfiles.d.in @@ -143,6 +142,7 @@ BuildRequires: perl BuildRequires: perl-generators BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel +BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -631,20 +631,14 @@ pushd build make DESTDIR=%{buildroot} install # multilib header support +%multilib_fix_c_header --file %{_includedir}/mysql/my_config.h + +# multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 -unamei=$(uname -i) -%ifarch %{arm} -unamei=arm -%endif -%ifarch %{power64} -unamei=ppc64 -%endif -%ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h -install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ +if %multilib_capable; then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config -%endif +fi # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -1030,8 +1024,7 @@ fi %if %{with devel} %files devel -%{_bindir}/mysql_config -%{_bindir}/mysql_config-%{__isa_bits} +%{_bindir}/mysql_config* %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %if %{with clibrary} @@ -1063,6 +1056,9 @@ fi %endif %changelog +* Mon Jun 27 2016 Pavel Raiskup - 5.7.12-2 +- BR multilib-rpm-config and use it for multilib workarounds + * Tue May 24 2016 Jakub Dorňák - 5.7.12-1 - Update to 5.7.12 Thanks to Norvald H. Ryeng diff --git a/my_config.h b/my_config.h deleted file mode 100644 index 0672f49..0000000 --- a/my_config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Kluge to support multilib installation of both 32- and 64-bit RPMS: - * we need to arrange that header files that appear in both RPMs are - * identical. Hence, this file is architecture-independent and calls - * in an arch-dependent file that will appear in just one RPM. - * - * To avoid breaking arches not explicitly supported by Red Hat, we - * use this indirection file *only* on known multilib arches. - * - * Note: this may well fail if user tries to use gcc's -I- option. - * But that option is deprecated anyway. - */ -#if defined(__x86_64__) -#include "my_config_x86_64.h" -#elif defined(__i386__) -#include "my_config_i386.h" -#elif defined(__ppc64__) || defined(__powerpc64__) -#include "my_config_ppc64.h" -#elif defined(__ppc__) || defined(__powerpc__) -#include "my_config_ppc.h" -#elif defined(__s390x__) -#include "my_config_s390x.h" -#elif defined(__s390__) -#include "my_config_s390.h" -#elif defined(__sparc__) && defined(__arch64__) -#include "my_config_sparc64.h" -#elif defined(__sparc__) -#include "my_config_sparc.h" -#elif defined(__arm__) -#include "my_config_arm.h" -#elif defined(__aarch64__) -#include "my_config_aarch64.h" -#endif - From a4e66646fe99a371dc91c1e106e72e4f97ffde21 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Jul 2016 19:51:35 +0200 Subject: [PATCH 353/616] Do include installed scripts when not using systemd --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 57d75cf..f05a125 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -945,6 +945,9 @@ fi %{_bindir}/mysqlbinlog %if %{with init_systemd} %{_bindir}/mysqld_pre_systemd +%else +%{_bindir}/mysqld_multi +%{_bindir}/mysqld_safe %endif %{_bindir}/mysqldumpslow %{_bindir}/mysqltest From dc6ab3b54f0aa6c8e4c309febed1ce82348ed30f Mon Sep 17 00:00:00 2001 From: Norvald Ryeng Date: Mon, 6 Jun 2016 10:34:02 +0200 Subject: [PATCH 354/616] Update to MySQL 5.7.13 --- community-mysql-5.7.13-fpu.patch | 113 ++++++++++ community-mysql-5.7.13-gcc6.patch | 14 ++ community-mysql-5.7.13-libedit.patch | 113 ++++++++++ community-mysql-5.7.13-pfs-oom-unittest.patch | 51 +++++ community-mysql-5.7.9-major.patch | 2 +- community-mysql.spec | 208 +++++------------- 6 files changed, 350 insertions(+), 151 deletions(-) create mode 100644 community-mysql-5.7.13-fpu.patch create mode 100644 community-mysql-5.7.13-gcc6.patch create mode 100644 community-mysql-5.7.13-libedit.patch create mode 100644 community-mysql-5.7.13-pfs-oom-unittest.patch diff --git a/community-mysql-5.7.13-fpu.patch b/community-mysql-5.7.13-fpu.patch new file mode 100644 index 0000000..4a26ada --- /dev/null +++ b/community-mysql-5.7.13-fpu.patch @@ -0,0 +1,113 @@ +commit 34ee5b9ce2d3ab1ccfb91016ee058949c69c1066 +Author: Norvald H. Ryeng +Date: Fri May 27 15:19:56 2016 +0200 + + Bug#23046775 DIFFERENT FLOATING POINT RESULTS ON ARM64 AND POWERPC + + Backport from trunk. + + Problem: The -fexpensive-optimizations option to gcc causes ARM64 and + PowerPC build to compute floating point operations slightly + differently from other platforms. This flag is enabled by -O2 and + higher optimization levels. + + Fix: Check for the unwanted floating point behavior in CMake and + disable expensive-optimizations in GCC builds on platforms that + experience this behavior. + +diff --git a/cmake/build_configurations/compiler_options.cmake b/cmake/build_configurations/compiler_options.cmake +index 98d553a..f105c7a 100644 +--- a/cmake/build_configurations/compiler_options.cmake ++++ b/cmake/build_configurations/compiler_options.cmake +@@ -15,6 +15,7 @@ + + INCLUDE(CheckCCompilerFlag) + INCLUDE(CheckCXXCompilerFlag) ++INCLUDE(cmake/floating_point.cmake) + + IF(SIZEOF_VOIDP EQUAL 4) + SET(32BIT 1) +@@ -33,6 +34,10 @@ IF(UNIX) + IF(WITH_VALGRIND) + SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}") + ENDIF() ++ # Disable optimizations that change floating point results ++ IF(HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -fno-expensive-optimizations") ++ ENDIF() + SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") + ENDIF() +@@ -48,6 +53,10 @@ IF(UNIX) + IF(WITH_VALGRIND) + SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}") + ENDIF() ++ # Disable optimizations that change floating point results ++ IF(HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -fno-expensive-optimizations") ++ ENDIF() + SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") + SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") + ENDIF() +diff --git a/cmake/floating_point.cmake b/cmake/floating_point.cmake +new file mode 100644 +index 0000000..6db63ad +--- /dev/null ++++ b/cmake/floating_point.cmake +@@ -0,0 +1,56 @@ ++# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; version 2 of the License. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++INCLUDE(CheckCSourceRuns) ++INCLUDE(CheckCXXSourceRuns) ++ ++SET(code " ++ int main (int argc, char **argv) ++ { ++ double n[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,1 }; ++ double m= 0, s= 0; ++ int i; ++ for(i= 0; i < 21; i++) ++ { ++ double m_kminusone= m; ++ m= m_kminusone + (n[i] - m_kminusone) / (double) (i + 2); ++ s= s + (n[i] - m_kminusone) * (n[i] - m); ++ } ++ /* ++ s should now be either 5e 74 d1 45 17 5d 14 40 or ++ 40 14 5d 17 45 d1 74 5e, depending on endianness. If the floating point ++ operations are over optimized, the least significant byte is 5d instead ++ of 5e. ++ */ ++ return (*(unsigned char*)(&s) == 0x5e || ++ *((unsigned char*)(&s) + 7) == 0x5e); ++ }" ++) ++ ++SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") ++SET(CMAKE_REQUIRED_FLAGS ++ "${CMAKE_REQUIRED_FLAGS} -O3 -fexpensive-optimizations" ++) ++ ++IF(CMAKE_COMPILER_IS_GNUCC) ++ CHECK_C_SOURCE_RUNS("${code}" HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ENDIF() ++ ++IF(CMAKE_COMPILER_IS_GNUCXX) ++ CHECK_CXX_SOURCE_RUNS("${code}" HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ENDIF() ++ ++SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}") diff --git a/community-mysql-5.7.13-gcc6.patch b/community-mysql-5.7.13-gcc6.patch new file mode 100644 index 0000000..d971ddd --- /dev/null +++ b/community-mysql-5.7.13-gcc6.patch @@ -0,0 +1,14 @@ +diff --git a/client/auth_utils.cc b/client/auth_utils.cc +index 21416bb..03fd71c 100644 +--- a/client/auth_utils.cc ++++ b/client/auth_utils.cc +@@ -61,7 +61,7 @@ int parse_cnf_file(istream &sin, map *options, + getline(sin, option_value); + trim(&option_value); + if (option_name.length() > 0) +- options->insert(make_pair(option_name, option_value)); ++ options->insert(make_pair(option_name, option_value)); + } + return ALL_OK; + } catch(...) + diff --git a/community-mysql-5.7.13-libedit.patch b/community-mysql-5.7.13-libedit.patch new file mode 100644 index 0000000..0bcd7e8 --- /dev/null +++ b/community-mysql-5.7.13-libedit.patch @@ -0,0 +1,113 @@ +From 41480c0bacf8f354610825856b5c66b8516da607 Mon Sep 17 00:00:00 2001 +From: Jon Olav Hauglid +Date: Fri, 1 Jul 2016 09:00:16 +0200 +Subject: [PATCH] Bug#23708332: -DWITH_EDITLINE=SYSTEM BREAKS WITH + LIBEDIT-20160618-3.1 + +Add CMake check for the new editline completion API +and based on the result, use already existing code +for it in the mysql client. + +Change-Id: I8a9a721de24eef6359d3285cffd9745a8894ea4b +--- + client/mysql.cc | 8 ++++---- + cmake/readline.cmake | 22 +++++++++++++++++++--- + config.h.cmake | 1 + + 3 files changed, 24 insertions(+), 7 deletions(-) + +diff --git a/client/mysql.cc b/client/mysql.cc +index 94c3227..46147e9 100644 +--- a/client/mysql.cc ++++ b/client/mysql.cc +@@ -2816,7 +2816,7 @@ C_MODE_END + if not. + */ + +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + static int fake_magic_space(int, int); + extern "C" char *no_completion(const char*,int) + #elif defined(USE_LIBEDIT_INTERFACE) +@@ -2845,7 +2845,7 @@ static int not_in_history(const char *line) + } + + +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + static int fake_magic_space(int, int) + #else + static int fake_magic_space(const char *, int) +@@ -2862,7 +2862,7 @@ static void initialize_readline (char *name) + rl_readline_name = name; + + /* Tell the completer that we want a crack first. */ +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + rl_attempted_completion_function= (rl_completion_func_t*)&new_mysql_completion; + rl_completion_entry_function= (rl_compentry_func_t*)&no_completion; + +@@ -2890,7 +2890,7 @@ static char **new_mysql_completion(const char *text, + int end MY_ATTRIBUTE((unused))) + { + if (!status.batch && !quick) +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + return rl_completion_matches(text, new_command_generator); + #else + return completion_matches((char *)text, (CPFunction *)new_command_generator); +diff --git a/cmake/readline.cmake b/cmake/readline.cmake +index 00ecc53..8aed8cb 100644 +--- a/cmake/readline.cmake ++++ b/cmake/readline.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -158,12 +158,28 @@ MACRO (FIND_SYSTEM_EDITLINE) + completion_matches(0,0); + return res; + }" +- EDITLINE_HAVE_COMPLETION) ++ EDITLINE_HAVE_COMPLETION_INT) + +- IF(EDITLINE_HAVE_COMPLETION) ++ CHECK_CXX_SOURCE_COMPILES(" ++ #include ++ #include ++ int main(int argc, char **argv) ++ { ++ typedef char* MYFunction(const char*, int); ++ MYFunction* myf= rl_completion_entry_function; ++ char *res= (myf)(NULL, 0); ++ completion_matches(0,0); ++ return res != NULL; ++ }" ++ EDITLINE_HAVE_COMPLETION_CHAR) ++ ++ IF(EDITLINE_HAVE_COMPLETION_INT OR EDITLINE_HAVE_COMPLETION_CHAR) + SET(HAVE_HIST_ENTRY ${EDITLINE_HAVE_HIST_ENTRY}) + SET(USE_LIBEDIT_INTERFACE 1) + SET(EDITLINE_FOUND 1) ++ IF(EDITLINE_HAVE_COMPLETION_CHAR) ++ SET(USE_NEW_EDITLINE_INTERFACE 1) ++ ENDIF() + ENDIF() + ENDIF() + ENDMACRO() +diff --git a/config.h.cmake b/config.h.cmake +index f0a11c4..388442c 100644 +--- a/config.h.cmake ++++ b/config.h.cmake +@@ -276,6 +276,7 @@ + #cmakedefine HAVE_NCURSES_H 1 + #cmakedefine USE_LIBEDIT_INTERFACE 1 + #cmakedefine HAVE_HIST_ENTRY 1 ++#cmakedefine USE_NEW_EDITLINE_INTERFACE 1 + + /* + * Libedit +-- +2.7.4 + diff --git a/community-mysql-5.7.13-pfs-oom-unittest.patch b/community-mysql-5.7.13-pfs-oom-unittest.patch new file mode 100644 index 0000000..893b70f --- /dev/null +++ b/community-mysql-5.7.13-pfs-oom-unittest.patch @@ -0,0 +1,51 @@ +commit 6c23035b52284c2575f297311dfd0278bcbb0dd1 +Author: Christopher Powers +Date: Mon May 2 19:43:31 2016 +0100 + + Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY + + Two test cases pass on Windows but crash on Linux due to different init paths. + Now pass on both. + +diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc +index db74c9c..b6bc818 100644 +--- a/storage/perfschema/unittest/pfs_instr-oom-t.cc ++++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc +@@ -232,12 +232,14 @@ void test_oom() + ok(cond_2 == NULL, "oom (create cond)"); + + /* Create file. */ +- stub_alloc_always_fails = false; + PFS_thread fake_thread; ++ rc = init_instruments(¶m); + fake_thread.m_filename_hash_pins= NULL; + init_file_hash(¶m); +- rc = init_instruments(¶m); +- ok(rc == 0, "instances init"); ++ ++ stub_alloc_always_fails = true; ++ file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); ++ ok(file_2 == NULL, "oom (create file)"); + + stub_alloc_always_fails= false; + file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); +@@ -245,10 +247,6 @@ void test_oom() + release_file(file_1); + cleanup_instruments(); + +- stub_alloc_always_fails= true; +- file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); +- ok(file_2 == NULL, "oom (create file)"); +- + /* Create socket. */ + stub_alloc_always_fails = false; + rc = init_instruments(¶m); +@@ -422,7 +420,7 @@ void do_all_tests() + + int main(int, char **) + { +- plan(28); ++ plan(32); + MY_INIT("pfs_instr-oom-t"); + do_all_tests(); + return 0; diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch index bd50dc4..72f5bd6 100644 --- a/community-mysql-5.7.9-major.patch +++ b/community-mysql-5.7.9-major.patch @@ -6,6 +6,6 @@ -SET(SHARED_LIB_MAJOR_VERSION "20") +SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "2") + SET(SHARED_LIB_MINOR_VERSION "3") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") diff --git a/community-mysql.spec b/community-mysql.spec index f05a125..1a3af42 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.12 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 5.7.13 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,6 +120,10 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-5.7.13-pfs-oom-unittest.patch +Patch54: %{pkgnamepatch}-5.7.13-fpu.patch +Patch55: %{pkgnamepatch}-5.7.13-gcc6.patch +Patch56: %{pkgnamepatch}-5.7.13-libedit.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -377,6 +381,10 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 +%patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -396,160 +404,60 @@ popd pushd mysql-test add_test () { - echo $1 >> %{skiplist} + echo "$@" $ >> %{skiplist} } touch %{skiplist} -# these tests fail in 5.7.10 on arms -%ifarch aarch64 armv7hl -add_test 'binlog.binlog_xa_prepared_disconnect : fails in 5.7.10' -add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' -add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' -add_test 'gis.gis_bugs_crashes : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' -add_test 'gis.spatial_operators_intersection : fails in 5.7.10' -add_test 'gis.spatial_operators_union : fails in 5.7.10' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_contains : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_equals : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_touches : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_within : fails in 5.7.10' -add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' -add_test 'innodb_fts.opt : fails in 5.7.10' -add_test 'innodb_gis.gis : fails in 5.7.10' -add_test 'innodb_gis.1 : fails in 5.7.10' -add_test 'innodb.innodb : fails in 5.7.10' -add_test 'innodb.innodb-wl5980-discard : fails in 5.7.10' -add_test 'innodb.log_file : fails in 5.7.10' -add_test 'main.ctype_big5 : fails in 5.7.10' -add_test 'main.ctype_gbk : fails in 5.7.10' -add_test 'main.gis : fails in 5.7.10' -add_test 'main.gis-precise : fails in 5.7.10' -add_test 'main.insert : fails in 5.7.10' -add_test 'perfschema.func_file_io : fails in 5.7.10' -add_test 'perfschema.merge_table_io : fails in 5.7.10' -add_test 'perfschema.setup_objects : fails in 5.7.10' -add_test 'sysschema.fn_ps_thread_trx_info : fails in 5.7.10' -add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' -add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' -add_test 'test_service_sql_api.test_session_info : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.10' +# unstable on all archs +add_test binlog.binlog_xa_prepared_disconnect : unstable test +add_test innodb.table_encrypt_kill : unstable test + +# these tests fail in 5.7.13 on arm32 +%ifarch %arm +# GIS related issue +add_test innodb_gis.1 : arm32 gis issue +add_test innodb_gis.gis : arm32 gis issue +add_test main.gis-precise : arm32 gis issue +add_test main.gis : arm32 gis issue +add_test gis.gis_bugs_crashes : arm32 gis issue +add_test gis.spatial_operators_intersection : arm32 gis issue +add_test gis.spatial_operators_union : arm32 gis issue +add_test gis.spatial_testing_functions_contains : arm32 gis issue +add_test gis.spatial_testing_functions_crosses : arm32 gis issue +add_test gis.spatial_testing_functions_equals : arm32 gis issue +add_test gis.spatial_testing_functions_touches : arm32 gis issue +add_test gis.spatial_testing_functions_within : arm32 gis issue +# FTS +add_test innodb_fts.opt : arm32 FTS issue +# Missing hw counters +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 %endif -# these tests fail in 5.7.10 on ppcs +# these tests fail in 5.7.13 on aarch64 +%ifarch aarch64 +add_test innodb.innodb : missing correct value +add_test innodb_fts.large_records : innodb assert +add_test main.ctype_big5 : innodb assert +add_test main.ctype_gbk : innodb assert +add_test main.ctype_utf8mb4_uca : innodb assert +add_test main.insert : innodb assert +add_test main.sp_trans : innodb assert +add_test sysschema.pr_diagnostics : innodb assert +add_test sys_vars.log_slow_admin_statements_func : innodb assert +%endif + +# these tests fail in 5.7.13 on ppc64* %ifarch ppc64 ppc64le -add_test 'federated.federated_server : fails in 5.7.10' -add_test 'funcs_1.innodb_views : fails in 5.7.10' -add_test 'funcs_1.storedproc : fails in 5.7.10' -add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' -add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' -add_test 'gis.gis_bugs_crashes : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' -add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' -add_test 'gis.spatial_operators_union : fails in 5.7.10' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' -add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' -add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' -add_test 'innodb_fts.ngram_1 : fails in 5.7.10' -add_test 'innodb_fts.plugin : fails in 5.7.10' -add_test 'innodb_fts.tablespace_location : fails in 5.7.10' -add_test 'innodb.innodb_bug30919 : fails in 5.7.10' -add_test 'innodb.innodb : fails in 5.7.10' -add_test 'innodb.mysqldump_max_recordsize : fails in 5.7.10' -add_test 'innodb_zip.cmp_per_index : fails in 5.7.10' -add_test 'innodb_zip.wl6470_2 : fails in 5.7.10' -add_test 'main.bootstrap : fails in 5.7.10' -add_test 'main.ctype_big5 : fails in 5.7.10' -add_test 'main.ctype_cp1251 : fails in 5.7.10' -add_test 'main.ctype_gbk : fails in 5.7.10' -add_test 'main.grant_alter_user : fails in 5.7.10' -add_test 'main.innodb_icp : fails in 5.7.10' -add_test 'main.innodb_mrr : fails in 5.7.10' -add_test 'main.innodb_mrr_icp : fails in 5.7.10' -add_test 'main.insert : fails in 5.7.10' -add_test 'main.mysql_client_test : fails in 5.7.10' -add_test 'main.mysqldump : fails in 5.7.10' -add_test 'main.mysql_embedded : fails in 5.7.10' -add_test 'main.partition_innodb_semi_consistent : fails in 5.7.10' -add_test 'main.partition_range : fails in 5.7.10' -add_test 'main.sql_mode_default : fails in 5.7.10' -add_test 'main.subquery_sj_dupsweed_bka_nixbnl : fails in 5.7.10' -add_test 'main.subquery_sj_firstmatch_bka : fails in 5.7.10' -add_test 'main.subquery_sj_firstmatch_bka_nixbnl : fails in 5.7.10' -add_test 'main.subquery_sj_none_bka : fails in 5.7.10' -add_test 'main.subselect_innodb : fails in 5.7.10' -add_test 'perfschema.mdl_func : fails in 5.7.10' -add_test 'perfschema.socket_summary_by_instance_func : fails in 5.7.10' -add_test 'rpl.rpl_alter_repository : fails in 5.7.10' -add_test 'rpl.rpl_checksum_cache : fails in 5.7.10' -add_test 'rpl.rpl_innodb_bug28430 : fails in 5.7.10' -add_test 'rpl.rpl_innodb_bug30888 : fails in 5.7.10' -add_test 'rpl.rpl_many_optimize : fails in 5.7.10' -add_test 'rpl.rpl_mixed_binlog_max_cache_size : fails in 5.7.10' -add_test 'rpl.rpl_recovery_replicate_same_server_id : fails in 5.7.10' -add_test 'rpl.rpl_replicate_do : fails in 5.7.10' -add_test 'rpl.rpl_rotate_logs : fails in 5.7.10' -add_test 'sysschema.pr_diagnostics : fails in 5.7.10' -add_test 'sysschema.pr_statement_performance_analyzer : fails in 5.7.10' -add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' -%endif - -# these tests fail in 5.7.10 on s390s -%ifarch s390 s390x -add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' -add_test 'gis.gis_bugs_crashes : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' -add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' -add_test 'gis.spatial_operators_union : fails in 5.7.10' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' -add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' -add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' -add_test 'innodb_fts.opt : fails in 5.7.10' -add_test 'main.ps_ddl : fails in 5.7.10' -add_test 'main.ps_ddl1 : fails in 5.7.10' -add_test 'perfschema.status_reprepare : fails in 5.7.10' -add_test 'rpl.rpl_cross_version : fails in 5.7.10' -add_test 'rpl.rpl_dual_pos_advance : fails in 5.7.10' -add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' -%endif - -# Workaround for upstream bug #http://bugs.mysql.com/56342 -rm -f t/ssl_8k_key-master.opt - -# Archs without hw performance counter, rh 741325 -%ifarch aarch64 sparc64 -add_test 'perfschema.func_file_io : rh 741325' -add_test 'perfschema.setup_objects : rh 741325' -%endif - -# Archs with ps_ddl issues -%ifarch s390 -add_test 'main.ps_ddl : ps_ddl issue' -add_test 'main.ps_ddl1 : ps_ddl issue' +add_test innodb.innodb : missing correct value +add_test main.ctype_big5 : innodb assert +add_test main.ctype_gbk : innodb assert +add_test main.insert : innodb assert +add_test main.innodb_mrr_cost_icp : innodb assert +add_test main.mysqldump : innodb assert +add_test sys_vars.log_slow_admin_statements_func : innodb assert +add_test parts.partition_int_innodb : parts issue %endif popd @@ -617,7 +525,7 @@ cmake .. \ -DWITH_ZLIB=system \ -DWITH_BOOST=../boost/boost_1_59_0 \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ - -DCMAKE_CXX_FLAGS="-std=gnu++98 %{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} From 478419c22a65eeedec918a401c4fd3b5b378bb69 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Jul 2016 20:01:44 +0200 Subject: [PATCH 355/616] New sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a4c10d0..2e85a12 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /mysql-5.7.11.tar.gz /mysql-boost-5.7.11.tar.gz /mysql-boost-5.7.12.tar.gz +/mysql-boost-5.7.13.tar.gz diff --git a/sources b/sources index 0c4a6be..2dbdc84 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fb9d67b708e5e9d29533c5be2768b41e mysql-boost-5.7.12.tar.gz +275a3c6f94b02ee9d5e3df2f7ebae68a mysql-boost-5.7.13.tar.gz From a75507f56c1f12dcf04615a8f4b55193babc9769 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Jul 2016 20:12:17 +0200 Subject: [PATCH 356/616] Do not require perl-generators on systems where this package does not exist --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 1a3af42..59b6025 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -143,7 +143,9 @@ BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: openssl-devel BuildRequires: perl +%if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-generators +%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config From 083c748b2d26c74557ade81e56a7056e52f9cddc Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 8 Aug 2016 14:08:59 +0200 Subject: [PATCH 357/616] Update to MySQL 5.7.14 --- community-mysql-5.7.13-fpu.patch | 113 ---------------- community-mysql-5.7.13-gcc6.patch | 14 -- community-mysql-5.7.13-libedit.patch | 113 ---------------- community-mysql-5.7.13-pfs-oom-unittest.patch | 51 -------- community-mysql-5.7.14-buf-align.patch | 26 ++++ community-mysql-5.7.14-lz4.patch | 123 ++++++++++++++++++ community-mysql.spec | 38 +----- 7 files changed, 156 insertions(+), 322 deletions(-) delete mode 100644 community-mysql-5.7.13-fpu.patch delete mode 100644 community-mysql-5.7.13-gcc6.patch delete mode 100644 community-mysql-5.7.13-libedit.patch delete mode 100644 community-mysql-5.7.13-pfs-oom-unittest.patch create mode 100644 community-mysql-5.7.14-buf-align.patch create mode 100644 community-mysql-5.7.14-lz4.patch diff --git a/community-mysql-5.7.13-fpu.patch b/community-mysql-5.7.13-fpu.patch deleted file mode 100644 index 4a26ada..0000000 --- a/community-mysql-5.7.13-fpu.patch +++ /dev/null @@ -1,113 +0,0 @@ -commit 34ee5b9ce2d3ab1ccfb91016ee058949c69c1066 -Author: Norvald H. Ryeng -Date: Fri May 27 15:19:56 2016 +0200 - - Bug#23046775 DIFFERENT FLOATING POINT RESULTS ON ARM64 AND POWERPC - - Backport from trunk. - - Problem: The -fexpensive-optimizations option to gcc causes ARM64 and - PowerPC build to compute floating point operations slightly - differently from other platforms. This flag is enabled by -O2 and - higher optimization levels. - - Fix: Check for the unwanted floating point behavior in CMake and - disable expensive-optimizations in GCC builds on platforms that - experience this behavior. - -diff --git a/cmake/build_configurations/compiler_options.cmake b/cmake/build_configurations/compiler_options.cmake -index 98d553a..f105c7a 100644 ---- a/cmake/build_configurations/compiler_options.cmake -+++ b/cmake/build_configurations/compiler_options.cmake -@@ -15,6 +15,7 @@ - - INCLUDE(CheckCCompilerFlag) - INCLUDE(CheckCXXCompilerFlag) -+INCLUDE(cmake/floating_point.cmake) - - IF(SIZEOF_VOIDP EQUAL 4) - SET(32BIT 1) -@@ -33,6 +34,10 @@ IF(UNIX) - IF(WITH_VALGRIND) - SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}") - ENDIF() -+ # Disable optimizations that change floating point results -+ IF(HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -fno-expensive-optimizations") -+ ENDIF() - SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") - ENDIF() -@@ -48,6 +53,10 @@ IF(UNIX) - IF(WITH_VALGRIND) - SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}") - ENDIF() -+ # Disable optimizations that change floating point results -+ IF(HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -fno-expensive-optimizations") -+ ENDIF() - SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") - ENDIF() -diff --git a/cmake/floating_point.cmake b/cmake/floating_point.cmake -new file mode 100644 -index 0000000..6db63ad ---- /dev/null -+++ b/cmake/floating_point.cmake -@@ -0,0 +1,56 @@ -+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; version 2 of the License. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+INCLUDE(CheckCSourceRuns) -+INCLUDE(CheckCXXSourceRuns) -+ -+SET(code " -+ int main (int argc, char **argv) -+ { -+ double n[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,1 }; -+ double m= 0, s= 0; -+ int i; -+ for(i= 0; i < 21; i++) -+ { -+ double m_kminusone= m; -+ m= m_kminusone + (n[i] - m_kminusone) / (double) (i + 2); -+ s= s + (n[i] - m_kminusone) * (n[i] - m); -+ } -+ /* -+ s should now be either 5e 74 d1 45 17 5d 14 40 or -+ 40 14 5d 17 45 d1 74 5e, depending on endianness. If the floating point -+ operations are over optimized, the least significant byte is 5d instead -+ of 5e. -+ */ -+ return (*(unsigned char*)(&s) == 0x5e || -+ *((unsigned char*)(&s) + 7) == 0x5e); -+ }" -+) -+ -+SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") -+SET(CMAKE_REQUIRED_FLAGS -+ "${CMAKE_REQUIRED_FLAGS} -O3 -fexpensive-optimizations" -+) -+ -+IF(CMAKE_COMPILER_IS_GNUCC) -+ CHECK_C_SOURCE_RUNS("${code}" HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ENDIF() -+ -+IF(CMAKE_COMPILER_IS_GNUCXX) -+ CHECK_CXX_SOURCE_RUNS("${code}" HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ENDIF() -+ -+SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}") diff --git a/community-mysql-5.7.13-gcc6.patch b/community-mysql-5.7.13-gcc6.patch deleted file mode 100644 index d971ddd..0000000 --- a/community-mysql-5.7.13-gcc6.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/client/auth_utils.cc b/client/auth_utils.cc -index 21416bb..03fd71c 100644 ---- a/client/auth_utils.cc -+++ b/client/auth_utils.cc -@@ -61,7 +61,7 @@ int parse_cnf_file(istream &sin, map *options, - getline(sin, option_value); - trim(&option_value); - if (option_name.length() > 0) -- options->insert(make_pair(option_name, option_value)); -+ options->insert(make_pair(option_name, option_value)); - } - return ALL_OK; - } catch(...) - diff --git a/community-mysql-5.7.13-libedit.patch b/community-mysql-5.7.13-libedit.patch deleted file mode 100644 index 0bcd7e8..0000000 --- a/community-mysql-5.7.13-libedit.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 41480c0bacf8f354610825856b5c66b8516da607 Mon Sep 17 00:00:00 2001 -From: Jon Olav Hauglid -Date: Fri, 1 Jul 2016 09:00:16 +0200 -Subject: [PATCH] Bug#23708332: -DWITH_EDITLINE=SYSTEM BREAKS WITH - LIBEDIT-20160618-3.1 - -Add CMake check for the new editline completion API -and based on the result, use already existing code -for it in the mysql client. - -Change-Id: I8a9a721de24eef6359d3285cffd9745a8894ea4b ---- - client/mysql.cc | 8 ++++---- - cmake/readline.cmake | 22 +++++++++++++++++++--- - config.h.cmake | 1 + - 3 files changed, 24 insertions(+), 7 deletions(-) - -diff --git a/client/mysql.cc b/client/mysql.cc -index 94c3227..46147e9 100644 ---- a/client/mysql.cc -+++ b/client/mysql.cc -@@ -2816,7 +2816,7 @@ C_MODE_END - if not. - */ - --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - static int fake_magic_space(int, int); - extern "C" char *no_completion(const char*,int) - #elif defined(USE_LIBEDIT_INTERFACE) -@@ -2845,7 +2845,7 @@ static int not_in_history(const char *line) - } - - --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - static int fake_magic_space(int, int) - #else - static int fake_magic_space(const char *, int) -@@ -2862,7 +2862,7 @@ static void initialize_readline (char *name) - rl_readline_name = name; - - /* Tell the completer that we want a crack first. */ --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - rl_attempted_completion_function= (rl_completion_func_t*)&new_mysql_completion; - rl_completion_entry_function= (rl_compentry_func_t*)&no_completion; - -@@ -2890,7 +2890,7 @@ static char **new_mysql_completion(const char *text, - int end MY_ATTRIBUTE((unused))) - { - if (!status.batch && !quick) --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - return rl_completion_matches(text, new_command_generator); - #else - return completion_matches((char *)text, (CPFunction *)new_command_generator); -diff --git a/cmake/readline.cmake b/cmake/readline.cmake -index 00ecc53..8aed8cb 100644 ---- a/cmake/readline.cmake -+++ b/cmake/readline.cmake -@@ -1,4 +1,4 @@ --# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -158,12 +158,28 @@ MACRO (FIND_SYSTEM_EDITLINE) - completion_matches(0,0); - return res; - }" -- EDITLINE_HAVE_COMPLETION) -+ EDITLINE_HAVE_COMPLETION_INT) - -- IF(EDITLINE_HAVE_COMPLETION) -+ CHECK_CXX_SOURCE_COMPILES(" -+ #include -+ #include -+ int main(int argc, char **argv) -+ { -+ typedef char* MYFunction(const char*, int); -+ MYFunction* myf= rl_completion_entry_function; -+ char *res= (myf)(NULL, 0); -+ completion_matches(0,0); -+ return res != NULL; -+ }" -+ EDITLINE_HAVE_COMPLETION_CHAR) -+ -+ IF(EDITLINE_HAVE_COMPLETION_INT OR EDITLINE_HAVE_COMPLETION_CHAR) - SET(HAVE_HIST_ENTRY ${EDITLINE_HAVE_HIST_ENTRY}) - SET(USE_LIBEDIT_INTERFACE 1) - SET(EDITLINE_FOUND 1) -+ IF(EDITLINE_HAVE_COMPLETION_CHAR) -+ SET(USE_NEW_EDITLINE_INTERFACE 1) -+ ENDIF() - ENDIF() - ENDIF() - ENDMACRO() -diff --git a/config.h.cmake b/config.h.cmake -index f0a11c4..388442c 100644 ---- a/config.h.cmake -+++ b/config.h.cmake -@@ -276,6 +276,7 @@ - #cmakedefine HAVE_NCURSES_H 1 - #cmakedefine USE_LIBEDIT_INTERFACE 1 - #cmakedefine HAVE_HIST_ENTRY 1 -+#cmakedefine USE_NEW_EDITLINE_INTERFACE 1 - - /* - * Libedit --- -2.7.4 - diff --git a/community-mysql-5.7.13-pfs-oom-unittest.patch b/community-mysql-5.7.13-pfs-oom-unittest.patch deleted file mode 100644 index 893b70f..0000000 --- a/community-mysql-5.7.13-pfs-oom-unittest.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 6c23035b52284c2575f297311dfd0278bcbb0dd1 -Author: Christopher Powers -Date: Mon May 2 19:43:31 2016 +0100 - - Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY - - Two test cases pass on Windows but crash on Linux due to different init paths. - Now pass on both. - -diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc -index db74c9c..b6bc818 100644 ---- a/storage/perfschema/unittest/pfs_instr-oom-t.cc -+++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc -@@ -232,12 +232,14 @@ void test_oom() - ok(cond_2 == NULL, "oom (create cond)"); - - /* Create file. */ -- stub_alloc_always_fails = false; - PFS_thread fake_thread; -+ rc = init_instruments(¶m); - fake_thread.m_filename_hash_pins= NULL; - init_file_hash(¶m); -- rc = init_instruments(¶m); -- ok(rc == 0, "instances init"); -+ -+ stub_alloc_always_fails = true; -+ file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -+ ok(file_2 == NULL, "oom (create file)"); - - stub_alloc_always_fails= false; - file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -@@ -245,10 +247,6 @@ void test_oom() - release_file(file_1); - cleanup_instruments(); - -- stub_alloc_always_fails= true; -- file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -- ok(file_2 == NULL, "oom (create file)"); -- - /* Create socket. */ - stub_alloc_always_fails = false; - rc = init_instruments(¶m); -@@ -422,7 +420,7 @@ void do_all_tests() - - int main(int, char **) - { -- plan(28); -+ plan(32); - MY_INIT("pfs_instr-oom-t"); - do_all_tests(); - return 0; diff --git a/community-mysql-5.7.14-buf-align.patch b/community-mysql-5.7.14-buf-align.patch new file mode 100644 index 0000000..3c9de9a --- /dev/null +++ b/community-mysql-5.7.14-buf-align.patch @@ -0,0 +1,26 @@ +--- a/storage/innobase/buf/buf0buf.cc ++++ b/storage/innobase/buf/buf0buf.cc +@@ -3855,14 +3855,17 @@ buf_block_from_ahi(const byte* ptr) + ut_ad(buf_chunk_map_ref == buf_chunk_map_reg); + ut_ad(!buf_pool_resizing); + +- const byte* bound = reinterpret_cast(ptr) +- > srv_buf_pool_chunk_unit +- ? ptr - srv_buf_pool_chunk_unit : 0; +- it = chunk_map->upper_bound(bound); ++ buf_chunk_t* chunk; ++ it = chunk_map->upper_bound(ptr); ++ ++ ut_a(it != chunk_map->begin()); + +- ut_a(it != chunk_map->end()); ++ if (it == chunk_map->end()) { ++ chunk = chunk_map->rbegin()->second; ++ } else { ++ chunk = (--it)->second; ++ } + +- buf_chunk_t* chunk = it->second; + ulint offs = ptr - chunk->blocks->frame; + + offs >>= UNIV_PAGE_SIZE_SHIFT; diff --git a/community-mysql-5.7.14-lz4.patch b/community-mysql-5.7.14-lz4.patch new file mode 100644 index 0000000..784c4da --- /dev/null +++ b/community-mysql-5.7.14-lz4.patch @@ -0,0 +1,123 @@ + +Problem: The fix for bug #23607230 used xxhash symbols from liblz4, +but even though the xxhash symbols are exported by liblz4, the header +file is not part of the API, so compilation fails when building with +WITH_LZ4=system. + +Fix: Build xxhash separately from liblz4 so that it's available both +when using system and bundled lz4 libraries. +--- + extra/lz4/my_xxhash.h | 27 +++++++++++++++++++++++++++ + libmysqld/CMakeLists.txt | 6 ++++++ + sql/CMakeLists.txt | 6 ++++++ + sql/rpl_write_set_handler.cc | 4 ++-- + 4 files changed, 41 insertions(+), 2 deletions(-) + create mode 100644 extra/lz4/my_xxhash.h + +diff --git a/extra/lz4/my_xxhash.h b/extra/lz4/my_xxhash.h +new file mode 100644 +index 0000000..699c1b5 +--- /dev/null ++++ b/extra/lz4/my_xxhash.h +@@ -0,0 +1,27 @@ ++#ifndef MY_XXHASH_H_INCLUDED ++#define MY_XXHASH_H_INCLUDED ++ ++/* ++ Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 of the License. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software Foundation, ++ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA ++*/ ++ ++// Define a namespace prefix to all xxhash functions. This is done to ++// avoid conflict with xxhash symbols in liblz4. ++#define XXH_NAMESPACE MY_ ++ ++#include "xxhash.h" ++ ++#endif // MY_XXHASH_H_INCLUDED +diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt +index cb188ec..0093f2e 100644 +--- a/libmysqld/CMakeLists.txt ++++ b/libmysqld/CMakeLists.txt +@@ -62,6 +62,7 @@ SET(SQL_EMBEDDED_SOURCES + libmysqld.c + ${GEN_SOURCES} + ${GEN_YACC_SOURCES} ++ ../extra/lz4/xxhash.c + ../client/get_password.c + ../libmysql/errmsg.c + ../libmysql/libmysql.c +@@ -118,6 +119,11 @@ ADD_COMPILE_FLAGS( + COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + ++ADD_COMPILE_FLAGS( ++ ../extra/lz4/xxhash.c ++ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ ++) ++ + # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD + # The flag /bigobj is not added if the build is not /MD + IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8) +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index 50352b1..ea42ff5 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -254,6 +254,7 @@ SET(SQL_SOURCE + ${GEN_DIGEST_SOURCES} + ${CONF_SOURCES} + ${SQL_SHARED_SOURCES} ++ ../extra/lz4/xxhash.c + ../libmysql/errmsg.c + ../sql-common/client.c + ../sql-common/client_plugin.c +@@ -314,6 +315,11 @@ ADD_COMPILE_FLAGS( + COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + ++ADD_COMPILE_FLAGS( ++ ../extra/lz4/xxhash.c ++ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ ++) ++ + # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD + # The flag /bigobj is not added if the build is not WINDOWS_RUNTIME_MD (/MD) + IF(WINDOWS_RUNTIME_MD AND CMAKE_SIZEOF_VOID_P MATCHES 8) +diff --git a/sql/rpl_write_set_handler.cc b/sql/rpl_write_set_handler.cc +index 3897321..c7e778e 100644 +--- a/sql/rpl_write_set_handler.cc ++++ b/sql/rpl_write_set_handler.cc +@@ -23,7 +23,7 @@ + #include "table.h" // TABLE + + #include "my_murmur3.h" // murmur3_32 +-#include "xxhash.h" // xxHash ++#include "../extra/lz4/my_xxhash.h" // xxHash + + #include + #include +@@ -61,7 +61,7 @@ template uint64 calc_hash(ulong algorithm, type T) + if(algorithm == HASH_ALGORITHM_MURMUR32) + return (murmur3_32((const uchar*)T, strlen(T), 0)); + else +- return (XXH64((const uchar*)T, strlen(T), 0)); ++ return (MY_XXH64((const uchar*)T, strlen(T), 0)); + } + + /** +-- +2.1.0 + + diff --git a/community-mysql.spec b/community-mysql.spec index 59b6025..10667f2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 1 +%global check_testsuite 0 # set to 1 to enable %global with_shared_lib_major_hack 1 @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.13 +Version: 5.7.14 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -120,10 +120,8 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.7.13-pfs-oom-unittest.patch -Patch54: %{pkgnamepatch}-5.7.13-fpu.patch -Patch55: %{pkgnamepatch}-5.7.13-gcc6.patch -Patch56: %{pkgnamepatch}-5.7.13-libedit.patch +Patch53: %{pkgnamepatch}-5.7.14-lz4.patch +Patch54: %{pkgnamepatch}-5.7.14-buf-align.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -385,8 +383,6 @@ the MySQL sources. %patch52 -p1 %patch53 -p1 %patch54 -p1 -%patch55 -p1 -%patch56 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -415,7 +411,7 @@ touch %{skiplist} add_test binlog.binlog_xa_prepared_disconnect : unstable test add_test innodb.table_encrypt_kill : unstable test -# these tests fail in 5.7.13 on arm32 +# these tests fail in 5.7.14 on arm32 %ifarch %arm # GIS related issue add_test innodb_gis.1 : arm32 gis issue @@ -437,29 +433,9 @@ add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 %endif -# these tests fail in 5.7.13 on aarch64 -%ifarch aarch64 +# this test fail in 5.7.14 on ppc64* and aarch64 +%ifarch ppc64 ppc64le aarch64 add_test innodb.innodb : missing correct value -add_test innodb_fts.large_records : innodb assert -add_test main.ctype_big5 : innodb assert -add_test main.ctype_gbk : innodb assert -add_test main.ctype_utf8mb4_uca : innodb assert -add_test main.insert : innodb assert -add_test main.sp_trans : innodb assert -add_test sysschema.pr_diagnostics : innodb assert -add_test sys_vars.log_slow_admin_statements_func : innodb assert -%endif - -# these tests fail in 5.7.13 on ppc64* -%ifarch ppc64 ppc64le -add_test innodb.innodb : missing correct value -add_test main.ctype_big5 : innodb assert -add_test main.ctype_gbk : innodb assert -add_test main.insert : innodb assert -add_test main.innodb_mrr_cost_icp : innodb assert -add_test main.mysqldump : innodb assert -add_test sys_vars.log_slow_admin_statements_func : innodb assert -add_test parts.partition_int_innodb : parts issue %endif popd From 7a67b5964f36d33afd6579850747e363062a538d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 10 Aug 2016 08:47:41 +0200 Subject: [PATCH 358/616] Update to MySQL 5.7.14 - sources --- .gitignore | 29 +++-------------------------- sources | 2 +- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index 2e85a12..20870bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,3 @@ -/mysql-5.5.30-nodocs.tar.gz -/mysql-5.5.31-nodocs.tar.gz -/mysql-5.5.32-nodocs.tar.gz -/mysql-man-gpl.tar.gz -/mysql-5.5.32-nodocs.tar.xz -/mysql-5.5.33-nodocs.tar.xz -/mysql-5.6.14-nodocs.tar.xz -/mysql-5.6.15.tar.gz -/mysql-5.6.16.tar.gz -/mysql-5.6.17.tar.gz -/mysql-5.6.19.tar.gz -/mysql-5.6.20.tar.gz -/mysql-5.6.21.tar.gz -/mysql-5.6.22.tar.gz -/mysql-5.6.23.tar.gz -/mysql-5.6.24.tar.gz -/mysql-5.6.25.tar.gz -/mysql-5.6.26.tar.gz -/mysql-5.6.27.tar.gz -/mysql-5.7.9.tar.gz -/mysql-5.7.10.tar.gz -/boost_1_59_0.tar.bz2 -/mysql-5.7.11.tar.gz -/mysql-boost-5.7.11.tar.gz -/mysql-boost-5.7.12.tar.gz -/mysql-boost-5.7.13.tar.gz +/*/ +/*.rpm +/*.tar.gz diff --git a/sources b/sources index 2dbdc84..a3b3924 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -275a3c6f94b02ee9d5e3df2f7ebae68a mysql-boost-5.7.13.tar.gz +f90464874ee635ff63c436d1b64fe311 mysql-boost-5.7.14.tar.gz From c866c8730d645f67d48d17146d2644217737503a Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 7 Sep 2016 09:38:53 +0200 Subject: [PATCH 359/616] Update to MySQL 5.7.15 --- community-mysql-5.7.14-buf-align.patch | 26 ------ community-mysql-5.7.14-lz4.patch | 123 ------------------------- community-mysql.spec | 32 +++++-- sources | 2 +- 4 files changed, 27 insertions(+), 156 deletions(-) delete mode 100644 community-mysql-5.7.14-buf-align.patch delete mode 100644 community-mysql-5.7.14-lz4.patch diff --git a/community-mysql-5.7.14-buf-align.patch b/community-mysql-5.7.14-buf-align.patch deleted file mode 100644 index 3c9de9a..0000000 --- a/community-mysql-5.7.14-buf-align.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/storage/innobase/buf/buf0buf.cc -+++ b/storage/innobase/buf/buf0buf.cc -@@ -3855,14 +3855,17 @@ buf_block_from_ahi(const byte* ptr) - ut_ad(buf_chunk_map_ref == buf_chunk_map_reg); - ut_ad(!buf_pool_resizing); - -- const byte* bound = reinterpret_cast(ptr) -- > srv_buf_pool_chunk_unit -- ? ptr - srv_buf_pool_chunk_unit : 0; -- it = chunk_map->upper_bound(bound); -+ buf_chunk_t* chunk; -+ it = chunk_map->upper_bound(ptr); -+ -+ ut_a(it != chunk_map->begin()); - -- ut_a(it != chunk_map->end()); -+ if (it == chunk_map->end()) { -+ chunk = chunk_map->rbegin()->second; -+ } else { -+ chunk = (--it)->second; -+ } - -- buf_chunk_t* chunk = it->second; - ulint offs = ptr - chunk->blocks->frame; - - offs >>= UNIV_PAGE_SIZE_SHIFT; diff --git a/community-mysql-5.7.14-lz4.patch b/community-mysql-5.7.14-lz4.patch deleted file mode 100644 index 784c4da..0000000 --- a/community-mysql-5.7.14-lz4.patch +++ /dev/null @@ -1,123 +0,0 @@ - -Problem: The fix for bug #23607230 used xxhash symbols from liblz4, -but even though the xxhash symbols are exported by liblz4, the header -file is not part of the API, so compilation fails when building with -WITH_LZ4=system. - -Fix: Build xxhash separately from liblz4 so that it's available both -when using system and bundled lz4 libraries. ---- - extra/lz4/my_xxhash.h | 27 +++++++++++++++++++++++++++ - libmysqld/CMakeLists.txt | 6 ++++++ - sql/CMakeLists.txt | 6 ++++++ - sql/rpl_write_set_handler.cc | 4 ++-- - 4 files changed, 41 insertions(+), 2 deletions(-) - create mode 100644 extra/lz4/my_xxhash.h - -diff --git a/extra/lz4/my_xxhash.h b/extra/lz4/my_xxhash.h -new file mode 100644 -index 0000000..699c1b5 ---- /dev/null -+++ b/extra/lz4/my_xxhash.h -@@ -0,0 +1,27 @@ -+#ifndef MY_XXHASH_H_INCLUDED -+#define MY_XXHASH_H_INCLUDED -+ -+/* -+ Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; version 2 of the License. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software Foundation, -+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA -+*/ -+ -+// Define a namespace prefix to all xxhash functions. This is done to -+// avoid conflict with xxhash symbols in liblz4. -+#define XXH_NAMESPACE MY_ -+ -+#include "xxhash.h" -+ -+#endif // MY_XXHASH_H_INCLUDED -diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt -index cb188ec..0093f2e 100644 ---- a/libmysqld/CMakeLists.txt -+++ b/libmysqld/CMakeLists.txt -@@ -62,6 +62,7 @@ SET(SQL_EMBEDDED_SOURCES - libmysqld.c - ${GEN_SOURCES} - ${GEN_YACC_SOURCES} -+ ../extra/lz4/xxhash.c - ../client/get_password.c - ../libmysql/errmsg.c - ../libmysql/libmysql.c -@@ -118,6 +119,11 @@ ADD_COMPILE_FLAGS( - COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} - ) - -+ADD_COMPILE_FLAGS( -+ ../extra/lz4/xxhash.c -+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ -+) -+ - # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD - # The flag /bigobj is not added if the build is not /MD - IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8) -diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt -index 50352b1..ea42ff5 100644 ---- a/sql/CMakeLists.txt -+++ b/sql/CMakeLists.txt -@@ -254,6 +254,7 @@ SET(SQL_SOURCE - ${GEN_DIGEST_SOURCES} - ${CONF_SOURCES} - ${SQL_SHARED_SOURCES} -+ ../extra/lz4/xxhash.c - ../libmysql/errmsg.c - ../sql-common/client.c - ../sql-common/client_plugin.c -@@ -314,6 +315,11 @@ ADD_COMPILE_FLAGS( - COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} - ) - -+ADD_COMPILE_FLAGS( -+ ../extra/lz4/xxhash.c -+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ -+) -+ - # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD - # The flag /bigobj is not added if the build is not WINDOWS_RUNTIME_MD (/MD) - IF(WINDOWS_RUNTIME_MD AND CMAKE_SIZEOF_VOID_P MATCHES 8) -diff --git a/sql/rpl_write_set_handler.cc b/sql/rpl_write_set_handler.cc -index 3897321..c7e778e 100644 ---- a/sql/rpl_write_set_handler.cc -+++ b/sql/rpl_write_set_handler.cc -@@ -23,7 +23,7 @@ - #include "table.h" // TABLE - - #include "my_murmur3.h" // murmur3_32 --#include "xxhash.h" // xxHash -+#include "../extra/lz4/my_xxhash.h" // xxHash - - #include - #include -@@ -61,7 +61,7 @@ template uint64 calc_hash(ulong algorithm, type T) - if(algorithm == HASH_ALGORITHM_MURMUR32) - return (murmur3_32((const uchar*)T, strlen(T), 0)); - else -- return (XXH64((const uchar*)T, strlen(T), 0)); -+ return (MY_XXH64((const uchar*)T, strlen(T), 0)); - } - - /** --- -2.1.0 - - diff --git a/community-mysql.spec b/community-mysql.spec index 10667f2..be20d7a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.14 +Version: 5.7.15 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -120,8 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.7.14-lz4.patch -Patch54: %{pkgnamepatch}-5.7.14-buf-align.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -159,6 +157,7 @@ BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(JSON) BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) @@ -354,6 +353,7 @@ Requires: perl(File::Temp) Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) +Requires: perl(JSON) Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) @@ -381,8 +381,6 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch54 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -670,7 +668,7 @@ cp ../../mysql-test/%{skiplist} . export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ - --mysqld=--binlog-format=mixed \ + --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ --clean-vardir \ %if %{check_testsuite} @@ -945,6 +943,28 @@ fi %endif %changelog +* Tue Sep 06 2016 Norvald H. Ryeng - 5.7.15-1 +- Update to MySQL 5.7.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html +- Remove patches now upstream (buf_block_align, lz4) +- perl(JSON) needed for tests + +* Wed Aug 10 2016 Norvald H. Ryeng - 5.7.14-2 +- Skip rpl tests, unstable in Fedora build environment + +* Tue Aug 09 2016 Norvald H. Ryeng - 5.7.14-1 +- Update to MySQL 5.7.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-14.html +- Remove patches for bugs fixed upstream +- Fix for bug #79378 (buf_block_align) +- Fix for bug #82426 (build failure with system liblz4) +- Further reduce list of tests known to fail on certain platforms +- Set check_testsuite to 0 to make sure the build fails if any tests fail + +* Wed Jul 13 2016 Norvald H. Ryeng - 5.7.13-1 +- Update to MySQL 5.7.13, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-13.html + * Mon Jun 27 2016 Pavel Raiskup - 5.7.12-2 - BR multilib-rpm-config and use it for multilib workarounds diff --git a/sources b/sources index a3b3924..858508c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f90464874ee635ff63c436d1b64fe311 mysql-boost-5.7.14.tar.gz +21112d90f83987e731cb0ea02cd5f517 mysql-boost-5.7.15.tar.gz From bcd0ca993a359ec55bca1dffacfbd84694f653a4 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 7 Sep 2016 18:15:22 +0200 Subject: [PATCH 360/616] Adjust list of problematic tests --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index be20d7a..a31a2bc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -406,6 +406,7 @@ add_test () { touch %{skiplist} # unstable on all archs +add_test main.xa_prepared_binlog_off : unstable test add_test binlog.binlog_xa_prepared_disconnect : unstable test add_test innodb.table_encrypt_kill : unstable test @@ -427,6 +428,7 @@ add_test gis.spatial_testing_functions_within : arm32 gis issue # FTS add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters +add_test perfschema.func_mutex : missing hw on arm32 add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 %endif @@ -948,6 +950,7 @@ fi https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html - Remove patches now upstream (buf_block_align, lz4) - perl(JSON) needed for tests +- Adjust list of problematic tests * Wed Aug 10 2016 Norvald H. Ryeng - 5.7.14-2 - Skip rpl tests, unstable in Fedora build environment From 46c13300ea59a95c0487d48503ed9cc430e9110b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 12 Sep 2016 13:45:33 +0200 Subject: [PATCH 361/616] Adjust list of problematic tests --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index a31a2bc..705530b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -431,6 +431,7 @@ add_test innodb_fts.opt : arm32 FTS issue add_test perfschema.func_mutex : missing hw on arm32 add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 %endif # this test fail in 5.7.14 on ppc64* and aarch64 From a28cc03084624d8890d19321c2cf6064fff7bbcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 16 Sep 2016 21:44:12 +0200 Subject: [PATCH 362/616] Adjust list of problematic tests --- community-mysql.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 705530b..56d01ae 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -428,10 +428,11 @@ add_test gis.spatial_testing_functions_within : arm32 gis issue # FTS add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters -add_test perfschema.func_mutex : missing hw on arm32 -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.func_mutex : missing hw on arm32 +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.mdl_func : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 %endif # this test fail in 5.7.14 on ppc64* and aarch64 From 285fcede9414f1d4f87606cb2965c93728348ae6 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Tue, 18 Oct 2016 11:42:29 +0200 Subject: [PATCH 363/616] Update to MySQL 5.7.16 --- community-mysql.spec | 6 +++++- sources | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 56d01ae..d891119 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.15 +Version: 5.7.16 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -947,6 +947,10 @@ fi %endif %changelog +* Tue Oct 18 2016 Norvald H. Ryeng - 5.7.16-1 +- Update to MySQL 5.7.16, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html + * Tue Sep 06 2016 Norvald H. Ryeng - 5.7.15-1 - Update to MySQL 5.7.15, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html diff --git a/sources b/sources index 858508c..841acf8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -21112d90f83987e731cb0ea02cd5f517 mysql-boost-5.7.15.tar.gz +f7724b816919878760b5c7c9956e6508 mysql-boost-5.7.16.tar.gz From 45a82f12680f8a9dc1931155cbbebbe11f1c4405 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 12 Dec 2016 11:01:57 +0100 Subject: [PATCH 364/616] Update to MySQL 5.7.17. --- community-mysql.spec | 33 ++++++++++++++++++++++++++++++--- sources | 2 +- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index d891119..326a883 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.16 +Version: 5.7.17 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -137,7 +137,14 @@ BuildRequires: libedit-devel BuildRequires: libevent-devel BuildRequires: lz4-devel BuildRequires: mecab-devel +%ifnarch aarch64 %{arm} s390 s390x +BuildRequires: numactl-devel +%endif +%if 0%{?fedora} < 26 BuildRequires: openssl-devel +%else +BuildRequires: compat-openssl10-devel +%endif BuildRequires: perl %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-generators @@ -297,7 +304,8 @@ the MySQL server and some accompanying files and directories. Summary: Files for development of MySQL applications Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -Requires: openssl-devel%{?_isa} +Requires: pkgconfig(openssl) +Requires: zlib-devel %{?with_conflicts:Conflicts: mariadb-devel} %description devel @@ -329,6 +337,10 @@ Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} +Requires: libaio-devel +Requires: lz4-devel +Requires: pkgconfig(openssl) +Requires: zlib-devel %{?with_conflicts:Conflicts: mariadb-embedded-devel} %description embedded-devel @@ -409,6 +421,8 @@ touch %{skiplist} add_test main.xa_prepared_binlog_off : unstable test add_test binlog.binlog_xa_prepared_disconnect : unstable test add_test innodb.table_encrypt_kill : unstable test +add_test perfschema.memory_aggregate_no_a_no_u_no_h : unstable test +add_test main.mysqlpump_basic : unstable test # these tests fail in 5.7.14 on arm32 %ifarch %arm @@ -495,6 +509,9 @@ cmake .. \ -DSYSTEMD_PID_DIR="%{pidfiledir}" \ %endif -DWITH_INNODB_MEMCACHED=ON \ +%ifnarch aarch64 %{arm} s390 s390x + -DWITH_NUMA=ON \ +%endif -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ @@ -503,7 +520,7 @@ cmake .. \ -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_BOOST=../boost/boost_1_59_0 \ + -DWITH_BOOST=../boost \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ @@ -947,6 +964,16 @@ fi %endif %changelog +* Mon Dec 12 2016 Norvald H. Ryeng - 5.7.17-1 +- Update to MySQL 5.7.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html +- Add new plugin: connnection_control.so +- Add MySQL Group Replication: group_replication.so +- Add numactl-devel to buildreq and enable NUMA support (if available) +- Simplify boost path +- Build compat-openssl10 in rawhide for now +- Reqs. in -devel packages was incomplete + * Tue Oct 18 2016 Norvald H. Ryeng - 5.7.16-1 - Update to MySQL 5.7.16, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html diff --git a/sources b/sources index 841acf8..ebe91d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f7724b816919878760b5c7c9956e6508 mysql-boost-5.7.16.tar.gz +SHA512 (mysql-boost-5.7.17.tar.gz) = a1512abeba307fd21687677d2ee4bf20ced373312824de034e9b340d97e67eb4fcc5caa4ad7d9f58d6c0ddf57f6f6c0b0978e7b01c46f397ac661da843e3dfa6 From f71cc1e9123e04c633d617e998264d0ab863f4e4 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Thu, 5 Jan 2017 09:38:18 +0100 Subject: [PATCH 365/616] Fix test that used a hardcoded date (2017-01-01). --- community-mysql-events2-2017.patch | 36 ++++++++++++++++++++++++++++++ community-mysql.spec | 7 +++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 community-mysql-events2-2017.patch diff --git a/community-mysql-events2-2017.patch b/community-mysql-events2-2017.patch new file mode 100644 index 0000000..2dc1187 --- /dev/null +++ b/community-mysql-events2-2017.patch @@ -0,0 +1,36 @@ +commit cdad2b3a25506e7814c9eece71f575ac54249058 +Author: Horst Hunger +Date: Tue Jan 3 09:06:19 2017 +0100 + + Bug#25335897: Modified the year of the date value from 2017 to 2037 in first event. + +diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result +index 66ec00d..31a501d 100644 +--- a/mysql-test/r/events_2.result ++++ b/mysql-test/r/events_2.result +@@ -1,10 +1,10 @@ + drop database if exists events_test; + create database events_test; + use events_test; +-create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; ++create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; + select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; + db name body definer convert_tz(execute_at, 'UTC', 'SYSTEM') on_completion +-events_test e_26 set @a = 5 root@localhost 2017-01-01 00:00:00 DROP ++events_test e_26 set @a = 5 root@localhost 2037-01-01 00:00:00 DROP + drop event e_26; + create event e_26 on schedule at NULL disable do set @a = 5; + ERROR HY000: Incorrect AT value: 'NULL' +diff --git a/mysql-test/t/events_2.test b/mysql-test/t/events_2.test +index 3d60965..d90ec10 100644 +--- a/mysql-test/t/events_2.test ++++ b/mysql-test/t/events_2.test +@@ -13,7 +13,7 @@ use events_test; + # mysql.event intact checking end + # + +-create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; ++create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; + select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; + drop event e_26; + --error ER_WRONG_VALUE diff --git a/community-mysql.spec b/community-mysql.spec index 326a883..c050016 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.17 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,6 +120,7 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-events2-2017.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -393,6 +394,7 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 +%patch53 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -964,6 +966,9 @@ fi %endif %changelog +* Wed Jan 04 2017 Norvald H. Ryeng - 5.7.17-2 +- Fix test that used a hardcoded date (2017-01-01) + * Mon Dec 12 2016 Norvald H. Ryeng - 5.7.17-1 - Update to MySQL 5.7.17, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html From be605dbe150bf8ee000993e8b3da10b14bee1109 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 07:46:10 +0000 Subject: [PATCH 366/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c050016..469253c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.17 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -966,6 +966,9 @@ fi %endif %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Wed Jan 04 2017 Norvald H. Ryeng - 5.7.17-2 - Fix test that used a hardcoded date (2017-01-01) From 050d7d4d25b3ed557edda1640e8cea9971a7d53c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 15 Feb 2017 16:55:40 +0100 Subject: [PATCH 367/616] Fix of broken cross mysql-mariadb dependecies Fix of community-mysql server-client dependecy --- community-mysql.spec | 64 +++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 469253c..daec4aa 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.17 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -173,9 +173,9 @@ BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) %{?with_init_systemd:BuildRequires: systemd} -Requires: bash -Requires: fileutils -Requires: grep + + +Requires: bash fileutils grep Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -217,7 +217,7 @@ Provides: mysql-libs%{?_isa} = %{sameevr} %endif %description libs -The mysql-libs package provides the essential shared libraries for any +The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. @@ -267,7 +267,10 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevr} +# Require any mysql client, but prefer community-mysql client for community-mysql server +Suggests: %{name}%{?_isa} = %{sameevr} +Requires: mysql%{?_isa} + Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -292,6 +295,8 @@ Obsoletes: mysql-bench%{?_isa} Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} +# A dependency mistake was made, to fix it, old version of the utils must be Obsoleted. Affected versions: F24, F25, F26 until their EOL. +Obsoletes: mariadb-server-utils < 3:10.1.21-3 %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -849,7 +854,6 @@ fi %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%{_bindir}/mysqlbinlog %if %{with init_systemd} %{_bindir}/mysqld_pre_systemd %else @@ -966,6 +970,10 @@ fi %endif %changelog +* Wed Feb 15 2017 Michal Schorm - 5.7.17-4 +- Fix of broken cross mysql-mariadb dependecies +- Fix of community-mysql server-client dependecy + * Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild @@ -1182,7 +1190,7 @@ fi - outfile_loaddata resolved on all archs - Solaris files not installed, no need to remove - Simplify multilib install -- Use install's -D option some places +- Use install's -D option some places - Add explicit conflict with mariadb-galera-server * Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 @@ -2113,7 +2121,7 @@ Resolves: #199368 pinging mysql server (#108779) * Mon Oct 27 2003 Kim Ho 3.23.58-4 -- update mysql.init to wait (max 10 seconds) for mysql server to +- update mysql.init to wait (max 10 seconds) for mysql server to start (#58732) * Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 @@ -2130,7 +2138,7 @@ Resolves: #199368 - rebuilt * Wed Jul 02 2003 Patrick Macdonald 3.23.57-1 -- revert to prior version of MySQL due to license incompatibilities +- revert to prior version of MySQL due to license incompatibilities with packages that link against the client. The MySQL folks are looking into the issue. @@ -2141,18 +2149,18 @@ Resolves: #199368 - rebuilt * Thu May 29 2003 Patrick Macdonald 4.0.13-2 -- fix filter-requires-mysql.sh with less restrictive for mysql-bench +- fix filter-requires-mysql.sh with less restrictive for mysql-bench * Wed May 28 2003 Patrick Macdonald 4.0.13-1 - update for MySQL 4.0 - back-level shared libraries available in mysqlclient10 package * Fri May 09 2003 Patrick Macdonald 3.23.56-2 -- add sql-bench package (#90110) +- add sql-bench package (#90110) * Wed Mar 19 2003 Patrick Macdonald 3.23.56-1 - upgrade to 3.23.56 for security fixes -- remove patch for double-free (included in 3.23.56) +- remove patch for double-free (included in 3.23.56) * Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 - enable thread safe client @@ -2210,11 +2218,11 @@ Resolves: #199368 - rebuild * Thu Jul 18 2002 Trond Eivind Glomsrd 3.23.51-3 -- Fix #63543 and #63542 +- Fix #63543 and #63542 * Thu Jul 11 2002 Trond Eivind Glomsrd 3.23.51-2 - Turn off bdb on PPC(#68591) -- Turn off the assembly optimizations, for safety. +- Turn off the assembly optimizations, for safety. * Wed Jun 26 2002 Trond Eivind Glomsrd 3.23.51-1 - Work around annoying auto* thinking this is a crosscompile @@ -2256,12 +2264,12 @@ Resolves: #199368 - 3.23.48 * Thu Jan 17 2002 Trond Eivind Glomsrd 3.23.47-4 -- Use kill, not mysqladmin, to flush logs and shut down. Thus, +- Use kill, not mysqladmin, to flush logs and shut down. Thus, an admin password can be set with no problems. - Remove reload from init script * Wed Jan 16 2002 Trond Eivind Glomsrd 3.23.47-3 -- remove db3-devel from buildrequires, +- remove db3-devel from buildrequires, MySQL has had its own bundled copy since the mid thirties * Sun Jan 6 2002 Trond Eivind Glomsrd 3.23.47-1 @@ -2270,7 +2278,7 @@ Resolves: #199368 * Mon Dec 3 2001 Trond Eivind Glomsrd 3.23.46-1 - 3.23.46 -- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. +- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. Recommended by mysql developers. * Sun Nov 25 2001 Trond Eivind Glomsrd 3.23.45-1 @@ -2292,7 +2300,7 @@ Resolves: #199368 * Tue Aug 14 2001 Trond Eivind Glomsrd 3.23.41-1 - 3.23.41 bugfix release - disable innodb, to avoid the broken updates -- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate +- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate script (#51711) * Sat Jul 21 2001 Trond Eivind Glomsrd @@ -2341,7 +2349,7 @@ Resolves: #199368 - small i18n-fixes to initscript (action needs $) * Tue Jan 30 2001 Trond Eivind Glomsrd -- make it shut down and rotate logs without using mysqladmin +- make it shut down and rotate logs without using mysqladmin (from #24909) * Mon Jan 29 2001 Trond Eivind Glomsrd @@ -2366,14 +2374,14 @@ Resolves: #199368 - as above in logrotate script - changes to the init sequence - put most of the data in /etc/my.cnf instead of hardcoding in the init script -- use /var/run/mysqld/mysqld.pid instead of +- use /var/run/mysqld/mysqld.pid instead of /var/run/mysqld/pid - use standard safe_mysqld - shut down cleaner * Mon Jan 08 2001 Trond Eivind Glomsrd - 3.23.30 -- do an explicit chmod on /var/lib/mysql in post, to avoid +- do an explicit chmod on /var/lib/mysql in post, to avoid any problems with broken permissons. There is a report of rm not changing this on its own (#22989) @@ -2422,7 +2430,7 @@ Resolves: #199368 instead of tempnam(). - revert changes made yesterday, the problem is now isolated - + * Tue Oct 17 2000 Trond Eivind Glomsrd - use the compat C++ compiler FTTB. Argh. - add requirement of ncurses4 (see above) @@ -2439,8 +2447,8 @@ Resolves: #199368 - rename config file to /etc/my.cnf, which is what mysqld wants... doh. (#17432) - include a changed safe_mysqld, so the pid file option - works. -- make mysql dir world readable to they can access the + works. +- make mysql dir world readable to they can access the mysql socket. (#17432) - 3.23.24 @@ -2451,7 +2459,7 @@ Resolves: #199368 - Add "|| :" to condrestart to avoid non-zero exit code * Thu Aug 24 2000 Trond Eivind Glomsrd -- it's mysql.com, not mysql.org and use correct path to +- it's mysql.com, not mysql.org and use correct path to source (#16830) * Wed Aug 16 2000 Trond Eivind Glomsrd @@ -2488,8 +2496,8 @@ Resolves: #199368 - more cleanups in initscript * Thu Jul 13 2000 Trond Eivind Glomsrd -- add a patch to work around compiler bug - (from monty@mysql.com) +- add a patch to work around compiler bug + (from monty@mysql.com) * Wed Jul 12 2000 Trond Eivind Glomsrd - don't build the SQL daemon statically (glibc problems) From d9064d84f1a24d11cb79590501cd6fc5a35ce398 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 7 Mar 2017 10:13:01 +0100 Subject: [PATCH 368/616] Testsuite retry count lifted to 3 tries --- community-mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index daec4aa..79b83e8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -695,7 +695,7 @@ cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ - --mem --parallel=auto --force --retry=0 \ + --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ --clean-vardir \ @@ -973,6 +973,7 @@ fi * Wed Feb 15 2017 Michal Schorm - 5.7.17-4 - Fix of broken cross mysql-mariadb dependecies - Fix of community-mysql server-client dependecy +- Testsuite retry count lifted to 3 tries * Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 8ef28c0a499eaa1c2f5e1843bdec25fa69e36a24 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 3 Apr 2017 10:03:43 +0200 Subject: [PATCH 369/616] Update to MySQL 5.7.18 --- community-mysql-events2-2017.patch | 36 ------------------------------ community-mysql.spec | 13 ++++++----- 2 files changed, 8 insertions(+), 41 deletions(-) delete mode 100644 community-mysql-events2-2017.patch diff --git a/community-mysql-events2-2017.patch b/community-mysql-events2-2017.patch deleted file mode 100644 index 2dc1187..0000000 --- a/community-mysql-events2-2017.patch +++ /dev/null @@ -1,36 +0,0 @@ -commit cdad2b3a25506e7814c9eece71f575ac54249058 -Author: Horst Hunger -Date: Tue Jan 3 09:06:19 2017 +0100 - - Bug#25335897: Modified the year of the date value from 2017 to 2037 in first event. - -diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result -index 66ec00d..31a501d 100644 ---- a/mysql-test/r/events_2.result -+++ b/mysql-test/r/events_2.result -@@ -1,10 +1,10 @@ - drop database if exists events_test; - create database events_test; - use events_test; --create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; -+create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; - select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; - db name body definer convert_tz(execute_at, 'UTC', 'SYSTEM') on_completion --events_test e_26 set @a = 5 root@localhost 2017-01-01 00:00:00 DROP -+events_test e_26 set @a = 5 root@localhost 2037-01-01 00:00:00 DROP - drop event e_26; - create event e_26 on schedule at NULL disable do set @a = 5; - ERROR HY000: Incorrect AT value: 'NULL' -diff --git a/mysql-test/t/events_2.test b/mysql-test/t/events_2.test -index 3d60965..d90ec10 100644 ---- a/mysql-test/t/events_2.test -+++ b/mysql-test/t/events_2.test -@@ -13,7 +13,7 @@ use events_test; - # mysql.event intact checking end - # - --create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; -+create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; - select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; - drop event e_26; - --error ER_WRONG_VALUE diff --git a/community-mysql.spec b/community-mysql.spec index 79b83e8..f68156e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.17 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.7.18 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,7 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-events2-2017.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -399,7 +398,6 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -915,7 +913,6 @@ fi %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql -%{_datadir}/%{pkg_name}/my-*.cnf %{_datadir}/%{pkg_name}/uninstall_rewriter.sql %{daemondir}/%{daemon_name}* @@ -970,6 +967,12 @@ fi %endif %changelog +* Mon Apr 03 2017 Norvald H. Ryeng - 5.7.18-1 +- Update to MySQL 5.7.18, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html +- Remove patch for test fix now upstream +- Sample my-*.cnf is gone + * Wed Feb 15 2017 Michal Schorm - 5.7.17-4 - Fix of broken cross mysql-mariadb dependecies - Fix of community-mysql server-client dependecy From 056252c5ccfc47439b19ce837f7321f6677935ce Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 19 Apr 2017 13:36:07 +0200 Subject: [PATCH 370/616] 'force' option for 'rm' removed in specfile --- community-mysql.spec | 69 ++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f68156e..ef61d9b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.18 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -571,7 +571,7 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf -rm -rf %{buildroot}%{_tmpfilesdir}/mysql.conf +rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf %endif # install SysV init script @@ -594,14 +594,14 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # not needed in rpm package -rm -f %{buildroot}%{_bindir}/mysql_embedded -rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm -f %{buildroot}%{_mandir}/man1/comp_err.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* +rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_datadir}/%{pkg_name}/magic +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server +rm %{buildroot}%{_mandir}/man1/comp_err.1* +rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -632,30 +632,30 @@ cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* -rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif %if %{without embedded} -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.so* -rm -f %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif %if %{without devel} -rm -f %{buildroot}%{_bindir}/mysql_config* -rm -rf %{buildroot}%{_includedir}/mysql -rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm -f %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so -rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* +rm %{buildroot}%{_bindir}/mysql_config* +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc +rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ +rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ +rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif @@ -663,24 +663,24 @@ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults %if %{with config} mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d %else -rm -f %{buildroot}%{_sysconfdir}/my.cnf +#rm %{buildroot}%{_sysconfdir}/my.cnf %endif %if %{without common} -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/charsets +rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ +rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} -rm -rf %{buildroot}%{_datadir}/mysql-test -rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} +rm -r %{buildroot}%{_datadir}/mysql-test +rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -702,7 +702,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} %else --skip-test-list=%{skiplist} %endif - rm -rf var/* $(readlink var) + rm -r var $(readlink var) popd popd %endif @@ -967,6 +967,13 @@ fi %endif %changelog +* Wed Apr 19 2017 Michal Schorm - 5.7.18-2 +- 'force' option for 'rm' removed in specfile +- CVEs fixed by previous commit, #1443407: + CVE-2017-3308 CVE-2017-3309 CVE-2017-3329 CVE-2017-3450 + CVE-2017-3453 CVE-2017-3456 CVE-2017-3461 CVE-2017-3462 + CVE-2017-3463 CVE-2017-3464 CVE-2017-3599 CVE-2017-3600 + * Mon Apr 03 2017 Norvald H. Ryeng - 5.7.18-1 - Update to MySQL 5.7.18, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html From f0193f18a98053a8da08fd0097c7197de6e1e355 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 19 Apr 2017 18:44:16 +0200 Subject: [PATCH 371/616] new-sources mysql-boost-5.7.18.tar.gz --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index ebe91d5..a59e9cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.17.tar.gz) = a1512abeba307fd21687677d2ee4bf20ced373312824de034e9b340d97e67eb4fcc5caa4ad7d9f58d6c0ddf57f6f6c0b0978e7b01c46f397ac661da843e3dfa6 +SHA512 (mysql-boost-5.7.18.tar.gz) = bee9cc0e3cf889f7514ef1b70a6ee38be7b110d91cd0bf687b62b32483445e37a80e6dba348c52d69a90aa68c5eb4bea709fc9f2cea853dfe94aeffb09feb251 From 3a0875126d76fafd274b9941ee941baea52dd220 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 21:04:49 +0000 Subject: [PATCH 372/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ef61d9b..ac6b2a1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.18 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -967,6 +967,9 @@ fi %endif %changelog +* Mon May 15 2017 Fedora Release Engineering - 5.7.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Wed Apr 19 2017 Michal Schorm - 5.7.18-2 - 'force' option for 'rm' removed in specfile - CVEs fixed by previous commit, #1443407: From abf104f1ab37f3ee49171aff291eb4936b6f4563 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 7 Jul 2017 12:14:39 +0200 Subject: [PATCH 373/616] Rebuild due to bug in RPM (RHBZ #1468476) Signed-off-by: Igor Gnatenko --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ac6b2a1..62ae834 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.18 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -967,6 +967,9 @@ fi %endif %changelog +* Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 +- Rebuild due to bug in RPM (RHBZ #1468476) + * Mon May 15 2017 Fedora Release Engineering - 5.7.18-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From da1b03a630a2d0513c1e88e2c8704dfdd9402ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 12 Jul 2017 14:50:15 +0200 Subject: [PATCH 374/616] perl dependency renamed to perl-interpreter --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 62ae834..997782e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -145,7 +145,7 @@ BuildRequires: openssl-devel %else BuildRequires: compat-openssl10-devel %endif -BuildRequires: perl +BuildRequires: perl-interpreter %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-generators %endif From 9eaac6f5d5ea866927a500f2e80d0082bb996fec Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Jul 2017 15:10:47 +0200 Subject: [PATCH 375/616] Move perl-interpreter dependency to the condition so it only is required on Fedora --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 997782e..387f61c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -145,8 +145,8 @@ BuildRequires: openssl-devel %else BuildRequires: compat-openssl10-devel %endif -BuildRequires: perl-interpreter %if 0%{?fedora} > 24 || 0%{?rhel} > 7 +BuildRequires: perl-interpreter BuildRequires: perl-generators %endif BuildRequires: systemtap-sdt-devel From 6fbf15982845a553909618cf6718ee44b8aca093 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 12 Jul 2017 11:06:32 +0200 Subject: [PATCH 376/616] Update to MySQL 5.7.19 --- community-mysql.spec | 16 +++++++++++++--- sources | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 387f61c..3a7d943 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -57,7 +57,11 @@ %global daemon_no_prefix mysqld # Directory for storing pid file +%if 0%{?rhel} == 6 %global pidfiledir %{_localstatedir}/run/%{daemon_name} +%else +%global pidfiledir %{_rundir}/%{daemon_name} +%endif # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -79,8 +83,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.18 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.7.19 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -696,7 +700,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir \ + --report-unstable-tests --clean-vardir \ %if %{check_testsuite} --max-test-fail=0 || : %else @@ -967,6 +971,12 @@ fi %endif %changelog +* Wed Jul 12 2017 Norvald H. Ryeng - 5.7.19-1 +- Update to MySQL 5.7.19, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html +- Use new --report-unstable-tests to handle unstable tests +- Prefer /run over /var/run (#1462688) + * Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 - Rebuild due to bug in RPM (RHBZ #1468476) diff --git a/sources b/sources index a59e9cc..485abd6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.18.tar.gz) = bee9cc0e3cf889f7514ef1b70a6ee38be7b110d91cd0bf687b62b32483445e37a80e6dba348c52d69a90aa68c5eb4bea709fc9f2cea853dfe94aeffb09feb251 +SHA512 (mysql-boost-5.7.19.tar.gz) = 4f51be587c5aeb829152ba856b13b800d4f70e538e6f2f484e73d3fa249b90a6ecb27ffd41a8554ad0ed6192a69045e7949102b8248e722da63bd4ee631e395c From 49eb0b52bd8dc19c833cfd7633d7a5e69eed6139 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 25 Jul 2017 15:08:13 +0200 Subject: [PATCH 377/616] Replication tests in the testsuite enabled, they don't fail anymore Retry count in the testsuite dropped to 0 Changelog entry for the last commit extended: Resolves: #1462688; /run #1406172; random failures of the testsuite #1417880, #1417883, #1417885, #1417887, #1417890, #1417891, #1417893, #1417894, #1417896; replication tests CVE fixes: #1472716 CVE-2017-3633, CVE-2017-3634, CVE-2017-3635, CVE-2017-3641, CVE-2017-3647 CVE-2017-3648, CVE-2017-3649, CVE-2017-3651, CVE-2017-3652, CVE-2017-3653 --- community-mysql.spec | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3a7d943..0f6c541 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -24,7 +24,7 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch -%global skiplist platform-specific-tests.list +%global skiplist platform-specific-tests.list # For some use cases we do not need some parts of the package %bcond_without clibrary @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -697,8 +697,8 @@ cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ - --mem --parallel=auto --force --retry=2 \ - --mysqld=--binlog-format=mixed --skip-rpl \ + --mem --parallel=auto --force --retry=0 \ + --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} @@ -971,11 +971,22 @@ fi %endif %changelog +* Wed Jul 25 2017 Michal Schorm - 5.7.19-2 +- Replication tests in the testsuite enabled, they don't fail anymore +- Retry count in the testsuite dropped to 0 + * Wed Jul 12 2017 Norvald H. Ryeng - 5.7.19-1 - Update to MySQL 5.7.19, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html - Use new --report-unstable-tests to handle unstable tests - Prefer /run over /var/run (#1462688) +- Resolves: #1462688; /run + #1406172; random failures of the testsuite + #1417880, #1417883, #1417885, #1417887, #1417890, #1417891, #1417893, + #1417894, #1417896; replication tests +- CVE fixes: #1472716 + CVE-2017-3633, CVE-2017-3634, CVE-2017-3635, CVE-2017-3641, CVE-2017-3647 + CVE-2017-3648, CVE-2017-3649, CVE-2017-3651, CVE-2017-3652, CVE-2017-3653 * Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 - Rebuild due to bug in RPM (RHBZ #1468476) From f09370fcd596d1713c91210403dc10844fd906fb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 05:16:55 +0000 Subject: [PATCH 378/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0f6c541..cb33d7b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -971,6 +971,9 @@ fi %endif %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Wed Jul 25 2017 Michal Schorm - 5.7.19-2 - Replication tests in the testsuite enabled, they don't fail anymore - Retry count in the testsuite dropped to 0 From d967b83f8a7324c6df47f775162b9f7763cd7031 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 19:03:31 +0000 Subject: [PATCH 379/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index cb33d7b..010746c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -971,6 +971,9 @@ fi %endif %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 6a32704ac7a6e5177cac1bf01c782c0b3489858a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 17:53:42 +0200 Subject: [PATCH 380/616] Allow to use MD5 in FIPS mode Related: #1449689 --- community-mysql-md5_fips.patch | 50 ++++++++++++++++++++++++++++++++++ community-mysql.spec | 8 +++++- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 community-mysql-md5_fips.patch diff --git a/community-mysql-md5_fips.patch b/community-mysql-md5_fips.patch new file mode 100644 index 0000000..4c2ad54 --- /dev/null +++ b/community-mysql-md5_fips.patch @@ -0,0 +1,50 @@ +Added to address RHBZ#1449689 + +Original patch notes from follows: + +... + +In FIPS mode there is no md5 by default, unless declared it is specifically +allowed. MD5 is used for non-crypto related things in MySQL (digests related +to performance schema and table list), so it is ok to use MD5 there. + +However, there is also MD5() SQL function, that should still keep working, +but users should know they should avoid using it in FIPS mode. + +RHBZ: #1351791 + +Upstream bug reports: +http://bugs.mysql.com/bug.php?id=83696 +https://jira.mariadb.org/browse/MDEV-7788 + + +diff -Naurp mysql-5.7.18_original/mysys_ssl/my_md5.cc mysql-5.7.18_patched/mysys_ssl/my_md5.cc +--- mysql-5.7.18_original/mysys_ssl/my_md5.cc 2017-03-18 08:45:14.000000000 +0100 ++++ mysql-5.7.18_patched/mysys_ssl/my_md5.cc 2017-05-12 12:19:38.584814619 +0200 +@@ -38,13 +38,22 @@ static void my_md5_hash(char *digest, co + + #elif defined(HAVE_OPENSSL) + #include ++#include + + static void my_md5_hash(unsigned char* digest, unsigned const char *buf, int len) + { +- MD5_CTX ctx; +- MD5_Init (&ctx); +- MD5_Update (&ctx, buf, len); +- MD5_Final (digest, &ctx); ++ EVP_MD_CTX *ctx; ++ ctx = EVP_MD_CTX_create(); ++ ++ #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW ++ /* we will be using MD5, which is not allowed under FIPS */ ++ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); ++ #endif ++ ++ EVP_DigestInit_ex(ctx, EVP_md5(), NULL); ++ EVP_DigestUpdate(ctx, buf, len); ++ EVP_DigestFinal_ex(ctx, digest, NULL); ++ EVP_MD_CTX_destroy(ctx); + } + + #endif /* HAVE_YASSL */ diff --git a/community-mysql.spec b/community-mysql.spec index 010746c..cc4ca23 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,6 +120,7 @@ Patch3: %{pkgnamepatch}-logrotate.patch Patch4: %{pkgnamepatch}-file-contents.patch Patch5: %{pkgnamepatch}-scripts.patch Patch6: %{pkgnamepatch}-paths.patch +Patch7: %{pkgnamepatch}-md5_fips.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -400,6 +401,7 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %patch51 -p1 %patch52 -p1 %if %{with_shared_lib_major_hack} @@ -971,6 +973,10 @@ fi %endif %changelog +* Fri Aug 04 2017 Honza Horak - 5.7.19-5 +- Allow to use MD5 in FIPS mode + Related: #1449689 + * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 59dd61704a854ec90f39af0d29002aec072e12cc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 18:08:50 +0200 Subject: [PATCH 381/616] Remove snippets from mysql-preparep-db-dir.sh that could have security impact Related: CVE-2017-3312 --- community-mysql.spec | 2 ++ mysql-prepare-db-dir.sh | 77 ++++++++++++++++++++++++++--------------- 2 files changed, 52 insertions(+), 27 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cc4ca23..e2df280 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -976,6 +976,8 @@ fi * Fri Aug 04 2017 Honza Horak - 5.7.19-5 - Allow to use MD5 in FIPS mode Related: #1449689 +- Remove snippets from mysql-preparep-db-dir.sh that could have security impact + Related: CVE-2017-3312 * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 6b1b5f1..46cf636 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -2,6 +2,16 @@ # This script creates the mysql data directory during first service start. # In subsequent starts, it does nothing much. +# +# This script is meant to be run as non-root user either during initscript +# or systemd service execution, before starting the mysqld daemon. +# Running it as root may have some security risks, because it touches files +# that can be symlinks pointing to unexpected locations. +# +# On the other hand, when using non-standard locations for datadir and logfile, +# this script might not be able to create the files and the daemon won't start +# properly. A solution for that is to created the locations for datadir and +# logfile with correct ownership before starting the daemon. source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" @@ -36,36 +46,51 @@ else fi # Set up the errlogfile with appropriate permissions -touch "$errlogfile" -ret=$? -# Provide some advice if the log file cannot be touched -if [ $ret -ne 0 ] ; then - errlogdir=$(dirname $errlogfile) +if [ ! -e "$errlogfile" -a ! -h "$errlogfile" -a x$(dirname "$errlogfile") = "x/var/log" ]; then + case $(basename "$errlogfile") in + mysql*.log|mariadb*.log) install /dev/null -m0640 -o$myuser -g$mygroup "$errlogfile" ;; + *) ;; + esac +else + # Provide some advice if the log file cannot be created by this script + errlogdir=$(dirname "$errlogfile") if ! [ -d "$errlogdir" ] ; then echo "The directory $errlogdir does not exist." - elif [ -f "$errlogfile" ] ; then - echo "The log file $errlogfile cannot be touched, please, fix its permissions." - else - echo "The log file $errlogfile could not be created." + exit 1 + elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then + echo "The log file $errlogfile cannot be written, please, fix its permissions." + echo "The daemon will be run under $myuser:$mygroup" + exit 1 fi - echo "The daemon will be run under $myuser:$mygroup" - exit 1 fi -chown "$myuser:$mygroup" "$errlogfile" -chmod 0640 "$errlogfile" -[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" -# Make the data directory -if [ ! -d "$datadir/mysql" ] ; then - # First, make sure $datadir is there with correct permissions - # (note: if it's not, and we're not root, this'll fail ...) - if [ ! -e "$datadir" -a ! -h "$datadir" ] - then - mkdir -p "$datadir" || exit 1 - fi - chown "$myuser:$mygroup" "$datadir" - chmod 0755 "$datadir" - [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" + + +export LC_ALL=C + +# Returns content of the specified directory +# If listing files fails, fake-file is returned so which means +# we'll behave like there was some data initialized +# Some files or directories are fine to be there, so those are +# explicitly removed from the listing +# @param datadir +list_datadir () +{ + ( ls -1A "$1" 2>/dev/null || echo "fake-file" ) | grep -v \ + -e '^lost+found$' \ + -e '\.err$' \ + -e '^\.bash_history$' +} + +# Checks whether datadir should be initialized +# @param datadir +should_initialize () +{ + test -z "$(list_datadir "$1")" +} + +# Make the data directory if doesn't exist or empty +if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" @@ -82,8 +107,6 @@ if [ ! -d "$datadir/mysql" ] ; then fi # upgrade does not need to be run on a fresh datadir echo "@VERSION@" >"$datadir/mysql_upgrade_info" - # In case we're running as root, make sure files are owned properly - chown -R "$myuser:$mygroup" "$datadir" fi exit 0 From 04822f57a7030e06161bf05c240e1a24ba6f0390 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 18:10:30 +0200 Subject: [PATCH 382/616] Do not run parts of SysV init script as root if possible --- community-mysql.spec | 1 + mysql.init.in | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index e2df280..2b65fe5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -977,6 +977,7 @@ fi - Allow to use MD5 in FIPS mode Related: #1449689 - Remove snippets from mysql-preparep-db-dir.sh that could have security impact + Do not run parts of SysV init script as root if possible Related: CVE-2017-3312 * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 diff --git a/mysql.init.in b/mysql.init.in index e9a34c2..983e50d 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -71,8 +71,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 else - @libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP || return 4 @libexecdir@/mysql-check-socket || return 1 + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway @@ -81,13 +81,13 @@ start(){ # and some users might prefer to configure logging to syslog.) # Note: set --basedir to prevent probes that might trigger SELinux # alarms, per bug #547485 - $exec --datadir="$datadir" --socket="$socketfile" \ - --pid-file="$pidfile" \ - --basedir=@prefix@ --user=$MYUSER >/dev/null 2>&1 & + su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ + --pid-file='$pidfile' \ + --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & safe_pid=$! # Wait until the daemon is up - @libexecdir@/mysql-wait-ready "$safe_pid" + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" ret=$? if [ $ret -eq 0 ]; then From 1209ab5a997512de3eeae177754a9cee4a538095 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 18:16:50 +0200 Subject: [PATCH 383/616] Include mysqld@.service file and do not run start scripts in the unit file as root --- community-mysql-scripts.patch | 3 +- community-mysql.spec | 7 +++-- mysql.service.in | 6 ++-- mysql@.service.in | 58 +++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 mysql@.service.in diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index db6c70b..b1095ff 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt --- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 +++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 -@@ -483,6 +483,34 @@ ELSE() +@@ -483,6 +483,35 @@ ELSE() PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() @@ -10,6 +10,7 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d + mysql.service ++ mysql@.service + mysql-prepare-db-dir + mysql-wait-ready + mysql-wait-stop diff --git a/community-mysql.spec b/community-mysql.spec index 2b65fe5..3da0661 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -106,6 +106,7 @@ Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh Source17: mysql-wait-stop.sh +Source18: mysql@.service.in Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc @@ -468,7 +469,7 @@ add_test innodb.innodb : missing correct value popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} %{SOURCE31} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -576,6 +577,7 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf %endif @@ -979,6 +981,7 @@ fi - Remove snippets from mysql-preparep-db-dir.sh that could have security impact Do not run parts of SysV init script as root if possible Related: CVE-2017-3312 +- Include mysqld@.service file and do not run start scripts in the unit file as root * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild @@ -986,7 +989,7 @@ fi * Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild -* Wed Jul 25 2017 Michal Schorm - 5.7.19-2 +* Tue Jul 25 2017 Michal Schorm - 5.7.19-2 - Replication tests in the testsuite enabled, they don't fail anymore - Retry count in the testsuite dropped to 0 diff --git a/mysql.service.in b/mysql.service.in index 32d22c8..256cac2 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -17,6 +17,9 @@ # [Service] # LimitNOFILE=10000 +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true + # Note: /usr/lib/... is recommended in the .include line though /lib/... # still works. # Don't forget to reload systemd daemon after you change unit configuration: @@ -33,9 +36,6 @@ User=mysql Group=mysql PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid -# Execute pre and post scripts as root -PermissionsStartOnly=true - ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, diff --git a/mysql@.service.in b/mysql@.service.in new file mode 100644 index 0000000..0f2d58a --- /dev/null +++ b/mysql@.service.in @@ -0,0 +1,58 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", +# containing +# .include /usr/lib/systemd/system/@DAEMON_NAME@.service +# ...make your changes here... +# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", +# which doesn't need to include ".include" call and which will be parsed +# after the file @DAEMON_NAME@.service itself is parsed. +# +# For more info about custom unit files, see systemd.unit(5) or +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F + +# For example, if you want to increase mysql's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, so create a file named +# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# [Service] +# LimitNOFILE=10000 + +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true + +# Note: /usr/lib/... is recommended in the .include line though /lib/... +# still works. +# Don't forget to reload systemd daemon after you change unit configuration: +# root> systemctl --system daemon-reload + +[Unit] +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=forking +User=mysql +Group=mysql +PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + +ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid +ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStopPost=@libexecdir@/mysql-wait-stop + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +Restart=on-failure + +RestartPreventExitStatus=1 + +[Install] +WantedBy=multi-user.target From 10feb64c2b20781132bc9bdb0ddfb537b9a54e1a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 4 Aug 2017 08:46:38 +0200 Subject: [PATCH 384/616] Update list of failed tests --- community-mysql.spec | 43 +++++++++++++------------------------------ 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3da0661..f0d9038 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -429,41 +429,24 @@ add_test () { touch %{skiplist} -# unstable on all archs -add_test main.xa_prepared_binlog_off : unstable test -add_test binlog.binlog_xa_prepared_disconnect : unstable test -add_test innodb.table_encrypt_kill : unstable test -add_test perfschema.memory_aggregate_no_a_no_u_no_h : unstable test -add_test main.mysqlpump_basic : unstable test - -# these tests fail in 5.7.14 on arm32 +# these tests fail on arm32 %ifarch %arm -# GIS related issue -add_test innodb_gis.1 : arm32 gis issue -add_test innodb_gis.gis : arm32 gis issue -add_test main.gis-precise : arm32 gis issue -add_test main.gis : arm32 gis issue -add_test gis.gis_bugs_crashes : arm32 gis issue -add_test gis.spatial_operators_intersection : arm32 gis issue -add_test gis.spatial_operators_union : arm32 gis issue -add_test gis.spatial_testing_functions_contains : arm32 gis issue -add_test gis.spatial_testing_functions_crosses : arm32 gis issue -add_test gis.spatial_testing_functions_equals : arm32 gis issue -add_test gis.spatial_testing_functions_touches : arm32 gis issue -add_test gis.spatial_testing_functions_within : arm32 gis issue # FTS -add_test innodb_fts.opt : arm32 FTS issue +add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters -add_test perfschema.func_mutex : missing hw on arm32 -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.mdl_func : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 %endif -# this test fail in 5.7.14 on ppc64* and aarch64 -%ifarch ppc64 ppc64le aarch64 -add_test innodb.innodb : missing correct value +# this test fail on ppc64* +%ifarch ppc64 ppc64le +add_test innodb.innodb : missing correct value +add_test perfschema.memory_aggregate_no_a : incorrect numbers in output +%endif + +# test fails on x86_64 +%ifarch x86_64 +add_test main.mysql_upgrade : Result content mismatch %endif popd From 50c04a9d11ac117ba125ab96076f1ac991a0d21a Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Tue, 22 Aug 2017 09:19:41 +0200 Subject: [PATCH 385/616] Retry must be 2 or higher to get any effect from --report-unstable-tests --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index f0d9038..3475e2b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -684,7 +684,7 @@ cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ - --mem --parallel=auto --force --retry=0 \ + --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ From 741611f3abf0f645fab461d469755549c086462a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 22:51:36 +0200 Subject: [PATCH 386/616] Add bundled(boost) virtual provide --- community-mysql.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3475e2b..f9a9c54 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -183,6 +183,8 @@ BuildRequires: perl(Time::HiRes) Requires: bash fileutils grep Requires: %{name}-common%{?_isa} = %{sameevr} +Provides: bundled(boost) = 1.59 + %if %{with mysql_names} Provides: mysql = %{sameevr} Provides: mysql%{?_isa} = %{sameevr} @@ -958,6 +960,9 @@ fi %endif %changelog +* Mon Aug 28 2017 Honza Horak - 5.7.19-6 +- Add bundled(boost) virtual provide + * Fri Aug 04 2017 Honza Horak - 5.7.19-5 - Allow to use MD5 in FIPS mode Related: #1449689 From 565d028215c1a841baa95c32666fd34bff801647 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 23:07:37 +0200 Subject: [PATCH 387/616] Fix white-space issues and macro expanding in mysql.init.in --- mysql.init.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql.init.in b/mysql.init.in index 983e50d..6ae046c 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -26,7 +26,7 @@ exec="@bindir@/mysqld_safe" prog="@DAEMON_NAME@" -# Set timeouts here so they can be overridden from /etc/sysconfig/@DAEMON_NAME@ +# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ STARTTIMEOUT=300 STOPTIMEOUT=60 @@ -87,8 +87,8 @@ start(){ safe_pid=$! # Wait until the daemon is up - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" - ret=$? + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" + ret=$? if [ $ret -eq 0 ]; then action $"Starting $prog: " /bin/true From def1b525cac4c873fd2c0df971536c8a289bc472 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 17:07:05 +0200 Subject: [PATCH 388/616] Support --defaults-group-suffix option in systemd unit file Related: #1400702 --- community-mysql.spec | 2 ++ mysql-scripts-common.sh | 12 +++++++++++- mysql@.service.in | 9 ++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f9a9c54..52c3144 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -962,6 +962,8 @@ fi %changelog * Mon Aug 28 2017 Honza Horak - 5.7.19-6 - Add bundled(boost) virtual provide +- Support --defaults-group-suffix option in systemd unit file + Related: #1400702 * Fri Aug 04 2017 Honza Horak - 5.7.19-5 - Allow to use MD5 in FIPS mode diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index 9dab30e..58f0437 100644 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -18,13 +18,23 @@ get_mysql_option(){ sections="$1" option_name="$2" default_value="$3" - result=`@bindir@/my_print_defaults $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` + result=`@bindir@/my_print_defaults $my_print_defaults_extra_args $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` if [ -z "$result" ]; then # not found, use default result="${default_value}" fi } +# For the case of running more instances via systemd, scrits that source +# this file can get --default-group-suffix or similar option as the first +# argument. The utility my_print_defaults needs to use it as well, so the +# scripts sourcing this file work with the same options as the daemon. +my_print_defaults_extra_args='' +while echo "$1" | grep -q '^--defaults' ; do + my_print_defaults_extra_args="${my_print_defaults_extra_args} $1" + shift +done + # Defaults here had better match what mysqld_safe will default to # The option values are generally defined on three important places # on the default installation: diff --git a/mysql@.service.in b/mysql@.service.in index 0f2d58a..aad98f7 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -34,15 +34,14 @@ After=network.target Type=forking User=mysql Group=mysql -PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid -ExecStartPre=@libexecdir@/mysql-check-socket -ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I +ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid -ExecStartPost=@libexecdir@/mysql-check-upgrade -ExecStopPost=@libexecdir@/mysql-wait-stop +ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I +ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From cd415c14089fc6602af4e1560c6941479c0cb1eb Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 30 Aug 2017 15:03:45 +0200 Subject: [PATCH 389/616] Use correct package name for the coreutils packge --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 52c3144..f659279 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -180,7 +180,7 @@ BuildRequires: perl(Time::HiRes) -Requires: bash fileutils grep +Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} Provides: bundled(boost) = 1.59 @@ -283,7 +283,7 @@ Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: %{name}-errmsg%{?_isa} = %{sameevr} %{?mecab:Requires: mecab-ipadic} -Requires: sh-utils +Requires: coreutils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} From 1e6afad97f6cc39b349aaac16b3e1f338ee5769e Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 16 Oct 2017 13:11:32 +0200 Subject: [PATCH 390/616] Update to MySQL 5.7.20 CVE fixes: #1503701 CVE-2017-10155 CVE-2017-10227 CVE-2017-10268 CVE-2017-10276 CVE-2017-10279 CVE-2017-10283 CVE-2017-10286 CVE-2017-10294 CVE-2017-10314 CVE-2017-10378 CVE-2017-10379 CVE-2017-10384 Fix owner and perms on log file in post script: #1497694 --- community-mysql.spec | 43 +++++++++++++++++++++++++++++++++---------- sources | 2 +- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f659279..1daa0eb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,8 +83,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.19 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 5.7.20 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -548,7 +548,6 @@ install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} -touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} @@ -723,7 +722,10 @@ if [ $1 = 1 ]; then /sbin/chkconfig --add %{daemon_name} fi %endif -/bin/touch %{logfile} +if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then + install /dev/null -m0640 -omysql -gmysql "%{logfile}" +fi + %preun server %if %{with init_systemd} @@ -852,7 +854,6 @@ fi %{_bindir}/mysqld_safe %endif %{_bindir}/mysqldumpslow -%{_bindir}/mysqltest %{_bindir}/innochecksum %{_bindir}/perror %{_bindir}/replace @@ -884,10 +885,14 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* +%if %{with init_systemd} +%exclude %{_mandir}/man1/mysqld_multi.1* +%exclude %{_mandir}/man1/mysqld_safe.1* +%else %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* +%endif %{_mandir}/man1/mysqlman.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* @@ -929,6 +934,7 @@ fi %if %{with devel} %files devel %{_bindir}/mysql_config* +%exclude %{_bindir}/mysql_config_editor %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %if %{with clibrary} @@ -944,22 +950,39 @@ fi %files embedded-devel %{_libdir}/mysql/libmysqld.so -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* %endif %if %{with test} %files test %{_bindir}/mysql_client_test +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest +%{_bindir}/mysqltest_embedded %{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/mysqltest_embedded.1* %{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/mysql_client_test_embedded.1* %endif %changelog +* Wed Oct 25 2017 Michal Schorm - 5.7.20-1 +- Fix owner and perms on log file in post script + Related: #1497694 + +* Mon Oct 16 2017 Norvald H. Ryeng - 5.7.20-1 +- Update to MySQL 5.7.20, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-20.html +- Move all test binaries to -test package +- Dont ship unneeded man pages on systemd platforms +- Remove mysql_config_editor from -devel package, shipped in client +- CVE fixes: #1503701 + CVE-2017-10155 CVE-2017-10227 CVE-2017-10268 CVE-2017-10276 CVE-2017-10279 + CVE-2017-10283 CVE-2017-10286 CVE-2017-10294 CVE-2017-10314 CVE-2017-10378 + CVE-2017-10379 CVE-2017-10384 + * Mon Aug 28 2017 Honza Horak - 5.7.19-6 - Add bundled(boost) virtual provide - Support --defaults-group-suffix option in systemd unit file diff --git a/sources b/sources index 485abd6..adb2e3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.19.tar.gz) = 4f51be587c5aeb829152ba856b13b800d4f70e538e6f2f484e73d3fa249b90a6ecb27ffd41a8554ad0ed6192a69045e7949102b8248e722da63bd4ee631e395c +SHA512 (mysql-boost-5.7.20.tar.gz) = 4b80e66ee634d965ea54e815b875150beb19c6bd172d94795d4874df51a93925af48d2cd41cdac5dff1f506ad363418793bcecffa35cd50ee6b8b0d389e54729 From 6fd9a625c75469d409cc6c2ef8f2aa57a947f15b Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 16 Oct 2017 13:11:32 +0200 Subject: [PATCH 391/616] In F>27 stick to upstream library version naming --- community-mysql.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1daa0eb..89cec01 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -11,7 +11,13 @@ %global check_testsuite 0 # set to 1 to enable +%if 0%{?fedora} > 27 +# Deprecate patch 70, because MariaDB renamed its library to libmariadb.so +%global with_shared_lib_major_hack 0 +%else %global with_shared_lib_major_hack 1 +%endif + # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -84,7 +90,7 @@ Name: community-mysql Version: 5.7.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -968,6 +974,9 @@ fi %endif %changelog +* Tue Nov 28 2017 Michal Schorm - 5.7.20-2 +- In F>27 stick to upstream library version naming + * Wed Oct 25 2017 Michal Schorm - 5.7.20-1 - Fix owner and perms on log file in post script Related: #1497694 From 41cb3dcd0a90b27c207cbb3f724bbc5bbe228d4f Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 8 Dec 2017 15:55:22 +0100 Subject: [PATCH 392/616] Port for OpenSSL 1.1 Change few SSL calls Fix tests that expect some particular ciphers --- community-mysql-openssl11.patch | 517 ++++++++++++++++++++++++++++++++ community-mysql.spec | 14 +- 2 files changed, 525 insertions(+), 6 deletions(-) create mode 100644 community-mysql-openssl11.patch diff --git a/community-mysql-openssl11.patch b/community-mysql-openssl11.patch new file mode 100644 index 0000000..a3c29b7 --- /dev/null +++ b/community-mysql-openssl11.patch @@ -0,0 +1,517 @@ +Add OpenSSL 1.1 compatibility + +Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature. + +Upstream tracker: https://bugs.mysql.com/bug.php?id=83814 + +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100 +@@ -7,7 +7,7 @@ + connection default; + CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd'; + +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';" + + DROP USER u_20693153@localhost; +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100 +@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c + --file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem + + --echo # Ensure that server is ssl enabled +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + #----------------------------------------------------------------------------- + +@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden + + # Using SSL certificates + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + # Using RSA key pair + --echo # Should be able to connect to server using RSA key pair. +@@ -351,7 +351,7 @@ show variables like 'sha256%'; + + --echo # 6.3 : SSL connection + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + + +@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden + + # Using SSL certificates + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + # Using RSA key pair + --echo # Should be able to connect to server using RSA key pair. +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100 +@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is + + --echo # Try to establish SSL connection : This must succeed. + connect (ssl_root_1,localhost,root,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + SHOW VARIABLES LIKE 'have_ssl'; + +@@ -68,7 +68,7 @@ connection default; + disconnect ssl_root_1; + + --echo # Connect using mysql client : This must succeed. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" + + +@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is + --source include/search_pattern_in_file.inc + + --echo # Try creating SSL connection +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" + + +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100 +@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA; + let $tls_default= TLSv1.1; + let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); + if ($openssl == 'Rsa_public_key'){ +- let $cipher_default= DHE-RSA-AES128-GCM-SHA256; ++ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256; + let $tls_default= TLSv1.2; + } + --echo #T1: Default TLS connection +diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test +--- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100 ++++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100 +@@ -14,15 +14,15 @@ + + --echo # verify that mysql default connect with ssl channel when using TCP/IP + --echo # connection +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" + + --echo # verify that mysql --ssl=0 connect with unencrypted channel +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED + + --echo # verify that mysql --ssl=1 connect with ssl channel +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED + + CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test +--- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100 ++++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100 +@@ -19,17 +19,17 @@ insert into t1 values (5); + let $cipher_val= "DHE-RSA-AES256-SHA"; + let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); + if ($shavars == 'Rsa_public_key'){ +- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256"; ++ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256"; + } + + grant select on test.* to ssl_user1@localhost require SSL; +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA" +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx" + flush privileges; + +@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS + + connection con1; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -51,7 +51,7 @@ delete from t1; + + connection con2; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -59,7 +59,7 @@ delete from t1; + + connection con3; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -67,7 +67,7 @@ delete from t1; + + connection con4; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -142,7 +142,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + --echo End of 5.0 tests + +@@ -269,7 +269,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test +--- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100 ++++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100 +@@ -2,7 +2,7 @@ + --source include/have_ssl.inc + + connect (ssl_con,localhost,root,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100 +@@ -4,7 +4,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100 +@@ -10,7 +10,7 @@ + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1 + + --echo # try to connect with correct '--ssl-ca' path : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # +@@ -22,15 +22,15 @@ + + --echo # try to connect with '--ssl-ca' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-key' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-cert' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100 +@@ -17,7 +17,7 @@ + connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100 +@@ -32,9 +32,11 @@ if (!$crllen) + --echo # try to connect with '--ssl-crl' option using tilde home directoy + --echo # path substitution : should connect + --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-crlpath' option using tilde home directoy + --echo # path substitution : should connect + --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'" +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100 +@@ -16,7 +16,7 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check ssl expiration +@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + connection default; +diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc +--- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100 ++++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100 +@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char * + enum my_aes_opmode mode, const unsigned char *iv, + bool padding) + { +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + const EVP_CIPHER *cipher= aes_evp_type(mode); + int u_len, f_len; + /* The real key to be used for encryption */ +@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char * + if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) + return MY_AES_BAD_DATA; + +- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv)) ++ if (!EVP_EncryptInit(ctx, cipher, rkey, iv)) + goto aes_error; /* Error */ +- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) ++ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) + goto aes_error; /* Error */ +- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length)) ++ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length)) + goto aes_error; /* Error */ + +- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len)) ++ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len)) + goto aes_error; /* Error */ + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return u_len + f_len; + + aes_error: + /* need to explicitly clean up the error if we want to ignore it */ + ERR_clear_error(); +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return MY_AES_BAD_DATA; + } + +@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char * + bool padding) + { + +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + const EVP_CIPHER *cipher= aes_evp_type(mode); + int u_len, f_len; + +@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char * + if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) + return MY_AES_BAD_DATA; + +- EVP_CIPHER_CTX_init(&ctx); +- +- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv)) ++ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv)) + goto aes_error; /* Error */ +- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) ++ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) + goto aes_error; /* Error */ +- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length)) ++ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length)) + goto aes_error; /* Error */ +- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len)) ++ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len)) + goto aes_error; /* Error */ + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return u_len + f_len; + + aes_error: + /* need to explicitly clean up the error if we want to ignore it */ + ERR_clear_error(); +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return MY_AES_BAD_DATA; + } + +diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c +--- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100 ++++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100 +@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= " + mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== + -----END DH PARAMETERS----- + */ +-static unsigned char dh2048_p[]= ++static unsigned char dhp_2048[]= + { + 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, + 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, +@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]= + }; + + +-static unsigned char dh2048_g[]={ ++static unsigned char dhg_2048[]={ + 0x05, + }; + + static DH *get_dh2048(void) + { +- DH *dh; +- if ((dh=DH_new())) ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ if (dh != NULL) + { +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if (! dh->p || ! dh->g) ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); + dh=0; + } + } +diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc +--- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100 ++++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100 +@@ -3376,7 +3376,7 @@ static int init_ssl() + { + #ifdef HAVE_OPENSSL + #ifndef HAVE_YASSL +- CRYPTO_malloc_init(); ++ OPENSSL_malloc_init(); + #endif + ssl_start(); + #ifndef EMBEDDED_LIBRARY +diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c +--- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100 ++++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100 +@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v + goto error; + } + +- cn= (char *) ASN1_STRING_data(cn_asn1); ++ cn= (char *) ASN1_STRING_get0_data(cn_asn1); + + // There should not be any NULL embedded in the CN + if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn)) +diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c +--- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100 ++++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100 +@@ -86,7 +86,7 @@ static my_bool ssl_initialized + mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== + -----END DH PARAMETERS----- + */ +-static unsigned char dh2048_p[]= ++static unsigned char dhp_2048[]= + { + 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, + 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, +@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]= + 0x00, 0x05, 0x85, 0xB7, + }; + +-static unsigned char dh2048_g[]={ ++static unsigned char dhg_2048[]={ + 0x05, + }; + + static DH *get_dh2048(void) + { +- DH *dh; +- if ((dh=DH_new())) ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh != NULL) + { +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if (! dh->p || ! dh->g) ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); + dh=0; + } + } +@@ -419,9 +424,7 @@ void ssl_start() + { + ssl_initialized= TRUE; + +- SSL_library_init(); +- OpenSSL_add_all_algorithms(); +- SSL_load_error_strings(); ++ OPENSSL_init_ssl(0, NULL); + + #ifndef HAVE_YASSL + init_ssl_locks(); diff --git a/community-mysql.spec b/community-mysql.spec index 89cec01..064747c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.20 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -133,6 +133,7 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch +Patch71: %{pkgnamepatch}-openssl11.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -152,11 +153,7 @@ BuildRequires: mecab-devel %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif -%if 0%{?fedora} < 26 BuildRequires: openssl-devel -%else -BuildRequires: compat-openssl10-devel -%endif %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators @@ -416,6 +413,7 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +%patch71 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -474,7 +472,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %endif # build out of source -mkdir build && pushd build +mkdir -p build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -974,6 +972,10 @@ fi %endif %changelog +* Sat Dec 09 2017 Honza Horak - 5.7.20-3 +- Port for OpenSSL 1.1 + Fix tests that expect some particular ciphers + * Tue Nov 28 2017 Michal Schorm - 5.7.20-2 - In F>27 stick to upstream library version naming From 1f24bc90d14b787cb5c9e4d22c2bcc5977b61de8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Jan 2018 14:52:58 +0100 Subject: [PATCH 393/616] Provide subackage with a client static library needed by mysql-connector-odbc package Remove Group tag as it shouldn't be used anymore --- community-mysql.spec | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 064747c..6b8017b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,9 +90,8 @@ Name: community-mysql Version: 5.7.20 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries -Group: Applications/Databases URL: http://www.mysql.com # Exceptions allow client libraries to be linked with most open source SW, @@ -219,7 +218,6 @@ contains the standard MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MySQL clients -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} @@ -237,7 +235,6 @@ MySQL server. %if %{with config} %package config Summary: The config files required by server and client -Group: Applications/Databases %description config The package provides the config file my.cnf and my.cnf.d directory used by any @@ -250,7 +247,6 @@ package itself. %if %{with common} %package common Summary: The shared files required for MySQL server and client -Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf %description common @@ -263,7 +259,6 @@ MySQL package. %if %{with errmsg} %package errmsg Summary: The error messages files required by server and embedded -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg @@ -275,7 +270,6 @@ MySQL packages. %package server Summary: The MySQL server and related files -Group: Applications/Databases # Require any mysql client, but prefer community-mysql client for community-mysql server Suggests: %{name}%{?_isa} = %{sameevr} @@ -318,7 +312,6 @@ the MySQL server and some accompanying files and directories. %if %{with devel} %package devel Summary: Files for development of MySQL applications -Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: pkgconfig(openssl) Requires: zlib-devel @@ -334,7 +327,6 @@ developing MySQL client applications. %if %{with embedded} %package embedded Summary: MySQL as an embeddable library -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -350,7 +342,6 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library -Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} Requires: libaio-devel @@ -368,7 +359,6 @@ the embedded version of the MySQL server. %if %{with test} %package test Summary: The test suite distributed with MySQL -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} @@ -399,6 +389,17 @@ the MySQL sources. %endif +%package static +Summary: Static mysql client library +Suggests: %{name}-devel%{?_isa} = %{sameevr} + +%description static +MySQL is a multi-user, multi-threaded SQL database server. +This package contains the static client library "libmysqlclient.a", that is +required by mysql-connector-odbc package. This package should not be required +by any other package than mysql-connector-odbc. + + %prep %setup -q -n mysql-%{version} %patch1 -p1 @@ -589,9 +590,12 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process +# Do not pack those libraries +rm %{buildroot}%{_libdir}/mysql/libmysqld.a +rm %{buildroot}%{_libdir}/mysql/libmysqlservices.a + # not needed in rpm package rm %{buildroot}%{_bindir}/mysql_embedded -rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -795,6 +799,9 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif +%files static +%{_libdir}/mysql/libmysqlclient.a + %if %{with config} %files config # although the default my.cnf contains only server settings, we put it in the @@ -972,6 +979,11 @@ fi %endif %changelog +* Tue Jan 02 2018 Michal Schorm - 5.7.20-4 +- Provide subackage with a client static library + Needed by mysql-connector-odbc package +- Remove Group tag as it shouldn't be used anymore + * Sat Dec 09 2017 Honza Horak - 5.7.20-3 - Port for OpenSSL 1.1 Fix tests that expect some particular ciphers From 1bc2fd122cb7aabdb15de4aa94299406aa1751ce Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Jan 2018 15:34:57 +0100 Subject: [PATCH 394/616] Exclude failing test --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 6b8017b..07d3713 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -436,6 +436,8 @@ add_test () { touch %{skiplist} +add_test auth_sec.openssl_cert_validity : 2018 new year issue + # these tests fail on arm32 %ifarch %arm # FTS From f0b62302d1b93ecc6ee97bf1065316419e0e7558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 20 Jan 2018 23:06:32 +0100 Subject: [PATCH 395/616] Rebuilt for switch to libxcrypt --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 07d3713..110d990 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.20 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -981,6 +981,9 @@ fi %endif %changelog +* Sat Jan 20 2018 Björn Esser - 5.7.20-5 +- Rebuilt for switch to libxcrypt + * Tue Jan 02 2018 Michal Schorm - 5.7.20-4 - Provide subackage with a client static library Needed by mysql-connector-odbc package From fe62adf6191ca9c0ee9baba7706de7f4a14b8aba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 21 Jan 2018 04:21:00 +0100 Subject: [PATCH 396/616] Update to MySQL 5.7.21 --- community-mysql-tirpc.patch | 88 +++++++++++++++++++++++++++++++++++++ community-mysql.spec | 18 +++++++- sources | 2 +- 3 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 community-mysql-tirpc.patch diff --git a/community-mysql-tirpc.patch b/community-mysql-tirpc.patch new file mode 100644 index 0000000..1ddff40 --- /dev/null +++ b/community-mysql-tirpc.patch @@ -0,0 +1,88 @@ +diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake +index b9c5895..f4569cd 100644 +--- a/rapid/plugin/group_replication/rpcgen.cmake ++++ b/rapid/plugin/group_replication/rpcgen.cmake +@@ -87,6 +87,12 @@ FOREACH(X xcom_vp) + ${XCOM_BASEDIR}/xcom_proto_enum.h + ${XCOM_BASEDIR}/xcom_limits.h) + ELSE() ++ FIND_PROGRAM(RPCGEN_EXECUTABLE rpcgen DOC "path to the rpcgen executable") ++ MARK_AS_ADVANCED(RPCGEN_EXECUTABLE) ++ IF(NOT RPCGEN_EXECUTABLE) ++ MESSAGE(FATAL_ERROR "Could not find rpcgen") ++ ENDIF() ++ + # on unix systems try to generate them if needed + ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} + COMMAND ${CMAKE_COMMAND} -E copy_if_different +@@ -103,10 +109,10 @@ FOREACH(X xcom_vp) + + # generate the sources + COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_h} +- COMMAND rpcgen -C -h -o ++ COMMAND ${RPCGEN_EXECUTABLE} -C -h -o + ${x_gen_h} ${x_tmp_x_canonical_name} + COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_c} +- COMMAND rpcgen -C -c -o ++ COMMAND ${RPCGEN_EXECUTABLE} -C -c -o + ${x_gen_c} ${x_tmp_x_canonical_name} + WORKING_DIRECTORY ${gen_xdr_dir} + DEPENDS + +diff --git a/rapid/plugin/group_replication/CMakeLists.txt b/rapid/plugin/group_replication/CMakeLists.txt +index 5bcaa8b..bce9de4 100644 +--- a/rapid/plugin/group_replication/CMakeLists.txt ++++ b/rapid/plugin/group_replication/CMakeLists.txt +@@ -218,6 +218,7 @@ MYSQL_ADD_PLUGIN(group_replication + LINK_LIBRARIES + ${LZ4_LIBRARY} + ${SSL_LIBRARIES} ++ ${TIRPC_LIBRARY} + MODULE_ONLY MODULE_OUTPUT_NAME "group_replication") + + ### INSTALLATION ### +diff --git a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c +index 245dda0..210e124 100644 +--- a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c ++++ b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c +@@ -417,7 +417,11 @@ x_putbytes (XDR *xdrs, const char *bp MY_ATTRIBUTE((unused)), u_int len) + + + static u_int ++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(HAVE_TIRPC) ++x_getpostn(XDR *xdrs) ++#else + x_getpostn (const XDR *xdrs) ++#endif + { + #ifdef OLD_XDR + return (u_int)(xdrs->x_handy); +diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake +index f4569cd..cccb1c3 100644 +--- a/rapid/plugin/group_replication/rpcgen.cmake ++++ b/rapid/plugin/group_replication/rpcgen.cmake +@@ -93,6 +93,24 @@ FOREACH(X xcom_vp) + MESSAGE(FATAL_ERROR "Could not find rpcgen") + ENDIF() + ++ # First look for tirpc, then the old Sun RPC ++ FIND_PATH(RPC_INCLUDE_DIR ++ NAMES rpc/rpc.h ++ HINTS /usr/include/tirpc ++ NO_DEFAULT_PATH ++ ) ++ FIND_PATH(RPC_INCLUDE_DIR NAMES rpc/rpc.h) ++ IF(NOT RPC_INCLUDE_DIR) ++ MESSAGE(FATAL_ERROR ++ "Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc") ++ ENDIF() ++ MESSAGE(STATUS "RPC_INCLUDE_DIR ${RPC_INCLUDE_DIR}") ++ IF(RPC_INCLUDE_DIR STREQUAL "/usr/include/tirpc") ++ INCLUDE_DIRECTORIES(SYSTEM /usr/include/tirpc) ++ ADD_DEFINITIONS(-DHAVE_TIRPC) ++ SET(TIRPC_LIBRARY tirpc) ++ ENDIF() ++ + # on unix systems try to generate them if needed + ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} + COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/community-mysql.spec b/community-mysql.spec index 110d990..11df69e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -89,8 +89,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.20 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 5.7.21 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -133,6 +133,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch +Patch72: %{pkgnamepatch}-tirpc.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -157,6 +158,10 @@ BuildRequires: openssl-devel BuildRequires: perl-interpreter BuildRequires: perl-generators %endif +%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +BuildRequires: rpcgen +BuildRequires: libtirpc-devel +%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -415,6 +420,7 @@ by any other package than mysql-connector-odbc. %patch70 -p1 %endif %patch71 -p1 +%patch72 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -981,6 +987,14 @@ fi %endif %changelog +* Wed Jan 17 2018 Norvald H. Ryeng - 5.7.21-1 +- Update to MySQL 5.7.21, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html +- Add rpcgen to buildrep +- Add support for libtirpc +- Fix for various CVEs listed on + http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html + * Sat Jan 20 2018 Björn Esser - 5.7.20-5 - Rebuilt for switch to libxcrypt diff --git a/sources b/sources index adb2e3a..0a7bb27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.20.tar.gz) = 4b80e66ee634d965ea54e815b875150beb19c6bd172d94795d4874df51a93925af48d2cd41cdac5dff1f506ad363418793bcecffa35cd50ee6b8b0d389e54729 +SHA512 (mysql-boost-5.7.21.tar.gz) = 29a1bfa1f5d5e354b66ca8c9fdaf7ee88de3d57bee3c6368861b46ab6d992affb7604577c06f241df542b96ab088c055473fd76584376dd149956ae1dd8726f3 From f451daacf57c0ec21803b770a0d8960ef9d98b62 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 21 Jan 2018 04:23:35 +0100 Subject: [PATCH 397/616] Changelog fix --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 11df69e..91177ca 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -987,7 +987,7 @@ fi %endif %changelog -* Wed Jan 17 2018 Norvald H. Ryeng - 5.7.21-1 +* Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html - Add rpcgen to buildrep From ce7ba8251e4e6b919728b96128e13c74c49d5cc6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 22 Jan 2018 02:13:00 +0100 Subject: [PATCH 398/616] Fix for libxcrypt - do not assume "crypt()" function is provided by glibc; #1536881 --- community-mysql-libxcrypt.patch | 38 +++++++++++++++++++++++++++++++++ community-mysql.spec | 4 ++++ 2 files changed, 42 insertions(+) create mode 100644 community-mysql-libxcrypt.patch diff --git a/community-mysql-libxcrypt.patch b/community-mysql-libxcrypt.patch new file mode 100644 index 0000000..177f9bc --- /dev/null +++ b/community-mysql-libxcrypt.patch @@ -0,0 +1,38 @@ +Do not assume, that "crypt" function is provided by glibc; #1536881 + +--- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100 ++++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100 +@@ -49,6 +49,9 @@ + #include + #include /* Recommended by debian */ + #include ++#if defined(HAVE_CRYPT_H) ++#include ++#endif + + #ifdef HAVE_SYS_SOCKET_H + #include + + +--- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100 ++++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100 +@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA + CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H) + CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit + CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached ++CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H) + + # For libevent + CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL) + + +--- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100 ++++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100 +@@ -62,6 +62,7 @@ + #cmakedefine HAVE_SYS_UN_H 1 + #cmakedefine HAVE_VIS_H 1 + #cmakedefine HAVE_SASL_SASL_H 1 ++#cmakedefine HAVE_CRYPT_H 1 + + /* Libevent */ + #cmakedefine HAVE_DEVPOLL 1 diff --git a/community-mysql.spec b/community-mysql.spec index 91177ca..8481c8e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -134,6 +134,7 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch Patch72: %{pkgnamepatch}-tirpc.patch +Patch73: %{pkgnamepatch}-libxcrypt.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -421,6 +422,7 @@ by any other package than mysql-connector-odbc. %endif %patch71 -p1 %patch72 -p1 +%patch73 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -994,6 +996,8 @@ fi - Add support for libtirpc - Fix for various CVEs listed on http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html +- Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc + Resolves: #1536881 * Sat Jan 20 2018 Björn Esser - 5.7.20-5 - Rebuilt for switch to libxcrypt From 6217a8e021bddd2f0e6da185c2d807c51b0254ed Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 25 Jan 2018 12:36:26 +0100 Subject: [PATCH 399/616] Fix obsoletes using isa macro; #1537210 --- community-mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8481c8e..cb40ad4 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -300,7 +300,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} Obsoletes: mysql-bench < 5.7.8 -Obsoletes: mysql-bench%{?_isa} +Obsoletes: mysql-bench %endif Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} @@ -998,6 +998,8 @@ fi http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html - Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc Resolves: #1536881 +- Fix obsoletes using isa macro + Resolves: #1537210 * Sat Jan 20 2018 Björn Esser - 5.7.20-5 - Rebuilt for switch to libxcrypt From 66a9f0c729db489975da0b9c916318c0d19fa957 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2018 10:42:08 +0100 Subject: [PATCH 400/616] Remove one "Obsoletes: mysql-bench" --- community-mysql.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cb40ad4..eea06c9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -300,7 +300,6 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} Obsoletes: mysql-bench < 5.7.8 -Obsoletes: mysql-bench %endif Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} @@ -998,7 +997,7 @@ fi http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html - Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc Resolves: #1536881 -- Fix obsoletes using isa macro +- Fix obsoletes using isa macro, remove the line entirely Resolves: #1537210 * Sat Jan 20 2018 Björn Esser - 5.7.20-5 From b4cedcb8c5ed8d701d160a4cb6d11dbe29ddce3c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2018 12:29:31 +0100 Subject: [PATCH 401/616] Fix ldconfig scriptlets --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index eea06c9..2b8da49 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -723,11 +723,13 @@ popd -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with clibrary} -%post libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post libs %endif %if %{with embedded} -%post embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post embedded %endif %post server @@ -756,11 +758,13 @@ fi %endif %if %{with clibrary} -%postun libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun libs %endif %if %{with embedded} -%postun embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun embedded %endif %postun server From 6db585e11b50773b17c31a2672d8fb2dc1c68b1d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 05:29:10 +0000 Subject: [PATCH 402/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2b8da49..b340547 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -992,6 +992,9 @@ fi %endif %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html From 93c629b9e68f7b0aba47cdc1fc8de795b3f8a4d3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 17 Feb 2018 14:05:48 +0100 Subject: [PATCH 403/616] Remove 'static' library subpackage. mysql-connector-odbc now supports dynamic linking again. --- community-mysql.spec | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index b340547..ad89cdf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -394,17 +394,6 @@ the MySQL sources. %endif -%package static -Summary: Static mysql client library -Suggests: %{name}-devel%{?_isa} = %{sameevr} - -%description static -MySQL is a multi-user, multi-threaded SQL database server. -This package contains the static client library "libmysqlclient.a", that is -required by mysql-connector-odbc package. This package should not be required -by any other package than mysql-connector-odbc. - - %prep %setup -q -n mysql-%{version} %patch1 -p1 @@ -599,12 +588,9 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process -# Do not pack those libraries -rm %{buildroot}%{_libdir}/mysql/libmysqld.a -rm %{buildroot}%{_libdir}/mysql/libmysqlservices.a - # not needed in rpm package rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -812,9 +798,6 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif -%files static -%{_libdir}/mysql/libmysqlclient.a - %if %{with config} %files config # although the default my.cnf contains only server settings, we put it in the @@ -994,6 +977,7 @@ fi %changelog * Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +- Removed 'static' library subpackage * Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at From 18545727fc6aa89395be26d3411af8eb1ef087c1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 18 Feb 2018 20:41:00 +0100 Subject: [PATCH 404/616] Add a compiler to buildroot; https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ad89cdf..3f4e694 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -145,7 +145,7 @@ Patch170: boost-1.59.0-log.patch Patch180: boost-1.59-python-make_setter.patch Patch181: boost-1.59-test-fenv.patch -BuildRequires: cmake +BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel From 4a7645fc141e085fca8afb132ba40d1d2b690de7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 19 Feb 2018 02:54:01 +0100 Subject: [PATCH 405/616] Move my_print_defaults binary to the server package to resolve conflict with mariadb --- community-mysql.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3f4e694..e33d46f 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -776,7 +776,6 @@ fi %{_bindir}/mysqlpump %{_bindir}/mysqlshow %{_bindir}/mysqlslap -%{_bindir}/my_print_defaults %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* @@ -789,7 +788,6 @@ fi %{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/my_print_defaults.1* %endif %if %{with clibrary} @@ -849,6 +847,7 @@ fi %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack +%{_bindir}/my_print_defaults %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_ssl_rsa_setup @@ -886,6 +885,7 @@ fi %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* @@ -975,6 +975,9 @@ fi %endif %changelog +* Mon Feb 19 2018 Michal Schorm - 5.7.21-3 +- Move my_print_defaults binary to the server package to resolve conflict with mariadb + * Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Removed 'static' library subpackage From 82bf904624d19e84f4ba93af589e093e158174c5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 20 Feb 2018 10:14:49 +0100 Subject: [PATCH 406/616] Added failing tests; #1546978 --- community-mysql.spec | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index e33d46f..4e2bcb8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -447,6 +447,23 @@ add_test perfschema.setup_objects : missing hw on arm32 %ifarch ppc64 ppc64le add_test innodb.innodb : missing correct value add_test perfschema.memory_aggregate_no_a : incorrect numbers in output +add_test innodb_zip.wl6469 : +add_test json.json_functions_innodb : +add_test main.ps : +add_test main.select_all : +add_test main.select_all_bka : +add_test main.select_all_bka_nixbnl : +add_test main.select_icp_mrr : +add_test main.select_icp_mrr_bka : +add_test main.select_icp_mrr_bka_nixbnl : +add_test main.select_none : +add_test main.select_none_bka : +add_test main.select_none_bka_nixbnl : +add_test main.sp : +add_test main.type_float : +add_test main.type_newdecimal : +add_test main.type_ranges : +add_test test_service_sql_api.test_sql_all_col_types : %endif # test fails on x86_64 From 61691eaf86d8e43768f986840b3da150a1237dc0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 25 Feb 2018 12:05:36 +0100 Subject: [PATCH 407/616] Bump release for rebuild --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4e2bcb8..8f9b6a8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -992,6 +992,10 @@ fi %endif %changelog +* Sun Feb 25 2018 Michal Schorm - 5.7.21-4 +- Rebuilt for ldconfig_post and ldconfig_postun bug + Related: #1548331 + * Mon Feb 19 2018 Michal Schorm - 5.7.21-3 - Move my_print_defaults binary to the server package to resolve conflict with mariadb From 3d65c27591912bff01f54253b1caf7e1224de26f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 26 Feb 2018 16:36:24 +0100 Subject: [PATCH 408/616] Revert "Fix ldconfig scriptlets" This reverts commit d70e481fb94ffc9f282a5a11e69007cbe77af013. This change is not applicable for packages shipping config files for ld.so.conf.d --- community-mysql.spec | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8f9b6a8..c88f831 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -726,13 +726,11 @@ popd -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_post libs +%post libs -p /sbin/ldconfig %endif %if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_post embedded +%post embedded -p /sbin/ldconfig %endif %post server @@ -761,13 +759,11 @@ fi %endif %if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_postun libs +%postun libs -p /sbin/ldconfig %endif %if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_postun embedded +%postun embedded -p /sbin/ldconfig %endif %postun server @@ -992,7 +988,7 @@ fi %endif %changelog -* Sun Feb 25 2018 Michal Schorm - 5.7.21-4 +* Sun Feb 25 2018 Michal Schorm - 5.7.21-5 - Rebuilt for ldconfig_post and ldconfig_postun bug Related: #1548331 From 757c2dd82c34182b648cad2b5fd9df017cffd2d6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 02:05:20 +0100 Subject: [PATCH 409/616] Add F>=28 condition for libxcrypt patch --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index c88f831..0548283 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -134,7 +134,9 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch Patch72: %{pkgnamepatch}-tirpc.patch +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 Patch73: %{pkgnamepatch}-libxcrypt.patch +%endif # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -410,7 +412,9 @@ the MySQL sources. %endif %patch71 -p1 %patch72 -p1 +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %patch73 -p1 +%endif # Patch Boost pushd boost/boost_1_59_0 From 5289356ae1921485d3924f30902f9927df5f1087 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:19:05 +0100 Subject: [PATCH 410/616] Add F>=27 condition for openssl 1.1 patch --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 0548283..4b204ff 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -132,7 +132,9 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch +%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 Patch71: %{pkgnamepatch}-openssl11.patch +%endif Patch72: %{pkgnamepatch}-tirpc.patch %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 Patch73: %{pkgnamepatch}-libxcrypt.patch @@ -410,7 +412,9 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %patch71 -p1 +%endif %patch72 -p1 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %patch73 -p1 From 7119c2935ed0f8dcab5fc6f389a2127866d14b97 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:22:03 +0100 Subject: [PATCH 411/616] Merge branch 'f27' --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4b204ff..a296128 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -734,11 +734,13 @@ popd -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with clibrary} -%post libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post libs %endif %if %{with embedded} -%post embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post embedded %endif %post server @@ -767,11 +769,13 @@ fi %endif %if %{with clibrary} -%postun libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun libs %endif %if %{with embedded} -%postun embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun embedded %endif %postun server From abfd0adbc9b2fe08a1d6a087a62b263a18b4508a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:33:43 +0100 Subject: [PATCH 412/616] Add F>=28 condition for tirpc patch --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a296128..1b7124d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -135,8 +135,8 @@ Patch70: %{pkgnamepatch}-5.7.9-major.patch %if 0%{?fedora} >= 27 || 0%{?rhel} > 7 Patch71: %{pkgnamepatch}-openssl11.patch %endif -Patch72: %{pkgnamepatch}-tirpc.patch %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +Patch72: %{pkgnamepatch}-tirpc.patch Patch73: %{pkgnamepatch}-libxcrypt.patch %endif @@ -415,8 +415,8 @@ the MySQL sources. %if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %patch71 -p1 %endif -%patch72 -p1 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%patch72 -p1 %patch73 -p1 %endif From 61f8dc1b27199ffdb69c1d1431e4f8a8edb14fa2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:35:50 +0100 Subject: [PATCH 413/616] Rebuilt after Rawhide & f28 & f27 & f26 merge --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1b7124d..9716324 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -1000,6 +1000,9 @@ fi %endif %changelog +* Tue Feb 27 2018 Michal Schorm - 5.7.21-6 +- Rebuilt after Rawhide & f28 & f27 & f26 merge + * Sun Feb 25 2018 Michal Schorm - 5.7.21-5 - Rebuilt for ldconfig_post and ldconfig_postun bug Related: #1548331 From add8e35acd3ad8895cc6a21bb42a828709ae5992 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 17:18:16 +0100 Subject: [PATCH 414/616] Revert of: Add F>=27 condition for openssl 1.1 patch; d24ac6672badf6188b1f522b0045a42f632c7e36; f26 needs that patch too --- community-mysql.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9716324..662a6c0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -132,9 +132,7 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch -%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 Patch71: %{pkgnamepatch}-openssl11.patch -%endif %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 Patch72: %{pkgnamepatch}-tirpc.patch Patch73: %{pkgnamepatch}-libxcrypt.patch @@ -412,9 +410,7 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif -%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %patch71 -p1 -%endif %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %patch72 -p1 %patch73 -p1 From f1bca1a6ec5d2aeb29740eb7f633b48b68f80a9b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Mar 2018 00:41:22 +0100 Subject: [PATCH 415/616] Update failing tests list for 5.7.21 --- community-mysql.spec | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 662a6c0..e698c3d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -436,20 +436,20 @@ add_test () { touch %{skiplist} -add_test auth_sec.openssl_cert_validity : 2018 new year issue - # these tests fail on arm32 %ifarch %arm -# FTS +# FTS; still apply for 5.7.21 add_test innodb_fts.opt : arm32 FTS issue -# Missing hw counters +# Missing hw counters; in 5.7.21 reported as unstable tests add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 %endif -# this test fail on ppc64* -%ifarch ppc64 ppc64le +# This test fail on ppc64 and ppc64le; applicable in 5.7.21 +%ifarch ppc64le ppc64 add_test innodb.innodb : missing correct value +%endif +%ifarch ppc64le add_test perfschema.memory_aggregate_no_a : incorrect numbers in output add_test innodb_zip.wl6469 : add_test json.json_functions_innodb : @@ -470,11 +470,6 @@ add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif -# test fails on x86_64 -%ifarch x86_64 -add_test main.mysql_upgrade : Result content mismatch -%endif - popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ From d026073054c27a93656d20048b4a2c16bc36a5a4 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 19 Apr 2018 23:13:26 +0200 Subject: [PATCH 416/616] Rebase to 5.7.22 version CVE fixes: #1568963 CVE-2018-2755 CVE-2018-2758 CVE-2018-2759 CVE-2018-2761 CVE-2018-2762 CVE-2018-2766 CVE-2018-2769 CVE-2018-2771 CVE-2018-2773 CVE-2018-2775 CVE-2018-2776 CVE-2018-2777 CVE-2018-2778 CVE-2018-2779 CVE-2018-2780 CVE-2018-2781 CVE-2018-2782 CVE-2018-2784 CVE-2018-2786 CVE-2018-2787 CVE-2018-2810 CVE-2018-2812 CVE-2018-2813 CVE-2018-2816 CVE-2018-2817 CVE-2018-2818 CVE-2018-2819 CVE-2018-2839 CVE-2018-2846 --- community-mysql.spec | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index e698c3d..088a50c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -89,8 +89,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.21 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 5.7.22 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -134,7 +134,6 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -Patch72: %{pkgnamepatch}-tirpc.patch Patch73: %{pkgnamepatch}-libxcrypt.patch %endif @@ -412,7 +411,6 @@ the MySQL sources. %endif %patch71 -p1 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -%patch72 -p1 %patch73 -p1 %endif @@ -454,6 +452,9 @@ add_test perfschema.memory_aggregate_no_a : incorrect numbers in output add_test innodb_zip.wl6469 : add_test json.json_functions_innodb : add_test main.ps : +# The "select" tests may be a PPC floating point long long precision error +# Need to check this theory, though. +# Maybe usefull conversation: https://github.com/h5py/h5py/issues/817 add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : @@ -611,8 +612,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/comp_err.1* -rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -636,11 +635,6 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test -# These are in fact identical -rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 -cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 -cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 - %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* @@ -650,7 +644,6 @@ rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d %if %{without embedded} rm %{buildroot}%{_libdir}/mysql/libmysqld.so* rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif %if %{without devel} @@ -984,13 +977,19 @@ fi %{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/mysqltest.1* -%{_mandir}/man1/mysqltest_embedded.1* -%{_mandir}/man1/mysql_client_test.1* -%{_mandir}/man1/mysql_client_test_embedded.1* %endif %changelog +* Thu Apr 19 2018 Michal Schorm - 5.7.22-1 +- Rebase to 5.7.22 version +- CVE fixes: #1568963 + CVE-2018-2755 CVE-2018-2758 CVE-2018-2759 CVE-2018-2761 CVE-2018-2762 + CVE-2018-2766 CVE-2018-2769 CVE-2018-2771 CVE-2018-2773 CVE-2018-2775 + CVE-2018-2776 CVE-2018-2777 CVE-2018-2778 CVE-2018-2779 CVE-2018-2780 + CVE-2018-2781 CVE-2018-2782 CVE-2018-2784 CVE-2018-2786 CVE-2018-2787 + CVE-2018-2810 CVE-2018-2812 CVE-2018-2813 CVE-2018-2816 CVE-2018-2817 + CVE-2018-2818 CVE-2018-2819 CVE-2018-2839 CVE-2018-2846 + * Tue Feb 27 2018 Michal Schorm - 5.7.21-6 - Rebuilt after Rawhide & f28 & f27 & f26 merge From de8e6ab3417d91e324318836748602e63b0995f4 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 19 Apr 2018 23:19:17 +0200 Subject: [PATCH 417/616] Add new sources, delete removed patch --- community-mysql-tirpc.patch | 88 ------------------------------------- sources | 2 +- 2 files changed, 1 insertion(+), 89 deletions(-) delete mode 100644 community-mysql-tirpc.patch diff --git a/community-mysql-tirpc.patch b/community-mysql-tirpc.patch deleted file mode 100644 index 1ddff40..0000000 --- a/community-mysql-tirpc.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake -index b9c5895..f4569cd 100644 ---- a/rapid/plugin/group_replication/rpcgen.cmake -+++ b/rapid/plugin/group_replication/rpcgen.cmake -@@ -87,6 +87,12 @@ FOREACH(X xcom_vp) - ${XCOM_BASEDIR}/xcom_proto_enum.h - ${XCOM_BASEDIR}/xcom_limits.h) - ELSE() -+ FIND_PROGRAM(RPCGEN_EXECUTABLE rpcgen DOC "path to the rpcgen executable") -+ MARK_AS_ADVANCED(RPCGEN_EXECUTABLE) -+ IF(NOT RPCGEN_EXECUTABLE) -+ MESSAGE(FATAL_ERROR "Could not find rpcgen") -+ ENDIF() -+ - # on unix systems try to generate them if needed - ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} - COMMAND ${CMAKE_COMMAND} -E copy_if_different -@@ -103,10 +109,10 @@ FOREACH(X xcom_vp) - - # generate the sources - COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_h} -- COMMAND rpcgen -C -h -o -+ COMMAND ${RPCGEN_EXECUTABLE} -C -h -o - ${x_gen_h} ${x_tmp_x_canonical_name} - COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_c} -- COMMAND rpcgen -C -c -o -+ COMMAND ${RPCGEN_EXECUTABLE} -C -c -o - ${x_gen_c} ${x_tmp_x_canonical_name} - WORKING_DIRECTORY ${gen_xdr_dir} - DEPENDS - -diff --git a/rapid/plugin/group_replication/CMakeLists.txt b/rapid/plugin/group_replication/CMakeLists.txt -index 5bcaa8b..bce9de4 100644 ---- a/rapid/plugin/group_replication/CMakeLists.txt -+++ b/rapid/plugin/group_replication/CMakeLists.txt -@@ -218,6 +218,7 @@ MYSQL_ADD_PLUGIN(group_replication - LINK_LIBRARIES - ${LZ4_LIBRARY} - ${SSL_LIBRARIES} -+ ${TIRPC_LIBRARY} - MODULE_ONLY MODULE_OUTPUT_NAME "group_replication") - - ### INSTALLATION ### -diff --git a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c -index 245dda0..210e124 100644 ---- a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c -+++ b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c -@@ -417,7 +417,11 @@ x_putbytes (XDR *xdrs, const char *bp MY_ATTRIBUTE((unused)), u_int len) - - - static u_int -+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(HAVE_TIRPC) -+x_getpostn(XDR *xdrs) -+#else - x_getpostn (const XDR *xdrs) -+#endif - { - #ifdef OLD_XDR - return (u_int)(xdrs->x_handy); -diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake -index f4569cd..cccb1c3 100644 ---- a/rapid/plugin/group_replication/rpcgen.cmake -+++ b/rapid/plugin/group_replication/rpcgen.cmake -@@ -93,6 +93,24 @@ FOREACH(X xcom_vp) - MESSAGE(FATAL_ERROR "Could not find rpcgen") - ENDIF() - -+ # First look for tirpc, then the old Sun RPC -+ FIND_PATH(RPC_INCLUDE_DIR -+ NAMES rpc/rpc.h -+ HINTS /usr/include/tirpc -+ NO_DEFAULT_PATH -+ ) -+ FIND_PATH(RPC_INCLUDE_DIR NAMES rpc/rpc.h) -+ IF(NOT RPC_INCLUDE_DIR) -+ MESSAGE(FATAL_ERROR -+ "Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc") -+ ENDIF() -+ MESSAGE(STATUS "RPC_INCLUDE_DIR ${RPC_INCLUDE_DIR}") -+ IF(RPC_INCLUDE_DIR STREQUAL "/usr/include/tirpc") -+ INCLUDE_DIRECTORIES(SYSTEM /usr/include/tirpc) -+ ADD_DEFINITIONS(-DHAVE_TIRPC) -+ SET(TIRPC_LIBRARY tirpc) -+ ENDIF() -+ - # on unix systems try to generate them if needed - ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} - COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/sources b/sources index 0a7bb27..7c10f37 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.21.tar.gz) = 29a1bfa1f5d5e354b66ca8c9fdaf7ee88de3d57bee3c6368861b46ab6d992affb7604577c06f241df542b96ab088c055473fd76584376dd149956ae1dd8726f3 +SHA512 (mysql-boost-5.7.22.tar.gz) = 186c9e9735114e312c65531c70e6b0b9b48b0fe14384b7a6ebfac2c1f91c3f4ac223d06e27a424fc75f57e0aaf2f74d6a8411a8ab9c6fed45c499068d0f1dc2a From 45ed314d86c1d120c18deda1f43ee43bf304a1a9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 20 Apr 2018 00:34:48 +0200 Subject: [PATCH 418/616] Update failing tests fo 5.7.22 --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 088a50c..647bd37 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -471,6 +471,10 @@ add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif +%ifarch i686 +add_test gis.gis_bugs_crashes : Failing since 5.7.22 release +%endif + popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ From ae8db5e0cc0c83ccdcf840f129f9452daa283a4e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 25 Apr 2018 10:13:27 +0200 Subject: [PATCH 419/616] Update to 8.0.11 --- boost-1.54.0-locale-unused_typedef.patch | 11 - boost-1.57.0-spirit-unused_typedef.patch | 19 - boost-1.59-python-make_setter.patch | 25 -- boost-1.59-test-fenv.patch | 32 -- boost-1.59.0-log.patch | 106 ----- community-mysql-5.7.9-major.patch | 11 - community-mysql-arm32-timer.patch | 14 + community-mysql-chain-certs.patch | 39 +- community-mysql-file-contents.patch | 18 +- community-mysql-libxcrypt.patch | 38 -- community-mysql-logrotate.patch | 85 ---- community-mysql-openssl11.patch | 517 ----------------------- community-mysql-paths.patch | 128 +----- community-mysql-s390-tsc.patch | 40 +- community-mysql-sharedir.patch | 77 ++-- community-mysql.spec | 209 ++++----- sources | 2 +- 17 files changed, 187 insertions(+), 1184 deletions(-) delete mode 100644 boost-1.54.0-locale-unused_typedef.patch delete mode 100644 boost-1.57.0-spirit-unused_typedef.patch delete mode 100644 boost-1.59-python-make_setter.patch delete mode 100644 boost-1.59-test-fenv.patch delete mode 100644 boost-1.59.0-log.patch delete mode 100644 community-mysql-5.7.9-major.patch create mode 100644 community-mysql-arm32-timer.patch delete mode 100644 community-mysql-libxcrypt.patch delete mode 100644 community-mysql-logrotate.patch delete mode 100644 community-mysql-openssl11.patch diff --git a/boost-1.54.0-locale-unused_typedef.patch b/boost-1.54.0-locale-unused_typedef.patch deleted file mode 100644 index b7c9128..0000000 --- a/boost-1.54.0-locale-unused_typedef.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp ---- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200 -+++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200 -@@ -27,7 +27,6 @@ namespace boundary { - int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end) - { - typedef LeftIterator left_iterator; -- typedef RightIterator right_iterator; - typedef typename std::iterator_traits::value_type char_type; - typedef std::char_traits traits; - while(l_begin!=l_end && r_begin!=r_end) { diff --git a/boost-1.57.0-spirit-unused_typedef.patch b/boost-1.57.0-spirit-unused_typedef.patch deleted file mode 100644 index 2829629..0000000 --- a/boost-1.57.0-spirit-unused_typedef.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp ---- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200 -+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100 -@@ -282,12 +282,12 @@ struct grammar_definition - #if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE) - typedef impl::grammar_helper_base helper_base_t; - typedef grammar_helper_list helper_list_t; -- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; - - helper_list_t& helpers = - grammartract_helper_list::do_(self); - - # if defined(BOOST_INTEL_CXX_VERSION) -+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; - for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i) - (*i)->undefine(self); - # else - -Diff finished. Tue Jan 20 13:25:53 2015 diff --git a/boost-1.59-python-make_setter.patch b/boost-1.59-python-make_setter.patch deleted file mode 100644 index 6c00658..0000000 --- a/boost-1.59-python-make_setter.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001 -From: Jonathan Wakely -Date: Wed, 2 Sep 2015 13:02:12 +0100 -Subject: [PATCH] Python: Fix condition for make_setter overload. - -This fixes the regression caused by 42e7d7b. - -Fixes #39 ---- - include/boost/python/data_members.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp -index 139bde3..5d3309c 100644 ---- a/include/boost/python/data_members.hpp -+++ b/include/boost/python/data_members.hpp -@@ -305,7 +305,7 @@ inline object make_setter(D& x) - return detail::make_setter(x, default_call_policies(), is_member_pointer(), 0); - } - --# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) -+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - template - inline object make_setter(D const& x) - { diff --git a/boost-1.59-test-fenv.patch b/boost-1.59-test-fenv.patch deleted file mode 100644 index df87f56..0000000 --- a/boost-1.59-test-fenv.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 2f3b98e640c25fe45ae691a5aa950745380b983e -Author: Jonathan Wakely -Date: Mon Sep 14 15:05:24 2015 +0100 - - Do not qualify names that might be macros. - -diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp -index 3a9e779..8b319df 100644 ---- a/include/boost/test/impl/execution_monitor.ipp -+++ b/include/boost/test/impl/execution_monitor.ipp -@@ -1380,8 +1380,8 @@ enable( unsigned mask ) - - return ~old_cw & BOOST_FPE_ALL; - #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) -- ::feclearexcept(BOOST_FPE_ALL); -- int res = ::feenableexcept( mask ); -+ feclearexcept(BOOST_FPE_ALL); -+ int res = feenableexcept( mask ); - return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; - #else - /* Not Implemented */ -@@ -1417,8 +1417,8 @@ disable( unsigned mask ) - - return ~old_cw & BOOST_FPE_ALL; - #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) -- ::feclearexcept(BOOST_FPE_ALL); -- int res = ::fedisableexcept( mask ); -+ feclearexcept(BOOST_FPE_ALL); -+ int res = fedisableexcept( mask ); - return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; - #else - /* Not Implemented */ diff --git a/boost-1.59.0-log.patch b/boost-1.59.0-log.patch deleted file mode 100644 index 844b3ff..0000000 --- a/boost-1.59.0-log.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001 -From: Andrey Semashev -Date: Sun, 23 Aug 2015 17:27:20 +0300 -Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when - the operator right hand argument is not directly supported by - formatting_ostream. Fixed #11549. - ---- - -diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp -index b3c58e2..c1e8059 100644 ---- a/include/boost/log/sources/record_ostream.hpp -+++ b/include/boost/log/sources/record_ostream.hpp -@@ -39,6 +39,18 @@ namespace boost { - - BOOST_LOG_OPEN_NAMESPACE - -+template< typename CharT > -+class basic_record_ostream; -+ -+namespace aux { -+ -+template< typename StreamT, typename R > -+struct enable_if_record_ostream {}; -+template< typename CharT, typename R > -+struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; }; -+ -+} // namespace aux -+ - /*! - * \brief Logging record adapter with a streaming capability - * -@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ - typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging - #endif - -+// Implementation note: these operators below should be the least attractive for the compiler -+// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. -+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload -+// would be more preferred than the typical one written by users: -+// -+// record_ostream& operator<< (record_ostream& strm, my_type const& arg); -+// -+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required -+// if there is a perfect forwarding overload. -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT& strm, T const& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT& strm, T& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -+ -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT&& strm, T const& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT&& strm, T& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -+ - namespace aux { - - //! Internal class that provides formatting streams for record pumps -diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp -index 4345206..744acc0 100644 ---- a/include/boost/log/utility/formatting_ostream.hpp -+++ b/include/boost/log/utility/formatting_ostream.hpp -@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const - - // Implementation note: these operators below should be the least attractive for the compiler - // so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. -+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload -+// would be more preferred than the typical one written by users: -+// -+// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg); -+// -+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required -+// if there is a perfect forwarding overload. - template< typename StreamT, typename T > - inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type - operator<< (StreamT& strm, T const& value) diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch deleted file mode 100644 index 72f5bd6..0000000 --- a/community-mysql-5.7.9-major.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mysql-5.7.10/cmake/mysql_version.cmake.orig 2015-11-29 20:16:24.000000000 +0100 -+++ mysql-5.7.10/cmake/mysql_version.cmake 2015-12-16 14:15:49.129269372 +0100 -@@ -17,7 +17,7 @@ - # Global constants, only to be changed between major releases. - # - --SET(SHARED_LIB_MAJOR_VERSION "20") -+SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "3") - SET(PROTOCOL_VERSION "10") - SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch new file mode 100644 index 0000000..6d47307 --- /dev/null +++ b/community-mysql-arm32-timer.patch @@ -0,0 +1,14 @@ +--- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100 ++++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100 +@@ -311,6 +311,11 @@ + ("The member has resumed contact with a majority of the members in the group.*"), + ("Members removed from the group.*"), + ++ /* ++ ARM32 don't support timers and get this warning in every test. ++ */ ++ ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."), ++ + ("THE_LAST_SUPPRESSION")|| + + diff --git a/community-mysql-chain-certs.patch b/community-mysql-chain-certs.patch index 164c22e..5f26c48 100644 --- a/community-mysql-chain-certs.patch +++ b/community-mysql-chain-certs.patch @@ -8,34 +8,17 @@ have any ill effects in a yassl build. Since we don't use yassl in Red Hat/ Fedora builds, I'm not feeling motivated to try to fix yassl for this. See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158 - - -diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp ---- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400 -@@ -1627,10 +1627,10 @@ - } - -- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*) -+ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file) - { -- // TDOD: -- return SSL_SUCCESS; -+ // For the moment, treat like use_certificate_file -+ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert); - } - - -diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c ---- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/vio/viosslfactories.c 2012-09-29 12:46:35.124975585 -0400 -@@ -106,7 +106,7 @@ - key_file= cert_file; +diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc +index 5e881e3..2927e7f 100644 +--- a/vio/viosslfactories.cc ++++ b/vio/viosslfactories.cc +@@ -198,7 +198,7 @@ static int vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file, + if (!key_file && cert_file) key_file = cert_file; if (cert_file && -- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) -+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) - { - *error= SSL_INITERR_CERT; - DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file)); +- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) { ++ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) { + *error = SSL_INITERR_CERT; + DBUG_PRINT("error", + ("%s from file '%s'", sslGetErrString(*error), cert_file)); diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index ed72d5c..0f1cdba 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -5,20 +5,20 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 - -diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22/mysql-test/t/file_contents.test ---- mysql-5.6.22/mysql-test/t/file_contents.test.file-contents 2014-12-03 15:05:18.629731527 +0100 -+++ mysql-5.6.22/mysql-test/t/file_contents.test 2014-12-03 15:09:36.082081039 +0100 -@@ -11,7 +11,7 @@ +diff --git a/mysql-test/t/file_contents.test b/mysql-test/t/file_contents.test +index 75f8c93..973291c 100644 +--- a/mysql-test/t/file_contents.test ++++ b/mysql-test/t/file_contents.test +@@ -12,7 +12,7 @@ --perl print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; $dir_bin = $ENV{'MYSQL_BINDIR'}; --if ($dir_bin =~ m|/usr/|) { +-if ($dir_bin =~ m|^/usr/|) { +if ($dir_bin =~ m|.*/usr/$|) { # RPM package $dir_docs = $dir_bin; $dir_docs =~ s|/lib|/share/doc|; -@@ -30,7 +30,7 @@ if ($dir_bin =~ m|/usr/|) { +@@ -35,7 +35,7 @@ if ($dir_bin =~ m|^/usr/|) { } } } @@ -27,8 +27,8 @@ diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22 # RPM build during development $dir_docs = "$dir_bin/share/doc"; if(-d "$dir_docs/packages") { -@@ -47,6 +47,15 @@ if ($dir_bin =~ m|/usr/|) { - $dir_docs = glob "$dir_bin/share/mysql/docs"; +@@ -55,6 +55,15 @@ if ($dir_bin =~ m|^/usr/|) { + $dir_docs = glob "$dir_bin/share/mysql-*/docs"; } } + diff --git a/community-mysql-libxcrypt.patch b/community-mysql-libxcrypt.patch deleted file mode 100644 index 177f9bc..0000000 --- a/community-mysql-libxcrypt.patch +++ /dev/null @@ -1,38 +0,0 @@ -Do not assume, that "crypt" function is provided by glibc; #1536881 - ---- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100 -@@ -49,6 +49,9 @@ - #include - #include /* Recommended by debian */ - #include -+#if defined(HAVE_CRYPT_H) -+#include -+#endif - - #ifdef HAVE_SYS_SOCKET_H - #include - - ---- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100 -@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA - CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H) - CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit - CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached -+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H) - - # For libevent - CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL) - - ---- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100 -@@ -62,6 +62,7 @@ - #cmakedefine HAVE_SYS_UN_H 1 - #cmakedefine HAVE_VIS_H 1 - #cmakedefine HAVE_SASL_SASL_H 1 -+#cmakedefine HAVE_CRYPT_H 1 - - /* Libevent */ - #cmakedefine HAVE_DEVPOLL 1 diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch deleted file mode 100644 index 7c0b7e5..0000000 --- a/community-mysql-logrotate.patch +++ /dev/null @@ -1,85 +0,0 @@ -Adjust the mysql-log-rotate script in several ways: - -* Use the correct log file pathname for Red Hat installations. -* Enable creation of the log file by logrotate (needed since - /var/log/ isn't writable by mysql user); and set the same 640 - permissions we normally use. -* Comment out the actual rotation commands, so that user must edit - the file to enable rotation. This is unfortunate, but the fact - that the script will probably fail without manual configuration - (to set a root password) means that we can't really have it turned - on by default. Fortunately, in most configurations the log file - is low-volume and so rotation is not critical functionality. - -See discussions at RH bugs 799735, 547007 - - -diff -up mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate mysql-5.6.19/support-files/mysql-log-rotate.sh ---- mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate 2014-07-25 11:49:37.237448291 +0200 -+++ mysql-5.6.19/support-files/mysql-log-rotate.sh 2014-07-25 11:53:17.096840857 +0200 -@@ -1,14 +1,13 @@ --# The log file name and location can be set in --# /etc/my.cnf by setting the "log-error" option --# in either [mysqld] or [mysqld_safe] section as --# follows: -+# This logname can be set in /etc/my.cnf -+# by setting the variable "log-error" -+# in the [mysqld_safe] section as follows: - # --# [mysqld] --# log-error=@localstatedir@/mysqld.log -+# [mysqld_safe] -+# log-error=@LOG_LOCATION@ - # --# In case the root user has a password, then you --# have to create a /root/.my.cnf configuration file --# with the following content: -+# If the root user has a password you have to create a -+# /root/.my.cnf configuration file with the following -+# content: - # - # [mysqladmin] - # password = -@@ -16,22 +15,24 @@ - # - # where "" is the password. - # --# ATTENTION: The /root/.my.cnf file should be readable --# _ONLY_ by root ! -+# ATTENTION: This /root/.my.cnf should be readable ONLY -+# for root ! - --@localstatedir@/mysqld.log { -- # create 600 mysql mysql -- notifempty -- daily -- rotate 5 -- missingok -- compress -- postrotate -- # just if mysqld is really running -- if test -x @bindir@/mysqladmin && \ -- @bindir@/mysqladmin ping &>/dev/null -- then -- @bindir@/mysqladmin flush-logs -- fi -- endscript --} -+# Then, un-comment the following lines to enable rotation of mysql's log file: -+ -+#@LOG_LOCATION@ { -+# create 640 mysql mysql -+# notifempty -+# daily -+# rotate 3 -+# missingok -+# compress -+# postrotate -+# # just if mysqld is really running -+# if test -x @bindir@/mysqladmin && \ -+# @bindir@/mysqladmin ping &>/dev/null -+# then -+# @bindir@/mysqladmin flush-logs -+# fi -+# endscript -+#} diff --git a/community-mysql-openssl11.patch b/community-mysql-openssl11.patch deleted file mode 100644 index a3c29b7..0000000 --- a/community-mysql-openssl11.patch +++ /dev/null @@ -1,517 +0,0 @@ -Add OpenSSL 1.1 compatibility - -Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature. - -Upstream tracker: https://bugs.mysql.com/bug.php?id=83814 - -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100 -@@ -7,7 +7,7 @@ - connection default; - CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd'; - ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';" - - DROP USER u_20693153@localhost; -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100 -@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c - --file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem - - --echo # Ensure that server is ssl enabled ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - #----------------------------------------------------------------------------- - -@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden - - # Using SSL certificates - --echo # Should be able to connect to server using generated SSL certificates. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - # Using RSA key pair - --echo # Should be able to connect to server using RSA key pair. -@@ -351,7 +351,7 @@ show variables like 'sha256%'; - - --echo # 6.3 : SSL connection - --echo # Should be able to connect to server using generated SSL certificates. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - - -@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden - - # Using SSL certificates - --echo # Should be able to connect to server using generated SSL certificates. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - # Using RSA key pair - --echo # Should be able to connect to server using RSA key pair. -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100 -@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is - - --echo # Try to establish SSL connection : This must succeed. - connect (ssl_root_1,localhost,root,,,,,SSL); ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - SHOW VARIABLES LIKE 'have_ssl'; - -@@ -68,7 +68,7 @@ connection default; - disconnect ssl_root_1; - - --echo # Connect using mysql client : This must succeed. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" - - -@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is - --source include/search_pattern_in_file.inc - - --echo # Try creating SSL connection ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" - - -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100 -@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA; - let $tls_default= TLSv1.1; - let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); - if ($openssl == 'Rsa_public_key'){ -- let $cipher_default= DHE-RSA-AES128-GCM-SHA256; -+ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256; - let $tls_default= TLSv1.2; - } - --echo #T1: Default TLS connection -diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test ---- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100 -+++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100 -@@ -14,15 +14,15 @@ - - --echo # verify that mysql default connect with ssl channel when using TCP/IP - --echo # connection ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" - - --echo # verify that mysql --ssl=0 connect with unencrypted channel ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED - - --echo # verify that mysql --ssl=1 connect with ssl channel ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED - - CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL; -diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test ---- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100 -+++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100 -@@ -19,17 +19,17 @@ insert into t1 values (5); - let $cipher_val= "DHE-RSA-AES256-SHA"; - let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); - if ($shavars == 'Rsa_public_key'){ -- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256"; -+ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256"; - } - - grant select on test.* to ssl_user1@localhost require SSL; ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA" ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx" - flush privileges; - -@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS - - connection con1; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -51,7 +51,7 @@ delete from t1; - - connection con2; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -59,7 +59,7 @@ delete from t1; - - connection con3; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -67,7 +67,7 @@ delete from t1; - - connection con4; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -142,7 +142,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - --echo End of 5.0 tests - -@@ -269,7 +269,7 @@ select 'is still running; no cipher requ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; -diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test ---- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100 -+++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100 -@@ -2,7 +2,7 @@ - --source include/have_ssl.inc - - connect (ssl_con,localhost,root,,,,,SSL); ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100 -@@ -4,7 +4,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100 -@@ -10,7 +10,7 @@ - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1 - - --echo # try to connect with correct '--ssl-ca' path : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # -@@ -22,15 +22,15 @@ - - --echo # try to connect with '--ssl-ca' option using tilde home directoy - --echo # path substitution : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # try to connect with '--ssl-key' option using tilde home directoy - --echo # path substitution : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # try to connect with '--ssl-cert' option using tilde home directoy - --echo # path substitution : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100 -@@ -17,7 +17,7 @@ - connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100 -@@ -32,9 +32,11 @@ if (!$crllen) - --echo # try to connect with '--ssl-crl' option using tilde home directoy - --echo # path substitution : should connect - --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # try to connect with '--ssl-crlpath' option using tilde home directoy - --echo # path substitution : should connect - --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'" -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100 -@@ -16,7 +16,7 @@ - connect (ssl_con,localhost,root,,,,,SSL); - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check ssl expiration -@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - connection default; -diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc ---- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100 -+++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100 -@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char * - enum my_aes_opmode mode, const unsigned char *iv, - bool padding) - { -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); - const EVP_CIPHER *cipher= aes_evp_type(mode); - int u_len, f_len; - /* The real key to be used for encryption */ -@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char * - if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) - return MY_AES_BAD_DATA; - -- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv)) -+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv)) - goto aes_error; /* Error */ -- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) -+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) - goto aes_error; /* Error */ -- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length)) -+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length)) - goto aes_error; /* Error */ - -- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len)) -+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len)) - goto aes_error; /* Error */ - -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return u_len + f_len; - - aes_error: - /* need to explicitly clean up the error if we want to ignore it */ - ERR_clear_error(); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return MY_AES_BAD_DATA; - } - -@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char * - bool padding) - { - -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); - const EVP_CIPHER *cipher= aes_evp_type(mode); - int u_len, f_len; - -@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char * - if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) - return MY_AES_BAD_DATA; - -- EVP_CIPHER_CTX_init(&ctx); -- -- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv)) -+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv)) - goto aes_error; /* Error */ -- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) -+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) - goto aes_error; /* Error */ -- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length)) -+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length)) - goto aes_error; /* Error */ -- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len)) -+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len)) - goto aes_error; /* Error */ - -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return u_len + f_len; - - aes_error: - /* need to explicitly clean up the error if we want to ignore it */ - ERR_clear_error(); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return MY_AES_BAD_DATA; - } - -diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c ---- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100 -+++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100 -@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= " - mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== - -----END DH PARAMETERS----- - */ --static unsigned char dh2048_p[]= -+static unsigned char dhp_2048[]= - { - 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, - 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, -@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]= - }; - - --static unsigned char dh2048_g[]={ -+static unsigned char dhg_2048[]={ - 0x05, - }; - - static DH *get_dh2048(void) - { -- DH *dh; -- if ((dh=DH_new())) -+ DH *dh = DH_new(); -+ BIGNUM *dhp_bn, *dhg_bn; -+ if (dh != NULL) - { -- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -- if (! dh->p || ! dh->g) -+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); -+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); -+ if (dhp_bn == NULL || dhg_bn == NULL -+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) - { - DH_free(dh); -+ BN_free(dhp_bn); -+ BN_free(dhg_bn); - dh=0; - } - } -diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc ---- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100 -+++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100 -@@ -3376,7 +3376,7 @@ static int init_ssl() - { - #ifdef HAVE_OPENSSL - #ifndef HAVE_YASSL -- CRYPTO_malloc_init(); -+ OPENSSL_malloc_init(); - #endif - ssl_start(); - #ifndef EMBEDDED_LIBRARY -diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c ---- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100 -+++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100 -@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v - goto error; - } - -- cn= (char *) ASN1_STRING_data(cn_asn1); -+ cn= (char *) ASN1_STRING_get0_data(cn_asn1); - - // There should not be any NULL embedded in the CN - if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn)) -diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c ---- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100 -+++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100 -@@ -86,7 +86,7 @@ static my_bool ssl_initialized - mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== - -----END DH PARAMETERS----- - */ --static unsigned char dh2048_p[]= -+static unsigned char dhp_2048[]= - { - 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, - 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, -@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]= - 0x00, 0x05, 0x85, 0xB7, - }; - --static unsigned char dh2048_g[]={ -+static unsigned char dhg_2048[]={ - 0x05, - }; - - static DH *get_dh2048(void) - { -- DH *dh; -- if ((dh=DH_new())) -+ DH *dh = DH_new(); -+ BIGNUM *dhp_bn, *dhg_bn; -+ -+ if (dh != NULL) - { -- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -- if (! dh->p || ! dh->g) -+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); -+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); -+ if (dhp_bn == NULL || dhg_bn == NULL -+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) - { - DH_free(dh); -+ BN_free(dhp_bn); -+ BN_free(dhg_bn); - dh=0; - } - } -@@ -419,9 +424,7 @@ void ssl_start() - { - ssl_initialized= TRUE; - -- SSL_library_init(); -- OpenSSL_add_all_algorithms(); -- SSL_load_error_strings(); -+ OPENSSL_init_ssl(0, NULL); - - #ifndef HAVE_YASSL - init_ssl_locks(); diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 7f9ed93..20b77d5 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -3,96 +3,11 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 - -diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c ---- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200 -@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path); - static int build_bootstrap_file(char *operation, char *bootstrap); - static int dump_bootstrap_file(char *bootstrap_file); - static int bootstrap_server(char *server_path, char *bootstrap_file); -+static int find_file_in_path(const char *name, char *to); - - - int main(int argc,char *argv[]) -@@ -125,7 +126,7 @@ int main(int argc,char *argv[]) - */ - if ((error= process_options(argc, argv, operation)) || - (error= check_access()) || -- (error= find_tool("mysqld" FN_EXEEXT, server_path)) || -+ (error= find_file_in_path("mysqld" FN_EXEEXT, server_path)) || - (error= find_plugin(tp_path)) || - (error= build_bootstrap_file(operation, bootstrap))) - goto exit; -@@ -331,7 +332,7 @@ static int get_default_values() - FILE *file= 0; - - memset(tool_path, 0, FN_REFLEN); -- if ((error= find_tool("my_print_defaults" FN_EXEEXT, tool_path))) -+ if ((error= find_file_in_path("my_print_defaults" FN_EXEEXT, tool_path))) - goto exit; - else - { -@@ -1014,6 +1015,55 @@ exit: - } - - -+#if defined(__WIN__) -+#define F_OK 0 -+#define PATH_SEP ';' -+#define PROGRAM_EXTENSION ".exe" -+#else -+#define PATH_SEP ':' -+#endif -+ -+static int find_file_in_path(const char *name, char *to) -+{ -+ char *path,*pos,dir[2]; -+ const char *ext=""; -+ -+ if (!(path=getenv("PATH"))) -+ goto notfound; -+ dir[0]=FN_LIBCHAR; dir[1]=0; -+#ifdef PROGRAM_EXTENSION -+ if (!fn_ext(name)[0]) -+ ext=PROGRAM_EXTENSION; -+#endif -+ -+ for (pos=path ; (pos=strchr(pos,PATH_SEP)) ; path= ++pos) -+ { -+ if (path != pos) -+ { -+ strxmov(my_stpnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); -+ if (!access(to,F_OK)) -+ { -+ if (opt_verbose) -+ printf("# Found tool '%s' as '%s'.\n", name, to); -+ return 0; -+ } -+ } -+ } -+#ifdef __WIN__ -+ to[0]=FN_CURLIB; -+ strxmov(to+1,dir,name,ext,NullS); -+ if (!access(to,F_OK)) /* Test in current dir */ -+ { -+ if (opt_verbose) -+ printf("# Found tool '%s' as '%s'.\n", name, to); -+ return 0; -+ } -+#endif -+notfound: -+ fprintf(stderr, "WARNING: Cannot find %s.\n", name); -+ return 1; /* File not found */ -+} -+ - /** - Locate the tool and form tool path. - -diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake ---- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200 -+++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200 -@@ -107,7 +107,7 @@ IF(UNIX) +diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake +index ec2b492..43e4ccd 100644 +--- a/cmake/install_layout.cmake ++++ b/cmake/install_layout.cmake +@@ -114,7 +114,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -101,18 +16,19 @@ diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cma CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR +@@ -318,6 +318,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) + # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") - SET(INSTALL_SCRIPTDIR_RPM "bin") +SET(INSTALL_SYSCONFDIR_RPM "/etc") # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") -diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc ---- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200 -@@ -1404,12 +1404,12 @@ static const char **init_default_directo +diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc +index 2d76700..02c5885 100644 +--- a/mysys_ssl/my_default.cc ++++ b/mysys_ssl/my_default.cc +@@ -1733,12 +1733,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) #else @@ -128,10 +44,11 @@ diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ #endif /* DEFAULT_SYSCONFDIR */ #endif -diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt ---- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200 -@@ -295,7 +295,7 @@ ELSE() +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index c66a910..af9bc9e 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -324,7 +324,7 @@ ELSE() ENDIF() SET(prefix "${CMAKE_INSTALL_PREFIX}") @@ -139,11 +56,12 @@ diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts +SET(sysconfdir ${SYSCONFDIR}) SET(bindir ${prefix}/${INSTALL_BINDIR}) SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) - SET(scriptdir ${prefix}/${INSTALL_BINDIR}) -diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh ---- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200 -@@ -573,9 +573,7 @@ sub list_defaults_files + SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) +diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh +index 5ad36e7..5dd032f 100644 +--- a/scripts/mysqld_multi.sh ++++ b/scripts/mysqld_multi.sh +@@ -572,9 +572,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index 91bfc10..7e5eee3 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -1,23 +1,23 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 - -diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h ---- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200 -+++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100 -@@ -125,6 +125,7 @@ C_MODE_END +diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h +index 65f7df1..a28f470 100644 +--- a/include/my_rdtsc.h ++++ b/include/my_rdtsc.h +@@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti); #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 - #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 - #define MY_TIMER_ROUTINE_ASM_AARCH64 28 -+#define MY_TIMER_ROUTINE_ASM_S390 29 + #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 + #define MY_TIMER_ROUTINE_ASM_AARCH64 28 ++#define MY_TIMER_ROUTINE_ASM_S390 29 #endif - -diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c ---- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200 -+++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100 -@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void) - __asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result)); +diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc +index ec8e855..c3408b1 100644 +--- a/mysys/my_rdtsc.cc ++++ b/mysys/my_rdtsc.cc +@@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) { + __asm __volatile__("mrs %[rt],cntvct_el0" : [rt] "=r"(result)); return result; } +#elif defined(__GNUC__) && defined(__s390__) @@ -29,13 +29,13 @@ diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdts + } #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ - return (ulonglong) gethrtime(); -@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti) - mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; + return (ulonglong)gethrtime(); +@@ -505,6 +512,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { + mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC32; #elif defined(__GNUC__) && defined(__aarch64__) - mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64; + mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64; +#elif defined(__GNUC__) && defined(__s390__) -+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; ++ mti->cycles.routine = MY_TIMER_ROUTINE_ASM_S390; #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) - mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME; + mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME; #else diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 6ceaed2..543affd 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,46 +1,9 @@ -diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm ---- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200 -+++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200 -@@ -36,7 +36,7 @@ my @pre_rules= - ); - - --my @share_locations= ("share/mysql", "sql/share", "share"); -+my @share_locations= ("@INSTALL_MYSQLSHAREDIR@", "sql/share", "share"); - - - sub get_basedir { -diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl ---- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200 -@@ -1282,11 +1282,11 @@ sub command_line_setup { - } - - # Look for language files and charsetsdir, use same share -- $path_language= mtr_path_exists("$bindir/share/mysql", -+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", - "$bindir/sql/share", - "$bindir/share"); - my $path_share= $path_language; -- $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets", -+ $path_charsetsdir = mtr_path_exists("$basedir/@INSTALL_MYSQLSHAREDIR@/charsets", - "$basedir/sql/share/charsets", - "$basedir/share/charsets"); - -@@ -3729,7 +3729,7 @@ sub mysql_install_db { - } - - my $path_sql= my_find_file($install_basedir, -- ["mysql", "sql/share", "share/mysql", -+ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@", - "share", "scripts"], - "mysql_system_tables.sql", - NOT_REQUIRED); -diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt ---- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200 -@@ -33,6 +33,10 @@ ENDIF() - +diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt +index 7c1e82b..a92ba91 100644 +--- a/mysql-test/CMakeLists.txt ++++ b/mysql-test/CMakeLists.txt +@@ -56,6 +56,10 @@ INSTALL( + ENDIF() +# Expand some paths in the perl scripts correctly @@ -50,3 +13,31 @@ diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysq IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) # Enable running mtr from build directory CONFIGURE_FILE( +diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl +index e9130dd..388c039 100755 +--- a/mysql-test/mysql-test-run.pl ++++ b/mysql-test/mysql-test-run.pl +@@ -1535,11 +1535,13 @@ sub command_line_setup { + } + + # Look for language files and charsetsdir, use same share +- $path_language= mtr_path_exists("$bindir/share/mysql", ++ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", ++ "$bindir/share/mysql", + "$bindir/share"); + my $path_share= $path_language; + +- @share_locations= ("share/mysql", ++ @share_locations= ("@INSTALL_MYSQLSHAREDIR@", ++ "share/mysql", + "share/mysql-" . $mysql_base_version, + "share"); + +@@ -4140,6 +4142,7 @@ sub mysql_install_db { + + my $path_sql= my_find_file($install_basedir, + ["mysql", "share/mysql", ++ "@INSTALL_MYSQLSHAREDIR@", + "share/mysql-" . $mysql_base_version, + "share", "scripts"], + "mysql_system_tables.sql", diff --git a/community-mysql.spec b/community-mysql.spec index 647bd37..18e8585 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -10,15 +10,6 @@ # Set this to 1 to see which tests fail %global check_testsuite 0 -# set to 1 to enable -%if 0%{?fedora} > 27 -# Deprecate patch 70, because MariaDB renamed its library to libmariadb.so -%global with_shared_lib_major_hack 0 -%else -%global with_shared_lib_major_hack 1 -%endif - - # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -34,7 +25,6 @@ # For some use cases we do not need some parts of the package %bcond_without clibrary -%bcond_without embedded %bcond_without devel %bcond_without client %bcond_without common @@ -89,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.22 +Version: 8.0.11 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -98,7 +88,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz +Source0: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source6: README.mysql-docs @@ -122,7 +112,6 @@ Source31: server.cnf.in # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-install-test.patch Patch2: %{pkgnamepatch}-s390-tsc.patch -Patch3: %{pkgnamepatch}-logrotate.patch Patch4: %{pkgnamepatch}-file-contents.patch Patch5: %{pkgnamepatch}-scripts.patch Patch6: %{pkgnamepatch}-paths.patch @@ -131,25 +120,18 @@ Patch7: %{pkgnamepatch}-md5_fips.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch70: %{pkgnamepatch}-5.7.9-major.patch -Patch71: %{pkgnamepatch}-openssl11.patch -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -Patch73: %{pkgnamepatch}-libxcrypt.patch -%endif +Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch -Patch136: boost-1.57.0-spirit-unused_typedef.patch -Patch145: boost-1.54.0-locale-unused_typedef.patch -Patch170: boost-1.59.0-log.patch -Patch180: boost-1.59-python-make_setter.patch -Patch181: boost-1.59-test-fenv.patch -BuildRequires: cmake gcc-c++ +BuildRequires: cmake +BuildRequires: gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel +BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel %ifnarch aarch64 %{arm} s390 s390x @@ -164,7 +146,8 @@ BuildRequires: perl-generators BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif -BuildRequires: systemtap-sdt-devel +BuildRequires: protobuf-lite-devel +BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules @@ -180,6 +163,7 @@ BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) BuildRequires: perl(JSON) +BuildRequires: perl(LWP::Simple) BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) @@ -192,7 +176,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.59 +Provides: bundled(boost) = 1.66 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -265,13 +249,12 @@ MySQL package. %if %{with errmsg} %package errmsg -Summary: The error messages files required by server and embedded +Summary: The error messages files required by MySQL server +Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg -The package provides error messages files for the MySQL daemon and the -embedded server. You will need to install this package to use any of those -MySQL packages. +The package provides error messages files for the MySQL daemon %endif @@ -329,45 +312,14 @@ package contains the libraries and header files that are needed for developing MySQL client applications. %endif - -%if %{with embedded} -%package embedded -Summary: MySQL as an embeddable library -Requires: %{name}-common%{?_isa} = %{sameevr} -Requires: %{name}-errmsg%{?_isa} = %{sameevr} -%if %{with mysql_names} -Provides: mysql-embedded = %{sameevr} -Provides: mysql-embedded%{?_isa} = %{sameevr} -%endif - -%description embedded -MySQL is a multi-user, multi-threaded SQL database server. This -package contains a version of the MySQL server that can be embedded -into a client application instead of running as a separate process. - - -%package embedded-devel -Summary: Development files for MySQL as an embeddable library -Requires: %{name}-embedded%{?_isa} = %{sameevr} -Requires: %{name}-devel%{?_isa} = %{sameevr} -Requires: libaio-devel -Requires: lz4-devel -Requires: pkgconfig(openssl) -Requires: zlib-devel -%{?with_conflicts:Conflicts: mariadb-embedded-devel} - -%description embedded-devel -MySQL is a multi-user, multi-threaded SQL database server. This -package contains files needed for developing and testing with -the embedded version of the MySQL server. -%endif - %if %{with test} %package test Summary: The test suite distributed with MySQL Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: gzip +Requires: lz4 Requires: perl(Digest::file) Requires: perl(Digest::MD5) Requires: perl(Env) @@ -378,6 +330,8 @@ Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) Requires: perl(JSON) +Requires: perl(LWP::Simple) +Requires: perl(Memoize) Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) @@ -399,30 +353,17 @@ the MySQL sources. %setup -q -n mysql-%{version} %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch51 -p1 %patch52 -p1 -%if %{with_shared_lib_major_hack} -%patch70 -p1 -%endif -%patch71 -p1 -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -%patch73 -p1 -%endif +%patch75 -p1 # Patch Boost -pushd boost/boost_1_59_0 +pushd boost/boost_1_66_0 %patch115 -p0 %patch125 -p1 -%patch136 -p1 -%patch145 -p1 -%patch170 -p2 -%patch180 -p2 -%patch181 -p2 popd # Modify tests to pass on all archs @@ -434,6 +375,43 @@ add_test () { touch %{skiplist} +# fails everywhere +add_test gis.srs : 8.0 issue +add_test main.import : 8.0 issue +add_test main.no_binlog_related_options : 8.0 issue +add_test main.regular_expressions_func_icu_54 : 8.0 issue +add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue +add_test main.regular_expressions_utf-8 : 8.0 issue +add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue +add_test perfschema.histograms : 8.0 issue +add_test main.log_options_cmdline : 8.0 issue + +# Fails since 8.0 +add_test x.crud_insert_cast : +add_test x.insert_table : +add_test x.insert_table_bad_column : +add_test x.insert_table_bad_column_type : +add_test x.insert_table_bad_numcolumns : +add_test x.update_crud_arrayappend_o : +add_test x.update_crud_arrayinsert_o : + +add_test innodb.innodb : missing correct value +add_test innodb.innodb_cats : +add_test innodb.log_corruption : + +add_test main.dd_upgrade_test : +add_test main.disabled_replication : +add_test main.flush2 : +add_test main.import : +add_test main.mysqldump-no-binlog : +add_test main.skip_log_bin : + +add_test main.window_functions_explain : +add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status : +add_test gis.gis_bugs_crashes : +add_test perfschema.histograms : +add_test main.log_options_cmdline : + # these tests fail on arm32 %ifarch %arm # FTS; still apply for 5.7.21 @@ -441,20 +419,19 @@ add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters; in 5.7.21 reported as unstable tests add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.func_mutex : missing hw on arm32 %endif # This test fail on ppc64 and ppc64le; applicable in 5.7.21 -%ifarch ppc64le ppc64 -add_test innodb.innodb : missing correct value -%endif %ifarch ppc64le +add_test main.histograms : 8.0 issue/ppc64le +add_test main.opt_costmodel : 8.0 issue/ppc64le +add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le add_test perfschema.memory_aggregate_no_a : incorrect numbers in output add_test innodb_zip.wl6469 : add_test json.json_functions_innodb : add_test main.ps : -# The "select" tests may be a PPC floating point long long precision error -# Need to check this theory, though. -# Maybe usefull conversation: https://github.com/h5py/h5py/issues/817 add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : @@ -471,10 +448,6 @@ add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif -%ifarch i686 -add_test gis.gis_bugs_crashes : Failing since 5.7.22 release -%endif - popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -518,12 +491,10 @@ cmake .. \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ - -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=ON \ %if %{with init_systemd} -DWITH_SYSTEMD=1 \ -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ @@ -533,18 +504,21 @@ cmake .. \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ %endif - -DWITH_EMBEDDED_SERVER=ON \ - -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ +%ifarch s390 s390x + -DUSE_LD_GOLD=OFF \ +%endif -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_MECAB=system \ + -DWITH_PROTOBUF=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_BOOST=../boost \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ +%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -556,9 +530,6 @@ popd pushd build make DESTDIR=%{buildroot} install -# multilib header support -%multilib_fix_c_header --file %{_includedir}/mysql/my_config.h - # multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 if %multilib_capable; then @@ -609,8 +580,6 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process -# not needed in rpm package -rm %{buildroot}%{_bindir}/mysql_embedded rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -645,11 +614,6 @@ rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif -%if %{without embedded} -rm %{buildroot}%{_libdir}/mysql/libmysqld.so* -rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -%endif - %if %{without devel} rm %{buildroot}%{_bindir}/mysql_config* rm -r %{buildroot}%{_includedir}/mysql @@ -700,13 +664,13 @@ pushd mysql-test cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} -./mtr \ +./mtr %{?with_debug:--debug-server} \ --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} - --max-test-fail=0 || : + --max-test-fail=100 || : %else --skip-test-list=%{skiplist} %endif @@ -726,11 +690,6 @@ popd %ldconfig_post libs %endif -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_post embedded -%endif - %post server %if %{with init_systemd} %systemd_post %{daemon_name}.service @@ -761,11 +720,6 @@ fi %ldconfig_postun libs %endif -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_postun embedded -%endif - %postun server %if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service @@ -780,7 +734,6 @@ fi %files %{_bindir}/mysql %{_bindir}/mysql_config_editor -%{_bindir}/mysql_plugin %{_bindir}/mysqladmin %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck @@ -792,7 +745,6 @@ fi %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* -%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* @@ -819,7 +771,8 @@ fi %if %{with common} %files common -%doc README COPYING README.mysql-license README.mysql-docs +%license LICENSE +%doc README README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_libdir}/mysql %dir %{_datadir}/%{pkg_name} @@ -856,12 +809,12 @@ fi %endif %files server +%{_bindir}/ibd2sdi %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults -%{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql @@ -875,11 +828,8 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror -%{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%{_bindir}/lz4_decompress -%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -893,13 +843,13 @@ fi %{_libdir}/mysql/plugin +%{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* @@ -915,7 +865,6 @@ fi %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* -%{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/lz4_decompress.1* @@ -926,7 +875,6 @@ fi %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/innodb_memcached_config.sql %{_datadir}/%{pkg_name}/install_rewriter.sql -%{_datadir}/%{pkg_name}/mysql_security_commands.sql %{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql @@ -964,26 +912,19 @@ fi %{_mandir}/man1/mysql_config.1* %endif -%if %{with embedded} -%files embedded -%{_libdir}/mysql/libmysqld.so.* - -%files embedded-devel -%{_libdir}/mysql/libmysqld.so -%endif - %if %{with test} %files test %{_bindir}/mysql_client_test -%{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest -%{_bindir}/mysqltest_embedded %{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %endif %changelog +* Fri Apr 20 2018 Norvald H. Ryeng - 8.0.11-1 +- Update to MySQL 8.0.11 (GA). + * Thu Apr 19 2018 Michal Schorm - 5.7.22-1 - Rebase to 5.7.22 version - CVE fixes: #1568963 diff --git a/sources b/sources index 7c10f37..dc248e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.22.tar.gz) = 186c9e9735114e312c65531c70e6b0b9b48b0fe14384b7a6ebfac2c1f91c3f4ac223d06e27a424fc75f57e0aaf2f74d6a8411a8ab9c6fed45c499068d0f1dc2a +SHA512 (mysql-boost-8.0.11.tar.gz) = 845db694c5669bf23e03b8d8169ed1194f6c8eec0957976791f533dedc8e7c6618bf75d88224f86dbc679a05f22d49019792bc7a0cbe1f1efea55f9a0a67df91 From 778f965ec1f9f1b456dab5dce947c2b48a4be18f Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Thu, 26 Apr 2018 10:27:31 +0200 Subject: [PATCH 420/616] Update cnf and service files with MySQL 8.0 features and clean up patches. --- community-mysql-cipherspec.patch | 154 ------------------------------- community-mysql-md5_fips.patch | 50 ---------- community-mysql-paths.patch | 26 ++++-- community-mysql.spec | 33 +++++-- my.cnf.in | 2 - mysql-prepare-db-dir.sh | 2 +- mysql.service.in | 49 +++++----- mysql@.service.in | 48 +++++----- server.cnf.in | 17 +--- 9 files changed, 102 insertions(+), 279 deletions(-) delete mode 100644 community-mysql-cipherspec.patch delete mode 100644 community-mysql-md5_fips.patch diff --git a/community-mysql-cipherspec.patch b/community-mysql-cipherspec.patch deleted file mode 100644 index b0c5b09..0000000 --- a/community-mysql-cipherspec.patch +++ /dev/null @@ -1,154 +0,0 @@ -Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, -which is no longer the case as of openssl 1.0.1. -This patch enhances connect command by an option to specify a cipher -and tests are adjusted to specify the expected cipher explicitly. -Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 - -diff --git a/client/mysqltest.cc b/client/mysqltest.cc -index 2def9bd..128dc00 100644 ---- a/client/mysqltest.cc -+++ b/client/mysqltest.cc -@@ -5503,6 +5503,7 @@ void do_connect(struct st_command *command) - my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; - my_bool con_secure_auth= 1; - struct st_connection* con_slot; -+ char *con_cipher=NULL; - - static DYNAMIC_STRING ds_connection_name; - static DYNAMIC_STRING ds_host; -@@ -5595,6 +5596,8 @@ void do_connect(struct st_command *command) - con_cleartext_enable= 1; - else if (!strncmp(con_options, "SKIPSECUREAUTH",14)) - con_secure_auth= 0; -+ else if (!strncmp(con_options, "CIPHER:", 7)) -+ con_cipher = con_options + 7; - else - die("Illegal option to connect: %.*s", - (int) (end - con_options), con_options); -@@ -5642,8 +5645,11 @@ void do_connect(struct st_command *command) - if (con_ssl) - { - #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) -+ /* default cipher */ -+ if (con_cipher == NULL && opt_ssl_cipher != NULL) -+ con_cipher = opt_ssl_cipher; - mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, -- opt_ssl_capath, opt_ssl_cipher); -+ opt_ssl_capath, con_cipher); - mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRL, opt_ssl_crl); - mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRLPATH, opt_ssl_crlpath); - #if MYSQL_VERSION_ID >= 50000 -diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result -index a767a71..3c1ee27 100644 ---- a/mysql-test/r/openssl_1.result -+++ b/mysql-test/r/openssl_1.result -@@ -197,8 +197,6 @@ Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value - Ssl_cipher AES256-SHA --Variable_name Value --Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result - is still running; no cipher request crashed the server -diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test -index 426de1e..f8c6203 100644 ---- a/mysql-test/t/openssl_1.test -+++ b/mysql-test/t/openssl_1.test -@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - --connect (con1,localhost,ssl_user1,,,,,SSL); --connect (con2,localhost,ssl_user2,,,,,SSL); --connect (con3,localhost,ssl_user3,,,,,SSL); --connect (con4,localhost,ssl_user4,,,,,SSL); -+connect (con1,localhost,ssl_user1,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); -+connect (con2,localhost,ssl_user2,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); -+connect (con3,localhost,ssl_user3,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); -+connect (con4,localhost,ssl_user4,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT - --error ER_ACCESS_DENIED_ERROR --connect (con5,localhost,ssl_user5,,,,,SSL); -+connect (con5,localhost,ssl_user5,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - - connection con1; - # Check ssl turned on -@@ -125,7 +125,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - --echo End of 5.0 tests - - # -@@ -215,7 +215,6 @@ DROP TABLE t1; - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=AES256-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log - -@@ -250,7 +249,7 @@ select 'is still running; no cipher request crashed the server' as result from d - - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; --connect(con1,localhost,bug42158,,,,,SSL); -+connect(con1,localhost,bug42158,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; -diff --git a/mysql-test/t/plugin_auth_sha256_tls.test b/mysql-test/t/plugin_auth_sha256_tls.test -index f99df8a..1b38fda 100644 ---- a/mysql-test/t/plugin_auth_sha256_tls.test -+++ b/mysql-test/t/plugin_auth_sha256_tls.test -@@ -1,7 +1,7 @@ - --source include/not_embedded.inc - --source include/have_ssl.inc - --connect (ssl_con,localhost,root,,,,,SSL); -+connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - SHOW STATUS LIKE 'Ssl_cipher'; - - CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; -diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test -index ea8be39..c61ca8b 100644 ---- a/mysql-test/t/ssl.test -+++ b/mysql-test/t/ssl.test -@@ -8,7 +8,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_con,localhost,root,,,,,SSL); -+connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; -diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test -index d94c2fc..c27ca58 100644 ---- a/mysql-test/t/ssl_8k_key.test -+++ b/mysql-test/t/ssl_8k_key.test -@@ -4,7 +4,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other - ## encryption routines that the SSL library happens to provide! -diff --git a/mysql-test/t/ssl_compress.test b/mysql-test/t/ssl_compress.test -index 2cb4c0d..feaa0e7 100644 ---- a/mysql-test/t/ssl_compress.test -+++ b/mysql-test/t/ssl_compress.test -@@ -9,7 +9,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); -+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/community-mysql-md5_fips.patch b/community-mysql-md5_fips.patch deleted file mode 100644 index 4c2ad54..0000000 --- a/community-mysql-md5_fips.patch +++ /dev/null @@ -1,50 +0,0 @@ -Added to address RHBZ#1449689 - -Original patch notes from follows: - -... - -In FIPS mode there is no md5 by default, unless declared it is specifically -allowed. MD5 is used for non-crypto related things in MySQL (digests related -to performance schema and table list), so it is ok to use MD5 there. - -However, there is also MD5() SQL function, that should still keep working, -but users should know they should avoid using it in FIPS mode. - -RHBZ: #1351791 - -Upstream bug reports: -http://bugs.mysql.com/bug.php?id=83696 -https://jira.mariadb.org/browse/MDEV-7788 - - -diff -Naurp mysql-5.7.18_original/mysys_ssl/my_md5.cc mysql-5.7.18_patched/mysys_ssl/my_md5.cc ---- mysql-5.7.18_original/mysys_ssl/my_md5.cc 2017-03-18 08:45:14.000000000 +0100 -+++ mysql-5.7.18_patched/mysys_ssl/my_md5.cc 2017-05-12 12:19:38.584814619 +0200 -@@ -38,13 +38,22 @@ static void my_md5_hash(char *digest, co - - #elif defined(HAVE_OPENSSL) - #include -+#include - - static void my_md5_hash(unsigned char* digest, unsigned const char *buf, int len) - { -- MD5_CTX ctx; -- MD5_Init (&ctx); -- MD5_Update (&ctx, buf, len); -- MD5_Final (digest, &ctx); -+ EVP_MD_CTX *ctx; -+ ctx = EVP_MD_CTX_create(); -+ -+ #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW -+ /* we will be using MD5, which is not allowed under FIPS */ -+ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); -+ #endif -+ -+ EVP_DigestInit_ex(ctx, EVP_md5(), NULL); -+ EVP_DigestUpdate(ctx, buf, len); -+ EVP_DigestFinal_ex(ctx, digest, NULL); -+ EVP_MD_CTX_destroy(ctx); - } - - #endif /* HAVE_YASSL */ diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 20b77d5..078782f 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,7 +4,7 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index ec2b492..43e4ccd 100644 +index f5ac0bf2..cd3132de 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -114,7 +114,7 @@ IF(UNIX) @@ -25,10 +25,10 @@ index ec2b492..43e4ccd 100644 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc -index 2d76700..02c5885 100644 +index 1317e362..cfa0feb7 100644 --- a/mysys_ssl/my_default.cc +++ b/mysys_ssl/my_default.cc -@@ -1733,12 +1733,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) +@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else @@ -45,20 +45,32 @@ index 2d76700..02c5885 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c66a910..af9bc9e 100644 +index c1202103..06a055b1 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -324,7 +324,7 @@ ELSE() +@@ -315,7 +315,7 @@ ENDIF(UNIX) + + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(sbindir ${prefix}/${INSTALL_SBINDIR}) +-SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) ++SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) + SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + IF(INSTALL_LAYOUT MATCHES "STANDALONE") + SET(localstatedir ${prefix}/data) +@@ -324,9 +324,9 @@ ELSE() ENDIF() SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) +SET(sysconfdir ${SYSCONFDIR}) SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) +-SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) ++SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + SET(libsubdir ${INSTALL_LIBDIR}) diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh -index 5ad36e7..5dd032f 100644 +index 5ad36e7b..5dd032f2 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -572,9 +572,7 @@ sub list_defaults_files diff --git a/community-mysql.spec b/community-mysql.spec index 18e8585..ebcf674 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -112,10 +112,9 @@ Source31: server.cnf.in # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-install-test.patch Patch2: %{pkgnamepatch}-s390-tsc.patch -Patch4: %{pkgnamepatch}-file-contents.patch -Patch5: %{pkgnamepatch}-scripts.patch -Patch6: %{pkgnamepatch}-paths.patch -Patch7: %{pkgnamepatch}-md5_fips.patch +Patch3: %{pkgnamepatch}-file-contents.patch +Patch4: %{pkgnamepatch}-scripts.patch +Patch5: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -353,9 +352,9 @@ the MySQL sources. %setup -q -n mysql-%{version} %patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %patch51 -p1 %patch52 -p1 %patch75 -p1 @@ -485,12 +484,13 @@ cmake .. \ -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBEXECDIR=libexec \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ - -DINSTALL_SBINDIR=libexec \ + -DINSTALL_SBINDIR=bin \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ @@ -568,7 +568,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait %endif # helper scripts for service starting -install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade @@ -595,7 +595,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf %if %{with debug} -mv %{buildroot}%{_libexecdir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld +mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_bindir}/mysqld %endif # Back to src dir @@ -833,7 +833,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%{_libexecdir}/mysqld +%{_bindir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -922,6 +922,19 @@ fi %endif %changelog +* Mon May 14 2018 Norvald H. Ryeng - 8.0.11-2 +- MySQL 8.0 has notify support +- SQL restart command needs MYSQLD_PARENT_PID=1 +- Increase LimitNOFILE +- Disable symbolic links is default (and option deprecated) +- Move mysqld to /usr/bin, with mysqld_safe gone there no reason + to have mysqld in libexec +- FIPS mode is now supported: + https://dev.mysql.com/doc/refman/8.0/en/fips-mode.html +- Remove legacy embedded refs from cnf files +- Clean up patches: re-numbering and removing +- Recommend to use systemctl edit to modify service files + * Fri Apr 20 2018 Norvald H. Ryeng - 8.0.11-1 - Update to MySQL 8.0.11 (GA). diff --git a/my.cnf.in b/my.cnf.in index 1e9009e..2bb9e88 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -8,8 +8,6 @@ # This group is read by the server # [mysqld] -# Disabling symbolic-links is recommended to prevent assorted security risks -symbolic-links=0 # # include all files from the config directory diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 46cf636..65726bd 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -94,7 +94,7 @@ if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" + @bindir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.service.in b/mysql.service.in index 256cac2..743af60 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -1,27 +1,27 @@ # It's not recommended to modify this file in-place, because it will be # overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", -# containing -# .include /usr/lib/systemd/system/@DAEMON_NAME@.service -# ...make your changes here... -# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", -# which doesn't need to include ".include" call and which will be parsed -# after the file @DAEMON_NAME@.service itself is parsed. +# best way is to use systemctl edit: +# +# $ systemctl edit @DAEMON_NAME@.service +# +# this will create file +# +# /etc/systemd/system/@DAEMON_NAME@.service.d/override.conf +# +# which be parsed after the file @DAEMON_NAME@.service itself is parsed. +# +# For example, if you want to increase mysql's open-files-limit to 20000 +# add following when editing with command above: +# +# [Service] +# LimitNOFILE=20000 +# +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true # # For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: -# [Service] -# LimitNOFILE=10000 - -# Or if you require to execute pre and post scripts in the unit file as root, set -# PermissionsStartOnly=true - -# Note: /usr/lib/... is recommended in the .include line though /lib/... -# still works. +# # Don't forget to reload systemd daemon after you change unit configuration: # root> systemctl --system daemon-reload @@ -31,16 +31,15 @@ After=syslog.target After=network.target [Service] -Type=forking +Type=notify User=mysql Group=mysql -PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid +ExecStart=@bindir@/mysqld --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop @@ -54,5 +53,11 @@ Restart=on-failure RestartPreventExitStatus=1 +# Sets open_files_limit +LimitNOFILE = 10000 + +# Set enviroment variable MYSQLD_PARENT_PID. This is required for SQL restart command. +Environment=MYSQLD_PARENT_PID=1 + [Install] WantedBy=multi-user.target diff --git a/mysql@.service.in b/mysql@.service.in index aad98f7..ec0004f 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -1,27 +1,27 @@ # It's not recommended to modify this file in-place, because it will be # overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", -# containing -# .include /usr/lib/systemd/system/@DAEMON_NAME@.service -# ...make your changes here... -# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", -# which doesn't need to include ".include" call and which will be parsed -# after the file @DAEMON_NAME@.service itself is parsed. +# best way is to use systemctl edit: +# +# $ systemctl edit @DAEMON_NAME@.service +# +# this will create file +# +# /etc/systemd/system/@DAEMON_NAME@.service.d/override.conf +# +# which be parsed after the file @DAEMON_NAME@.service itself is parsed. +# +# For example, if you want to increase mysql's open-files-limit to 20000 +# add following when editing with command above: +# +# [Service] +# LimitNOFILE=20000 +# +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true # # For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: -# [Service] -# LimitNOFILE=10000 - -# Or if you require to execute pre and post scripts in the unit file as root, set -# PermissionsStartOnly=true - -# Note: /usr/lib/... is recommended in the .include line though /lib/... -# still works. +# # Don't forget to reload systemd daemon after you change unit configuration: # root> systemctl --system daemon-reload @@ -31,7 +31,7 @@ After=syslog.target After=network.target [Service] -Type=forking +Type=notify User=mysql Group=mysql @@ -39,7 +39,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid +ExecStart=@bindir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I @@ -53,5 +53,11 @@ Restart=on-failure RestartPreventExitStatus=1 +# Sets open_files_limit +LimitNOFILE = 10000 + +# Set enviroment variable MYSQLD_PARENT_PID. This is required for SQL restart command. +Environment=MYSQLD_PARENT_PID=1 + [Install] WantedBy=multi-user.target diff --git a/server.cnf.in b/server.cnf.in index e25b599..ba3d479 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -1,25 +1,18 @@ # -# These groups are read by MySQL server. +# This group are read by MySQL server. # Use it for options that only the server (but not clients) should see # -# See the examples of server my.cnf files in /usr/share/mysql/ -# +# For advice on how to change settings please see +# http://dev.mysql.com/doc/refman/en/server-configuration-defaults.html -# this is read by the standalone daemon and embedded servers -[server] - -# this is only for the mysqld standalone daemon # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, -# customize your systemd unit file for mysqld/mariadb according to the +# customize your systemd unit file for mysqld according to the # instructions in http://fedoraproject.org/wiki/Systemd + [mysqld] datadir=@MYSQL_DATADIR@ socket=@MYSQL_UNIX_ADDR@ log-error=@LOG_LOCATION@ pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid - -# this is only for embedded server -[embedded] - From 63e012e12d2b9a0bedd168819e9052fc7cc5931e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 22:05:59 +0000 Subject: [PATCH 421/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ebcf674..298385a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -922,6 +922,9 @@ fi %endif %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 8.0.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Mon May 14 2018 Norvald H. Ryeng - 8.0.11-2 - MySQL 8.0 has notify support - SQL restart command needs MYSQLD_PARENT_PID=1 From e2d24af13c03857bf289b1a468b526aff1b3ec8a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 13 Jul 2018 09:23:38 +0200 Subject: [PATCH 422/616] Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin This is done to make SELinux happy again (because correct context is only defined for /usr/libexec/mysqld) and also because of back-ward compatibility, that users might have /usr/libexec/mysqld path hard-coded already). --- community-mysql.spec | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 298385a..1456cfd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -594,8 +594,14 @@ chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf +# for back-ward compatibility and SELinux, let's keep the mysqld in libexec +# and just create a symlink in /usr/sbin +mv %{buildroot}%{_bindir}/mysqld %{buildroot}%{_libexecdir}/mysqld +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld + %if %{with debug} -mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_bindir}/mysqld +mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld %endif # Back to src dir @@ -833,7 +839,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%{_bindir}/mysqld +%{_sbindir}/mysqld +%{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -922,6 +929,9 @@ fi %endif %changelog +* Thu Jul 12 2018 Honza Horak - 8.0.11-4 +- Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin + * Thu Jul 12 2018 Fedora Release Engineering - 8.0.11-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 12073de2f3a56b62edf3648040d15a74d0c9ed21 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Jul 2018 16:39:08 +0200 Subject: [PATCH 423/616] Move log file to a directory owned by mysql user Resolves: #1590369 --- community-mysql.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1456cfd..1e25a0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,7 +62,7 @@ # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d -%global logfiledir %{_localstatedir}/log +%global logfiledir %{_localstatedir}/log/%{pkg_name} %global logfile %{logfiledir}/%{daemon_no_prefix}.log # Defining where database data live @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -903,6 +903,7 @@ fi %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring %attr(0755,mysql,mysql) %dir %{pidfiledir} +%attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -929,6 +930,10 @@ fi %endif %changelog +* Tue Jul 17 2018 Honza Horak - 8.0.11-5 +- Move log file to a directory owned by mysql user + Resolves: #1590369 + * Thu Jul 12 2018 Honza Horak - 8.0.11-4 - Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin From 2a14404d221024d68bee8e9ab3a438f28d5ef195 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Jul 2018 22:16:11 +0200 Subject: [PATCH 424/616] Use explicitly openssl-devel as dependency for -devel sub-package The reason is that we want to install the same version of the openssl as we use for building, not any version, like compat-openssl10-devel (which is the case actually, because yum prefers the name sooner in the alphabet). --- community-mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1e25a0a..67c22da 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -301,7 +301,7 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -Requires: pkgconfig(openssl) +Requires: openssl-devel Requires: zlib-devel %{?with_conflicts:Conflicts: mariadb-devel} @@ -933,6 +933,7 @@ fi * Tue Jul 17 2018 Honza Horak - 8.0.11-5 - Move log file to a directory owned by mysql user Resolves: #1590369 +- Use explicitly openssl-devel as dependency for -devel sub-package * Thu Jul 12 2018 Honza Horak - 8.0.11-4 - Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin From 8080903e5cec5c5bb88547e8b26e5e1d8fe49748 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 00:02:40 +0200 Subject: [PATCH 425/616] Use /var/log/mysql rather than /var/log/community-mysql Also use a temporary fix for the SELinux context --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 67c22da..dd6a655 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,7 +62,7 @@ # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d -%global logfiledir %{_localstatedir}/log/%{pkg_name} +%global logfiledir %{_localstatedir}/log/mysql %global logfile %{logfiledir}/%{daemon_no_prefix}.log # Defining where database data live @@ -708,6 +708,9 @@ fi if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi +# TODO: remove after selinux-policy is fixed (BZ#1602153) +semanage fcontext -a -t mysqld_log_t %{logfiledir} +restorecon -r %{logfiledir} %preun server From 40102ee6fa1c670d5a8313300c1713fb8c1fc7bc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 00:03:18 +0200 Subject: [PATCH 426/616] Fix scripts after moving mysqld back to /usr/libexec --- mysql-prepare-db-dir.sh | 2 +- mysql.service.in | 2 +- mysql@.service.in | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 65726bd..46cf636 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -94,7 +94,7 @@ if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @bindir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" + @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.service.in b/mysql.service.in index 743af60..4a7c295 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -39,7 +39,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@bindir@/mysqld --basedir=@prefix@ +ExecStart=@libexecdir@/mysqld --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop diff --git a/mysql@.service.in b/mysql@.service.in index ec0004f..554f0ba 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -39,7 +39,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@bindir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ +ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I From 8a5f2f75c5282cc937abd6e40ef673c782ccabdd Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 07:58:48 +0200 Subject: [PATCH 427/616] Fix rule for selinux context for the log file --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index dd6a655..3397f23 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -709,7 +709,7 @@ if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi # TODO: remove after selinux-policy is fixed (BZ#1602153) -semanage fcontext -a -t mysqld_log_t %{logfiledir} +semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' restorecon -r %{logfiledir} From d9abe8f525ac2d3af45767a6017b996bcf59f889 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 08:02:58 +0200 Subject: [PATCH 428/616] Ignore unstable tests import_5_7 sdi dd_upgrade_partition --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 3397f23..8fe578e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -420,6 +420,9 @@ add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 add_test perfschema.global_read_lock : missing hw on arm32 add_test perfschema.func_mutex : missing hw on arm32 +add_test import_5_7 : 8.0 issue/aarch64 +add_test sdi : 8.0 issue/aarch64 +add_test dd_upgrade_partition : 8.0 issue/aarch64 %endif # This test fail on ppc64 and ppc64le; applicable in 5.7.21 From 2d4484d225fdbcf30ef418f5077b49f1f9b08add Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 18:32:48 +0200 Subject: [PATCH 429/616] Disable the lately added tests on aarch64, not arm --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 8fe578e..c0ce3cb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -420,6 +420,10 @@ add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 add_test perfschema.global_read_lock : missing hw on arm32 add_test perfschema.func_mutex : missing hw on arm32 +%endif + +# these tests fail on aarch64 +%ifarch aarch64 add_test import_5_7 : 8.0 issue/aarch64 add_test sdi : 8.0 issue/aarch64 add_test dd_upgrade_partition : 8.0 issue/aarch64 From c0f198f8d9ee8734596a461f79ba1e722749ed48 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 1 Aug 2018 15:17:10 +0200 Subject: [PATCH 430/616] Update to MySQL 8.0.12 --- community-mysql-icu.patch | 13 ++++++++++++ community-mysql-sharedir.patch | 38 ++++++++++++++++------------------ community-mysql.spec | 28 ++++++++++++++----------- 3 files changed, 47 insertions(+), 32 deletions(-) create mode 100644 community-mysql-icu.patch diff --git a/community-mysql-icu.patch b/community-mysql-icu.patch new file mode 100644 index 0000000..7761d93 --- /dev/null +++ b/community-mysql-icu.patch @@ -0,0 +1,13 @@ +diff --git a/plugin/x/src/xpl_regex.cc b/plugin/x/src/xpl_regex.cc +index eefb14d78b7..a77a807459c 100644 +--- a/plugin/x/src/xpl_regex.cc ++++ b/plugin/x/src/xpl_regex.cc +@@ -53,7 +53,7 @@ bool xpl::Regex::match(const char *value) const { + * and parse the text patter each time that xpl::Regex::match + * is called. + */ +- UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; ++ icu::UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; + std::unique_ptr regexp{ + m_pattern->matcher(value_as_utf8, match_status)}; + diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 543affd..9f05b1b 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,5 +1,5 @@ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt -index 7c1e82b..a92ba91 100644 +index 7c1e82b5..a92ba915 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt @@ -56,6 +56,10 @@ INSTALL( @@ -14,30 +14,28 @@ index 7c1e82b..a92ba91 100644 # Enable running mtr from build directory CONFIGURE_FILE( diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index e9130dd..388c039 100755 +index 8c058527..7acd8534 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl -@@ -1535,11 +1535,13 @@ sub command_line_setup { +@@ -1479,11 +1479,11 @@ sub command_line_setup { } # Look for language files and charsetsdir, use same share -- $path_language= mtr_path_exists("$bindir/share/mysql", -+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", -+ "$bindir/share/mysql", - "$bindir/share"); - my $path_share= $path_language; +- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share"); ++ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share"); + my $path_share = $path_language; -- @share_locations= ("share/mysql", -+ @share_locations= ("@INSTALL_MYSQLSHAREDIR@", -+ "share/mysql", - "share/mysql-" . $mysql_base_version, - "share"); + @share_locations = +- ("share/mysql", "share/mysql-" . $mysql_base_version, "share"); ++ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql", "share/mysql-" . $mysql_base_version, "share"); -@@ -4140,6 +4142,7 @@ sub mysql_install_db { + $path_charsetsdir = my_find_dir($basedir, \@share_locations, "charsets"); - my $path_sql= my_find_file($install_basedir, - ["mysql", "share/mysql", -+ "@INSTALL_MYSQLSHAREDIR@", - "share/mysql-" . $mysql_base_version, - "share", "scripts"], - "mysql_system_tables.sql", +@@ -3727,6 +3727,7 @@ sub mysql_install_db { + + my $path_sql = my_find_file($install_basedir, + [ "mysql", "share/mysql", ++ "@INSTALL_MYSQLSHAREDIR@", + "share/mysql-" . $mysql_base_version, + "share", "scripts" + ], diff --git a/community-mysql.spec b/community-mysql.spec index c0ce3cb..c00d817 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -5,7 +5,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail %global check_testsuite 0 @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.11 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 8.0.12 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -115,6 +115,7 @@ Patch2: %{pkgnamepatch}-s390-tsc.patch Patch3: %{pkgnamepatch}-file-contents.patch Patch4: %{pkgnamepatch}-scripts.patch Patch5: %{pkgnamepatch}-paths.patch +Patch6: %{pkgnamepatch}-icu.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -130,6 +131,7 @@ BuildRequires: gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel +BuildRequires: libicu-devel BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel @@ -146,6 +148,8 @@ BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif BuildRequires: protobuf-lite-devel +BuildRequires: rapidjson-devel +BuildRequires: re2-devel BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -175,7 +179,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.66 +Provides: bundled(boost) = 1.67 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -355,12 +359,13 @@ the MySQL sources. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %patch51 -p1 %patch52 -p1 %patch75 -p1 # Patch Boost -pushd boost/boost_1_66_0 +pushd boost/boost_1_67_0 %patch115 -p0 %patch125 -p1 popd @@ -514,14 +519,9 @@ cmake .. \ %ifarch s390 s390x -DUSE_LD_GOLD=OFF \ %endif - -DWITH_EDITLINE=system \ - -DWITH_LIBEVENT=system \ - -DWITH_LZ4=system \ - -DWITH_MECAB=system \ - -DWITH_PROTOBUF=system \ - -DWITH_SSL=system \ - -DWITH_ZLIB=system \ + -DWITH_SYSTEM_LIBS=ON \ -DWITH_BOOST=../boost \ + -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ @@ -895,6 +895,7 @@ fi %{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql +%{_datadir}/%{pkg_name}/mysql_system_users.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/uninstall_rewriter.sql @@ -940,6 +941,9 @@ fi %endif %changelog +* Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 +- Update to MySQL 8.0.12 + * Tue Jul 17 2018 Honza Horak - 8.0.11-5 - Move log file to a directory owned by mysql user Resolves: #1590369 From e22476bafe8b11543573f7f8ccf859b669af2a96 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 13 Aug 2018 13:21:17 +0200 Subject: [PATCH 431/616] New sources for 8.0.12 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index dc248e9..53e97a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.11.tar.gz) = 845db694c5669bf23e03b8d8169ed1194f6c8eec0957976791f533dedc8e7c6618bf75d88224f86dbc679a05f22d49019792bc7a0cbe1f1efea55f9a0a67df91 +SHA512 (mysql-boost-8.0.12.tar.gz) = 68aeb0bb69f7087e0c308fe735f67dd973a6a2282b4027f9e20bed5e179f48e073d116542ae0dce80de7538e62247bd893ed2eb13371188e1b5019ff74c4b9ad From ad597f2de1de42562def3d20a7e20274d4a521b1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 6 Sep 2018 07:17:11 +0200 Subject: [PATCH 432/616] Fix the SYS_NICE capabilities; #1540946 --- community-mysql.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c00d817..81f82b0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -281,6 +281,9 @@ Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} %endif +# SYS_NICE capabilities; #1540946 +Recommends: libcap + %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -719,6 +722,10 @@ fi semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' restorecon -r %{logfiledir} +# Enable the SYS_NICE capablilities; #1540946 +if [ -e "/usr/sbin/setcap" ] ; then + setcap cap_sys_nice+ep /usr/libexec/mysqld +fi %preun server %if %{with init_systemd} @@ -941,6 +948,10 @@ fi %endif %changelog +* Thu Sep 06 2018 Michal Schorm - 8.0.12-2 +- Fix the SYS_NICE capabilities + Related: #1540946 + * Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 - Update to MySQL 8.0.12 From c44f50a64b0ab495a02e71ee4ec25b981a6f1ef1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 6 Sep 2018 13:31:56 +0200 Subject: [PATCH 433/616] Add requires for the semanage binary --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 81f82b0..7edc744 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -283,6 +283,8 @@ Requires: systemd %endif # SYS_NICE capabilities; #1540946 Recommends: libcap +# semanage +Requires(post): policycoreutils-python-utils %if %{with mysql_names} Provides: mysql-server = %{sameevr} @@ -951,6 +953,7 @@ fi * Thu Sep 06 2018 Michal Schorm - 8.0.12-2 - Fix the SYS_NICE capabilities Related: #1540946 +- Add requires for the semanage binary * Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 - Update to MySQL 8.0.12 From ac185ad3db5f72c4470b4184d81956ad8b62a81e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 23 Oct 2018 16:35:29 +0200 Subject: [PATCH 434/616] Rebase to 8.0.13 ICU patch removed; upstreamed Patch for MySQL Router introduced. Do not build it. CVEs fixed: CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195 CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247 CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282 CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145 CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143 CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185 CVE-2018-3280 CVE-2018-3203 CVE-2018-3155 --- community-mysql-arm32-timer.patch | 4 +- community-mysql-icu.patch | 13 --- community-mysql-router.patch | 17 ++++ community-mysql-sharedir.patch | 12 +-- community-mysql.spec | 159 +++++++++++++++--------------- sources | 2 +- 6 files changed, 100 insertions(+), 107 deletions(-) delete mode 100644 community-mysql-icu.patch create mode 100644 community-mysql-router.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 6d47307..4e5302c 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,8 +1,8 @@ --- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100 +++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100 @@ -311,6 +311,11 @@ - ("The member has resumed contact with a majority of the members in the group.*"), - ("Members removed from the group.*"), + */ + ("The SSL library function CRYPTO_set_mem_functions failed"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-icu.patch b/community-mysql-icu.patch deleted file mode 100644 index 7761d93..0000000 --- a/community-mysql-icu.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/plugin/x/src/xpl_regex.cc b/plugin/x/src/xpl_regex.cc -index eefb14d78b7..a77a807459c 100644 ---- a/plugin/x/src/xpl_regex.cc -+++ b/plugin/x/src/xpl_regex.cc -@@ -53,7 +53,7 @@ bool xpl::Regex::match(const char *value) const { - * and parse the text patter each time that xpl::Regex::match - * is called. - */ -- UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; -+ icu::UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; - std::unique_ptr regexp{ - m_pattern->matcher(value_as_utf8, match_status)}; - diff --git a/community-mysql-router.patch b/community-mysql-router.patch new file mode 100644 index 0000000..6e19604 --- /dev/null +++ b/community-mysql-router.patch @@ -0,0 +1,17 @@ +Do not build MySQL Router. +It is a set of tools and libraries used for the InnoDB cluster. + +However without MySQL SHELL it can't be operated. +We don't pack the MySQL SHELL, so donÂŽt build the router at all. + +--- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200 ++++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200 +@@ -1046,7 +1046,7 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/s + + # depends on mysql_version.h to exist + IF(NOT WITHOUT_SERVER) +- ADD_SUBDIRECTORY(router) ++# ADD_SUBDIRECTORY(router) + ENDIF() + + GET_PROPERTY(CWD_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS) diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 9f05b1b..cb1f1dc 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -26,16 +26,8 @@ index 8c058527..7acd8534 100755 my $path_share = $path_language; @share_locations = -- ("share/mysql", "share/mysql-" . $mysql_base_version, "share"); -+ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql", "share/mysql-" . $mysql_base_version, "share"); +- ("share/mysql-" . $mysql_base_version, "share/mysql", "share"); ++ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql-" . $mysql_base_version, "share/mysql", "share"); $path_charsetsdir = my_find_dir($basedir, \@share_locations, "charsets"); -@@ -3727,6 +3727,7 @@ sub mysql_install_db { - - my $path_sql = my_find_file($install_basedir, - [ "mysql", "share/mysql", -+ "@INSTALL_MYSQLSHAREDIR@", - "share/mysql-" . $mysql_base_version, - "share", "scripts" - ], diff --git a/community-mysql.spec b/community-mysql.spec index 7edc744..0ae6990 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -5,7 +5,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail %global check_testsuite 0 @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.12 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 8.0.13 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -115,11 +115,11 @@ Patch2: %{pkgnamepatch}-s390-tsc.patch Patch3: %{pkgnamepatch}-file-contents.patch Patch4: %{pkgnamepatch}-scripts.patch Patch5: %{pkgnamepatch}-paths.patch -Patch6: %{pkgnamepatch}-icu.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-router.patch Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 @@ -135,6 +135,7 @@ BuildRequires: libicu-devel BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel +BuildRequires: bison %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif @@ -364,9 +365,9 @@ the MySQL sources. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %patch51 -p1 %patch52 -p1 +%patch53 -p1 %patch75 -p1 # Patch Boost @@ -384,47 +385,43 @@ add_test () { touch %{skiplist} -# fails everywhere -add_test gis.srs : 8.0 issue -add_test main.import : 8.0 issue -add_test main.no_binlog_related_options : 8.0 issue -add_test main.regular_expressions_func_icu_54 : 8.0 issue -add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue -add_test main.regular_expressions_utf-8 : 8.0 issue -add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue -add_test perfschema.histograms : 8.0 issue -add_test main.log_options_cmdline : 8.0 issue +# Fails everywhere +add_test auth_sec.cert_verify : +add_test auth_sec.mysql_ssl_connection : +add_test auth_sec.openssl_cert_generation : +add_test auth_sec.openssl_without_fips : +add_test auth_sec.ssl_auto_detect : +add_test auth_sec.ssl_mode : +add_test auth_sec.tls : +add_test binlog.binlog_grant_alter_user : +add_test innodb.create_tablespace : +add_test main.grant_alter_user_qa : +add_test main.grant_user_lock_qa : +add_test main.mysql_ssl_default : +add_test main.openssl_1 : +add_test main.persisted_variables_bugs : +add_test main.plugin_auth_sha256_tls : +add_test main.read_only_persisted_plugin_variables : +add_test main.ssl : +add_test main.ssl_ca : +add_test main.ssl_cipher : +add_test main.ssl_compress : +add_test main.ssl_crl : +add_test main.ssl_verify_identity : +add_test main.ssl_8k_key : +add_test x.connection_openssl : +add_test x.connection_openssl_unixsocket : +add_test x.connection_tls_version : +add_test x.mysqlxtest_mode_ssl : +add_test x.mysqlxtest_mode_ssl_unixsocket : -# Fails since 8.0 -add_test x.crud_insert_cast : -add_test x.insert_table : -add_test x.insert_table_bad_column : -add_test x.insert_table_bad_column_type : -add_test x.insert_table_bad_numcolumns : -add_test x.update_crud_arrayappend_o : -add_test x.update_crud_arrayinsert_o : - -add_test innodb.innodb : missing correct value -add_test innodb.innodb_cats : -add_test innodb.log_corruption : - -add_test main.dd_upgrade_test : -add_test main.disabled_replication : -add_test main.flush2 : -add_test main.import : -add_test main.mysqldump-no-binlog : -add_test main.skip_log_bin : - -add_test main.window_functions_explain : -add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status : -add_test gis.gis_bugs_crashes : -add_test perfschema.histograms : -add_test main.log_options_cmdline : - -# these tests fail on arm32 -%ifarch %arm -# FTS; still apply for 5.7.21 -add_test innodb_fts.opt : arm32 FTS issue +# these tests fail on arm +%ifarch %arm aarch64 +add_test innodb.log_corruption : +add_test innodb.innodb-wl6445-2 : +add_test gis.st_latitude : +add_test gis.st_longitude : +add_test main.log_options_cmdline: # Missing hw counters; in 5.7.21 reported as unstable tests add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 @@ -432,35 +429,28 @@ add_test perfschema.global_read_lock : missing hw on arm32 add_test perfschema.func_mutex : missing hw on arm32 %endif -# these tests fail on aarch64 -%ifarch aarch64 -add_test import_5_7 : 8.0 issue/aarch64 -add_test sdi : 8.0 issue/aarch64 -add_test dd_upgrade_partition : 8.0 issue/aarch64 -%endif - # This test fail on ppc64 and ppc64le; applicable in 5.7.21 %ifarch ppc64le -add_test main.histograms : 8.0 issue/ppc64le -add_test main.opt_costmodel : 8.0 issue/ppc64le -add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le -add_test perfschema.memory_aggregate_no_a : incorrect numbers in output -add_test innodb_zip.wl6469 : -add_test json.json_functions_innodb : -add_test main.ps : -add_test main.select_all : -add_test main.select_all_bka : -add_test main.select_all_bka_nixbnl : -add_test main.select_icp_mrr : -add_test main.select_icp_mrr_bka : -add_test main.select_icp_mrr_bka_nixbnl : -add_test main.select_none : -add_test main.select_none_bka : -add_test main.select_none_bka_nixbnl : -add_test main.sp : -add_test main.type_float : -add_test main.type_newdecimal : -add_test main.type_ranges : +add_test innodb.create_tablespace : +add_test innodb.instant_add_column_basic : +add_test innodb.temporary_table_optimization : +add_test json.json_functions_innodb : +add_test main.histograms : +add_test main.opt_costmodel : +add_test main.ps : +add_test main.select_all : +add_test main.select_all_bka : +add_test main.select_all_bka_nixbnl : +add_test main.select_icp_mrr : +add_test main.select_icp_mrr_bka : +add_test main.select_icp_mrr_bka_nixbnl : +add_test main.select_none : +add_test main.select_none_bka : +add_test main.select_none_bka_nixbnl : +add_test main.sp : +add_test main.type_float : +add_test main.type_newdecimal : +add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif @@ -534,6 +524,8 @@ cmake .. \ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +cmake .. -LAH + make %{?_smp_mflags} VERBOSE=1 popd @@ -898,15 +890,7 @@ fi %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt -%{_datadir}/%{pkg_name}/fill_help_tables.sql -%{_datadir}/%{pkg_name}/innodb_memcached_config.sql -%{_datadir}/%{pkg_name}/install_rewriter.sql -%{_datadir}/%{pkg_name}/mysql_sys_schema.sql -%{_datadir}/%{pkg_name}/mysql_system_tables.sql -%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql -%{_datadir}/%{pkg_name}/mysql_system_users.sql -%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql -%{_datadir}/%{pkg_name}/uninstall_rewriter.sql +%{_datadir}/%{pkg_name}/*.sql %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -950,6 +934,19 @@ fi %endif %changelog +* Tue Oct 23 2018 Michal Schorm - 8.0.13-1 +- Rebase to 8.0.13 +- ICU patch removed; upstreamed +- Patch for MySQL Router introduced. Do not build it. +- CVEs fixed: + CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195 + CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247 + CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282 + CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145 + CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143 + CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185 + CVE-2018-3280 CVE-2018-3203 CVE-2018-3155 + * Thu Sep 06 2018 Michal Schorm - 8.0.12-2 - Fix the SYS_NICE capabilities Related: #1540946 diff --git a/sources b/sources index 53e97a1..730ca16 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.12.tar.gz) = 68aeb0bb69f7087e0c308fe735f67dd973a6a2282b4027f9e20bed5e179f48e073d116542ae0dce80de7538e62247bd893ed2eb13371188e1b5019ff74c4b9ad +SHA512 (mysql-boost-8.0.13.tar.gz) = 3452ee09f3c1217bd86137fc415ea67140a81c22ca208e8edf1f9f6b6ad05fd99251ae8ad6283a3bdf316633d8969331e716bc566a8ff138d81ddb575da269fe From 7a07417a0db2a4060d5d153a33486904aa23afb5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Oct 2018 16:44:01 +0100 Subject: [PATCH 435/616] Extend the comment for MySQL Router patch --- community-mysql-router.patch | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql-router.patch b/community-mysql-router.patch index 6e19604..f86d2ea 100644 --- a/community-mysql-router.patch +++ b/community-mysql-router.patch @@ -1,8 +1,13 @@ Do not build MySQL Router. It is a set of tools and libraries used for the InnoDB cluster. -However without MySQL SHELL it can't be operated. -We don't pack the MySQL SHELL, so donÂŽt build the router at all. +However without MySQL Shell it can't be operated. +We don't pack the MySQL Shell, so donÂŽt build the router at all. + + + +I have this confirmed from the mail conversation with the MySQL side: +"While technically possible, it's practically impossible to set up router without the MySQL Shell." --- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200 +++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200 From ca1d4ebea2caca219cab2b4d476bfad692d58708 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 2 Jan 2019 11:26:51 +0100 Subject: [PATCH 436/616] Add failing test --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 0ae6990..7089081 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -414,6 +414,8 @@ add_test x.connection_openssl_unixsocket : add_test x.connection_tls_version : add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : +# Fails from 1.1. 2019 +add_test auth_sec.openssl_cert_validity : # these tests fail on arm %ifarch %arm aarch64 From 29366af88382e581d0129b6f4424a1bb7b468a98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 14 Jan 2019 18:58:26 +0100 Subject: [PATCH 437/616] Rebuilt for libcrypt.so.2 (#1666033) --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7089081..af33c1d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.13 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -936,6 +936,9 @@ fi %endif %changelog +* Mon Jan 14 2019 Björn Esser - 8.0.13-2 +- Rebuilt for libcrypt.so.2 (#1666033) + * Tue Oct 23 2018 Michal Schorm - 8.0.13-1 - Rebase to 8.0.13 - ICU patch removed; upstreamed From 433427a2416b26ce37ead044259b2c3649eb8f8c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Jan 2019 13:07:05 +0100 Subject: [PATCH 438/616] Disable test 'main.mysqldump' --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index af33c1d..5d7a6ed 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -416,6 +416,8 @@ add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : # Fails from 1.1. 2019 add_test auth_sec.openssl_cert_validity : +# +add_test main.mysqldump : # these tests fail on arm %ifarch %arm aarch64 From d1cec35de54a2df06ee7db785c3895a9dea56d4d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Jan 2019 13:23:01 +0100 Subject: [PATCH 439/616] Tweak handling of the mysql-selinux requirement --- community-mysql.spec | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5d7a6ed..be36866 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -10,6 +10,9 @@ # Set this to 1 to see which tests fail %global check_testsuite 0 +# Aditional SELinux rules +%global require_mysql_selinux 0 + # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -80,7 +83,7 @@ Name: community-mysql Version: 8.0.13 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -287,6 +290,12 @@ Recommends: libcap # semanage Requires(post): policycoreutils-python-utils +# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# For cases, where we want to fix a SELinux issues in MySQL sooner than patched selinux-policy-targeted package is released +%if %require_mysql_selinux +Requires: (mysql-selinux if selinux-policy-targeted) +%endif + %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -938,6 +947,9 @@ fi %endif %changelog +* Wed Jan 16 2019 Michal Schorm - 8.0.13-3 +- Tweak handling of the mysql-selinux requirement + * Mon Jan 14 2019 Björn Esser - 8.0.13-2 - Rebuilt for libcrypt.so.2 (#1666033) From 8b1a37cf3f464d64c44193e331f3ee3046ce6fa0 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Wed, 23 Jan 2019 10:29:27 +0100 Subject: [PATCH 440/616] Update to MySQL 8.0.14 --- community-mysql-gcc9.patch | 15 +++++++++++++++ community-mysql.spec | 17 +++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 community-mysql-gcc9.patch diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch new file mode 100644 index 0000000..652390f --- /dev/null +++ b/community-mysql-gcc9.patch @@ -0,0 +1,15 @@ +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index 8cc64089f5a..2ee48177b85 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient) + + MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc) + TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl) +-# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ?? +-IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0") +- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++) +-ENDIF() + + # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". + IF(WIN32) diff --git a/community-mysql.spec b/community-mysql.spec index be36866..7a6fa08 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -82,8 +82,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.13 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.14 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -123,6 +123,7 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-router.patch +Patch54: %{pkgnamepatch}-gcc9.patch Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 @@ -183,7 +184,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.67 +Provides: bundled(boost) = 1.68 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -377,10 +378,11 @@ the MySQL sources. %patch51 -p1 %patch52 -p1 %patch53 -p1 +%patch54 -p1 %patch75 -p1 # Patch Boost -pushd boost/boost_1_67_0 +pushd boost/boost_1_??_0 %patch115 -p0 %patch125 -p1 popd @@ -858,8 +860,6 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror -%{_bindir}/resolve_stack_dump -%{_bindir}/resolveip %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -896,8 +896,6 @@ fi %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* -%{_mandir}/man1/resolve_stack_dump.1* -%{_mandir}/man1/resolveip.1* %{_mandir}/man1/lz4_decompress.1* %{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* @@ -947,6 +945,9 @@ fi %endif %changelog +* Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 +- Update to MySQL 8.0.14 + * Wed Jan 16 2019 Michal Schorm - 8.0.13-3 - Tweak handling of the mysql-selinux requirement From 0ff692558ade498ab113686976eb2bbdb869961d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 23 Jan 2019 17:49:17 +0100 Subject: [PATCH 441/616] SPECfile cleanup Update of skipped tests list --- community-mysql.spec | 88 +++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7a6fa08..3d2d25b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -43,7 +43,7 @@ %bcond_with debug # Include files for SysV init or systemd -%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 +%if 0%{?fedora} || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv %global daemondir %{_unitdir} @@ -144,11 +144,11 @@ BuildRequires: bison BuildRequires: numactl-devel %endif BuildRequires: openssl-devel -%if 0%{?fedora} > 24 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators %endif -%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif @@ -198,7 +198,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?fedora} > 14 || 0%{?rhel} > 6 +%if 0%{?fedora} || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ %else @@ -307,8 +307,6 @@ Obsoletes: mysql-bench < 5.7.8 Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} -# A dependency mistake was made, to fix it, old version of the utils must be Obsoleted. Affected versions: F24, F25, F26 until their EOL. -Obsoletes: mariadb-server-utils < 3:10.1.21-3 %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -396,11 +394,10 @@ add_test () { touch %{skiplist} -# Fails everywhere +# Fails everywhere; last check: 8.0.14 add_test auth_sec.cert_verify : add_test auth_sec.mysql_ssl_connection : add_test auth_sec.openssl_cert_generation : -add_test auth_sec.openssl_without_fips : add_test auth_sec.ssl_auto_detect : add_test auth_sec.ssl_mode : add_test auth_sec.tls : @@ -408,11 +405,10 @@ add_test binlog.binlog_grant_alter_user : add_test innodb.create_tablespace : add_test main.grant_alter_user_qa : add_test main.grant_user_lock_qa : +add_test main.mysqldump : add_test main.mysql_ssl_default : add_test main.openssl_1 : -add_test main.persisted_variables_bugs : add_test main.plugin_auth_sha256_tls : -add_test main.read_only_persisted_plugin_variables : add_test main.ssl : add_test main.ssl_ca : add_test main.ssl_cipher : @@ -420,39 +416,28 @@ add_test main.ssl_compress : add_test main.ssl_crl : add_test main.ssl_verify_identity : add_test main.ssl_8k_key : +add_test main.type_float : +add_test perfschema.start_server_zero_digest_sql_length : add_test x.connection_openssl : add_test x.connection_openssl_unixsocket : add_test x.connection_tls_version : add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : -# Fails from 1.1. 2019 -add_test auth_sec.openssl_cert_validity : -# -add_test main.mysqldump : -# these tests fail on arm -%ifarch %arm aarch64 -add_test innodb.log_corruption : -add_test innodb.innodb-wl6445-2 : -add_test gis.st_latitude : -add_test gis.st_longitude : -add_test main.log_options_cmdline: -# Missing hw counters; in 5.7.21 reported as unstable tests -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 -add_test perfschema.func_mutex : missing hw on arm32 -%endif - -# This test fail on ppc64 and ppc64le; applicable in 5.7.21 -%ifarch ppc64le -add_test innodb.create_tablespace : +# These tests fail on ppc64 and ppc64le; last check 8.0.14 +%ifarch ppc ppc64 ppc64le add_test innodb.instant_add_column_basic : add_test innodb.temporary_table_optimization : add_test json.json_functions_innodb : +add_test main.ctype_utf8 : +add_test main.ctype_utf8mb4_heap : +add_test main.ctype_utf8mb4_innodb : +add_test main.ctype_utf8mb4_myisam : add_test main.histograms : add_test main.opt_costmodel : add_test main.ps : +add_test main.regular_expressions_func : +add_test main.regular_expressions_utf-8 : add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : @@ -463,10 +448,25 @@ add_test main.select_none : add_test main.select_none_bka : add_test main.select_none_bka_nixbnl : add_test main.sp : -add_test main.type_float : add_test main.type_newdecimal : add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : +add_test x.multiple_resultsets : +%endif + +# These tests fail on armv7hl; last check 8.0.14 +%ifarch %arm aarch64 +add_test gis.st_latitude : +add_test gis.st_longitude : +add_test x.connection_auth_mechanism_memory_ssl : +add_test x.connection_auth_mechanism_memory_with_invalidation : +add_test x.connection_auth_mechanism_memory1 : +add_test x.connection_auth_mechanism_memory2 : +# Missing hw counters; in 5.7.21 reported as unstable tests +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.func_mutex : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 %endif popd @@ -689,13 +689,14 @@ pushd mysql-test cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} + ./mtr %{?with_debug:--debug-server} \ --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} - --max-test-fail=100 || : + --max-test-fail=0 || : %else --skip-test-list=%{skiplist} %endif @@ -710,11 +711,6 @@ popd /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_post libs -%endif - %post server %if %{with init_systemd} %systemd_post %{daemon_name}.service @@ -727,9 +723,6 @@ fi if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi -# TODO: remove after selinux-policy is fixed (BZ#1602153) -semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' -restorecon -r %{logfiledir} # Enable the SYS_NICE capablilities; #1540946 if [ -e "/usr/sbin/setcap" ] ; then @@ -747,11 +740,6 @@ if [ $1 = 0 ]; then fi %endif -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_postun libs -%endif - %postun server %if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service @@ -947,6 +935,14 @@ fi %changelog * Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 - Update to MySQL 8.0.14 +- Remove fedora version condition that are no longer relevant +- Update skipped tests list +- CVEs fixed: #1666778 + CVE-2019-2420 CVE-2019-2434 CVE-2019-2436 CVE-2019-2455 CVE-2019-2481 + CVE-2019-2482 CVE-2019-2486 CVE-2019-2494 CVE-2019-2495 CVE-2019-2502 + CVE-2019-2503 CVE-2019-2507 CVE-2019-2510 CVE-2019-2528 CVE-2019-2529 + CVE-2019-2530 CVE-2019-2531 CVE-2019-2532 CVE-2019-2533 CVE-2019-2534 + CVE-2019-2535 CVE-2019-2536 CVE-2019-2537 CVE-2019-2539 * Wed Jan 16 2019 Michal Schorm - 8.0.13-3 - Tweak handling of the mysql-selinux requirement From 7cb12935009e6e33e5e8c7bfa0e6cfa8f330c181 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 28 Jan 2019 16:43:41 +0100 Subject: [PATCH 442/616] New sources for 8.0.14 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 730ca16..dbf4bc6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.13.tar.gz) = 3452ee09f3c1217bd86137fc415ea67140a81c22ca208e8edf1f9f6b6ad05fd99251ae8ad6283a3bdf316633d8969331e716bc566a8ff138d81ddb575da269fe +SHA512 (community-mysql-8.0.14-1.fc30.src.rpm) = b25819f280b2aa8c18a920b268db2ee50d1581e92d4fece3bffcc0a3bce3aadf096f59fcbddbff1c8f8362d6ee4e8cd5475fcb008170717c0593c41846cf35fb From 3a1d0bdeaeaba63615b9f99831850e6b03720e68 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 28 Jan 2019 17:10:01 +0100 Subject: [PATCH 443/616] Correct sources this time --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index dbf4bc6..fd1c55e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (community-mysql-8.0.14-1.fc30.src.rpm) = b25819f280b2aa8c18a920b268db2ee50d1581e92d4fece3bffcc0a3bce3aadf096f59fcbddbff1c8f8362d6ee4e8cd5475fcb008170717c0593c41846cf35fb +SHA512 (mysql-boost-8.0.14.tar.gz) = b6f2897d9258fefc3f945d52b3f510fae41c23b4a572c7af91665cca5f1b46fdc0a07aaafd5646c32105a31ee7a7a85d755b9a8bdc377c4d8528eeb52fc25fe8 From 5196e459a82d9436013da2d6afd831a3cbdf7a25 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:41 +0100 Subject: [PATCH 444/616] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- community-mysql.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3d2d25b..209c148 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -258,7 +258,6 @@ MySQL package. %if %{with errmsg} %package errmsg Summary: The error messages files required by MySQL server -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg From 4f98e7a1d31826ed6bb30ccee46d3ce5d061afac Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 29 Jan 2019 16:30:07 +0100 Subject: [PATCH 445/616] Update failing tests that started to fail due to changes in Rawhide --- community-mysql.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 209c148..75bb849 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -423,20 +423,22 @@ add_test x.connection_tls_version : add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : +# Started failing in due to changes in Rawhide after ~25.1.2019 +add_test main.ctype_utf8 : +add_test main.ctype_utf8mb4_heap : +add_test main.ctype_utf8mb4_innodb : +add_test main.ctype_utf8mb4_myisam : +add_test main.regular_expressions_func : +add_test main.regular_expressions_utf-8 : + # These tests fail on ppc64 and ppc64le; last check 8.0.14 %ifarch ppc ppc64 ppc64le add_test innodb.instant_add_column_basic : add_test innodb.temporary_table_optimization : add_test json.json_functions_innodb : -add_test main.ctype_utf8 : -add_test main.ctype_utf8mb4_heap : -add_test main.ctype_utf8mb4_innodb : -add_test main.ctype_utf8mb4_myisam : add_test main.histograms : add_test main.opt_costmodel : add_test main.ps : -add_test main.regular_expressions_func : -add_test main.regular_expressions_utf-8 : add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : From fb5621d327b34f7034311f2b82cbf33dcbd33cd7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 27 Jan 2019 10:47:35 +0000 Subject: [PATCH 446/616] Use RPATH for mysqld, so we can later set capabilities Set capabilities for mysqld the correct way --- community-mysql-rpath.patch | 18 ++++++++++++++++++ community-mysql.spec | 17 ++++++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 community-mysql-rpath.patch diff --git a/community-mysql-rpath.patch b/community-mysql-rpath.patch new file mode 100644 index 0000000..00cafa6 --- /dev/null +++ b/community-mysql-rpath.patch @@ -0,0 +1,18 @@ +MySQL 8.0 includes a feature that requires we set linux NICE capabilities to +mysqld daemon. Because of that, LD_LIBRARY_PATH does not work (see +secure-execution mode in http://man7.org/linux/man-pages/man8/ld.so.8.html). + +Related: #1628814 + +diff -up mysql-8.0.12/sql/CMakeLists.txt.patchrpath mysql-8.0.12/sql/CMakeLists.txt +--- mysql-8.0.12/sql/CMakeLists.txt.patchrpath 2018-09-14 13:59:02.884021458 +0200 ++++ mysql-8.0.12/sql/CMakeLists.txt 2018-09-14 14:01:10.897983621 +0200 +@@ -711,6 +711,8 @@ ENDIF() + MYSQL_ADD_EXECUTABLE(mysqld + ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) + ++SET_TARGET_PROPERTIES(mysqld PROPERTIES INSTALL_RPATH "${RPATH_LIBDIR}") ++ + OPTION(DEBUG_EXTNAME "Build server as mysqld-debug (debug builds only)" OFF) + MARK_AS_ADVANCED(DEBUG_EXTNAME) + diff --git a/community-mysql.spec b/community-mysql.spec index 75bb849..1771ae0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,7 +83,7 @@ Name: community-mysql Version: 8.0.14 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -124,6 +124,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-router.patch Patch54: %{pkgnamepatch}-gcc9.patch +Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 @@ -376,6 +377,7 @@ the MySQL sources. %patch52 -p1 %patch53 -p1 %patch54 -p1 +%patch55 -p1 %patch75 -p1 # Patch Boost @@ -509,6 +511,7 @@ cmake .. \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBEXECDIR=libexec \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DRPATH_LIBDIR="%{_libdir}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ @@ -725,11 +728,6 @@ if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi -# Enable the SYS_NICE capablilities; #1540946 -if [ -e "/usr/sbin/setcap" ] ; then - setcap cap_sys_nice+ep /usr/libexec/mysqld -fi - %preun server %if %{with init_systemd} %systemd_preun %{daemon_name}.service @@ -853,7 +851,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %{_sbindir}/mysqld -%{_libexecdir}/mysqld +# sys_nice capability required for rhbz#1628814 +%caps(cap_sys_nice=ep) %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -934,6 +933,10 @@ fi %endif %changelog +* Sun Jan 27 2019 Honza Horak - 8.0.14-2 +- Use RPATH for mysqld, so we can later set capabilities +- Set capabilities for mysqld the correct way + * Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 - Update to MySQL 8.0.14 - Remove fedora version condition that are no longer relevant From 03d570487e8ce8b09e4e65477fa0928e364d10f8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 16:03:45 +0000 Subject: [PATCH 447/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1771ae0..622c1db 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,7 +83,7 @@ Name: community-mysql Version: 8.0.14 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -933,6 +933,9 @@ fi %endif %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 8.0.14-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sun Jan 27 2019 Honza Horak - 8.0.14-2 - Use RPATH for mysqld, so we can later set capabilities - Set capabilities for mysqld the correct way From ed152fca98189d3c0344043e0d9721c511f98094 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Feb 2019 11:32:08 +0100 Subject: [PATCH 448/616] Update to 8.0.15 --- community-mysql.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 622c1db..148ba48 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -82,8 +82,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.14 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.15 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -933,6 +933,9 @@ fi %endif %changelog +* Mon Feb 11 2019 Michal Schorm - 8.0.15-1 +- Update to MySQL 8.0.15 + * Thu Jan 31 2019 Fedora Release Engineering - 8.0.14-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index fd1c55e..b9632c3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.14.tar.gz) = b6f2897d9258fefc3f945d52b3f510fae41c23b4a572c7af91665cca5f1b46fdc0a07aaafd5646c32105a31ee7a7a85d755b9a8bdc377c4d8528eeb52fc25fe8 +SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3 From 8f24bcddfbfcbcbf8eaa3cdcee38c65cddb984f5 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Fri, 26 Apr 2019 15:37:22 +0200 Subject: [PATCH 449/616] Update to MySQL 8.0.16 --- community-mysql-gcc9.patch | 15 ----- community-mysql-router.patch | 22 ------- community-mysql-sharedir.patch | 18 ++---- community-mysql.spec | 112 +++++++-------------------------- sources | 2 +- 5 files changed, 30 insertions(+), 139 deletions(-) delete mode 100644 community-mysql-gcc9.patch delete mode 100644 community-mysql-router.patch diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch deleted file mode 100644 index 652390f..0000000 --- a/community-mysql-gcc9.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt -index 8cc64089f5a..2ee48177b85 100644 ---- a/client/CMakeLists.txt -+++ b/client/CMakeLists.txt -@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient) - - MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc) - TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl) --# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ?? --IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0") -- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++) --ENDIF() - - # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". - IF(WIN32) diff --git a/community-mysql-router.patch b/community-mysql-router.patch deleted file mode 100644 index f86d2ea..0000000 --- a/community-mysql-router.patch +++ /dev/null @@ -1,22 +0,0 @@ -Do not build MySQL Router. -It is a set of tools and libraries used for the InnoDB cluster. - -However without MySQL Shell it can't be operated. -We don't pack the MySQL Shell, so donÂŽt build the router at all. - - - -I have this confirmed from the mail conversation with the MySQL side: -"While technically possible, it's practically impossible to set up router without the MySQL Shell." - ---- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200 -+++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200 -@@ -1046,7 +1046,7 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/s - - # depends on mysql_version.h to exist - IF(NOT WITHOUT_SERVER) -- ADD_SUBDIRECTORY(router) -+# ADD_SUBDIRECTORY(router) - ENDIF() - - GET_PROPERTY(CWD_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS) diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index cb1f1dc..72fe369 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,28 +1,22 @@ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt -index 7c1e82b5..a92ba915 100644 +index 1eb22c37..e200d4eb 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt -@@ -56,6 +56,10 @@ INSTALL( +@@ -56,6 +56,9 @@ INSTALL( ENDIF() -+# Expand some paths in the perl scripts correctly -+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY) ++# Expand some paths in the perl script correctly +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY) + IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) # Enable running mtr from build directory - CONFIGURE_FILE( + FIND_PROGRAM(PERL_EXECUTABLE perl diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index 8c058527..7acd8534 100755 +index 05a504da..9cdc2cda 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl -@@ -1479,11 +1479,11 @@ sub command_line_setup { - } - - # Look for language files and charsetsdir, use same share -- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share"); -+ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share"); +@@ -1626,7 +1626,7 @@ sub command_line_setup { my $path_share = $path_language; @share_locations = diff --git a/community-mysql.spec b/community-mysql.spec index 148ba48..bbbc4eb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -82,7 +82,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.15 +Version: 8.0.16 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -122,8 +122,6 @@ Patch5: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-router.patch -Patch54: %{pkgnamepatch}-gcc9.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch @@ -375,8 +373,6 @@ the MySQL sources. %patch5 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch54 -p1 %patch55 -p1 %patch75 -p1 @@ -390,86 +386,20 @@ popd pushd mysql-test add_test () { - echo "$@" $ >> %{skiplist} + echo "$1" : BUG#0 "${@:2}" >> %{skiplist} } touch %{skiplist} -# Fails everywhere; last check: 8.0.14 -add_test auth_sec.cert_verify : -add_test auth_sec.mysql_ssl_connection : -add_test auth_sec.openssl_cert_generation : -add_test auth_sec.ssl_auto_detect : -add_test auth_sec.ssl_mode : -add_test auth_sec.tls : -add_test binlog.binlog_grant_alter_user : -add_test innodb.create_tablespace : -add_test main.grant_alter_user_qa : -add_test main.grant_user_lock_qa : -add_test main.mysqldump : -add_test main.mysql_ssl_default : -add_test main.openssl_1 : -add_test main.plugin_auth_sha256_tls : -add_test main.ssl : -add_test main.ssl_ca : -add_test main.ssl_cipher : -add_test main.ssl_compress : -add_test main.ssl_crl : -add_test main.ssl_verify_identity : -add_test main.ssl_8k_key : -add_test main.type_float : -add_test perfschema.start_server_zero_digest_sql_length : -add_test x.connection_openssl : -add_test x.connection_openssl_unixsocket : -add_test x.connection_tls_version : -add_test x.mysqlxtest_mode_ssl : -add_test x.mysqlxtest_mode_ssl_unixsocket : - -# Started failing in due to changes in Rawhide after ~25.1.2019 -add_test main.ctype_utf8 : -add_test main.ctype_utf8mb4_heap : -add_test main.ctype_utf8mb4_innodb : -add_test main.ctype_utf8mb4_myisam : -add_test main.regular_expressions_func : -add_test main.regular_expressions_utf-8 : - -# These tests fail on ppc64 and ppc64le; last check 8.0.14 -%ifarch ppc ppc64 ppc64le -add_test innodb.instant_add_column_basic : -add_test innodb.temporary_table_optimization : -add_test json.json_functions_innodb : -add_test main.histograms : -add_test main.opt_costmodel : -add_test main.ps : -add_test main.select_all : -add_test main.select_all_bka : -add_test main.select_all_bka_nixbnl : -add_test main.select_icp_mrr : -add_test main.select_icp_mrr_bka : -add_test main.select_icp_mrr_bka_nixbnl : -add_test main.select_none : -add_test main.select_none_bka : -add_test main.select_none_bka_nixbnl : -add_test main.sp : -add_test main.type_newdecimal : -add_test main.type_ranges : -add_test test_service_sql_api.test_sql_all_col_types : -add_test x.multiple_resultsets : -%endif - -# These tests fail on armv7hl; last check 8.0.14 +# These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 -add_test gis.st_latitude : -add_test gis.st_longitude : -add_test x.connection_auth_mechanism_memory_ssl : -add_test x.connection_auth_mechanism_memory_with_invalidation : -add_test x.connection_auth_mechanism_memory1 : -add_test x.connection_auth_mechanism_memory2 : -# Missing hw counters; in 5.7.21 reported as unstable tests -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.func_mutex : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 +add_test gis.st_latitude +add_test gis.st_longitude +# Missing hw counters +add_test perfschema.func_file_io missing hw on arm32 +add_test perfschema.func_mutex missing hw on arm32 +add_test perfschema.global_read_lock missing hw on arm32 +add_test perfschema.setup_objects missing hw on arm32 %endif popd @@ -533,6 +463,7 @@ cmake .. \ %ifarch s390 s390x -DUSE_LD_GOLD=OFF \ %endif + -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ -DWITH_BOOST=../boost \ -DREPRODUCIBLE_BUILD=OFF \ @@ -598,13 +529,7 @@ install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-c install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# mysql-test includes one executable that doesn't belong under /usr/share, -# so move it and provide a symlink -mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} -ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process - rm %{buildroot}%{_libdir}/mysql/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/comp_err.1* @@ -679,7 +604,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} rm -r %{buildroot}%{_datadir}/mysql-test rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif @@ -704,7 +629,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} %else --skip-test-list=%{skiplist} %endif - rm -r var $(readlink var) +rm -r var $(readlink var) popd popd %endif @@ -927,12 +852,21 @@ fi %files test %{_bindir}/mysql_client_test %{_bindir}/mysqltest +%{_bindir}/mysqltest_safe_process %{_bindir}/mysqlxtest -%{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %endif %changelog +* Fri Apr 26 2019 Lars Tangvald - 8.0.16-1 +- Update to MySQL 8.0.16 +- Rediff sharedir patch +- Refresh skip list and use new, required format +- Remove GCC9 patch now upstream +- Upstream: my_safe_process renamed and moved into proper location +- Use upstream option to skip router build +- OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests + * Mon Feb 11 2019 Michal Schorm - 8.0.15-1 - Update to MySQL 8.0.15 diff --git a/sources b/sources index b9632c3..b24db50 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3 +SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516 From 30358094537ec705cccf1b69b3fd8b63c6ddd3a8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 May 2019 15:52:14 +0200 Subject: [PATCH 450/616] Update RPMLint whitelist --- community-mysql.rpmlintrc | 37 ++++++++++++++++++++++++++++++ mysql-5.6.10-rpmlintrc | 48 --------------------------------------- 2 files changed, 37 insertions(+), 48 deletions(-) create mode 100644 community-mysql.rpmlintrc delete mode 100644 mysql-5.6.10-rpmlintrc diff --git a/community-mysql.rpmlintrc b/community-mysql.rpmlintrc new file mode 100644 index 0000000..605529e --- /dev/null +++ b/community-mysql.rpmlintrc @@ -0,0 +1,37 @@ +# THIS FILE SERVES FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# (same file in python3 package served as a great example) + + + +# Spelling errors +addFilter(r'spelling-error .* en_US (cnf|mysqld|subpackage) ') + +# Debug symlinks +addFilter(r'dangling-relative-symlink /usr/lib/.build-id') + +# Testsuite +# Some expected tests results are zero-length files +addFilter(r'(zero-length|pem-certificate|hidden-file-or-dir) /usr/share/mysql-test/*') + +# Chroot function +# False positive; checked by upstream +addFilter(r'missing-call-to-chdir-with-chroot') + +# Missing documentation +# I don't think that's on the upstream priority list +addFilter(r'no-documentation') +addFilter(r'no-manual-page-for-binary') + +# Cluster is gone +addFilter("W: obsolete-not-provided mysql-cluster") +addFilter("W: obsolete-not-provided mysql-bench") +addFilter("W: obsolete-not-provided community-mysql-bench") + +# Config file without noreplace flag +# Don't replace logs that may contain old entries +addFilter(r'conffile-without-noreplace-flag /var/log/mariadb/mariadb.log') + +# Seems pretty standard to me ... +addFilter(r'non-standard-dir-perm /var/log/mysql 750') diff --git a/mysql-5.6.10-rpmlintrc b/mysql-5.6.10-rpmlintrc deleted file mode 100644 index dfcdf39..0000000 --- a/mysql-5.6.10-rpmlintrc +++ /dev/null @@ -1,48 +0,0 @@ -# Filtered out until upstream fixes them -# Upstream bug: http://bugs.mysql.com/68518 -addFilter("incorrect-fsf-address") - -# Done to avoid _prefix/lib64/tmpfiles.d -addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d") - -# Keeping the old summary for now -addFilter("W: name-repeated-in-summary C MySQL") - -# Spellchecked -addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti") -addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark") -addFilter("W: spelling-error Summary(en_US) embeddable -> embedded") -addFilter("W: spelling-error.*embeddable -> embedded") - -# As long as the manual is part of the original tarball, we have do to -# this -addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz") - -# Leave the logfile where it is for now -addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql") -addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql") -addFilter("E: non-ghost-file /var/log/mysqld.log") -addFilter("E: zero-length /var/log/mysqld.log") - -addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld") - -# Hidden files and zero lenght files is normal for some tests -addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf") -addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def") -addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD") -addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD") -addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list") -addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list") - -# debuginfo bug? -addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777") - -# mysql-config *script* in lib -addFilter("W: only-non-binary-in-usr-lib") - -# missing -addFilter("W: no-manual-page-for-binary my_safe_process") - -# cluster is gone -addFilter("W: obsolete-not-provided mysql-cluster") - From d72fd0615b81bd40c7b7101bbc26272638ec437b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 May 2019 21:07:27 +0200 Subject: [PATCH 451/616] Update version of bundled Boost Start requiring mysql-selinux package --- community-mysql.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index bbbc4eb..e16ac12 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -11,7 +11,7 @@ %global check_testsuite 0 # Aditional SELinux rules -%global require_mysql_selinux 0 +%global require_mysql_selinux 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -183,7 +183,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.68 +Provides: bundled(boost) = 1.69 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -866,6 +866,8 @@ fi - Upstream: my_safe_process renamed and moved into proper location - Use upstream option to skip router build - OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests +- Update version of bundled Boost +- Start requiring mysql-selinux package * Mon Feb 11 2019 Michal Schorm - 8.0.15-1 - Update to MySQL 8.0.15 From 1f6f39b3fc3733ea84b896bbc3360e1683aa702f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 May 2019 03:40:02 +0200 Subject: [PATCH 452/616] Remove SysVInit stuff Clean up the SPECfile --- community-mysql-scripts.patch | 5 +- community-mysql.spec | 94 +++-------------- mysql-check-upgrade.sh | 39 ------- mysql-wait-ready.sh | 45 -------- mysql.init.in | 186 ---------------------------------- mysql.service.in | 1 - mysql@.service.in | 1 - 7 files changed, 13 insertions(+), 358 deletions(-) delete mode 100644 mysql-check-upgrade.sh delete mode 100644 mysql-wait-ready.sh delete mode 100644 mysql.init.in diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index b1095ff..122c05a 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt --- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 +++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 -@@ -483,6 +483,35 @@ ELSE() +@@ -483,6 +483,32 @@ ELSE() PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() @@ -12,13 +12,10 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists + mysql.service + mysql@.service + mysql-prepare-db-dir -+ mysql-wait-ready + mysql-wait-stop + mysql-check-socket -+ mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib -+ mysql.init + my.cnf + server.cnf + ) diff --git a/community-mysql.spec b/community-mysql.spec index e16ac12..18b86bd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,9 +17,6 @@ %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} -# Use Full RELRO for all binaries (RHBZ#1092548) -%global _hardened_build 1 - # By default, patch(1) creates backup files when chunks apply with offsets. # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch @@ -42,25 +39,12 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug -# Include files for SysV init or systemd -%if 0%{?fedora} || 0%{?rhel} >= 7 -%bcond_without init_systemd -%bcond_with init_sysv -%global daemondir %{_unitdir} -%else -%bcond_with init_systemd -%bcond_without init_sysv -%global daemondir %{_sysconfdir}/rc.d/init.d -%endif +# Include files for systemd %global daemon_name mysqld %global daemon_no_prefix mysqld # Directory for storing pid file -%if 0%{?rhel} == 6 -%global pidfiledir %{_localstatedir}/run/%{daemon_name} -%else %global pidfiledir %{_rundir}/%{daemon_name} -%endif # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -83,7 +67,7 @@ Name: community-mysql Version: 8.0.16 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -99,13 +83,10 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh -Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh -Source16: mysql-check-upgrade.sh Source17: mysql-wait-stop.sh Source18: mysql@.service.in -Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc # Configuration for server @@ -176,7 +157,7 @@ BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -%{?with_init_systemd:BuildRequires: systemd} +BuildRequires: systemd @@ -197,14 +178,8 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?fedora} || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ -%else -%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so) -%filter_setup -%endif %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -278,12 +253,10 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} %{?mecab:Requires: mecab-ipadic} Requires: coreutils Requires(pre): /usr/sbin/useradd -%if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} -%endif # SYS_NICE capabilities; #1540946 Recommends: libcap # semanage @@ -404,8 +377,8 @@ add_test perfschema.setup_objects missing hw on arm32 popd -cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -451,11 +424,9 @@ cmake .. \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -%if %{with init_systemd} -DWITH_SYSTEMD=1 \ -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ -DSYSTEMD_PID_DIR="%{pidfiledir}" \ -%endif -DWITH_INNODB_MEMCACHED=ON \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ @@ -472,7 +443,7 @@ cmake .. \ %{?with_debug: -DWITH_DEBUG=1}\ %{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ -DTMPDIR=/var/tmp \ - %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} + -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now" cmake .. -LAH @@ -508,24 +479,15 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -%if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf -%endif - -# install SysV init script -%if %{with init_sysv} -install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} -install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready -%endif # helper scripts for service starting install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket -install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -641,38 +603,16 @@ popd -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post server -%if %{with init_systemd} %systemd_post %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 = 1 ]; then - /sbin/chkconfig --add %{daemon_name} -fi -%endif if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi %preun server -%if %{with init_systemd} %systemd_preun %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 = 0 ]; then - /sbin/service %{daemon_name} stop >/dev/null 2>&1 - /sbin/chkconfig --del %{daemon_name} -fi -%endif %postun server -%if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 -ge 1 ]; then - /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || : -fi -%endif %if %{with client} %files @@ -763,12 +703,7 @@ fi %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%if %{with init_systemd} %{_bindir}/mysqld_pre_systemd -%else -%{_bindir}/mysqld_multi -%{_bindir}/mysqld_safe -%endif %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror @@ -799,13 +734,8 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* -%if %{with init_systemd} %exclude %{_mandir}/man1/mysqld_multi.1* %exclude %{_mandir}/man1/mysqld_safe.1* -%else -%{_mandir}/man1/mysqld_multi.1* -%{_mandir}/man1/mysqld_safe.1* -%endif %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* @@ -816,17 +746,13 @@ fi %{_datadir}/%{pkg_name}/dictionary.txt %{_datadir}/%{pkg_name}/*.sql -%{daemondir}/%{daemon_name}* +%{_unitdir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir -%if %{with init_sysv} -%{_libexecdir}/mysql-wait-ready -%endif %{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket -%{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{?with_init_systemd:%{_tmpfilesdir}/%{daemon_name}.conf} +%{_tmpfilesdir}/%{daemon_name}.conf %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring @@ -858,6 +784,10 @@ fi %endif %changelog +* Wed May 01 2019 Michal Schorm - 8.0.16-2 +- Remove SysVInit stuff, no longer needed +- Clean up the SPECfile + * Fri Apr 26 2019 Lars Tangvald - 8.0.16-1 - Update to MySQL 8.0.16 - Rediff sharedir patch diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh deleted file mode 100644 index cf41d84..0000000 --- a/mysql-check-upgrade.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" - -upgrade_info_file="$datadir/mysql_upgrade_info" -version=0 -# get version as integer from mysql_upgrade_info file -if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then - version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/') - version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/') - if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then - version=$((version_major*100+version_minor)) - fi -fi - -# compute current version as integer -thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@)) - -# provide warning in cases we should run mysql_upgrade -if [ $version -ne $thisversion ] ; then - - # give extra warning if some version seems to be skipped - if [ $version -gt 0 ] && [ $version -lt 505 ] ; then - echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2 - fi - - cat <&2 -The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: - - 1. Back-up your data before with 'mysql_upgrade' - 2. Start the database daemon using 'service @DAEMON_NAME@ start' - 3. Run 'mysql_upgrade' with a database user that has sufficient privileges - -Read more about 'mysql_upgrade' usage at: -http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html -EOF -fi - -exit 0 diff --git a/mysql-wait-ready.sh b/mysql-wait-ready.sh deleted file mode 100644 index 2ed5fe1..0000000 --- a/mysql-wait-ready.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" - -# This script waits for mysqld to be ready to accept connections -# (which can be many seconds or even minutes after launch, if there's -# a lot of crash-recovery work to do). -# Running this as ExecStartPost is useful so that services declared as -# "After mysqld" won't be started until the database is really ready. - -if [ $# -ne 1 ] ; then - echo "You need to pass daemon pid as an argument for this script." - exit 20 -fi - -# Service file passes us the daemon's PID (actually, mysqld_safe's PID) -daemon_pid="$1" - -# Wait for the server to come up or for the mysqld process to disappear -ret=0 -while /bin/true; do - # Check process still exists - if ! [ -d "/proc/${daemon_pid}" ] ; then - ret=1 - break - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - mret=$? - if [ $mret -eq 0 ] ; then - break - fi - # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, - # anything else suggests a configuration error - if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 - ret=$mret - break - fi - # "Access denied" also means the server is alive - echo "$RESPONSE" | grep -q "Access denied for user" && break - - sleep 1 -done - -exit $ret diff --git a/mysql.init.in b/mysql.init.in deleted file mode 100644 index 6ae046c..0000000 --- a/mysql.init.in +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/sh -# -# @DAEMON_NAME@ This shell script takes care of starting and stopping -# the MySQL subsystem (mysqld). -# -# chkconfig: - 64 36 -# description: MySQL database server. -# processname: mysqld -# config: @sysconfdir@/my.cnf -# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid -### BEGIN INIT INFO -# Provides: mysqld -# Required-Start: $local_fs $remote_fs $network $named $syslog $time -# Required-Stop: $local_fs $remote_fs $network $named $syslog $time -# Short-Description: start and stop MySQL server -# Description: MySQL database server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - - -exec="@bindir@/mysqld_safe" -prog="@DAEMON_NAME@" - -# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ -STARTTIMEOUT=300 -STOPTIMEOUT=60 - -# User and group the daemon will run under -MYUSER=mysql -MYGROUP=mysql - -# Edit the following file in order to re-write some of the environment -# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec -[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ - -lockfile=/var/lock/subsys/$prog - -# get options from my.cnf -source "@libexecdir@/mysql-scripts-common" - -start(){ - [ -x $exec ] || exit 5 - - # check permissions - if ! touch $(dirname $socketfile) &>/dev/null ; then - action $"Starting $prog: " /bin/false - return 4 - fi - - # check to see if it's already running - MYSQLDRUNNING=0 - if [ -f "$pidfile" ]; then - MYSQLPID=`cat "$pidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then - MYSQLDRUNNING=1 - fi - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" - then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - else - @libexecdir@/mysql-check-socket || return 1 - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 - - # Pass all the options determined above, to ensure consistent behavior. - # In many cases mysqld_safe would arrive at the same conclusions anyway - # but we need to be sure. (An exception is that we don't force the - # log-error setting, since this script doesn't really depend on that, - # and some users might prefer to configure logging to syslog.) - # Note: set --basedir to prevent probes that might trigger SELinux - # alarms, per bug #547485 - su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ - --pid-file='$pidfile' \ - --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & - safe_pid=$! - - # Wait until the daemon is up - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" - ret=$? - - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - chmod o+r $pidfile >/dev/null 2>&1 - touch $lockfile - else - action $"Starting $prog: " /bin/false - fi - fi - return $ret -} - -stop(){ - if [ ! -f "$pidfile" ]; then - # not running; per LSB standards this is "ok" - action $"Stopping $prog: " /bin/true - return 0 - fi - MYSQLPID=`cat "$pidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ]; then - if ! [ -d "/proc/$MYSQLPID" ] ; then - # process doesn't run anymore - action $"Stopping $prog: " /bin/true - return 0 - fi - /bin/kill "$MYSQLPID" >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - TIMEOUT="$STOPTIMEOUT" - while [ $TIMEOUT -gt 0 ]; do - /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break - sleep 1 - let TIMEOUT=${TIMEOUT}-1 - done - if [ $TIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to stop MySQL Daemon." - ret=1 - action $"Stopping $prog: " /bin/false - else - rm -f $lockfile - rm -f "$socketfile" - action $"Stopping $prog: " /bin/true - fi - else - # kill command failed, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - else - # failed to read pidfile, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - return $ret -} - -restart(){ - stop - start -} - -condrestart(){ - [ -e $lockfile ] && restart || : -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p "$pidfile" $prog - ;; - restart) - restart - ;; - condrestart|try-restart) - condrestart - ;; - reload) - exit 3 - ;; - force-reload) - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - exit 2 -esac - -exit $? diff --git a/mysql.service.in b/mysql.service.in index 4a7c295..0e96374 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -40,7 +40,6 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --basedir=@prefix@ -ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop # Give a reasonable amount of time for the server to start up/shut down diff --git a/mysql@.service.in b/mysql@.service.in index 554f0ba..b7b2d48 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -40,7 +40,6 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ -ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I # Give a reasonable amount of time for the server to start up/shut down From a02605080b7945ef55d5e8b095abc9df2f57097a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 28 May 2019 15:17:32 +0200 Subject: [PATCH 453/616] Fix the name of rpmlintrc file in the SPECfile --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 18b86bd..9b6f2c5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -88,7 +88,7 @@ Source15: mysql-scripts-common.sh Source17: mysql-wait-stop.sh Source18: mysql@.service.in # To track rpmlint warnings -Source30: mysql-5.6.10-rpmlintrc +Source30: %{pkgnamepatch}.rpmlintrc # Configuration for server Source31: server.cnf.in From 6a2c3d262ab2c44186d6584cde8353237744ad2d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 20:46:11 +0000 Subject: [PATCH 454/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9b6f2c5..2f1eb00 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.16 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -784,6 +784,9 @@ fi %endif %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 8.0.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Wed May 01 2019 Michal Schorm - 8.0.16-2 - Remove SysVInit stuff, no longer needed - Clean up the SPECfile From 7c23db2b2b8a18547b63871d79650f9eab4267af Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Fri, 2 Aug 2019 13:44:21 +0200 Subject: [PATCH 455/616] Update to MySQL 8.0.17 --- community-mysql-paths.patch | 37 +++++++++++++--------------------- community-mysql-s390-tsc.patch | 6 +++--- community-mysql.spec | 12 +++++++++-- sources | 2 +- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 078782f..383847f 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index f5ac0bf2..cd3132de 100644 +index 17ea6443..1d38e3eb 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -114,7 +114,7 @@ IF(UNIX) +@@ -115,7 +115,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,7 +16,7 @@ index f5ac0bf2..cd3132de 100644 CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -318,6 +318,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) +@@ -319,6 +319,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") @@ -24,11 +24,11 @@ index f5ac0bf2..cd3132de 100644 # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") -diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc -index 1317e362..cfa0feb7 100644 ---- a/mysys_ssl/my_default.cc -+++ b/mysys_ssl/my_default.cc -@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { +diff --git a/mysys/my_default.cc b/mysys/my_default.cc +index d7f5016e..f8fe5d90 100644 +--- a/mysys/my_default.cc ++++ b/mysys/my_default.cc +@@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else @@ -45,20 +45,11 @@ index 1317e362..cfa0feb7 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c1202103..06a055b1 100644 +index bed32565..ca08ee7c 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -315,7 +315,7 @@ ENDIF(UNIX) - - SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(sbindir ${prefix}/${INSTALL_SBINDIR}) --SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) -+SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) - SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) - IF(INSTALL_LAYOUT MATCHES "STANDALONE") - SET(localstatedir ${prefix}/data) -@@ -324,9 +324,9 @@ ELSE() - ENDIF() +@@ -324,9 +324,9 @@ IF(UNIX) + ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) @@ -67,13 +58,13 @@ index c1202103..06a055b1 100644 -SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) +SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) - SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) + SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh -index 5ad36e7b..5dd032f2 100644 +index 8cd63ecc..21ad556c 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh -@@ -572,9 +572,7 @@ sub list_defaults_files +@@ -586,9 +586,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index 7e5eee3..3fca0ac 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -2,7 +2,7 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h -index 65f7df1..a28f470 100644 +index 65f7df19..a28f470c 100644 --- a/include/my_rdtsc.h +++ b/include/my_rdtsc.h @@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti); @@ -13,11 +13,11 @@ index 65f7df1..a28f470 100644 #endif diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc -index ec8e855..c3408b1 100644 +index 54d19691..f18c182f 100644 --- a/mysys/my_rdtsc.cc +++ b/mysys/my_rdtsc.cc @@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) { - __asm __volatile__("mrs %[rt],cntvct_el0" : [rt] "=r"(result)); + __asm __volatile__("mrs %[rt],cntvct_el0" : [ rt ] "=r"(result)); return result; } +#elif defined(__GNUC__) && defined(__s390__) diff --git a/community-mysql.spec b/community-mysql.spec index 2f1eb00..183209e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.16 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.17 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -123,6 +123,7 @@ BuildRequires: bison %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif +BuildRequires: openssl BuildRequires: openssl-devel %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -308,6 +309,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: gzip Requires: lz4 +Requires: openssl Requires: perl(Digest::file) Requires: perl(Digest::MD5) Requires: perl(Env) @@ -364,6 +366,9 @@ add_test () { touch %{skiplist} +add_test innodb.redo_log_archive_04 failed since 8.0.17 +add_test clone.remote_dml_no_binlog failed since 8.0.17 + # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 add_test gis.st_latitude @@ -784,6 +789,9 @@ fi %endif %changelog +* Wed Jul 31 2019 Lars Tangvald - 8.0.17-1 +- Update to MySQL 8.0.17 + * Wed Jul 24 2019 Fedora Release Engineering - 8.0.16-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index b24db50..320900b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516 +SHA512 (mysql-boost-8.0.17.tar.gz) = a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d From adb69c78bcca867296f865c848174010ec5f4419 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 19 Aug 2019 12:29:12 +0200 Subject: [PATCH 456/616] Use RELRO hardening on all binaries --- community-mysql.spec | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 183209e..a5f11b7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.17 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -386,6 +386,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build +%{set_build_flags} + # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"$(id -u)" = "x0" ]; then @@ -445,10 +447,13 @@ cmake .. \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -%{?with_debug: -DWITH_DEBUG=1}\ -%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ + -DCMAKE_EXE_LINKER_FLAGS="-pie %{build_ldflags}" \ +%{?with_debug: -DWITH_DEBUG=1} \ +%{?with_debug: -DMYSQL_MAINTAINER_MODE=0} \ -DTMPDIR=/var/tmp \ - -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now" + -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ + -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ + -DCMAKE_CXX_LINK_FLAGS"%{build_ldflags}" cmake .. -LAH @@ -789,6 +794,9 @@ fi %endif %changelog +* Mon Aug 19 2019 Michal Schorm - 8.0.17-2 +- Use RELRO hardening on all binaries + * Wed Jul 31 2019 Lars Tangvald - 8.0.17-1 - Update to MySQL 8.0.17 From b325983be5bf4ad1fdfb0f5e1c3c5413a8bdad5a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 26 Aug 2019 15:25:05 +0200 Subject: [PATCH 457/616] Add one test failing only on F30 on aarch64 --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index a5f11b7..434e4ee 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -378,6 +378,10 @@ add_test perfschema.func_file_io missing hw on arm32 add_test perfschema.func_mutex missing hw on arm32 add_test perfschema.global_read_lock missing hw on arm32 add_test perfschema.setup_objects missing hw on arm32 +# Failing in ~90% of times only on F30 +%if 0%{?fedora} == 30 +add_test innodb.create_tablespace +%endif %endif popd From de17dc42a00a8358c25a2effb1efceacd37ae960 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Mon, 14 Oct 2019 11:04:55 +0200 Subject: [PATCH 458/616] Update to MySQL 8.0.18 --- community-mysql-arm32-timer.patch | 10 ++++++---- community-mysql-paths.patch | 16 ++++++++-------- community-mysql-rpath.patch | 13 +++++++------ community-mysql-scripts.patch | 11 ++++++----- community-mysql-sharedir.patch | 8 ++++---- community-mysql.spec | 7 +++++-- 6 files changed, 36 insertions(+), 29 deletions(-) diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 4e5302c..44fc048 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,6 +1,8 @@ ---- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100 -+++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100 -@@ -311,6 +311,11 @@ +diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql +index c62deb3d..3ae57613 100644 +--- a/mysql-test/include/mtr_warnings.sql ++++ b/mysql-test/include/mtr_warnings.sql +@@ -265,6 +265,11 @@ INSERT INTO global_suppressions VALUES */ ("The SSL library function CRYPTO_set_mem_functions failed"), @@ -9,6 +11,6 @@ + */ + ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."), + - ("THE_LAST_SUPPRESSION")|| + ("THE_LAST_SUPPRESSION"); diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 383847f..8b1d9a7 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index 17ea6443..1d38e3eb 100644 +index 94d9ecf5..69058c22 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -115,7 +115,7 @@ IF(UNIX) +@@ -109,7 +109,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,16 +16,16 @@ index 17ea6443..1d38e3eb 100644 CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -319,6 +319,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) +@@ -271,6 +271,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") +SET(INSTALL_SYSCONFDIR_RPM "/etc") # - IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - SET(INSTALL_LIBDIR_RPM "lib64") + IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) + SET(INSTALL_LIBDIR_RPM "lib64/mysql") diff --git a/mysys/my_default.cc b/mysys/my_default.cc -index d7f5016e..f8fe5d90 100644 +index a8f6132a..3b448ef3 100644 --- a/mysys/my_default.cc +++ b/mysys/my_default.cc @@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { @@ -45,10 +45,10 @@ index d7f5016e..f8fe5d90 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index bed32565..ca08ee7c 100644 +index c64bfb52..1b2a76cf 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -324,9 +324,9 @@ IF(UNIX) +@@ -288,9 +288,9 @@ IF(UNIX) ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") diff --git a/community-mysql-rpath.patch b/community-mysql-rpath.patch index 00cafa6..16d5bc4 100644 --- a/community-mysql-rpath.patch +++ b/community-mysql-rpath.patch @@ -4,12 +4,13 @@ secure-execution mode in http://man7.org/linux/man-pages/man8/ld.so.8.html). Related: #1628814 -diff -up mysql-8.0.12/sql/CMakeLists.txt.patchrpath mysql-8.0.12/sql/CMakeLists.txt ---- mysql-8.0.12/sql/CMakeLists.txt.patchrpath 2018-09-14 13:59:02.884021458 +0200 -+++ mysql-8.0.12/sql/CMakeLists.txt 2018-09-14 14:01:10.897983621 +0200 -@@ -711,6 +711,8 @@ ENDIF() - MYSQL_ADD_EXECUTABLE(mysqld - ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index 3f179a7a..209b3eb2 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -918,6 +918,8 @@ IF(UNIX_INSTALL_RPATH_ORIGIN_PRIV_LIBDIR) + ADD_INSTALL_RPATH_FOR_PROTOBUF(mysqld) + ENDIF() +SET_TARGET_PROPERTIES(mysqld PROPERTIES INSTALL_RPATH "${RPATH_LIBDIR}") + diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 122c05a..0211d30 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,8 +1,9 @@ -diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt ---- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 -@@ -483,6 +483,32 @@ ELSE() - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index c64bfb52..4da9e699 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -523,6 +523,32 @@ ELSE() + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() + diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 72fe369..fa0dc72 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,8 +1,8 @@ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt -index 1eb22c37..e200d4eb 100644 +index f77bd022..a3a3bd9f 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt -@@ -56,6 +56,9 @@ INSTALL( +@@ -57,6 +57,9 @@ IF(INSTALL_MYSQLTESTDIR) ENDIF() @@ -13,10 +13,10 @@ index 1eb22c37..e200d4eb 100644 # Enable running mtr from build directory FIND_PROGRAM(PERL_EXECUTABLE perl diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index 05a504da..9cdc2cda 100755 +index b82611fd..7fc5987e 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl -@@ -1626,7 +1626,7 @@ sub command_line_setup { +@@ -1656,7 +1656,7 @@ sub command_line_setup { my $path_share = $path_language; @share_locations = diff --git a/community-mysql.spec b/community-mysql.spec index 434e4ee..43ab5ea 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.17 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 8.0.18 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -798,6 +798,9 @@ fi %endif %changelog +* Mon Oct 14 2019 Lars Tangvald - 8.0.18-1 +- Update to MySQL 8.0.18 + * Mon Aug 19 2019 Michal Schorm - 8.0.17-2 - Use RELRO hardening on all binaries From a34f528606a20d1e36cb4bdd7e3009884877f098 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 1 Nov 2019 12:36:05 +0100 Subject: [PATCH 459/616] Add missing dependency Disable linking with GOLD on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 --- community-mysql.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 43ab5ea..0573b83 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -120,6 +120,7 @@ BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: bison +BuildRequires: libzstd-devel %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif @@ -442,7 +443,7 @@ cmake .. \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ %endif -%ifarch s390 s390x +%ifarch s390 s390x armv7hl -DUSE_LD_GOLD=OFF \ %endif -DWITH_ROUTER=OFF \ @@ -459,6 +460,8 @@ cmake .. \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ -DCMAKE_CXX_LINK_FLAGS"%{build_ldflags}" +# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 + cmake .. -LAH make %{?_smp_mflags} VERBOSE=1 diff --git a/sources b/sources index 320900b..555f703 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.17.tar.gz) = a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d +SHA512 (mysql-boost-8.0.18.tar.gz) = 180091ad3e74e2afa28ecb914850e6b4e8c92b8981f32b161f53381b92120d87dbd2c2fc073feb2543bb71702bac7368e9fb992821cfd3e3ca888019423b89f5 From 02f22f3242cb7fcfd62744415a144c15216b498d Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 1 Nov 2019 15:51:06 +0000 Subject: [PATCH 460/616] Rebuild for ICU 65 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0573b83..de24ea9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -801,6 +801,9 @@ fi %endif %changelog +* Fri Nov 01 2019 Pete Walter - 8.0.18-2 +- Rebuild for ICU 65 + * Mon Oct 14 2019 Lars Tangvald - 8.0.18-1 - Update to MySQL 8.0.18 From 0b28b83285b95b7026f5dc49cc69f17954798f82 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Nov 2019 16:33:15 +0100 Subject: [PATCH 461/616] Let the devel package require the libzstd-devel --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index de24ea9..cf3c638 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -294,6 +294,7 @@ Summary: Files for development of MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel Requires: zlib-devel +Requires: libzstd-devel %{?with_conflicts:Conflicts: mariadb-devel} %description devel @@ -801,6 +802,9 @@ fi %endif %changelog +* Mon Nov 11 2019 Michal Schorm - 8.0.18-3 +- Let the devel package require the libzstd-devel + * Fri Nov 01 2019 Pete Walter - 8.0.18-2 - Rebuild for ICU 65 From 2d872f485b54f0b10b564bcbc894a90b26a5315e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 15 Nov 2019 13:37:04 +0100 Subject: [PATCH 462/616] Typo fixup --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cf3c638..ba5756c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -459,7 +459,7 @@ cmake .. \ -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ - -DCMAKE_CXX_LINK_FLAGS"%{build_ldflags}" + -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 @@ -802,6 +802,9 @@ fi %endif %changelog +* Fri Nov 15 2019 Michal Schorm - 8.0.18-4 +- Typo fixup + * Mon Nov 11 2019 Michal Schorm - 8.0.18-3 - Let the devel package require the libzstd-devel From 5a33d598a1e124a01bf17ba0f2e60d3ccd49391b Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 18 Dec 2019 20:21:22 -0700 Subject: [PATCH 463/616] Rebuild for protobuf 3.11 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ba5756c..5909f7a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -802,6 +802,9 @@ fi %endif %changelog +* Thu Dec 19 2019 Orion Poplawski - 8.0.18-5 +- Rebuild for protobuf 3.11 + * Fri Nov 15 2019 Michal Schorm - 8.0.18-4 - Typo fixup From 1a0ed504ded9d1a7606a619d4754eea8bb7cfdd2 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Thu, 19 Dec 2019 07:54:02 +0100 Subject: [PATCH 464/616] Include patch to build against protobuf 3.11 --- community-mysql-protobuf-3-11.patch | 26 ++++++++++++++++++++++++++ community-mysql.spec | 9 ++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 community-mysql-protobuf-3-11.patch diff --git a/community-mysql-protobuf-3-11.patch b/community-mysql-protobuf-3-11.patch new file mode 100644 index 0000000..ca7abce --- /dev/null +++ b/community-mysql-protobuf-3-11.patch @@ -0,0 +1,26 @@ +Problem report: https://bugs.mysql.com/bug.php?id=97246 +Patch source: https://github.com/Homebrew/homebrew-core/pull/45383/commits/4b4dfa1c153a05f1fd4b83c2df741f2dc5f43237 + + +diff -urN a/plugin/x/client/mysqlxclient/xmessage.h b/plugin/x/client/mysqlxclient/xmessage.h +--- a/plugin/x/client/mysqlxclient/xmessage.h 2019-09-20 18:30:51.000000000 +1000 ++++ b/plugin/x/client/mysqlxclient/xmessage.h 2019-10-16 09:12:15.000000000 +1000 +@@ -36,7 +36,6 @@ + #include + #include + #include +-#include + + #ifdef USE_MYSQLX_FULL_PROTO + +diff -urN a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h +--- a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-09-20 18:30:51.000000000 +1000 ++++ b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-10-16 09:11:27.000000000 +1000 +@@ -38,7 +38,6 @@ + #include + #include + #include +-#include + + #ifdef USE_MYSQLX_FULL_PROTO + #include "plugin/x/generated/protobuf/mysqlx.pb.h" diff --git a/community-mysql.spec b/community-mysql.spec index 5909f7a..a54429d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -106,6 +106,9 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch +# Patch to build against protobuf-3.11 +Patch76: %{pkgnamepatch}-protobuf-3-11.patch + # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch @@ -352,6 +355,7 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 +%patch76 -p1 # Patch Boost pushd boost/boost_1_??_0 @@ -802,6 +806,9 @@ fi %endif %changelog +* Thu Dec 19 2019 Adrian Reber - 8.0.18-6 +- Include patch to build against protobuf 3.11 + * Thu Dec 19 2019 Orion Poplawski - 8.0.18-5 - Rebuild for protobuf 3.11 From 38c8d08a4fd91459583dc9b25d71462e663a4217 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 2 Jan 2020 19:17:25 +0100 Subject: [PATCH 465/616] Update to MySQL 8.0.19 --- community-mysql-2020.patch | 103 ++++++++++++++++++++++++++++ community-mysql-arm32-timer.patch | 6 +- community-mysql-paths.patch | 20 +++--- community-mysql-protobuf-3-11.patch | 26 ------- community-mysql-scripts.patch | 6 +- community-mysql.spec | 28 +++++--- sources | 2 +- 7 files changed, 137 insertions(+), 54 deletions(-) create mode 100644 community-mysql-2020.patch delete mode 100644 community-mysql-protobuf-3-11.patch diff --git a/community-mysql-2020.patch b/community-mysql-2020.patch new file mode 100644 index 0000000..96f3819 --- /dev/null +++ b/community-mysql-2020.patch @@ -0,0 +1,103 @@ +diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result +index 56821679efe..b05c76a7586 100644 +--- a/mysql-test/r/events_bugs.result ++++ b/mysql-test/r/events_bugs.result +@@ -42,11 +42,11 @@ Warnings: + Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation. + show events; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +-create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; + ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1 +-create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; + ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ends 10000101000000 do drop table t' at line 1 +-create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; + ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 ends 10000101000000 do drop table t' at line 1 + create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; + ERROR HY000: Incorrect STARTS value: '10000101000000' +@@ -411,16 +411,16 @@ SHOW EVENTS; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation + events_test e1 root@localhost +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci + SET TIME_ZONE= '-03:00'; +-ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' ++ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' + ON COMPLETION PRESERVE DISABLE; + SHOW EVENTS; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +-events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci ++events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci + SET TIME_ZONE= '+04:00'; + ALTER EVENT e1 DO SELECT 2; + SHOW EVENTS; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +-events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci ++events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci + DROP EVENT e1; + SET TIME_ZONE='+05:00'; + CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO +@@ -647,7 +647,7 @@ SET GLOBAL READ_ONLY = 1; + # Connection: u1_con (mysqltest_u1@localhost/events_test). + # + +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement + + ALTER EVENT e1 COMMENT 'comment'; +@@ -660,7 +660,7 @@ ERROR HY000: The MySQL server is running with the --read-only option so it canno + # Connection: root_con (root@localhost/events_test). + # + +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + + ALTER EVENT e1 COMMENT 'comment'; + +diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test +index b35e8627852..8a4de2d4d55 100644 +--- a/mysql-test/t/events_bugs.test ++++ b/mysql-test/t/events_bugs.test +@@ -216,11 +216,11 @@ create event e_55 on schedule at 20000101000000 do drop table t; + show events; + + --error ER_PARSE_ERROR +-create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; + --error ER_PARSE_ERROR +-create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; + --error ER_PARSE_ERROR +-create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; + --error ER_WRONG_VALUE + create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; + +@@ -722,7 +722,7 @@ SHOW EVENTS; + + # This will update event time zone. + SET TIME_ZONE= '-03:00'; +-ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' ++ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' + ON COMPLETION PRESERVE DISABLE; + SHOW EVENTS; + +@@ -1033,7 +1033,7 @@ SET GLOBAL READ_ONLY = 1; + --echo + + --error ER_OPTION_PREVENTS_STATEMENT +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + + --echo + +@@ -1057,7 +1057,7 @@ DROP EVENT e1; + + --echo + +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + + --echo + diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 44fc048..b5a4886 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,10 @@ diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index c62deb3d..3ae57613 100644 +index 60bfdb0b..7e02101b 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql -@@ -265,6 +265,11 @@ INSERT INTO global_suppressions VALUES +@@ -273,6 +273,11 @@ INSERT INTO global_suppressions VALUES */ - ("The SSL library function CRYPTO_set_mem_functions failed"), + ("The transaction owned GTID is already in the gtid_executed table"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 8b1d9a7..d5978b6 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index 94d9ecf5..69058c22 100644 +index 9f7945d8..6734cdfd 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -109,7 +109,7 @@ IF(UNIX) +@@ -105,7 +105,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,7 +16,7 @@ index 94d9ecf5..69058c22 100644 CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -271,6 +271,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) +@@ -189,6 +189,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") @@ -25,10 +25,10 @@ index 94d9ecf5..69058c22 100644 IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) SET(INSTALL_LIBDIR_RPM "lib64/mysql") diff --git a/mysys/my_default.cc b/mysys/my_default.cc -index a8f6132a..3b448ef3 100644 +index 290f1666..8403425f 100644 --- a/mysys/my_default.cc +++ b/mysys/my_default.cc -@@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { +@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else @@ -45,7 +45,7 @@ index a8f6132a..3b448ef3 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c64bfb52..1b2a76cf 100644 +index 4149a764..b091d5e2 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -288,9 +288,9 @@ IF(UNIX) @@ -60,10 +60,10 @@ index c64bfb52..1b2a76cf 100644 SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) -diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh -index 8cd63ecc..21ad556c 100644 ---- a/scripts/mysqld_multi.sh -+++ b/scripts/mysqld_multi.sh +diff --git a/scripts/mysqld_multi.pl.in b/scripts/mysqld_multi.pl.in +index 84dd4d7c..50397ddd 100644 +--- a/scripts/mysqld_multi.pl.in ++++ b/scripts/mysqld_multi.pl.in @@ -586,9 +586,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once diff --git a/community-mysql-protobuf-3-11.patch b/community-mysql-protobuf-3-11.patch deleted file mode 100644 index ca7abce..0000000 --- a/community-mysql-protobuf-3-11.patch +++ /dev/null @@ -1,26 +0,0 @@ -Problem report: https://bugs.mysql.com/bug.php?id=97246 -Patch source: https://github.com/Homebrew/homebrew-core/pull/45383/commits/4b4dfa1c153a05f1fd4b83c2df741f2dc5f43237 - - -diff -urN a/plugin/x/client/mysqlxclient/xmessage.h b/plugin/x/client/mysqlxclient/xmessage.h ---- a/plugin/x/client/mysqlxclient/xmessage.h 2019-09-20 18:30:51.000000000 +1000 -+++ b/plugin/x/client/mysqlxclient/xmessage.h 2019-10-16 09:12:15.000000000 +1000 -@@ -36,7 +36,6 @@ - #include - #include - #include --#include - - #ifdef USE_MYSQLX_FULL_PROTO - -diff -urN a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h ---- a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-09-20 18:30:51.000000000 +1000 -+++ b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-10-16 09:11:27.000000000 +1000 -@@ -38,7 +38,6 @@ - #include - #include - #include --#include - - #ifdef USE_MYSQLX_FULL_PROTO - #include "plugin/x/generated/protobuf/mysqlx.pb.h" diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 0211d30..7c0a9f0 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,8 +1,8 @@ diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c64bfb52..4da9e699 100644 +index 8217bb76..4149a764 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -523,6 +523,32 @@ ELSE() +@@ -513,4 +513,30 @@ ELSE() PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() @@ -33,5 +33,3 @@ index c64bfb52..4da9e699 100644 + ENDIF() + ENDFOREACH() ENDIF() - - # Install libgcc as mylibgcc.a diff --git a/community-mysql.spec b/community-mysql.spec index a54429d..1bfdbac 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.18 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 8.0.19 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -105,9 +105,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch - -# Patch to build against protobuf-3.11 -Patch76: %{pkgnamepatch}-protobuf-3-11.patch +Patch76: %{pkgnamepatch}-2020.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -374,6 +372,10 @@ touch %{skiplist} add_test innodb.redo_log_archive_04 failed since 8.0.17 add_test clone.remote_dml_no_binlog failed since 8.0.17 +add_test x.message_protobuf_nested due to protobuf 3.11 +add_test x.message_compressed_payload due to protobuf 3.11 +add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 +add_test collations.chinese sporadic since 8.0.19 # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 @@ -384,11 +386,11 @@ add_test perfschema.func_file_io missing hw on arm32 add_test perfschema.func_mutex missing hw on arm32 add_test perfschema.global_read_lock missing hw on arm32 add_test perfschema.setup_objects missing hw on arm32 -# Failing in ~90% of times only on F30 -%if 0%{?fedora} == 30 +# Test added in 8.0.19 +add_test clone.remote_error_basic max_allowed_packet is 0 +# Failing in ~90% of times add_test innodb.create_tablespace %endif -%endif popd @@ -581,7 +583,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm %{buildroot}%{_datadir}/%{pkg_name}/{messages_to_error_log.txt,messages_to_clients.txt} rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} @@ -687,7 +689,8 @@ fi %if %{with errmsg} %files errmsg -%{_datadir}/%{pkg_name}/errmsg-utf8.txt +%{_datadir}/%{pkg_name}/messages_to_error_log.txt +%{_datadir}/%{pkg_name}/messages_to_clients.txt %{_datadir}/%{pkg_name}/english %lang(bg) %{_datadir}/%{pkg_name}/bulgarian %lang(cs) %{_datadir}/%{pkg_name}/czech @@ -802,10 +805,15 @@ fi %{_bindir}/mysqltest %{_bindir}/mysqltest_safe_process %{_bindir}/mysqlxtest +%{_bindir}/mysqld_safe +%{_bindir}/comp_err %attr(-,mysql,mysql) %{_datadir}/mysql-test %endif %changelog +* Thu Jan 02 2020 Lars Tangvald - 8.0.19-1 +- Update to MySQL 8.0.19 + * Thu Dec 19 2019 Adrian Reber - 8.0.18-6 - Include patch to build against protobuf 3.11 diff --git a/sources b/sources index 555f703..5111f6e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.18.tar.gz) = 180091ad3e74e2afa28ecb914850e6b4e8c92b8981f32b161f53381b92120d87dbd2c2fc073feb2543bb71702bac7368e9fb992821cfd3e3ca888019423b89f5 +SHA512 (mysql-boost-8.0.19.tar.gz) = 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 From 0f57ab1bd248370e8930eff57feddb644ef1d8f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 14:35:00 +0000 Subject: [PATCH 466/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1bfdbac..a32092b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.19 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -811,6 +811,9 @@ fi %endif %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 8.0.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jan 02 2020 Lars Tangvald - 8.0.19-1 - Update to MySQL 8.0.19 From 35e859b1ab507b71226ac28321795134c0493d56 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 8 Feb 2020 03:29:41 +0100 Subject: [PATCH 467/616] Add failing test --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index a32092b..10538e5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -376,6 +376,7 @@ add_test x.message_protobuf_nested due to protobuf 3.11 add_test x.message_compressed_payload due to protobuf 3.11 add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 add_test collations.chinese sporadic since 8.0.19 +add_test main.events_1 everywhere always since F32 mass rebuild # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 From 6db11ecba6e8ecd395063657aabd58531453736e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Feb 2020 01:10:32 +0100 Subject: [PATCH 468/616] Add failing tests list since F32 mass rebuild --- community-mysql.spec | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 10538e5..5251b3d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -393,6 +393,28 @@ add_test clone.remote_error_basic max_allowed_packet is 0 add_test innodb.create_tablespace %endif +%ifarch s390x +# Fails since F32 Mass Rebuild +add_test gis.geometry_class_attri_prop +add_test gis.geometry_property_function_issimple +add_test gis.gis_bugs_crashes +add_test gis.spatial_analysis_functions_buffer +add_test gis.spatial_analysis_functions_centroid +add_test gis.spatial_analysis_functions_distance +add_test gis.spatial_operators_intersection +add_test gis.spatial_op_testingfunc_mix +add_test gis.spatial_utility_function_distance_sphere +add_test gis.spatial_utility_function_simplify +add_test innodb.log_encrypt_kill main.with_recursive +add_test innodb.mysqldump_max_recordsize +add_test main.lock_multi_bug38499 +add_test main.window_std_var +add_test main.window_std_var_optimized +add_test main.with_recursive +%endif + + + popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ From 712220f44746baeaddcf3a1aaa12452fb9a475f3 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 2 Apr 2020 09:51:20 +0200 Subject: [PATCH 469/616] Specify all perl dependencies --- community-mysql.spec | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5251b3d..f58fd0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.19 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -144,22 +144,43 @@ BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time +BuildRequires: perl(base) +BuildRequires: perl(Carp) +BuildRequires: perl(Cwd) BuildRequires: perl(Digest::file) BuildRequires: perl(Digest::MD5) +BuildRequires: perl(English) BuildRequires: perl(Env) +BuildRequires: perl(Errno) BuildRequires: perl(Exporter) BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Basename) +BuildRequires: perl(File::Copy) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Spec) +BuildRequires: perl(File::Spec::Functions) BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) +BuildRequires: perl(if) +BuildRequires: perl(IO::File) +BuildRequires: perl(IO::Handle) +BuildRequires: perl(IO::Select) +BuildRequires: perl(IO::Socket::INET) BuildRequires: perl(IPC::Open3) BuildRequires: perl(JSON) +BuildRequires: perl(lib) BuildRequires: perl(LWP::Simple) BuildRequires: perl(Memoize) +BuildRequires: perl(Net::Ping) +BuildRequires: perl(POSIX) BuildRequires: perl(Socket) +BuildRequires: perl(strict) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) +BuildRequires: perl(Time::localtime) +BuildRequires: perl(warnings) BuildRequires: systemd @@ -834,6 +855,9 @@ fi %endif %changelog +* Wed Apr 01 2020 Jitka Plesnikova - 8.0.19-3 +- Specify all perl dependencies + * Tue Jan 28 2020 Fedora Release Engineering - 8.0.19-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From a718330bdf930e32a2a194e32fc50168bb7d9b85 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Wed, 29 Apr 2020 15:02:17 +0200 Subject: [PATCH 470/616] Update to MySQL 8.0.20 --- community-mysql-2020.patch | 103 ------------------------------------- community-mysql.spec | 12 ++--- sources | 2 +- 3 files changed, 6 insertions(+), 111 deletions(-) delete mode 100644 community-mysql-2020.patch diff --git a/community-mysql-2020.patch b/community-mysql-2020.patch deleted file mode 100644 index 96f3819..0000000 --- a/community-mysql-2020.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result -index 56821679efe..b05c76a7586 100644 ---- a/mysql-test/r/events_bugs.result -+++ b/mysql-test/r/events_bugs.result -@@ -42,11 +42,11 @@ Warnings: - Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation. - show events; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation --create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; - ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1 --create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; - ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ends 10000101000000 do drop table t' at line 1 --create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; - ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 ends 10000101000000 do drop table t' at line 1 - create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; - ERROR HY000: Incorrect STARTS value: '10000101000000' -@@ -411,16 +411,16 @@ SHOW EVENTS; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation - events_test e1 root@localhost +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci - SET TIME_ZONE= '-03:00'; --ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' -+ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' - ON COMPLETION PRESERVE DISABLE; - SHOW EVENTS; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation --events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci -+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci - SET TIME_ZONE= '+04:00'; - ALTER EVENT e1 DO SELECT 2; - SHOW EVENTS; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation --events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci -+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci - DROP EVENT e1; - SET TIME_ZONE='+05:00'; - CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO -@@ -647,7 +647,7 @@ SET GLOBAL READ_ONLY = 1; - # Connection: u1_con (mysqltest_u1@localhost/events_test). - # - --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement - - ALTER EVENT e1 COMMENT 'comment'; -@@ -660,7 +660,7 @@ ERROR HY000: The MySQL server is running with the --read-only option so it canno - # Connection: root_con (root@localhost/events_test). - # - --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - - ALTER EVENT e1 COMMENT 'comment'; - -diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test -index b35e8627852..8a4de2d4d55 100644 ---- a/mysql-test/t/events_bugs.test -+++ b/mysql-test/t/events_bugs.test -@@ -216,11 +216,11 @@ create event e_55 on schedule at 20000101000000 do drop table t; - show events; - - --error ER_PARSE_ERROR --create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; - --error ER_PARSE_ERROR --create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; - --error ER_PARSE_ERROR --create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; - --error ER_WRONG_VALUE - create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; - -@@ -722,7 +722,7 @@ SHOW EVENTS; - - # This will update event time zone. - SET TIME_ZONE= '-03:00'; --ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' -+ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' - ON COMPLETION PRESERVE DISABLE; - SHOW EVENTS; - -@@ -1033,7 +1033,7 @@ SET GLOBAL READ_ONLY = 1; - --echo - - --error ER_OPTION_PREVENTS_STATEMENT --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - - --echo - -@@ -1057,7 +1057,7 @@ DROP EVENT e1; - - --echo - --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - - --echo - diff --git a/community-mysql.spec b/community-mysql.spec index f58fd0a..edc5585 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.19 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.20 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -105,7 +105,6 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch76: %{pkgnamepatch}-2020.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -374,7 +373,6 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 -%patch76 -p1 # Patch Boost pushd boost/boost_1_??_0 @@ -393,11 +391,8 @@ touch %{skiplist} add_test innodb.redo_log_archive_04 failed since 8.0.17 add_test clone.remote_dml_no_binlog failed since 8.0.17 -add_test x.message_protobuf_nested due to protobuf 3.11 -add_test x.message_compressed_payload due to protobuf 3.11 add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 add_test collations.chinese sporadic since 8.0.19 -add_test main.events_1 everywhere always since F32 mass rebuild # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 @@ -855,6 +850,9 @@ fi %endif %changelog +* Sun Apr 26 2020 Lars Tangvald - 8.0.20-1 +- Update to MySQL 8.0.20 + * Wed Apr 01 2020 Jitka Plesnikova - 8.0.19-3 - Specify all perl dependencies diff --git a/sources b/sources index 5111f6e..34d177d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.19.tar.gz) = 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 +SHA512 (mysql-boost-8.0.20.tar.gz) = 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 From 1c7ffc668b98a140032ebf72f07fe43680e6bf83 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 15 May 2020 13:54:47 +0100 Subject: [PATCH 471/616] Rebuild for ICU 67 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index edc5585..08bb044 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -850,6 +850,9 @@ fi %endif %changelog +* Fri May 15 2020 Pete Walter - 8.0.20-2 +- Rebuild for ICU 67 + * Sun Apr 26 2020 Lars Tangvald - 8.0.20-1 - Update to MySQL 8.0.20 From 4d2926a1ce093c28630ae8d302227368adf1ec90 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Sun, 21 Jun 2020 19:55:52 +0200 Subject: [PATCH 472/616] Rebuilt for protobuf 3.12 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 08bb044..4e64792 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.20 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -850,6 +850,9 @@ fi %endif %changelog +* Sun Jun 14 2020 Adrian Reber - 8.0.20-3 +- Rebuilt for protobuf 3.12 + * Fri May 15 2020 Pete Walter - 8.0.20-2 - Rebuild for ICU 67 From 3be266c59fbb21edb66df42addbc0ceb2b225205 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 16 Jul 2020 12:48:57 +0200 Subject: [PATCH 473/616] Update to MySQL 8.0.21 --- community-mysql-arm32-timer.patch | 6 +- community-mysql-certs-expired.patch | 964 ++++++++++++++++++++++++++++ community-mysql.spec | 14 +- sources | 2 +- 4 files changed, 980 insertions(+), 6 deletions(-) create mode 100644 community-mysql-certs-expired.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index b5a4886..c9af92a 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,10 @@ diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index 60bfdb0b..7e02101b 100644 +index 990fe81..c2e1b36 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql -@@ -273,6 +273,11 @@ INSERT INTO global_suppressions VALUES +@@ -292,6 +292,11 @@ INSERT INTO global_suppressions VALUES */ - ("The transaction owned GTID is already in the gtid_executed table"), + ("Channel mysql_main configured to support TLS"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-certs-expired.patch b/community-mysql-certs-expired.patch new file mode 100644 index 0000000..5adbb48 --- /dev/null +++ b/community-mysql-certs-expired.patch @@ -0,0 +1,964 @@ +commit 2f61a515fd7998f00fe329a9bf17392ae0c7187d +Author: Harin Vadodaria +Date: Wed Jul 1 12:11:52 2020 +0200 + + Bug#31562947: SSL TESTS ARE FAILING BECAUSE OF AN EXPIRED CERTIFICATE + + Description: Some of the certificates used for testing + CRL support are expired. This caused various + tests to failed. + + Fix: - Added new set of certificates + - Updated read-me for CRL generation + + RB: 24714 + +diff --git a/mysql-test/std_data/crl-ca-cert.pem b/mysql-test/std_data/crl-ca-cert.pem +index 1a40815f6a2..93c96eae026 100644 +--- a/mysql-test/std_data/crl-ca-cert.pem ++++ b/mysql-test/std_data/crl-ca-cert.pem +@@ -2,79 +2,80 @@ Certificate: + Data: + Version: 3 (0x2) + Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1d +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ bf:07:54:de:af:cf:c4:de ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 11:58:53 2019 GMT +- Not After : Jun 30 11:58:53 2022 GMT +- Subject: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Not Before: Jul 1 07:44:35 2020 GMT ++ Not After : Jun 29 07:44:35 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:c9:09:95:54:a0:91:fd:f9:26:2f:ca:c4:ce:4a: +- cc:25:72:44:34:f2:68:7a:4d:91:ab:1a:54:90:50: +- fc:14:8a:f2:5b:83:f3:68:c9:0e:bc:0f:dd:11:2f: +- 25:43:9e:d4:5a:cf:e0:2a:4f:63:d8:1d:de:ef:7d: +- 6b:14:4f:8f:2e:9a:44:b8:4f:41:b3:88:95:71:e2: +- cd:8b:22:96:7c:55:fb:39:1a:6b:18:05:18:2c:95: +- 15:9f:b0:e3:92:76:c5:c6:e3:3f:56:44:2d:fe:a5: +- 61:d7:47:db:84:be:08:19:d6:39:f3:4f:dd:6c:d9: +- ff:e1:c2:ba:78:2b:87:a8:32:02:e2:a9:e7:8a:14: +- bb:c5:7a:a8:33:ff:54:0b:5c:c6:20:cf:2e:e3:ee: +- f5:fe:4c:98:26:a5:fc:1a:4a:3f:62:8f:df:a6:31: +- d2:a0:f4:c8:04:dd:f5:b8:5e:6b:6c:c3:c4:c7:da: +- 80:19:2f:40:e1:df:7d:39:a0:9d:c7:fe:59:db:75: +- f1:5e:2f:da:07:7f:5f:ac:0b:18:eb:0f:61:a5:17: +- b1:9e:cb:d5:56:9a:b4:54:89:93:45:2b:90:7e:ef: +- c3:a2:36:d5:7f:64:aa:a2:79:23:74:8c:02:93:5b: +- da:dd:10:03:01:9e:84:49:4d:8f:32:75:f1:63:57: +- 88:19 ++ 00:c9:08:13:81:df:5a:aa:45:2a:82:1e:73:4f:d6: ++ 2f:6b:7a:78:41:a7:fb:ea:02:5c:30:15:95:6a:a4: ++ 60:6b:08:4c:7d:46:4f:1a:7c:14:67:c6:19:e0:bf: ++ c9:12:c3:96:7f:71:12:79:ba:a1:d2:51:1b:fb:f1: ++ 0f:43:9d:22:6d:7f:46:a7:94:0c:51:c2:25:ad:36: ++ c8:1c:59:45:91:e1:20:4d:5e:31:b1:33:b1:4b:2b: ++ a0:62:fb:8a:c6:ee:7e:84:77:d2:aa:23:f8:31:74: ++ d5:94:60:72:88:a7:3a:ec:f3:d8:80:28:36:c1:5a: ++ 7f:58:be:8c:d2:eb:9d:fb:22:de:ec:2c:d3:41:81: ++ b2:e4:91:e4:da:12:b2:84:0e:8f:f7:b0:1e:36:07: ++ 88:87:8e:1d:63:ad:1b:a5:31:39:d2:02:10:e0:97: ++ 21:3f:7e:e9:f1:a2:e8:c3:aa:ad:e3:bd:05:62:e1: ++ a2:8d:ed:d5:cd:d7:66:8a:2b:15:dd:e1:91:e2:75: ++ 18:c4:50:62:fb:a1:f9:96:93:af:84:78:f7:69:b6: ++ 7f:82:f7:c8:97:13:10:46:7b:de:a2:a9:c9:71:78: ++ f1:8e:a1:78:b5:e5:b7:dd:69:4d:8c:1b:ae:34:0e: ++ 5f:94:26:8e:81:b3:23:6e:1f:be:de:e0:e0:41:dc: ++ 71:49 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: +- A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 ++ 43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 + X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 ++ keyid:43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 + +- X509v3 Basic Constraints: critical ++ X509v3 Basic Constraints: + CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 53:ce:08:79:96:94:22:9b:1f:8e:2f:3c:ad:7b:1f:0e:45:7e: +- 65:c1:c2:7f:46:f1:73:be:9c:e4:1b:2c:13:bd:bf:05:95:2b: +- 3c:6e:70:62:b2:14:1e:a6:60:e3:a7:b7:40:22:97:db:74:d1: +- fc:47:27:ba:de:89:50:7e:e1:3b:f5:3e:95:aa:01:e8:8a:e6: +- f9:49:48:97:d2:91:a0:1f:9d:82:b5:35:16:58:01:d1:82:1d: +- b4:dc:68:b9:1b:84:fb:e3:ec:06:a6:55:69:e9:84:69:7d:34: +- ba:dd:dd:57:15:1a:9e:d8:f4:c7:44:98:07:35:66:ec:a6:1e: +- 91:b8:a4:b2:9b:85:52:e8:98:e6:e8:28:8c:d4:1e:8e:45:50: +- 58:c9:68:fd:b4:4b:4f:b7:58:9f:45:7b:b1:12:ae:7d:70:0d: +- 4b:42:7e:46:d0:5a:d5:21:9f:f1:99:b6:21:75:34:7b:2a:d8: +- 45:2e:f9:4d:fa:b4:72:a8:9e:22:e6:66:4b:81:1d:8e:b2:54: +- f3:0f:02:17:68:7f:79:ca:df:a7:5d:17:70:50:bf:47:df:5a: +- 6a:e1:7f:af:ab:ca:54:86:ad:d8:35:c5:b8:f7:9d:72:0e:db: +- dc:0c:c3:08:2d:d1:9a:18:5c:c3:c1:64:7a:f3:9a:5a:6d:69: +- 12:e1:fd:c2 ++ 16:b8:f3:2a:4a:f7:82:7b:99:cb:40:20:a1:76:7a:2b:19:c9: ++ 4f:4f:90:b3:e4:7c:6e:42:28:c8:47:4b:37:12:ab:fa:64:ec: ++ d6:50:f8:2f:bd:61:cd:d6:09:96:d3:84:b1:e6:60:ae:99:ae: ++ 4a:1a:b1:34:a6:ee:b7:3b:1f:6f:cc:94:39:26:e4:9d:d2:02: ++ d9:75:ce:e7:dd:e9:3a:b2:c4:84:1a:75:0e:64:ce:32:7f:68: ++ 5b:81:b7:5e:18:bd:ac:56:69:1c:1a:a0:a1:61:85:f2:11:78: ++ 50:42:4e:e8:b8:67:8a:50:85:09:75:67:d9:09:e1:2a:61:64: ++ 24:1a:52:79:12:5c:d1:a5:53:5f:70:63:2b:30:fe:4e:e5:c6: ++ 3a:7c:f3:36:3e:7b:ab:6b:57:04:12:53:7e:dd:18:63:bf:25: ++ ae:b0:14:f8:93:bb:0a:a6:d4:7b:77:60:58:52:ee:9e:76:9c: ++ 63:ef:84:40:fd:5a:be:54:74:d7:b8:4a:85:09:a0:13:0e:75: ++ 75:e6:2c:73:1b:e3:94:ff:ad:73:0b:c6:e3:b0:68:56:ce:ff: ++ 8d:75:f4:9d:14:5c:05:a0:8d:ad:ab:96:aa:4f:58:cb:79:cf: ++ 5b:85:84:e7:4a:66:54:09:fd:da:c2:3a:3b:ee:3c:3c:0a:66: ++ 36:bc:a6:f0 + -----BEGIN CERTIFICATE----- +-MIIDpzCCAo+gAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR0wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMTU4NTNaFw0yMjA2MzAxMTU4NTNaMGMxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTEPMA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVN +-eVNRTDEmMCQGA1UEAwwdTXlTUUwgQ1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwggEi +-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJCZVUoJH9+SYvysTOSswlckQ0 +-8mh6TZGrGlSQUPwUivJbg/NoyQ68D90RLyVDntRaz+AqT2PYHd7vfWsUT48umkS4 +-T0GziJVx4s2LIpZ8Vfs5GmsYBRgslRWfsOOSdsXG4z9WRC3+pWHXR9uEvggZ1jnz +-T91s2f/hwrp4K4eoMgLiqeeKFLvFeqgz/1QLXMYgzy7j7vX+TJgmpfwaSj9ij9+m +-MdKg9MgE3fW4Xmtsw8TH2oAZL0Dh3305oJ3H/lnbdfFeL9oHf1+sCxjrD2GlF7Ge +-y9VWmrRUiZNFK5B+78OiNtV/ZKqieSN0jAKTW9rdEAMBnoRJTY8ydfFjV4gZAgMB +-AAGjUzBRMB0GA1UdDgQWBBSnLspTBVIGEr3t/8+4ujDneh+WRjAfBgNVHSMEGDAW +-gBSnLspTBVIGEr3t/8+4ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +-DQEBCwUAA4IBAQBTzgh5lpQimx+OLzytex8ORX5lwcJ/RvFzvpzkGywTvb8FlSs8 +-bnBishQepmDjp7dAIpfbdNH8Rye63olQfuE79T6VqgHoiub5SUiX0pGgH52CtTUW +-WAHRgh203Gi5G4T74+wGplVp6YRpfTS63d1XFRqe2PTHRJgHNWbsph6RuKSym4VS +-6Jjm6CiM1B6ORVBYyWj9tEtPt1ifRXuxEq59cA1LQn5G0FrVIZ/xmbYhdTR7KthF +-LvlN+rRyqJ4i5mZLgR2OslTzDwIXaH95yt+nXRdwUL9H31pq4X+vq8pUhq3YNcW4 +-951yDtvcDMMILdGaGFzDwWR685pabWkS4f3C ++MIIDzzCCAregAwIBAgIJAL8HVN6vz8TeMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV ++BAYTAklOMRIwEAYDVQQIDAlLYXJuYXRha2ExEjAQBgNVBAcMCUJlbmdhbHVydTEP ++MA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEmMCQGA1UEAwwdTXlTUUwg ++Q1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwHhcNMjAwNzAxMDc0NDM1WhcNMzAwNjI5 ++MDc0NDM1WjB+MQswCQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYD ++VQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwx ++JjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyQgTgd9aqkUqgh5zT9Yva3p4Qaf76gJc ++MBWVaqRgawhMfUZPGnwUZ8YZ4L/JEsOWf3ESebqh0lEb+/EPQ50ibX9Gp5QMUcIl ++rTbIHFlFkeEgTV4xsTOxSyugYvuKxu5+hHfSqiP4MXTVlGByiKc67PPYgCg2wVp/ ++WL6M0uud+yLe7CzTQYGy5JHk2hKyhA6P97AeNgeIh44dY60bpTE50gIQ4JchP37p ++8aLow6qt470FYuGije3VzddmiisV3eGR4nUYxFBi+6H5lpOvhHj3abZ/gvfIlxMQ ++RnveoqnJcXjxjqF4teW33WlNjBuuNA5flCaOgbMjbh++3uDgQdxxSQIDAQABo1Aw ++TjAdBgNVHQ4EFgQUQ6s/TdPrNz09Kv69TsKK3cnlsbEwHwYDVR0jBBgwFoAUQ6s/ ++TdPrNz09Kv69TsKK3cnlsbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC ++AQEAFrjzKkr3gnuZy0AgoXZ6KxnJT0+Qs+R8bkIoyEdLNxKr+mTs1lD4L71hzdYJ ++ltOEseZgrpmuShqxNKbutzsfb8yUOSbkndIC2XXO593pOrLEhBp1DmTOMn9oW4G3 ++Xhi9rFZpHBqgoWGF8hF4UEJO6LhnilCFCXVn2QnhKmFkJBpSeRJc0aVTX3BjKzD+ ++TuXGOnzzNj57q2tXBBJTft0YY78lrrAU+JO7CqbUe3dgWFLunnacY++EQP1avlR0 ++17hKhQmgEw51deYscxvjlP+tcwvG47BoVs7/jXX0nRRcBaCNrauWqk9Yy3nPW4WE ++50pmVAn92sI6O+48PApmNrym8A== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-certificate-readme.txt b/mysql-test/std_data/crl-certificate-readme.txt +index 6979b33e1b7..7e398eed88f 100644 +--- a/mysql-test/std_data/crl-certificate-readme.txt ++++ b/mysql-test/std_data/crl-certificate-readme.txt +@@ -1,6 +1,9 @@ + These are the instructions on how to generate test files for the CRL tests + using openSSL. + ++If you have root access on the system ++===================================== ++ + 1. Make sure you have the right validity periods in CA.pl and openssl.cnf + 2. Create a new certification authority : CA.pl -newca + 3. Copy demoCA/cacert.pem to crl-ca-cert.pem +@@ -21,11 +24,77 @@ using openSSL. + key while copying it : + openssl rsa -in newkey.pem -out crl-client-key-revoked.pem + 16. Revoke the crl-client-invalid-cert.pem : +- openssl ca -revoke crl-client-key-revoked.pem ++ openssl ca -revoke crl-client-invalid-cert.pem + 17. Generate a CRL file : + openssl ca -gencrl -crldays=3650 -out crl-client-revoked.crl + 18. Clean up all the files in the crldir directory +-19. Copy the CA certificate into it : +- cp crl-ca-cert.pem `openssl x509 -in crl-ca-cert.pem -noout -hash`.0 +-20. Copy the CRL file into it : +- cp crl-client-revoked.crl `openssl crl -in crl-ca-cert.pem -noout -hash`.r0 ++19. Copy the CRL file into it : ++ cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.crl -noout -hash`.r0 ++ ++ ++If you are using your own CA ++============================ ++ ++Prepare directory ++----------------- ++ ++1. mkdir new_crlcerts && cd new_crlcerts ++2. mkdir crldir ++3. mkdir private ++ ++Generate CA and 3 set of certificates ++------------------------------------- ++ ++4. Generate CA ++openssl genrsa 2048 > crl-ca-key.pem ++openssl req -new -x509 -nodes -days 3650 -key crl-ca-key.pem -out crl-ca-cert.pem ++ ++5. Generate Server certificate ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-server-key.pem -out crl-server-req.pem ++openssl rsa -in crl-server-key.pem -out crl-server-key.pem ++openssl x509 -req -in crl-server-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 01 -out crl-server-cert.pem ++ ++6. Generate Client certificate ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-key.pem -out crl-client-req.pem ++openssl rsa -in crl-client-key.pem -out crl-client-key.pem ++openssl x509 -req -in crl-client-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 02 -out crl-client-cert.pem ++ ++7. Generate Client certificate that will be revoked later ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-revoked-key.pem -out crl-client-revoked-req.pem ++openssl rsa -in crl-client-revoked-key.pem -out crl-client-revoked-key.pem ++openssl x509 -req -in crl-client-revoked-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 03 -out crl-client-revoked-cert.pem ++ ++Prepare for certificate revocation ++---------------------------------- ++ ++8. cp crl-ca-cert.pem cacert.pem ++9. cp crl-ca-key.pem private/cakey.pem ++10. touch index.txt ++11. echo 1000 > crlnumber ++12. copy global openssl.cnf to current working dirctory ++13. Open local copy of openssl.cnf and in [CA_default] section ++ - Update dir to point to current working directory ++ - Update certs to point to $dir and not $dir/certs ++ ++Revoke a certificate and create crl file ++---------------------------------------- ++ ++14. openssl ca -config openssl.cnf -revoke crl-client-revoked-cert.pem ++15. openssl ca -config openssl.cnf -gencrl -crldays 3600 -out crl-client-revoked.crl ++16. cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.pem -noout -hash`.r0 ++ ++Replace existing certs ++---------------------- ++17. Replace following files in /mysql-test/std_data/ with files generated above ++ crl-ca-cert.pem ++ crl-client-cert.pem ++ crl-client-key.pem ++ crl-client-revoked-cert.pem ++ crl-client-revoked-key.pem ++ crl-client-revoked.crl ++ crl-server-cert.pem ++ crl-server-key.pem ++ ++18. Remove file in /mysql-test/std_data/crldir ++19. Copy file generated in step 16 above to /mysql-test/std_data/crldir ++20. You may now remove new_crls directory +diff --git a/mysql-test/std_data/crl-client-cert.pem b/mysql-test/std_data/crl-client-cert.pem +index 2cec5cd529f..a0017c2441f 100644 +--- a/mysql-test/std_data/crl-client-cert.pem ++++ b/mysql-test/std_data/crl-client-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1f +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 2 (0x2) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:14:10 2019 GMT +- Not After : Jun 30 12:14:10 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate ++ Not Before: Jul 1 07:51:35 2020 GMT ++ Not After : May 10 07:51:35 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:d6:97:3a:d7:2b:cc:68:4a:7f:72:18:ab:74:7d: +- 51:84:48:44:11:9f:d1:f2:ee:e0:40:6d:a0:23:fc: +- 36:a2:44:ca:2c:13:60:62:f9:ce:45:54:ef:3d:ec: +- a8:6b:e0:02:66:10:89:1f:e7:bf:d2:2d:9c:79:e9: +- 3f:37:ae:fc:da:b3:0d:5f:6a:84:86:6a:04:13:26: +- 99:dd:c6:46:a3:e0:c1:1d:89:0b:4a:42:08:8e:d4: +- 56:3b:12:5e:de:04:e1:b7:da:b5:73:ee:9c:7f:a8: +- 04:f3:18:04:a7:5e:9d:a6:fd:b4:04:17:bb:3d:07: +- 8b:2b:cd:29:cb:ca:6a:d1:70:5d:4f:e5:10:09:44: +- 20:73:ef:65:87:0b:42:67:2c:1c:64:59:bd:56:ea: +- 88:d4:f1:b1:31:d8:ee:8a:bb:3d:22:09:6a:68:ec: +- b4:c5:07:15:81:9e:ae:ee:72:d7:2d:67:df:bd:fd: +- c5:10:5e:e6:88:18:ad:2a:2d:e4:33:be:ac:f7:fe: +- f9:b9:40:54:69:f9:78:fe:57:81:93:89:49:a7:8b: +- 64:8b:72:ea:ab:53:55:43:1e:ea:3a:cd:b0:cb:97: +- 43:9b:70:cc:12:ef:22:08:55:d1:1c:ab:8b:1e:c1: +- d5:4f:15:3f:2b:f7:01:39:a0:74:33:ae:ea:45:25: +- af:2f ++ 00:ab:7f:02:81:a3:ce:01:93:02:67:2a:56:e3:51: ++ 5a:1d:a0:57:e8:4f:bb:2f:27:4d:13:9e:18:8e:b0: ++ ec:47:a9:9c:cc:ce:24:be:64:c2:86:3f:91:63:d3: ++ 23:22:d9:10:e4:44:d5:2e:b9:09:06:e4:8f:0f:91: ++ 90:18:a6:f6:bb:de:4c:63:13:2a:59:41:fb:42:c4: ++ 05:ce:1a:f2:9e:dd:d5:50:00:55:28:7a:56:63:a9: ++ e0:81:f1:ef:03:61:97:00:88:39:85:a5:9e:08:11: ++ fc:76:5a:59:23:79:d8:45:d2:d3:94:19:78:8a:ca: ++ 44:f2:dd:08:df:65:15:0d:d3:b7:df:f5:2c:6c:bb: ++ 86:fb:0e:1a:19:be:ee:8a:af:1f:3d:30:6e:4f:42: ++ 3d:ca:80:39:d5:05:2d:74:5a:6b:0a:0c:49:7c:8b: ++ 95:50:37:46:0e:90:3a:e4:36:58:73:6c:49:69:b0: ++ 76:ca:c4:aa:70:48:b2:1f:2a:86:8a:ae:a7:e0:9a: ++ b3:af:5f:7a:67:6a:1a:f3:e8:2e:57:1e:f2:ac:96: ++ a2:ae:39:f3:7f:e3:7f:e3:b4:0f:e1:d3:e3:95:c6: ++ 04:2a:5e:ca:7e:79:52:a5:49:be:95:66:72:80:d4: ++ 2b:7f:cc:b9:aa:1a:24:27:27:6f:3d:b9:d7:5a:fd: ++ 48:23 + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- BF:48:07:97:37:D7:64:E6:86:B7:3F:0A:1B:C7:08:9A:35:B0:5B:48 +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 30:e8:b1:28:8d:f3:09:c8:58:a5:2a:2b:6e:19:ec:f4:3f:fe: +- a0:b2:82:ee:08:5b:aa:94:2c:23:3a:b3:e5:14:43:21:f7:18: +- 23:00:c4:88:b7:b3:b2:c8:b0:31:a2:b3:60:b5:9e:3f:95:b1: +- 72:64:58:da:d7:8d:21:ef:85:93:6d:8d:46:a0:21:5b:c9:bd: +- c6:ea:c6:ff:36:c7:82:d6:4f:71:cf:81:f5:72:af:b1:b9:03: +- ea:a3:7c:2e:b8:67:ce:4b:32:d9:75:c9:5c:4e:2c:1c:c2:25: +- 95:6b:6d:d4:49:5a:c1:01:54:98:78:73:40:3f:05:e5:91:73: +- fc:dd:88:4c:d3:c4:f9:9e:da:fe:cb:e0:a1:2f:6d:15:b5:d8: +- c5:92:07:4a:bf:1e:0b:ac:f4:6e:a3:86:85:31:df:be:a0:90: +- 54:74:12:7c:d9:47:a9:f3:ed:c2:8e:69:0d:2e:51:eb:7b:9d: +- b8:7d:cb:32:ac:65:bd:8f:52:97:41:8f:7b:ca:38:3f:49:77: +- 3c:4b:ac:b1:19:34:03:20:40:a3:9f:ad:79:c9:90:8f:08:8c: +- 6f:9b:a9:de:d5:31:35:e2:27:bb:14:36:06:28:19:30:49:a7: +- ce:42:a7:19:61:2d:7a:94:1b:c6:15:86:4f:20:c1:49:a3:11: +- 86:b6:61:87 ++ 9d:4f:df:b6:eb:02:57:d5:e0:bb:f4:31:5c:2d:0e:ac:51:ce: ++ 8c:5e:97:58:a8:79:cf:67:be:5c:00:7d:e5:aa:de:5e:8c:61: ++ 18:39:2d:4e:e3:62:9f:ba:fc:e3:dc:94:6c:1f:40:0c:e4:98: ++ 26:ac:06:45:8f:dc:73:c8:75:0e:12:b3:46:3c:71:2d:c7:d0: ++ fd:07:71:77:68:f9:55:2d:56:66:8b:27:77:c3:af:87:ee:ba: ++ 21:8a:85:5e:82:93:69:e7:d9:30:3f:53:06:d5:c1:cd:0f:2f: ++ be:f8:5b:07:9c:e2:08:d1:ec:a3:a8:e1:c4:49:e7:6a:1d:37: ++ b4:41:85:a1:11:43:cd:14:7d:a9:b7:d8:32:ae:75:d1:14:6e: ++ 99:cf:52:1c:7c:50:5d:57:09:1f:7c:e6:4a:70:60:cc:49:10: ++ 7a:66:37:2e:a7:ee:5d:11:ed:d7:61:5c:c3:ed:dc:c2:9a:d9: ++ c4:92:54:95:67:04:81:ba:8d:ba:a7:c4:81:7a:63:63:52:28: ++ 5b:35:01:4e:3b:1e:34:55:d8:62:bc:79:db:c8:7a:6f:e7:0a: ++ 65:83:95:5d:bd:21:38:02:a0:24:d5:e5:5c:17:64:39:23:0d: ++ 27:62:d3:7f:c5:3b:52:26:ac:f2:13:f5:8a:53:09:d0:52:26: ++ 69:09:c4:e2 + -----BEGIN CERTIFICATE----- +-MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR8wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjE0MTBaFw0yMDA2MzAxMjE0MTBaMHsxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK +-DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz +-dCBjbGllbnQgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +-AoIBAQDWlzrXK8xoSn9yGKt0fVGESEQRn9Hy7uBAbaAj/DaiRMosE2Bi+c5FVO89 +-7Khr4AJmEIkf57/SLZx56T83rvzasw1faoSGagQTJpndxkaj4MEdiQtKQgiO1FY7 +-El7eBOG32rVz7px/qATzGASnXp2m/bQEF7s9B4srzSnLymrRcF1P5RAJRCBz72WH +-C0JnLBxkWb1W6ojU8bEx2O6Kuz0iCWpo7LTFBxWBnq7uctctZ9+9/cUQXuaIGK0q +-LeQzvqz3/vm5QFRp+Xj+V4GTiUmni2SLcuqrU1VDHuo6zbDLl0ObcMwS7yIIVdEc +-q4sewdVPFT8r9wE5oHQzrupFJa8vAgMBAAGjUzBRMB0GA1UdDgQWBBS/SAeXN9dk +-5oa3PwobxwiaNbBbSDAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP +-BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAw6LEojfMJyFilKitu +-Gez0P/6gsoLuCFuqlCwjOrPlFEMh9xgjAMSIt7OyyLAxorNgtZ4/lbFyZFja140h +-74WTbY1GoCFbyb3G6sb/NseC1k9xz4H1cq+xuQPqo3wuuGfOSzLZdclcTiwcwiWV +-a23USVrBAVSYeHNAPwXlkXP83YhM08T5ntr+y+ChL20VtdjFkgdKvx4LrPRuo4aF +-Md++oJBUdBJ82Uep8+3CjmkNLlHre524fcsyrGW9j1KXQY97yjg/SXc8S6yxGTQD +-IECjn615yZCPCIxvm6ne1TE14ie7FDYGKBkwSafOQqcZYS16lBvGFYZPIMFJoxGG +-tmGH ++MIIDdTCCAl0CAQIwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUxMzVaFw0zMDA1MTAwNzUxMzVaMIGCMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 ++U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB ++BQADggEPADCCAQoCggEBAKt/AoGjzgGTAmcqVuNRWh2gV+hPuy8nTROeGI6w7Eep ++nMzOJL5kwoY/kWPTIyLZEORE1S65CQbkjw+RkBim9rveTGMTKllB+0LEBc4a8p7d ++1VAAVSh6VmOp4IHx7wNhlwCIOYWlnggR/HZaWSN52EXS05QZeIrKRPLdCN9lFQ3T ++t9/1LGy7hvsOGhm+7oqvHz0wbk9CPcqAOdUFLXRaawoMSXyLlVA3Rg6QOuQ2WHNs ++SWmwdsrEqnBIsh8qhoqup+Cas69femdqGvPoLlce8qyWoq4583/jf+O0D+HT45XG ++BCpeyn55UqVJvpVmcoDUK3/MuaoaJCcnbz2511r9SCMCAwEAATANBgkqhkiG9w0B ++AQsFAAOCAQEAnU/ftusCV9Xgu/QxXC0OrFHOjF6XWKh5z2e+XAB95areXoxhGDkt ++TuNin7r849yUbB9ADOSYJqwGRY/cc8h1DhKzRjxxLcfQ/Qdxd2j5VS1WZosnd8Ov ++h+66IYqFXoKTaefZMD9TBtXBzQ8vvvhbB5ziCNHso6jhxEnnah03tEGFoRFDzRR9 ++qbfYMq510RRumc9SHHxQXVcJH3zmSnBgzEkQemY3LqfuXRHt12Fcw+3cwprZxJJU ++lWcEgbqNuqfEgXpjY1IoWzUBTjseNFXYYrx528h6b+cKZYOVXb0hOAKgJNXlXBdk ++OSMNJ2LTf8U7Uias8hP1ilMJ0FImaQnE4g== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-client-key.pem b/mysql-test/std_data/crl-client-key.pem +index 677e42ce062..8a361d9ca77 100644 +--- a/mysql-test/std_data/crl-client-key.pem ++++ b/mysql-test/std_data/crl-client-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEpQIBAAKCAQEA1pc61yvMaEp/chirdH1RhEhEEZ/R8u7gQG2gI/w2okTKLBNg +-YvnORVTvPeyoa+ACZhCJH+e/0i2ceek/N6782rMNX2qEhmoEEyaZ3cZGo+DBHYkL +-SkIIjtRWOxJe3gTht9q1c+6cf6gE8xgEp16dpv20BBe7PQeLK80py8pq0XBdT+UQ +-CUQgc+9lhwtCZywcZFm9VuqI1PGxMdjuirs9IglqaOy0xQcVgZ6u7nLXLWffvf3F +-EF7miBitKi3kM76s9/75uUBUafl4/leBk4lJp4tki3Lqq1NVQx7qOs2wy5dDm3DM +-Eu8iCFXRHKuLHsHVTxU/K/cBOaB0M67qRSWvLwIDAQABAoIBAQCOie2ft4wTSkjV +-dOWOfx+Ciq4MNuiyQVHb+fWBcaqopqDUHhrMI7qL+xrfOy+0WBu/yAQNmValOX7S +-y8geKLH0YzLiylI1Jn6GagGSen25pTUhdUJ2lN4yYYDVxCIXv45fHXuiAkEZ2nVP +-NAkDU6nMnoDQpyLMKxKaibDVmSLS8mR+wVW/1jKz0kvaNFzB3Ib6Is2tBDTAj5hO +-4WaC4kvfuRL9en42WXPU/fQNcHVkxdiFsGwXgG8ZHiWpe/sE92qctTx/QmwIuj5I +-IP06a/piWh/IhoHrx3aP+Y4OV5sw1+k/cpd9Il2mg+2nbLhkKBoknngt/p6/Nt3O +-qowrQXJhAoGBAPbMSMr+nDJBDvPj9AXm5VXou3SQJnMHdGMZAj6odSA2+2msK6VT +-ZNJ75eOzveb0y+w/9hETwltMuUjfnITtu/5UN3GOP15HgOWSUrwJ+NXsoT0xuP83 +-gz2lwK5g/YqED1606yXFFBRcxHnE3hpiTuRb5vrPKKinOl5eAz8Bso0jAoGBAN6X +-hgmdpqs3k1BrdTFooNz6iZvWQanmBZd/XXETdKAF6YzHHnjARd/b3TOCkPqKWxc/ +-+JdEBiWCeaCDG3jobAU0EeeA5G6rztcbYucDkhIGlb2rgIJoubVKzUwPCSL1xTrJ +-VMBwkIo4CZDcPwKYvQBaa1PulazF7ZJDDNNV//SFAoGBAOK4/M5vZLLODZyEd3LM +-kTaA3WTR4GCgIo2/Nc62FxOHLyP+5QG2QNMUuzaZswVvMb9Raw55Jn2VWEnYEwQT +-GjckyuJpGVHVQlakO5k/V/e+sMl02kyrhMendAE+XO1ZMH2CmttR14Z1SpHLB3cZ +-hPxIaUNT+DgnmHmEyFqjhpIdAoGAQf/blm5QROQtoeK61POY/uyqcLKOtbmmXs08 +-/5ItOmWGYl+IAXXBQicG54cHRcJQUAx/wRpCWEzfk2BMfQUtQj22MVZeZRI8Oju8 +-j5LXdNDPBXYcnI5AwihzxuGOa/dDi7K2lnjJ4rHK5FDpvfNb1wb4W+KaLqhhUMTg +-wKj3Q6ECgYEAtufmUZ/bJJu76lY2OpKopFhIvNAsusbtewz5gcm5vZr8vMtYgp/n +-gdouphit+z76P9XC7rIrWYns4WyZmsaPXHSepvSH5P25G6DzyjRplCJ3EIjZu++7 +-ZG/hac1Vo82T5Qeg1IpOHVE4jceC8XfUcmuoBO31ScZFeOQlT2otdY0= ++MIIEogIBAAKCAQEAq38CgaPOAZMCZypW41FaHaBX6E+7LydNE54YjrDsR6mczM4k ++vmTChj+RY9MjItkQ5ETVLrkJBuSPD5GQGKb2u95MYxMqWUH7QsQFzhrynt3VUABV ++KHpWY6nggfHvA2GXAIg5haWeCBH8dlpZI3nYRdLTlBl4ispE8t0I32UVDdO33/Us ++bLuG+w4aGb7uiq8fPTBuT0I9yoA51QUtdFprCgxJfIuVUDdGDpA65DZYc2xJabB2 ++ysSqcEiyHyqGiq6n4Jqzr196Z2oa8+guVx7yrJairjnzf+N/47QP4dPjlcYEKl7K ++fnlSpUm+lWZygNQrf8y5qhokJydvPbnXWv1IIwIDAQABAoIBADdU9mEPkdMONJNG ++pNwZDmNKrbJFr1ZKbuLqem/ng4Sno/CsfkxzxBN+hRFZORfwQzPzRXkauF/h9IqI ++Y56gmDELS0gYEezUjhX/mwPhy/AYENAMG23A8wia8dXbUkub/BVu3mhRhEiETRl+ ++kw4QLQhyOlOpWCwnkNFvIYK6YW2hHye1utu7L+Hy2zyi9g6ZKyZRl8W/OrFT2ka0 ++5zAOb1ttYLUdzK+ErF29GrT2X7PCL//QCNHQW2q03QWSRA7w+MbfytkJRLsCl8fg ++V1uVjP/RumuS6fLxQkytbaioukmfzO+4J0Z+JWpF2IqzixrdxlgPvMIAUDHEOVdv ++JlXuI4kCgYEA4xs75iLM+YDxHyygfyJZGI7iqwfkXbRDcKp/MECa7KcvJs0l8Eeu ++lB0jSM/uy9o92vTXLb5bi45vBiCjImAuZQL08elQZuR5JiPJZqF/b3BXsLUcPIbI ++oxO3hLdigyt9wuuk3XvhrYJkLJZ6z8lBR6Qfvre8kApqLjnlH2QGUR0CgYEAwVCS ++Wy4AL1goFHc+b/hFou0nWLjVFiMpNroDEQigvLnnRG7irMDxDsxAcotl6tYzjjys ++JKtMmBJDJnlsHnO8NK2sUn1CQTxdxoXOhVD0mtbaowU+PVZDzhp1j1dzmtzovKTo ++Qkh+DV8Z4ulbaJ+ROpgCZYCoJ5K3PEwjrrbN+j8CgYA5BZKBkwVSNBzWjfbyVOZ3 ++8xBYjw+4s1UnibeLnv0HJGcDYAkBjo335GUCmCrGBlL3kfghJSWJIccgi7tKG0oq ++1JY50zH706vTdrLP0QbVLSjnVmHzlIf14jJ24TCb7KST92Sas8sTLKUISPQnDcoV ++OdE6qplutR654pFz00J+xQKBgGDM6MyxpzQN79v3rhNBfhVMrcQ2obU5HB0kXf68 ++lEiMyqqw397jqpHfY3I4LWu/oQdbiFPAV1Va57cvXB2PlLHIOZ8AzBmAkfCj9js5 ++w5J5fffd20G5nbBp/W4uu1vTvNMhvI/cXwpxEbRXaAdmx8FQdvq+xvUx+YE/GysU ++rOXfAoGAQ4G+nrbKq76GEKfMzGnAHunSbdYlHOY/sHJ2Z0M/5eHIcvOEBJKGXl3m ++xe6WR/wavanNwMQ4aqpRv09yufdnoVsJcWpThDDBDIlstHUvO1mnk8B7OqHL2GIy ++lbo/QtpHT/46igRZUtBZFyZu4hb5EwBIpKNm1X/MyFYU7XMrvpQ= + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crl-client-revoked-cert.pem b/mysql-test/std_data/crl-client-revoked-cert.pem +index d3b81e2c1a2..d48e20e0d9e 100644 +--- a/mysql-test/std_data/crl-client-revoked-cert.pem ++++ b/mysql-test/std_data/crl-client-revoked-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:20 +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 3 (0x3) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:18:02 2019 GMT +- Not After : Jun 30 12:18:02 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked ++ Not Before: Jul 1 07:52:41 2020 GMT ++ Not After : May 10 07:52:41 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:e2:df:28:76:87:da:b5:49:64:03:a4:92:50:53: +- 89:d1:b8:85:a8:76:6e:2c:44:6a:85:f2:a2:7a:d9: +- f1:26:ab:f7:ea:e4:46:77:ce:38:9e:49:dc:e0:c0: +- ce:c1:e3:e2:3c:80:3a:e0:ab:7d:1a:fa:31:12:59: +- a5:b1:24:b5:42:30:e7:1d:95:85:4d:eb:17:ce:13: +- 8f:7b:25:7b:4b:ff:44:7c:b6:07:4b:e3:b8:ab:c2: +- 0d:07:6f:e3:bb:2d:56:8d:0f:c7:78:29:c7:c6:94: +- df:82:d6:32:15:cb:5f:e1:7b:8a:38:e0:ae:cd:aa: +- 58:37:99:6b:5a:52:20:a5:fb:fa:d7:61:bd:c4:5d: +- 11:fc:10:0f:49:74:9e:be:30:6b:cb:c1:4b:b8:5c: +- 50:85:4a:fd:d1:13:3f:3e:e0:b8:3e:ec:30:92:9b: +- 2b:b1:67:86:2e:2f:76:5d:ce:16:31:7f:eb:0e:0e: +- ba:14:97:d1:5e:35:fb:c9:af:fe:20:36:56:60:bc: +- 95:45:84:de:90:59:d8:24:57:24:48:4a:cf:3f:9b: +- b2:89:7d:9d:91:dd:da:92:a6:77:01:9e:09:5c:96: +- a3:94:d4:95:5e:69:d4:a4:13:af:47:e3:64:7a:26: +- bf:c4:a2:6b:0b:5f:b6:f9:ee:40:1e:e8:54:04:bd: +- 98:89 ++ 00:c2:57:18:e7:94:ce:44:87:f3:45:8d:e1:c3:a8: ++ a0:1f:9a:04:9a:67:de:4a:41:bc:5d:0f:31:07:9f: ++ e3:d5:82:54:81:b9:dc:77:43:62:51:42:43:cd:8c: ++ 31:71:0f:5b:dd:e8:02:c5:f2:3a:be:e4:e9:64:99: ++ df:e5:8f:34:fc:f9:2c:5b:1d:b1:93:8b:b7:c5:55: ++ 5e:10:f9:b5:1c:0b:9e:1a:65:3d:ab:2e:51:a5:fd: ++ 10:97:57:2d:98:6d:9a:82:0e:ae:25:21:cc:dc:26: ++ 01:16:34:8a:f4:67:30:2f:77:4b:56:7b:e4:ec:c2: ++ cf:1e:ec:0d:0a:29:c1:49:2f:5e:6e:75:4f:d7:b4: ++ d0:b2:73:09:9f:25:e0:a8:41:66:e0:78:d4:2b:f5: ++ 6e:3c:20:15:3e:75:d1:e3:cc:ee:47:b8:2a:fe:46: ++ f4:bc:01:7a:9f:67:48:12:bc:a1:b9:e1:b7:31:4a: ++ 2f:6a:ed:d1:33:7a:26:ab:01:88:05:70:48:8b:87: ++ 41:4b:44:78:67:7b:e7:37:8c:b7:41:c0:6a:eb:37: ++ 3b:de:a9:91:16:75:f9:14:81:eb:b4:60:db:a0:2e: ++ 93:8a:61:91:33:ee:12:2f:85:2c:12:96:30:f1:f5: ++ 00:42:16:95:a7:e9:06:30:32:b9:a3:fe:19:1d:fb: ++ 28:ff + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- 99:C4:1D:9A:1D:7D:43:C0:FB:B2:17:64:60:B3:33:0B:9C:69:1E:6F +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 10:35:2a:20:3e:7c:d0:8d:7a:c8:0a:1f:a9:ad:c2:67:c5:eb: +- bd:f6:eb:67:e6:e4:d2:d0:c8:0c:1b:9d:fb:99:a6:1c:b5:30: +- 23:35:71:19:a3:1c:fd:f1:f1:a9:30:de:1c:b0:c4:05:2b:93: +- 4d:60:e7:00:0d:c3:3b:d5:67:6a:38:3f:6a:ee:63:bd:ce:7f: +- a4:b8:9a:23:7b:d9:68:5d:80:04:b8:43:98:00:18:70:89:71: +- 38:3b:07:33:0f:60:2c:cf:90:7c:bd:78:69:6f:a1:38:a1:0f: +- 37:04:af:01:6c:ba:7a:84:d8:4b:ed:e3:f5:52:ec:de:a1:0c: +- ac:a5:35:62:75:b5:36:6e:75:77:9f:14:40:c2:6f:93:f3:23: +- 70:ff:fe:0e:6a:50:45:45:e4:8c:98:8b:4d:2f:8c:05:43:29: +- eb:0d:09:25:1a:c6:19:1b:8c:7a:ae:c4:31:b7:54:e6:d2:dd: +- 62:c5:18:6d:b8:e0:ce:d9:84:0a:ca:f0:95:2b:92:d0:69:f5: +- 85:6e:f1:49:63:fe:e9:71:a3:4b:55:ed:56:f1:de:96:7d:b9: +- 6f:be:8f:00:99:e6:c8:21:26:eb:9c:d9:3b:da:9e:5d:dd:8e: +- 64:5d:de:d4:60:56:5f:59:62:05:c8:f4:0d:ab:dd:ac:54:2c: +- 66:24:ea:da ++ 26:ed:c6:62:c6:37:5b:d6:5a:8d:f1:09:4e:ac:0e:d6:0c:fb: ++ 3c:a0:73:c7:2c:c5:23:ed:ca:b4:27:aa:66:1e:37:e0:5c:3a: ++ ff:35:82:f2:da:2e:4a:16:0a:5c:ea:38:9b:63:ce:2e:0c:27: ++ e6:e9:77:c7:ba:16:75:f3:1c:9b:9b:83:aa:90:3a:3e:2e:1b: ++ 01:07:24:d1:c7:a8:e9:d6:30:ea:04:37:7d:ed:dc:d8:36:35: ++ ca:df:83:e3:7f:49:b7:a7:06:3b:2b:fa:ed:03:7c:91:39:93: ++ 44:59:b5:ed:5d:28:30:25:76:c5:5e:67:ce:28:c6:d1:68:48: ++ bf:43:33:40:8d:5d:3d:2b:cb:8e:b3:77:cb:a7:41:f2:94:20: ++ 0a:ab:c7:86:1f:e4:04:84:a4:73:19:ae:e4:ba:82:9a:35:0f: ++ 44:26:f0:49:0e:9d:08:d3:7d:94:b0:22:ae:62:7a:3e:60:48: ++ 4b:09:11:4d:bc:1e:80:21:65:6f:21:77:43:be:8c:3d:c9:71: ++ c7:c5:88:90:5e:60:26:64:8a:43:45:2e:a3:02:0c:8d:e1:b9: ++ 76:a6:c9:61:2d:7a:d2:3c:17:c4:74:01:2f:dc:eb:a0:90:f5: ++ f7:0a:19:2b:d7:38:fb:c3:aa:c7:b6:76:17:72:1a:41:8f:54: ++ 95:72:94:bc + -----BEGIN CERTIFICATE----- +-MIIDyDCCArCgAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokSAwDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjE4MDJaFw0yMDA2MzAxMjE4MDJaMIGDMQswCQYD +-VQQGEwJJTjELMAkGA1UECAwCS0ExEjAQBgNVBAcMCUJhbmdhbG9yZTEPMA0GA1UE +-CgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEyMDAGA1UEAwwpTXlTUUwgQ1JMIHRl +-c3QgY2xpZW50IGNlcnRpZmljYXRlIHJldm9rZWQwggEiMA0GCSqGSIb3DQEBAQUA +-A4IBDwAwggEKAoIBAQDi3yh2h9q1SWQDpJJQU4nRuIWodm4sRGqF8qJ62fEmq/fq +-5EZ3zjieSdzgwM7B4+I8gDrgq30a+jESWaWxJLVCMOcdlYVN6xfOE497JXtL/0R8 +-tgdL47irwg0Hb+O7LVaND8d4KcfGlN+C1jIVy1/he4o44K7Nqlg3mWtaUiCl+/rX +-Yb3EXRH8EA9JdJ6+MGvLwUu4XFCFSv3REz8+4Lg+7DCSmyuxZ4YuL3ZdzhYxf+sO +-DroUl9FeNfvJr/4gNlZgvJVFhN6QWdgkVyRISs8/m7KJfZ2R3dqSpncBnglclqOU +-1JVeadSkE69H42R6Jr/EomsLX7b57kAe6FQEvZiJAgMBAAGjUzBRMB0GA1UdDgQW +-BBSZxB2aHX1DwPuyF2RgszMLnGkebzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4 +-ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAQNSog +-PnzQjXrICh+prcJnxeu99utn5uTS0MgMG537maYctTAjNXEZoxz98fGpMN4csMQF +-K5NNYOcADcM71WdqOD9q7mO9zn+kuJoje9loXYAEuEOYABhwiXE4OwczD2Asz5B8 +-vXhpb6E4oQ83BK8BbLp6hNhL7eP1UuzeoQyspTVidbU2bnV3nxRAwm+T8yNw//4O +-alBFReSMmItNL4wFQynrDQklGsYZG4x6rsQxt1Tm0t1ixRhtuODO2YQKyvCVK5LQ +-afWFbvFJY/7pcaNLVe1W8d6Wfblvvo8AmebIISbrnNk72p5d3Y5kXd7UYFZfWWIF +-yPQNq92sVCxmJOra ++MIIDfTCCAmUCAQMwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUyNDFaFw0zMDA1MTAwNzUyNDFaMIGKMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxMjAwBgNVBAMMKU15 ++U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXZva2VkMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8 ++XQ8xB5/j1YJUgbncd0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3 ++xVVeEPm1HAueGmU9qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLP ++HuwNCinBSS9ebnVP17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6 ++n2dIEryhueG3MUovau3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5 ++FIHrtGDboC6TimGRM+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABMA0G ++CSqGSIb3DQEBCwUAA4IBAQAm7cZixjdb1lqN8QlOrA7WDPs8oHPHLMUj7cq0J6pm ++HjfgXDr/NYLy2i5KFgpc6jibY84uDCfm6XfHuhZ18xybm4OqkDo+LhsBByTRx6jp ++1jDqBDd97dzYNjXK34Pjf0m3pwY7K/rtA3yROZNEWbXtXSgwJXbFXmfOKMbRaEi/ ++QzNAjV09K8uOs3fLp0HylCAKq8eGH+QEhKRzGa7kuoKaNQ9EJvBJDp0I032UsCKu ++Yno+YEhLCRFNvB6AIWVvIXdDvow9yXHHxYiQXmAmZIpDRS6jAgyN4bl2pslhLXrS ++PBfEdAEv3OugkPX3Chkr1zj7w6rHtnYXchpBj1SVcpS8 + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-client-revoked-key.pem b/mysql-test/std_data/crl-client-revoked-key.pem +index 52875dc6f03..dd2f2565bd1 100644 +--- a/mysql-test/std_data/crl-client-revoked-key.pem ++++ b/mysql-test/std_data/crl-client-revoked-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEpAIBAAKCAQEA4t8odofatUlkA6SSUFOJ0biFqHZuLERqhfKietnxJqv36uRG +-d844nknc4MDOwePiPIA64Kt9GvoxElmlsSS1QjDnHZWFTesXzhOPeyV7S/9EfLYH +-S+O4q8INB2/juy1WjQ/HeCnHxpTfgtYyFctf4XuKOOCuzapYN5lrWlIgpfv612G9 +-xF0R/BAPSXSevjBry8FLuFxQhUr90RM/PuC4PuwwkpsrsWeGLi92Xc4WMX/rDg66 +-FJfRXjX7ya/+IDZWYLyVRYTekFnYJFckSErPP5uyiX2dkd3akqZ3AZ4JXJajlNSV +-XmnUpBOvR+Nkeia/xKJrC1+2+e5AHuhUBL2YiQIDAQABAoIBAFTjfzZquvEeVufu +-Cjk4KNdqHcjdF3hE2T7pfNZO+iaoLgmcBKoLZbAEnzsRqctuw1Yz/NPYFuWjO/1L +-we24eIId3jx5l/mBv9SCCSvg6HOVPkETs0M4H/9Uip9/xExjOIFrqA1URMYPKlrA +-Xtk80dGC8kM5/u5BkOSs6ThQhprUK7oWOoVKu3XMmau49LH7SA+zwcUh0JCOS4gL +-MCytKtviahFp7tgFDaugTtRGDdtVrtVHuOmygLj+gU+6h3rUvYPMkNqKWkLRA0bE +-kO0R85VKC+TwOPnlSJAEgWxnEL499TOUg+pnRRAu8sggmm5ziwwWJluiOdELnUq9 +-ORCETMkCgYEA80BXGP/oY6QMwc2FcXHWK5VtZiHs7FJxN7x4Mwlrgj/in+6cIyrW +-PzdZWXcQ1Y/QQuCp0pch7PrwfNouCUSMNJHEqzXmGnU03JBA1FwKAenog00dAdou +-uS8PvVcocdDS+X7wTimyMDEUvurTMnWv1f7kKTv7qxfmMUvMjGCan48CgYEA7sMO +-L86cYqwHvA6arKbSiRddoc3vt9uWZUfrU3M5tcQaWjXWZlDIoZgA07av3haNSbsI +-bZ/KwwHWFMiBxt4q9APFZpK1SU2d+g57lF5j/2Phe3Sf75EzdUSidxfsh2SGY8Tn +-elmz88vA1YXDZVPY95ksqWTmlsdv8wfdamsPOmcCgYEA2Ek9KF1ipDYZobi8DkLJ +-y7bxrv47S2WChaxus/KMRSPIvavL6PkNxufP6lyT+1AEPXLFjRoUcEIv0tOsW1E3 +-2QZDeHhUQPI2LmeVPT0ZKNpyg0ztndgB82aE+DWnIIwtCupzgQxSA8egSqFBaHx7 +-/CrHdGKBQ3/cjbh4B9ldosECgYAW/BYQih5J7W+tLea7+i9IXUR5QB70nyICTAMe +-fHgwxFkZGBe0r9AwpjZmKy8Q/TDKyUONchWN4k5en9LGdzrBVN+a+UKUdPFhUiWZ +-aeDMhCv/u4FuCZdfkaTmPBpcClRZpGn4QExviszcgU0HIyQ+6bL/96OvHjHrvnUV +-OoszvwKBgQCS1ZPLPp/QkCrhmh2La0qrybjqYOuOiUqbXn5Df2YSJq6kulUa1vvv +-c68aYpT4K021D8+/6xOxWMasZc7oBnH76mKWBC/Nf0z/NVO7HzHVkM/MYOcZJ9R3 +-eZUUuiBiUxEMLBtN3T7UEdt1dmarlDacohzgfhMXnNpEGhFAAdxaUA== ++MIIEpAIBAAKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8XQ8xB5/j1YJUgbnc ++d0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3xVVeEPm1HAueGmU9 ++qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLPHuwNCinBSS9ebnVP ++17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6n2dIEryhueG3MUov ++au3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5FIHrtGDboC6TimGR ++M+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABAoIBAQCx7VAt5n2bHOVL ++zwTeQCqqBDcmruZEEj9E7D21f1v3BOYeB26j+puvTf4J2MsDek5fsqWnWYkTcT2G ++D6N/50daPT+xBFSqg4bzMp9250g7rx9Hh12YtkWmtTVVekmSfvaxEIO8F2AaRulD ++zUNTVI43Rv9A5RnI8uryoqeloGkIeK9w0Gm0lSelqDNqb3OYbSX4OkBHC3wFvQBV ++eCwDIJIS9hXc8+mt42T5iaAGvVgHEzsOyTtWlMWPlgiIVq1VzoGiyjTR3E+V+tfy ++fzB/nq8s1t0/AOpEkk5LNX8UE1TnET7kqtBw/UmZ9BJ9FtZaYXBFprjxi/hGZbTW ++oYBIaqtxAoGBAOQ9RHUb1V/mJ/qhWsLsKQdNlE/49ypevjUGwcr6YH7lcNz4YDrk ++t75NmQv1svN7UuDpYzATe84n4F+ZmaN/pESKdFOmQ7usosGp8NKGxRQ1Upqr5DEm ++P4wfz/kwsquJOMbSEczfMc7C8CTm5m6wrs9pX8r5UJq7vZHOCAnL7mr7AoGBANn6 ++TpB1Pbimv5kub8c8Wi/in9/Y3kDJpBm8oy9aWPLyzVag41O8QDEma8hIxbqMF6fG ++kv9gYzTZ5+w6Uz58CSp1BYzWOaevpqpdRd4YxaMIOnI5ddDTAGQBudkCy6X2qXRl ++Dk4fnkr0GvyIlIhAKnBEnmSo5DPX7W6kPwWk9hrNAoGBAIV3nnStFhXCTVauzJh3 ++6XYv068Ac+j/BlOT4/eCerM6EMnnJL7LyPcsAXeQ8liXoVuMn0gZ3KgtgXPmKoYF ++ulWqcWQJMkqpJXQCoKU70juDAw8XvZVQPJEAeWnLJHBTCjSZ23bmfgXe0PeDXvUT ++tOXtROs45/3UE4MT7HduHbnJAoGABNRS4Uh3sZugKxioSVXA+cafnCoF4pGVHSzc ++wLPTvK48dmriHnzRP0WGpc1W9Ccebw0rPJU6HXWmeclhBsVgvpwRH2mvpVNy8dtX ++LPCHkHEiOl2jipjiLVUMdQ5mzKqGXpnOk1SIAUkfP/EWuV4SkqIykDBdvfhOvmDN ++NKbO/RECgYAK2mueSaD3BRtJEiTCCnAjcov3nBIYgXj1y+BCSo5YGMdHSgLMMq7M ++45uUSjv3zNv9wr4Og5/2qDE18ISxPHTvGngNABTGDcLNgPm0j5smwJSe99BITwZb ++jTaa0WaPPdvEzPpaTiNJi81/5UWqNWc5Mg7LBlWhnCjtaYYzDOy33w== + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crl-client-revoked.crl b/mysql-test/std_data/crl-client-revoked.crl +index b0093e74369..367c35bfc34 100644 +--- a/mysql-test/std_data/crl-client-revoked.crl ++++ b/mysql-test/std_data/crl-client-revoked.crl +@@ -1,13 +1,41 @@ ++Certificate Revocation List (CRL): ++ Version 2 (0x1) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: /C=IN/ST=Karnataka/L=Bengaluru/O=Oracle/OU=MySQL/CN=MySQL CRL test ca certificate ++ Last Update: Jul 1 07:54:29 2020 GMT ++ Next Update: May 10 07:54:29 2030 GMT ++ CRL extensions: ++ X509v3 CRL Number: ++ 4096 ++Revoked Certificates: ++ Serial Number: 03 ++ Revocation Date: Jul 1 07:54:18 2020 GMT ++ Signature Algorithm: sha256WithRSAEncryption ++ 8d:76:b6:c6:84:2d:f5:14:fa:34:2f:0b:64:7c:20:c0:65:03: ++ 60:8a:6b:9d:42:0d:b7:51:93:92:75:b5:28:5d:2f:47:0e:6d: ++ a2:df:c7:a1:b9:95:49:c2:83:5e:36:41:77:63:b4:25:8b:60: ++ d9:f8:25:4e:6e:45:94:3f:a3:86:a3:b5:cc:f0:b5:eb:68:4e: ++ 1e:f6:d9:5d:e2:50:a6:e5:50:0e:a0:6f:e8:4b:66:9f:1f:0d: ++ 5e:e1:63:e9:c9:96:7d:98:b6:56:5e:ce:3f:d2:42:b4:d3:18: ++ 73:ca:ce:7a:42:71:29:7b:1f:bf:07:88:cf:d2:8e:1d:31:9c: ++ 00:92:a2:5d:bc:78:0f:7b:f1:02:fe:ed:d7:b1:dc:8d:25:9a: ++ d5:01:c1:d8:ac:fd:a2:41:96:bd:9b:72:cb:95:f5:85:a9:88: ++ b3:74:30:c9:82:5d:8b:c8:d6:8a:5c:92:e8:e7:09:f1:13:73: ++ fa:05:56:1c:e2:dd:9e:b5:49:71:82:67:e6:e3:57:53:c8:f7: ++ df:66:44:7a:d6:f8:4f:44:5f:7e:30:eb:7b:d9:15:db:e2:d0: ++ 85:45:9a:7b:d4:c2:f8:44:0f:5f:8c:d0:35:45:a1:c6:82:e8: ++ 43:49:73:09:3b:ba:9a:24:00:1f:3c:7a:38:bd:e6:b5:b8:45: ++ e3:33:d3:c9 + -----BEGIN X509 CRL----- +-MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE +-CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM +-HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y +-OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy +-MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 +-IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 +-wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu +-SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc +-SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B +-WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 +-dRhzrDB6GMxR ++MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE ++CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs ++ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl ++cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN ++MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB ++AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe ++NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp ++yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN ++JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx ++gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ ++O7qaJAAfPHo4vea1uEXjM9PJ + -----END X509 CRL----- +diff --git a/mysql-test/std_data/crl-server-cert.pem b/mysql-test/std_data/crl-server-cert.pem +index 5c14c4155c8..6328fe4fc42 100644 +--- a/mysql-test/std_data/crl-server-cert.pem ++++ b/mysql-test/std_data/crl-server-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1e +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 1 (0x1) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:10:59 2019 GMT +- Not After : Jun 30 12:10:59 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate ++ Not Before: Jul 1 07:50:41 2020 GMT ++ Not After : May 10 07:50:41 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:b3:b7:2d:68:62:08:c9:5b:90:25:89:98:4c:6e: +- 04:f4:5d:ff:e7:4e:18:37:db:63:ab:56:d5:7e:3a: +- be:37:cd:e6:5a:c2:73:a7:24:a8:f9:1a:bf:05:e6: +- 14:5f:31:7f:f4:73:8b:9c:c2:89:e5:fd:d9:5b:94: +- a9:a7:b4:48:a6:b0:95:d2:62:14:b3:15:47:26:83: +- 69:63:99:b6:48:ca:f2:ef:bd:1e:de:23:4c:e7:28: +- 54:13:ca:03:49:cb:07:a6:7d:e7:48:9d:03:88:5d: +- 3b:47:50:f6:17:21:34:15:c5:cd:4f:40:f9:ca:12: +- db:b6:53:0c:08:c3:a0:0b:68:03:0d:45:9f:4f:26: +- c3:23:3f:ef:6f:4a:98:0d:6a:2b:b5:4a:23:e3:89: +- 08:bd:c0:37:ef:db:be:82:4d:26:47:93:f4:de:3f: +- 04:ef:3c:d3:97:e3:c4:c5:65:9e:2f:f9:8a:13:f2: +- 74:12:ab:ff:99:9e:ef:d8:48:11:55:ba:f2:97:6e: +- 04:75:0e:e4:18:85:34:20:a1:da:db:60:35:98:0e: +- d0:44:27:17:81:d1:6a:5a:93:28:47:c4:4f:37:26: +- 72:db:d9:a9:a9:c2:e5:90:16:c3:49:89:67:68:0f: +- e7:dd:5f:a7:29:26:62:a5:c7:63:0f:1b:f6:9c:b8: +- 86:c5 ++ 00:f6:43:d5:3b:37:86:9f:54:a7:96:23:c6:90:73: ++ a2:cb:79:bc:77:1a:18:dc:ae:30:36:5c:41:e5:a7: ++ d0:bc:93:08:7e:7b:2c:9a:00:bf:9d:0f:ab:82:56: ++ e6:ad:f1:3a:6a:e2:49:5d:02:59:0e:03:10:63:b1: ++ 83:f9:73:19:40:ec:8a:a0:1e:17:c9:53:74:ca:ca: ++ 2b:2f:7a:87:98:dc:12:e6:c8:d9:6e:3b:bc:d3:c5: ++ f3:f4:fa:14:e2:5a:12:f2:3a:79:82:b7:a9:6f:21: ++ f6:c7:79:a0:c7:56:05:a8:01:64:e8:f0:67:81:29: ++ af:21:dc:08:02:8e:b8:cf:38:f1:ef:a6:ea:18:14: ++ 43:63:21:e8:a3:fe:78:78:b9:f2:04:6a:c8:32:48: ++ 66:4e:6e:4f:22:28:89:42:27:42:e5:f4:76:38:77: ++ 80:88:2d:73:c8:36:ab:24:40:68:fc:34:83:ba:1c: ++ 07:99:e3:3d:69:49:08:cd:4f:74:83:4e:33:5a:c4: ++ 87:65:7f:84:dc:73:80:93:55:21:5a:4d:86:97:b0: ++ 8a:93:d1:bc:63:c5:19:b0:8a:77:85:af:c9:74:cf: ++ dd:4b:17:8c:cf:62:b0:bc:1a:3b:3f:b4:18:6b:e7: ++ ad:4e:56:cb:29:be:31:4f:ee:3b:89:97:d6:fa:bd: ++ 5b:2b + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- 50:0D:53:3F:37:4C:2D:EE:F0:F7:67:48:53:36:18:C8:50:65:60:3B +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 17:be:6a:bc:a9:f0:5a:d9:72:bd:3b:83:f9:e1:ef:eb:a3:b3: +- b4:9c:e0:fd:9a:ad:c1:e2:12:0b:9f:fa:ca:9a:14:b5:43:96: +- 50:da:50:b1:42:9c:15:87:56:b2:5d:d5:ce:4e:dc:0e:a9:98: +- 0b:05:6e:57:ca:99:0f:28:9c:d5:b7:d2:c1:97:da:5f:34:b1: +- f2:73:4c:27:39:cc:40:86:80:63:18:74:e3:0f:c7:02:6d:76: +- 98:a6:2a:b5:e3:13:8f:d8:5c:42:8e:33:c5:dd:0e:bc:05:90: +- 96:9a:b8:de:d5:44:57:47:70:c9:26:0a:4b:96:0a:95:de:8e: +- b4:f6:1f:8e:96:41:1d:d6:65:28:1c:f3:6d:3d:b1:b2:38:c7: +- f6:b9:f3:fe:a4:98:fe:45:46:d2:04:a3:40:76:5f:3d:df:60: +- 71:dd:8a:bd:83:b3:be:54:87:f5:df:8d:40:e8:68:c1:90:90: +- dc:de:1b:e3:2c:45:2b:50:53:b2:95:1f:c8:ea:ad:72:5d:5b: +- 94:21:eb:d3:14:4a:41:7f:c4:aa:88:41:a8:1f:61:fb:51:0d: +- 58:e0:2d:08:86:49:62:84:85:da:8f:9e:cd:1a:f7:11:b5:a1: +- 58:56:d8:eb:a7:99:2d:1b:df:98:65:9f:8f:ab:9b:e0:32:95: +- 23:20:cf:82 ++ 51:bd:1f:2d:64:cb:8c:d3:02:f2:ff:7e:65:3a:fa:78:4c:4b: ++ 65:5c:8a:75:49:24:df:14:17:6b:84:a2:6a:e1:b8:d6:84:74: ++ 22:7c:e3:bc:3e:7d:81:c7:2a:df:d6:bc:7b:be:44:a7:26:63: ++ 1d:09:c1:ea:25:85:4b:14:b3:2f:f8:a5:28:f4:72:36:fc:71: ++ d0:c9:8d:b2:b3:d6:88:2a:4e:98:f2:22:fa:cb:c8:4d:7b:c0: ++ 3b:81:f1:dd:f9:29:bd:f4:69:a4:82:87:c6:3b:4f:2f:75:3d: ++ fc:a3:6f:b0:10:80:b4:c5:51:9b:b8:5e:9d:cc:21:38:bc:e9: ++ 54:11:76:d8:df:46:88:f5:02:b3:6a:02:e2:8c:cd:d8:f7:4e: ++ ff:fd:5f:e3:b9:db:52:cb:54:39:29:9a:e6:07:84:ea:38:3f: ++ 3d:4c:87:ce:6c:5f:c8:18:56:8a:54:8e:6a:d3:f2:77:34:a6: ++ 6d:f3:5a:51:8a:0d:23:bd:7e:01:07:af:0e:fd:97:73:64:27: ++ 26:cc:34:d8:1f:f3:58:8b:7f:4b:75:df:39:ff:92:dc:e3:04: ++ ea:42:7c:11:7f:77:ab:32:29:c7:59:7e:5d:84:2d:cd:1d:2c: ++ 61:d4:be:5d:9b:0e:30:2b:31:7e:4f:e6:07:e7:20:10:18:56: ++ 36:97:19:b3 + -----BEGIN CERTIFICATE----- +-MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR4wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjEwNTlaFw0yMDA2MzAxMjEwNTlaMHsxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK +-DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz +-dCBzZXJ2ZXIgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +-AoIBAQCzty1oYgjJW5AliZhMbgT0Xf/nThg322OrVtV+Or43zeZawnOnJKj5Gr8F +-5hRfMX/0c4ucwonl/dlblKmntEimsJXSYhSzFUcmg2ljmbZIyvLvvR7eI0znKFQT +-ygNJywemfedInQOIXTtHUPYXITQVxc1PQPnKEtu2UwwIw6ALaAMNRZ9PJsMjP+9v +-SpgNaiu1SiPjiQi9wDfv276CTSZHk/TePwTvPNOX48TFZZ4v+YoT8nQSq/+Znu/Y +-SBFVuvKXbgR1DuQYhTQgodrbYDWYDtBEJxeB0WpakyhHxE83JnLb2ampwuWQFsNJ +-iWdoD+fdX6cpJmKlx2MPG/acuIbFAgMBAAGjUzBRMB0GA1UdDgQWBBRQDVM/N0wt +-7vD3Z0hTNhjIUGVgOzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP +-BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAXvmq8qfBa2XK9O4P5 +-4e/ro7O0nOD9mq3B4hILn/rKmhS1Q5ZQ2lCxQpwVh1ayXdXOTtwOqZgLBW5XypkP +-KJzVt9LBl9pfNLHyc0wnOcxAhoBjGHTjD8cCbXaYpiq14xOP2FxCjjPF3Q68BZCW +-mrje1URXR3DJJgpLlgqV3o609h+OlkEd1mUoHPNtPbGyOMf2ufP+pJj+RUbSBKNA +-dl8932Bx3Yq9g7O+VIf1341A6GjBkJDc3hvjLEUrUFOylR/I6q1yXVuUIevTFEpB +-f8SqiEGoH2H7UQ1Y4C0IhklihIXaj57NGvcRtaFYVtjrp5ktG9+YZZ+Pq5vgMpUj +-IM+C ++MIIDdTCCAl0CAQEwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUwNDFaFw0zMDA1MTAwNzUwNDFaMIGCMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 ++U1FMIENSTCB0ZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB ++BQADggEPADCCAQoCggEBAPZD1Ts3hp9Up5YjxpBzost5vHcaGNyuMDZcQeWn0LyT ++CH57LJoAv50Pq4JW5q3xOmriSV0CWQ4DEGOxg/lzGUDsiqAeF8lTdMrKKy96h5jc ++EubI2W47vNPF8/T6FOJaEvI6eYK3qW8h9sd5oMdWBagBZOjwZ4EpryHcCAKOuM84 ++8e+m6hgUQ2Mh6KP+eHi58gRqyDJIZk5uTyIoiUInQuX0djh3gIgtc8g2qyRAaPw0 ++g7ocB5njPWlJCM1PdINOM1rEh2V/hNxzgJNVIVpNhpewipPRvGPFGbCKd4WvyXTP ++3UsXjM9isLwaOz+0GGvnrU5Wyym+MU/uO4mX1vq9WysCAwEAATANBgkqhkiG9w0B ++AQsFAAOCAQEAUb0fLWTLjNMC8v9+ZTr6eExLZVyKdUkk3xQXa4SiauG41oR0Inzj ++vD59gccq39a8e75EpyZjHQnB6iWFSxSzL/ilKPRyNvxx0MmNsrPWiCpOmPIi+svI ++TXvAO4Hx3fkpvfRppIKHxjtPL3U9/KNvsBCAtMVRm7hencwhOLzpVBF22N9GiPUC ++s2oC4ozN2PdO//1f47nbUstUOSma5geE6jg/PUyHzmxfyBhWilSOatPydzSmbfNa ++UYoNI71+AQevDv2Xc2QnJsw02B/zWIt/S3XfOf+S3OME6kJ8EX93qzIpx1l+XYQt ++zR0sYdS+XZsOMCsxfk/mB+cgEBhWNpcZsw== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-server-key.pem b/mysql-test/std_data/crl-server-key.pem +index 2931329d242..dfc34c9ebac 100644 +--- a/mysql-test/std_data/crl-server-key.pem ++++ b/mysql-test/std_data/crl-server-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEogIBAAKCAQEAs7ctaGIIyVuQJYmYTG4E9F3/504YN9tjq1bVfjq+N83mWsJz +-pySo+Rq/BeYUXzF/9HOLnMKJ5f3ZW5Spp7RIprCV0mIUsxVHJoNpY5m2SMry770e +-3iNM5yhUE8oDScsHpn3nSJ0DiF07R1D2FyE0FcXNT0D5yhLbtlMMCMOgC2gDDUWf +-TybDIz/vb0qYDWortUoj44kIvcA379u+gk0mR5P03j8E7zzTl+PExWWeL/mKE/J0 +-Eqv/mZ7v2EgRVbryl24EdQ7kGIU0IKHa22A1mA7QRCcXgdFqWpMoR8RPNyZy29mp +-qcLlkBbDSYlnaA/n3V+nKSZipcdjDxv2nLiGxQIDAQABAoIBAArXuGOd1o3feljp +-bkjeMmpT6YaZDZkBIYhK2uKcxLE1OPqs1LF24sL0vCWs9fmwUNn8xqWUjyFTKXP/ +-CiVWGTQFX2SsCjerxvkp4Ifj1D2cEQAp1tzsIE2p/ziabYxcNX/0BKo63uWxSkxJ +-NC+9DxlpL7PiZa+tZ5gedpFozBUj/XjWTLmekqGUjLf4I0b1bWyekp3o5Xpb0bVK +-aic708sTzkBAq7kiwzCAE6q2xjT9d61WoFfKoG/X64Y0kIynwIBrFvX4g8+NcY4D +-nTxOw1AwOAPRE/aG+BA1jgi6Uz1IdPl59lHWadVD6O4B8otRFPYBH4yeGBxzsVoS +-eqwd9RkCgYEA2R8qQF3Wk/BPu6ztGqLe/5FyuxQlYjjIXyiiStjArjE2B0X+G9I3 +-qL3DQNdD242VdcdwQswKQ7jI9hUDh53dE/Tg2v1ib/x57Su6nsIjVE7LZA9WsAM9 +-6BF5+Y/+siLZDw91nRao/z7hx0+9VcHgBA9dhe+LKHcxoDRxPXO1nFMCgYEA0+VR +-AfmEOQe98OjEnK561P2kcK1+n7RoHApr2+x+74wZNn5LygxqBLNT6WYCn47b8WoD +-Ly1RkLpavjCNAMTs8er2WOvb/X4+vf4FdE1K469UwtUNBPqRAqmXrXgrZOgJZDDx +-duXtP0wLRrJDKcgjLpRALxjeYowWvrnJn3uVrYcCgYBE+PyAFA89UcLSeL2dj43N +-nBPZUC4MBMPKTus3YaHb9DAYoWh2yBH8XcPwDjI1RcXr8147Kfw8xS+51LUZWNHJ +-LCpeBs5FiuvkptaS5lM4zgsYjzLXmUAKP7sCx3Z+ekl/2kZfj7pB02T/3tnjq0IR +-qBvql00anrq6DM7IWcCglwKBgCYgTMMeMjxQuExwlW/btR49xSjBDteNjm39MgsQ +-MobHnoG/l8NzGGBgI+kLAc3T1p9Jg+kpLlPsNAeklLpetIOS02CMj7i8zm1BF5ol +-jiQJmCa2TvFmZFEmUrRTuvsdBROR+uB53oZVGHJQAOWzrSDka+gNgXYZ3r3SkASy +-J+xhAoGAZDfOH5UvaMbLxZOV3NgW7P8wiHmshSfsJLdAsLPIBPJQ9ZCdW9oJwe3t +-b1b0O5pbyGX+wtaol03G7vEFuD6ptRSfH127qKjoAZUTZ6IAmyDBe9kx4giA+n08 +-3xyYLSxoMe+RYfF5BuBTc3g7X5/APTr9yG/Une40xiK2QOGSut0= ++MIIEowIBAAKCAQEA9kPVOzeGn1SnliPGkHOiy3m8dxoY3K4wNlxB5afQvJMIfnss ++mgC/nQ+rglbmrfE6auJJXQJZDgMQY7GD+XMZQOyKoB4XyVN0ysorL3qHmNwS5sjZ ++bju808Xz9PoU4loS8jp5grepbyH2x3mgx1YFqAFk6PBngSmvIdwIAo64zzjx76bq ++GBRDYyHoo/54eLnyBGrIMkhmTm5PIiiJQidC5fR2OHeAiC1zyDarJEBo/DSDuhwH ++meM9aUkIzU90g04zWsSHZX+E3HOAk1UhWk2Gl7CKk9G8Y8UZsIp3ha/JdM/dSxeM ++z2KwvBo7P7QYa+etTlbLKb4xT+47iZfW+r1bKwIDAQABAoIBAHF3R6QFLW30H1M6 ++IJ8l6HhAGun1iEcFqwkg8OvTqoV4aY19S0uZ1K+VLLzdNWQnpXbh1FOaZVXja4XD ++oL8qnRQg6K5lryf/3+wfwk4Z8qgnnj3fhO8ZbyNULddN8ploTxp0ftAPt22RBJdc ++Hww5Qlnqaog5XDdS8XJ0YuxqvhQbjVk/U6e7IltruByFv9bzYiT+QsZf/KJ/mDlk ++ypR/Ic9RM5eqX/86lDxrBacilE/8nBCFUbr7RlnXJhgEKf0DCYJTN2BS+4iwydaA ++TP6a/gZK64Q0JR9BGmYjAtPdl4as3pHlgi7LwIQeF97KwW9mZdAC1L/9FCu9W1Bk ++sOGBAiECgYEA/etLZdqrX5OqymN49PyEb8sQzTWojavLKrZiU6uKlPJH3qjWlu9J ++dlwW4azsgrYL2ISlAbgCo/QZ9H08CrHdumh9EQtYcZtszjjwicag5NtK1NboeZjR ++R0aJBVkNu2xkREEPd2XLNkm+U/FZ5HueGnphkGP/hWLTI+7M/abPAh0CgYEA+Eh7 ++A1C3PgcqLSMjXq9axLjJ23o10AAp/H+aogb7LAyKNvkT16Tw+5DSsB2hDbETKxSg ++aQD/9N/bjiGHnK0CaEi/ft4vYoIzrRpQwgst90jRZfwgJyA4wCRfcPaKSa5y8jQm ++OwSetRTO5gKJirNZbxkzSBwaRBTWZRy1Vouhz+cCgYEA1FO3Prq15zxB6u93K9Uk ++oZ76s76U7bKkN1k/q5ucTKS0eHpSxu/dTD4BXEEPnNXB3hI9MMzAWH08XveCB6do ++NAI/4srL8GP5fhCbA3q2++hsEMKMr3GcPq+60GABXaJrza9h0YOrg//ySZtegfLk ++6FtBzk3wU4ep6zg67jhYjfkCgYAgb8eybS8jaWg3MWoDisE/Bi1JATRakkrp8/nN ++xT+3R4QfHndbKu9YzljYLWbHFSU98ZnrXfgSk9RpQzQmYev4l9h8yKZEJmJ98Pwv ++/anprpe8zS2eLvV7FMVrSqpSafoWbn24JChf2/IT1q0Fc9zxSMeMWi+MSXShDRkb ++z246bQKBgC4sdYIG51PQaP/1vqPZg7CoCsNCepqM8UAnQ7piEdGis+w8pIcmYRnG ++Q/OuCdSxVlgS0xDtuFlTMrivUfpsPrgEtQNwkkvWATytYZWL2CpvDKKV2GzgHai/ ++ZgiuN7FSqdLq/hRCuJT5Sxo84ilFXb0i0cpaPKfNfE9gLZ8pUbsm + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crldir/5df06fcb.r0 b/mysql-test/std_data/crldir/5df06fcb.r0 +new file mode 100644 +index 00000000000..1ee040e4bb0 +--- /dev/null ++++ b/mysql-test/std_data/crldir/5df06fcb.r0 +@@ -0,0 +1,13 @@ ++-----BEGIN X509 CRL----- ++MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE ++CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs ++ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl ++cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN ++MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB ++AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe ++NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp ++yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN ++JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx ++gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ ++O7qaJAAfPHo4vea1uEXjM9PJ ++-----END X509 CRL----- +diff --git a/mysql-test/std_data/crldir/b23bb52f.r0 b/mysql-test/std_data/crldir/b23bb52f.r0 +deleted file mode 100644 +index b0093e74369..00000000000 +--- a/mysql-test/std_data/crldir/b23bb52f.r0 ++++ /dev/null +@@ -1,13 +0,0 @@ +------BEGIN X509 CRL----- +-MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE +-CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM +-HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y +-OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy +-MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 +-IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 +-wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu +-SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc +-SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B +-WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 +-dRhzrDB6GMxR +------END X509 CRL----- diff --git a/community-mysql.spec b/community-mysql.spec index 4e64792..fe36bfc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.20 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.21 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -105,6 +105,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch +Patch76: %{pkgnamepatch}-certs-expired.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -159,6 +160,7 @@ BuildRequires: perl(File::Find) BuildRequires: perl(File::Spec) BuildRequires: perl(File::Spec::Functions) BuildRequires: perl(File::Temp) +BuildRequires: perl(FindBin) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(if) @@ -339,6 +341,7 @@ Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) Requires: perl(File::Temp) +Requires: perl(FindBin) Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) @@ -373,6 +376,7 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 +%patch76 -p1 # Patch Boost pushd boost/boost_1_??_0 @@ -394,6 +398,9 @@ add_test clone.remote_dml_no_binlog failed since 8.0.17 add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 add_test collations.chinese sporadic since 8.0.19 +# Fails when -DENABLED_LOCAL_INFILE=ON +add_test main.mysql_load_data_local_dir local infile on + # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 add_test gis.st_latitude @@ -850,6 +857,9 @@ fi %endif %changelog +* Fri Jul 17 2020 Lars Tangvald - 8.0.21-1 +- Update to MySQL 8.0.21 + * Sun Jun 14 2020 Adrian Reber - 8.0.20-3 - Rebuilt for protobuf 3.12 diff --git a/sources b/sources index 34d177d..53123a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.20.tar.gz) = 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 +SHA512 (mysql-boost-8.0.21.tar.gz) = 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 From ff0f386d8853ba32f3c9b364bcd3ac0f07b6b2ce Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 27 Jul 2020 10:38:20 +0200 Subject: [PATCH 474/616] Add failing tests --- community-mysql.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index fe36bfc..81360b6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -434,6 +434,12 @@ add_test main.lock_multi_bug38499 add_test main.window_std_var add_test main.window_std_var_optimized add_test main.with_recursive + +# Fails since 8.0.21 +add_test x.resource_groups +add_test gis.spatial_operators_symdifference +add_test gis.spatial_operators_union + %endif From a438bcab56f17b0090f09d775fffc2f9da7a5f97 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 14:23:37 +0000 Subject: [PATCH 475/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 81360b6..66744a1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.21 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -863,6 +863,9 @@ fi %endif %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 8.0.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jul 17 2020 Lars Tangvald - 8.0.21-1 - Update to MySQL 8.0.21 From d4fc909340e4763b33c1f72891c9c61e1bc306e3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 00:26:03 +0000 Subject: [PATCH 476/616] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 66744a1..5587cc9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.21 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -863,6 +863,10 @@ fi %endif %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 8.0.21-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 8.0.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 77266db25063a3973be04b5a004bbcb6821d0e2b Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 6 Aug 2020 11:12:05 -0600 Subject: [PATCH 477/616] Disable LTO properly --- community-mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5587cc9..044efa6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.21 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -450,6 +450,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build +# This package internally tries to eliminate LTO flags +# but fails miserably. Just disable for the whole package +# until the package internals are fixed +%define _lto_cflags %{nil} %{set_build_flags} # fail quickly and obviously if user tries to build as root @@ -863,6 +867,9 @@ fi %endif %changelog +* Thu Aug 06 2020 Jeff Law - 8.0.21-4 +- Disable LTO + * Sat Aug 01 2020 Fedora Release Engineering - 8.0.21-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 5c37574e88baced42801c9141c531aac277607d4 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Aug 2020 08:40:13 +0200 Subject: [PATCH 478/616] Check that we have correct versions in bundled(*) Provides --- community-mysql.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 044efa6..a385530 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -39,6 +39,8 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug +%global boost_bundled_version 1.72.0 + # Include files for systemd %global daemon_name mysqld %global daemon_no_prefix mysqld @@ -67,7 +69,7 @@ Name: community-mysql Version: 8.0.21 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -189,7 +191,8 @@ BuildRequires: systemd Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.69 +Provides: bundled(boost) = %{boost_bundled_version} + %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -379,7 +382,7 @@ the MySQL sources. %patch76 -p1 # Patch Boost -pushd boost/boost_1_??_0 +pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch115 -p0 %patch125 -p1 popd @@ -867,6 +870,9 @@ fi %endif %changelog +* Wed Aug 12 2020 Honza Horak - 8.0.21-5 +- Check that we have correct versions in bundled(*) Provides + * Thu Aug 06 2020 Jeff Law - 8.0.21-4 - Disable LTO From 99822cc68f210d7effd2c5ab588cbf3915e98f49 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Aug 2020 08:42:37 +0200 Subject: [PATCH 479/616] Remove re2 dependency that is not needed any more --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index a385530..5d29f95 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -139,7 +139,6 @@ BuildRequires: libtirpc-devel %endif BuildRequires: protobuf-lite-devel BuildRequires: rapidjson-devel -BuildRequires: re2-devel BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -872,6 +871,7 @@ fi %changelog * Wed Aug 12 2020 Honza Horak - 8.0.21-5 - Check that we have correct versions in bundled(*) Provides +- Remove re2 dependency that is not needed any more * Thu Aug 06 2020 Jeff Law - 8.0.21-4 - Disable LTO From 26b91bc6995f82ee4a4fe4ba5ffe7c206d226446 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Aug 2020 01:23:52 +0200 Subject: [PATCH 480/616] Do a proper out-of-source CMake builds Force the CMake change regarding the in-source builds also to F31 and F32 Use CMake macros instead of cmake & make direct commands %%cmake macro covers the %%{set_build_flags}, so they are not needed --- community-mysql.spec | 67 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5d29f95..4c4f6aa 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,3 +1,7 @@ +# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds +# So the beaviour will be the same also in F31 nad F32 +%undefine __cmake_in_source_build + # Name of the package without any prefixes %global pkg_name %{name} %global pkgnamepatch community-mysql @@ -69,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -444,8 +448,7 @@ add_test gis.spatial_operators_union %endif - - +# mysql-test popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ @@ -456,7 +459,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ # but fails miserably. Just disable for the whole package # until the package internals are fixed %define _lto_cflags %{nil} -%{set_build_flags} # fail quickly and obviously if user tries to build as root %if %runselftest @@ -468,12 +470,9 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ fi %endif -# build out of source -mkdir -p build && pushd build - # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -cmake .. \ +%cmake \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ @@ -513,7 +512,7 @@ cmake .. \ %endif -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ - -DWITH_BOOST=../boost \ + -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -527,27 +526,24 @@ cmake .. \ # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 -cmake .. -LAH +cmake -B %{_vpath_builddir} -LAH -make %{?_smp_mflags} VERBOSE=1 - -popd +%cmake_build %install -pushd build -make DESTDIR=%{buildroot} install +%cmake_install # multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 if %multilib_capable; then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +install -p -m 0755 %{_vpath_builddir}/scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config fi # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ -install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} @@ -557,21 +553,21 @@ install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files install -p -m 0700 -d %{buildroot}%{_localstatedir}/lib/mysql-keyring %if %{with config} -install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +install -D -p -m 0644 %{_vpath_builddir}/scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service -install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service -install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf # helper scripts for service starting -install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop -install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket -install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +install -D -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -596,15 +592,12 @@ ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld %endif -# Back to src dir -popd - # copy additional docs into build tree so %%doc will find them -install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} -install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} +install -p -m 0644 %{SOURCE6} %{_vpath_srcdir}/%{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{_vpath_srcdir}/%{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test +install -p -m 0644 %{_vpath_srcdir}/mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so @@ -656,7 +649,7 @@ rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %check %if %{with test} %if %runselftest -pushd build +pushd %_vpath_builddir make test VERBOSE=1 pushd mysql-test cp ../../mysql-test/%{skiplist} . @@ -869,6 +862,12 @@ fi %endif %changelog +* Thu Aug 13 2020 Michal Schorm - 8.0.21-6 +- Do a proper out-of-source CMake builds +- Force the CMake change regarding the in-source builds also to F31 and F32 +- Use CMake macros instead of cmake & make direct commands +- %%cmake macro covers the %%{set_build_flags}, so they are not needed + * Wed Aug 12 2020 Honza Horak - 8.0.21-5 - Check that we have correct versions in bundled(*) Provides - Remove re2 dependency that is not needed any more From 18b2713fdbd050a0311780acd3943308cb03b785 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Aug 2020 10:17:41 +0200 Subject: [PATCH 481/616] Remove ancient obsoletes --- community-mysql.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4c4f6aa..3a28135 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -205,8 +205,6 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} %endif %{?with_conflicts:Conflicts: mariadb} -# mysql-cluster used to be built from this SRPM, but no more -Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) @@ -304,9 +302,7 @@ Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} -Obsoletes: mysql-bench < 5.7.8 %endif -Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} @@ -867,6 +863,7 @@ fi - Force the CMake change regarding the in-source builds also to F31 and F32 - Use CMake macros instead of cmake & make direct commands - %%cmake macro covers the %%{set_build_flags}, so they are not needed +- Remove ancient obsoletes * Wed Aug 12 2020 Honza Horak - 8.0.21-5 - Check that we have correct versions in bundled(*) Provides From c56966d2fa97b33462501764e8764083ac57d2dd Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Mon, 17 Aug 2020 13:54:35 +0200 Subject: [PATCH 482/616] Enable LTO --- community-mysql-lto.patch | 119 ++++++++++++++++++++++++++++++++++++++ community-mysql.spec | 14 +++-- 2 files changed, 129 insertions(+), 4 deletions(-) create mode 100644 community-mysql-lto.patch diff --git a/community-mysql-lto.patch b/community-mysql-lto.patch new file mode 100644 index 0000000..6155ae0 --- /dev/null +++ b/community-mysql-lto.patch @@ -0,0 +1,119 @@ +commit dfd43f7d5527680fd27a29c80e8eb3b9b5165220 +Author: Tor Didriksen +Date: Mon Aug 3 16:39:21 2020 +0200 + + Bug #31701553 CMAKE CODE TO DISABLE LTO IS TOO SIMPLE + + Parts of our codebase (3rd party libraries) fail to compile/link if built with -flto. + For these we simply remove "-flto[=n|auto|jobserver] from + CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. + + We also disable linkers lld and gold by default if building with + link-time optimization. + + Change-Id: I84e9f7128a4d263056aa60c188e6430ea7161655 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc118b37472..919e7cbd783 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -639,6 +639,10 @@ OPTION(WITH_LTO + ${WITH_LTO_DEFAULT} + ) + ++IF(CMAKE_C_FLAGS MATCHES " -flto" OR CMAKE_CXX_FLAGS MATCHES " -flto") ++ SET(CMAKE_COMPILER_FLAG_WITH_LTO 1) ++ENDIF() ++ + include(CheckCSourceCompiles) + include(CheckCXXSourceCompiles) + # We need some extra FAIL_REGEX patterns +@@ -848,7 +852,7 @@ ENDIF() + # Use lld for Clang if available and not explicitly disabled. + # Also works for gcc on Debian/Ubuntu. Do 'apt install lld'. + # LTO build fails with lld, so turn it off by default. +-IF(LINUX AND NOT WITH_LTO) ++IF(LINUX AND NOT WITH_LTO AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) + OPTION(USE_LD_LLD "Use llvm lld linker" ON) + ELSE() + OPTION(USE_LD_LLD "Use llvm lld linker" OFF) +@@ -879,7 +883,11 @@ IF(USE_LD_LLD) + ENDIF() + + # Use gold on x86 if available and not explicitly disabled. +-IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT WIN32) ++# LTO build fails with gold, so turn it off by default. ++IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" ++ AND NOT WIN32 ++ AND NOT WITH_LTO ++ AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) + OPTION(USE_LD_GOLD "Use GNU gold linker" ON) + ELSE() + OPTION(USE_LD_GOLD "Use GNU gold linker" OFF) +diff --git a/cmake/compile_flags.cmake b/cmake/compile_flags.cmake +index 053e48b9e70..bb1338ee9f8 100644 +--- a/cmake/compile_flags.cmake ++++ b/cmake/compile_flags.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2014, 2020, Oracle and/or its affiliates. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License, version 2.0, +@@ -83,3 +83,12 @@ FUNCTION(ADD_COMPILE_DEFINITIONS) + ${FILE} PROPERTIES COMPILE_DEFINITIONS "${DEFS}") + ENDFOREACH() + ENDFUNCTION() ++ ++# -flto[=n] or -flto=auto or -flto=jobserver ++SET(MY_COMPILER_FLAG_FLTO " -flto(=[0-9a-z]+)?") ++ ++# Remove compiler flag/pattern from CMAKE_C_FLAGS or CMAKE_CXX_FLAGS ++FUNCTION(REMOVE_CMAKE_COMPILER_FLAGS FLAG_VAR PATTERN) ++ STRING(REGEX REPLACE "${PATTERN}" "" ${FLAG_VAR} "${${FLAG_VAR}}") ++ SET(${FLAG_VAR} "${${FLAG_VAR}}" PARENT_SCOPE) ++ENDFUNCTION() +diff --git a/extra/icu/CMakeLists.txt b/extra/icu/CMakeLists.txt +index aa1cfb1a90e..81ef19335a0 100644 +--- a/extra/icu/CMakeLists.txt ++++ b/extra/icu/CMakeLists.txt +@@ -1,4 +1,4 @@ +-# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2017, 2020, Oracle and/or its affiliates. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License, version 2.0, +@@ -91,8 +91,10 @@ IF(MSVC AND NOT WIN32_CLANG) + STRING_APPEND(CMAKE_CXX_FLAGS " /wd4229") + ENDIF() + +-STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +-STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++IF(WITH_ICU STREQUAL "bundled") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") ++ENDIF() + + ADD_SUBDIRECTORY(source/common) + ADD_SUBDIRECTORY(source/i18n) +diff --git a/plugin/innodb_memcached/CMakeLists.txt b/plugin/innodb_memcached/CMakeLists.txt +index b9d93da5f20..00bbddeb3ec 100644 +--- a/plugin/innodb_memcached/CMakeLists.txt ++++ b/plugin/innodb_memcached/CMakeLists.txt +@@ -1,4 +1,4 @@ +-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2011, 2020, Oracle and/or its affiliates. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License, version 2.0, +@@ -76,8 +76,8 @@ IF(WITH_INNODB_MEMCACHED AND UNIX) + ENDIF() + + # -Werror=lto-type-mismatch for misc functions. +- STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +- STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") + + ADD_SUBDIRECTORY(daemon_memcached) + ADD_SUBDIRECTORY(innodb_memcache) diff --git a/community-mysql.spec b/community-mysql.spec index 3a28135..0fd34e1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -112,6 +112,7 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch76: %{pkgnamepatch}-certs-expired.patch +Patch77: %{pkgnamepatch}-lto.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -379,6 +380,7 @@ the MySQL sources. %patch55 -p1 %patch75 -p1 %patch76 -p1 +%patch77 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -451,10 +453,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build -# This package internally tries to eliminate LTO flags -# but fails miserably. Just disable for the whole package -# until the package internals are fixed +# arm build ends with out of memory error for LTO enabled build +%ifarch %arm %define _lto_cflags %{nil} +%endif # fail quickly and obviously if user tries to build as root %if %runselftest @@ -858,6 +860,10 @@ fi %endif %changelog +* Mon Aug 10 2020 Lars Tangvald - 8.0.21-7 +- Use upstream patch to enable LTO +- Skip LTO on ARM due to out of memory issue + * Thu Aug 13 2020 Michal Schorm - 8.0.21-6 - Do a proper out-of-source CMake builds - Force the CMake change regarding the in-source builds also to F31 and F32 From 53372318b71127919d8388224e3d8febb623495f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 18 Aug 2020 08:48:27 +0200 Subject: [PATCH 483/616] I haven't encounter the ARM memory exaustion on Fedora build infrastructure Let's enable it and see how it will work --- community-mysql.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0fd34e1..5bb07ec 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -453,10 +453,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build -# arm build ends with out of memory error for LTO enabled build -%ifarch %arm -%define _lto_cflags %{nil} -%endif # fail quickly and obviously if user tries to build as root %if %runselftest @@ -860,7 +856,11 @@ fi %endif %changelog -* Mon Aug 10 2020 Lars Tangvald - 8.0.21-7 +* Tue Aug 18 2020 Michal Schorm - 8.0.21-8 +- I haven't encounter the ARM memory exaustion on Fedora build infrastructure + Let's enable it and see how it will work + +* Mon Aug 17 2020 Lars Tangvald - 8.0.21-7 - Use upstream patch to enable LTO - Skip LTO on ARM due to out of memory issue From 37a509f436a52924e39d015ead80fda328986900 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 18 Aug 2020 10:28:33 +0200 Subject: [PATCH 484/616] I encounter the ARM memory exaustion in the end Looks like it is only issue on some machines --- community-mysql.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5bb07ec..8e5bd2d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 8%{?with_debug:.debug}%{?dist} +Release: 9%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -453,6 +453,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build +# arm build ends with out of memory error for LTO enabled build +%ifarch %arm +%define _lto_cflags %{nil} +%endif # fail quickly and obviously if user tries to build as root %if %runselftest @@ -856,6 +860,10 @@ fi %endif %changelog +* Tue Aug 18 2020 Michal Schorm - 8.0.21-9 +- I encounter the ARM memory exaustion in the end + Looks like it is only issue on some machines + * Tue Aug 18 2020 Michal Schorm - 8.0.21-8 - I haven't encounter the ARM memory exaustion on Fedora build infrastructure Let's enable it and see how it will work From 722076684acb52812733004e870512fd0051bde8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 24 Aug 2020 23:22:57 +0200 Subject: [PATCH 485/616] Fix the filelist. A number of shared libraries in the plugindir are part of the testsuite and thus should reside in *-test subpackage It will be best to keep the file list explicit to avoid this in the future --- community-mysql.spec | 117 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8e5bd2d..94e9574 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 9%{?with_debug:.debug}%{?dist} +Release: 10%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -794,7 +794,37 @@ fi %dir %{_datadir}/%{pkg_name} %endif -%{_libdir}/mysql/plugin +%dir %{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/adt_null.so +%{_libdir}/mysql/plugin/auth_socket.so +%{_libdir}/mysql/plugin/component_audit_api_message_emit.so +%{_libdir}/mysql/plugin/component_log_filter_dragnet.so +%{_libdir}/mysql/plugin/component_log_sink_json.so +%{_libdir}/mysql/plugin/component_log_sink_syseventlog.so +%{_libdir}/mysql/plugin/component_mysqlbackup.so +%{_libdir}/mysql/plugin/component_validate_password.so +%{_libdir}/mysql/plugin/connection_control.so +%{_libdir}/mysql/plugin/daemon_example.ini +%{_libdir}/mysql/plugin/ddl_rewriter.so +%{_libdir}/mysql/plugin/group_replication.so +%{_libdir}/mysql/plugin/ha_example.so +%{_libdir}/mysql/plugin/ha_mock.so +%{_libdir}/mysql/plugin/innodb_engine.so +%{_libdir}/mysql/plugin/keyring_file.so +%{_libdir}/mysql/plugin/keyring_udf.so +%{_libdir}/mysql/plugin/libmemcached.so +%{_libdir}/mysql/plugin/locking_service.so +%{_libdir}/mysql/plugin/mypluglib.so +%{_libdir}/mysql/plugin/mysql_clone.so +%{_libdir}/mysql/plugin/mysql_no_login.so +%{_libdir}/mysql/plugin/rewrite_example.so +%{_libdir}/mysql/plugin/rewriter.so +%{_libdir}/mysql/plugin/semisync_master.so +%{_libdir}/mysql/plugin/semisync_slave.so +%{_libdir}/mysql/plugin/validate_password.so +%{_libdir}/mysql/plugin/version_token.so +# List of plugins we don't ship but upstream does: +#%%{_libdir}/mysql/plugin/libpluginmecab.so %{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/myisamchk.1* @@ -857,9 +887,92 @@ fi %{_bindir}/mysqld_safe %{_bindir}/comp_err %attr(-,mysql,mysql) %{_datadir}/mysql-test + +%dir %{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/auth.so +%{_libdir}/mysql/plugin/auth_test_plugin.so +%{_libdir}/mysql/plugin/component_example_component1.so +%{_libdir}/mysql/plugin/component_example_component2.so +%{_libdir}/mysql/plugin/component_example_component3.so +%{_libdir}/mysql/plugin/component_log_sink_test.so +%{_libdir}/mysql/plugin/component_mysqlx_global_reset.so +%{_libdir}/mysql/plugin/component_pfs_example_component_population.so +%{_libdir}/mysql/plugin/component_pfs_example.so +%{_libdir}/mysql/plugin/component_test_audit_api_message.so +%{_libdir}/mysql/plugin/component_test_backup_lock_service.so +%{_libdir}/mysql/plugin/component_test_component_deinit.so +%{_libdir}/mysql/plugin/component_test_host_application_signal.so +%{_libdir}/mysql/plugin/component_test_mysql_current_thread_reader.so +%{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so +%{_libdir}/mysql/plugin/component_test_pfs_notification.so +%{_libdir}/mysql/plugin/component_test_pfs_resource_group.so +%{_libdir}/mysql/plugin/component_test_status_var_service_int.so +%{_libdir}/mysql/plugin/component_test_status_var_service_reg_only.so +%{_libdir}/mysql/plugin/component_test_status_var_service.so +%{_libdir}/mysql/plugin/component_test_status_var_service_str.so +%{_libdir}/mysql/plugin/component_test_status_var_service_unreg_only.so +%{_libdir}/mysql/plugin/component_test_string_service_charset.so +%{_libdir}/mysql/plugin/component_test_string_service_long.so +%{_libdir}/mysql/plugin/component_test_string_service.so +%{_libdir}/mysql/plugin/component_test_system_variable_source.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_int.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_same.so +%{_libdir}/mysql/plugin/component_test_sys_var_service.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_str.so +%{_libdir}/mysql/plugin/component_test_udf_registration.so +%{_libdir}/mysql/plugin/component_test_udf_services.so +%{_libdir}/mysql/plugin/component_udf_reg_3_func.so +%{_libdir}/mysql/plugin/component_udf_reg_avg_func.so +%{_libdir}/mysql/plugin/component_udf_reg_int_func.so +%{_libdir}/mysql/plugin/component_udf_reg_int_same_func.so +%{_libdir}/mysql/plugin/component_udf_reg_only_3_func.so +%{_libdir}/mysql/plugin/component_udf_reg_real_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_3_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_int_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_real_func.so +%{_libdir}/mysql/plugin/libdaemon_example.so +%{_libdir}/mysql/plugin/libtest_framework.so +%{_libdir}/mysql/plugin/libtest_services.so +%{_libdir}/mysql/plugin/libtest_services_threaded.so +%{_libdir}/mysql/plugin/libtest_session_attach.so +%{_libdir}/mysql/plugin/libtest_session_detach.so +%{_libdir}/mysql/plugin/libtest_session_info.so +%{_libdir}/mysql/plugin/libtest_session_in_thd.so +%{_libdir}/mysql/plugin/libtest_sql_2_sessions.so +%{_libdir}/mysql/plugin/libtest_sql_all_col_types.so +%{_libdir}/mysql/plugin/libtest_sql_cmds_1.so +%{_libdir}/mysql/plugin/libtest_sql_commit.so +%{_libdir}/mysql/plugin/libtest_sql_complex.so +%{_libdir}/mysql/plugin/libtest_sql_errors.so +%{_libdir}/mysql/plugin/libtest_sql_lock.so +%{_libdir}/mysql/plugin/libtest_sql_processlist.so +%{_libdir}/mysql/plugin/libtest_sql_replication.so +%{_libdir}/mysql/plugin/libtest_sql_reset_connection.so +%{_libdir}/mysql/plugin/libtest_sql_shutdown.so +%{_libdir}/mysql/plugin/libtest_sql_sqlmode.so +%{_libdir}/mysql/plugin/libtest_sql_stmt.so +%{_libdir}/mysql/plugin/libtest_sql_stored_procedures_functions.so +%{_libdir}/mysql/plugin/libtest_sql_views_triggers.so +%{_libdir}/mysql/plugin/libtest_x_sessions_deinit.so +%{_libdir}/mysql/plugin/libtest_x_sessions_init.so +%{_libdir}/mysql/plugin/pfs_example_plugin_employee.so +%{_libdir}/mysql/plugin/qa_auth_client.so +%{_libdir}/mysql/plugin/qa_auth_interface.so +%{_libdir}/mysql/plugin/qa_auth_server.so +%{_libdir}/mysql/plugin/replication_observers_example_plugin.so +%{_libdir}/mysql/plugin/test_security_context.so +%{_libdir}/mysql/plugin/test_services_host_application_signal.so +%{_libdir}/mysql/plugin/test_services_plugin_registry.so +%{_libdir}/mysql/plugin/test_udf_services.so +%{_libdir}/mysql/plugin/udf_example.so %endif %changelog +* Mon Aug 24 2020 Michal Schorm - 8.0.21-10 +- Fix the filelist. A number of shared libraries in the plugindir + are part of the testsuite and thus should reside in *-test subpackage + It will be best to keep the file list explicit to avoid this in the future + * Tue Aug 18 2020 Michal Schorm - 8.0.21-9 - I encounter the ARM memory exaustion in the end Looks like it is only issue on some machines From d94abba32ba69bda711f6d0e50d104922877280f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 25 Aug 2020 05:06:42 +0200 Subject: [PATCH 486/616] Start building the MeCab plugin --- community-mysql.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 94e9574..9d5ab9c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 10%{?with_debug:.debug}%{?dist} +Release: 11%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -510,6 +510,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %endif -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ + -DWITH_MECAB=system \ -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -813,6 +814,7 @@ fi %{_libdir}/mysql/plugin/keyring_file.so %{_libdir}/mysql/plugin/keyring_udf.so %{_libdir}/mysql/plugin/libmemcached.so +%{_libdir}/mysql/plugin/libpluginmecab.so %{_libdir}/mysql/plugin/locking_service.so %{_libdir}/mysql/plugin/mypluglib.so %{_libdir}/mysql/plugin/mysql_clone.so @@ -823,8 +825,6 @@ fi %{_libdir}/mysql/plugin/semisync_slave.so %{_libdir}/mysql/plugin/validate_password.so %{_libdir}/mysql/plugin/version_token.so -# List of plugins we don't ship but upstream does: -#%%{_libdir}/mysql/plugin/libpluginmecab.so %{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/myisamchk.1* @@ -968,6 +968,9 @@ fi %endif %changelog +* Tue Aug 25 2020 Michal Schorm - 8.0.21-11 +- Start building the MeCab plugin + * Mon Aug 24 2020 Michal Schorm - 8.0.21-10 - Fix the filelist. A number of shared libraries in the plugindir are part of the testsuite and thus should reside in *-test subpackage From d5320ef9b622b9c088d46f93dad11942181a90e5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Sep 2020 18:01:08 +0200 Subject: [PATCH 487/616] Rebuild due to libevent soname change --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9d5ab9c..4f3a7ea 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 11%{?with_debug:.debug}%{?dist} +Release: 12%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Tue Sep 15 2020 Michal Schorm - 8.0.21-12 +- Rebuild due to libevent soname change + * Tue Aug 25 2020 Michal Schorm - 8.0.21-11 - Start building the MeCab plugin From a667731131ef0131ef20107cfc45ddef78c7e897 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Wed, 23 Sep 2020 17:40:28 +0200 Subject: [PATCH 488/616] Rebuilt for protobuf 3.13 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4f3a7ea..e7638bf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 12%{?with_debug:.debug}%{?dist} +Release: 13%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Wed Sep 23 2020 Adrian Reber - 8.0.21-13 +- Rebuilt for protobuf 3.13 + * Tue Sep 15 2020 Michal Schorm - 8.0.21-12 - Rebuild due to libevent soname change From f3a06b48a59c142ae73f3e583585f4aa6551eb63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 1 Oct 2020 13:33:42 +0200 Subject: [PATCH 489/616] Rebuilt for libevent 2.1.12 (#2) See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/QOQW2BJBYMTIEUQIAYVEIX2L5IIOHDZL/ --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index e7638bf..62426fb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 13%{?with_debug:.debug}%{?dist} +Release: 14%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Thu Oct 1 13:33:42 CEST 2020 Zbigniew Jędrzejewski-Szmek - 8.0.21-14 +- Rebuilt for libevent 2.1.12 (again) + * Wed Sep 23 2020 Adrian Reber - 8.0.21-13 - Rebuilt for protobuf 3.13 From 8593570046dc86f0d0706a5e3855bf315758979a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 6 Oct 2020 14:16:11 -0600 Subject: [PATCH 490/616] Add missing #include for gcc-11 --- community-mysql-gcc11.patch | 13 +++++++++++++ community-mysql.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 community-mysql-gcc11.patch diff --git a/community-mysql-gcc11.patch b/community-mysql-gcc11.patch new file mode 100644 index 0000000..641ad2b --- /dev/null +++ b/community-mysql-gcc11.patch @@ -0,0 +1,13 @@ +index a826a081..00000000 +diff --git a/include/mysql/components/services/page_track_service.h b/include/mysql/components/services/page_track_service.h +index 103b5135..e6b3ba6f 100644 +--- a/include/mysql/components/services/page_track_service.h ++++ b/include/mysql/components/services/page_track_service.h +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + #include + diff --git a/community-mysql.spec b/community-mysql.spec index 62426fb..59fcda5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 14%{?with_debug:.debug}%{?dist} +Release: 15%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -113,6 +113,7 @@ Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch76: %{pkgnamepatch}-certs-expired.patch Patch77: %{pkgnamepatch}-lto.patch +Patch78: %{pkgnamepatch}-gcc11.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -381,6 +382,7 @@ the MySQL sources. %patch75 -p1 %patch76 -p1 %patch77 -p1 +%patch78 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -968,6 +970,9 @@ fi %endif %changelog +* Thu Oct 6 2020 Jeff Law - 8.0.21-15 +- Add missing #include for gcc-11 + * Thu Oct 1 13:33:42 CEST 2020 Zbigniew Jędrzejewski-Szmek - 8.0.21-14 - Rebuilt for libevent 2.1.12 (again) From f6c1bc49b5267aba71898428c10d521c71a1f88c Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 20 Oct 2020 09:54:49 -0600 Subject: [PATCH 491/616] Fix another missing #include for gcc-11 --- community-mysql-gcc11.patch | 12 ++++++++++++ community-mysql.spec | 5 ++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/community-mysql-gcc11.patch b/community-mysql-gcc11.patch index 641ad2b..8a030a8 100644 --- a/community-mysql-gcc11.patch +++ b/community-mysql-gcc11.patch @@ -11,3 +11,15 @@ index 103b5135..e6b3ba6f 100644 #include +diff --git a/sql-common/sql_string.cc b/sql-common/sql_string.cc +index 40435729..8b6ee827 100644 +--- a/sql-common/sql_string.cc ++++ b/sql-common/sql_string.cc +@@ -23,6 +23,7 @@ + #include "sql_string.h" + + #include ++#include + + #include "my_dbug.h" + #include "my_macros.h" diff --git a/community-mysql.spec b/community-mysql.spec index 59fcda5..2af4381 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 15%{?with_debug:.debug}%{?dist} +Release: 16%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -970,6 +970,9 @@ fi %endif %changelog +* Tue Oct 20 2020 Jeff Law - 8.0.21-16 +- Fix another missing #include for gcc-11 + * Thu Oct 6 2020 Jeff Law - 8.0.21-15 - Add missing #include for gcc-11 From 5b369c33a628c2207695aab005472f50531fd552 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 26 Oct 2020 09:23:18 +0100 Subject: [PATCH 492/616] Rebase to 8.0.22 community-mysql-certs-expired.patch and community-mysql-lto.patch was patched by upstream New zlib_decompress binary --- community-mysql-arm32-timer.patch | 12 +- community-mysql-certs-expired.patch | 964 ---------------------------- community-mysql-lto.patch | 119 ---- community-mysql-scripts.patch | 12 +- community-mysql.spec | 34 +- sources | 2 +- 6 files changed, 31 insertions(+), 1112 deletions(-) delete mode 100644 community-mysql-certs-expired.patch delete mode 100644 community-mysql-lto.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index c9af92a..5bc7f67 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,8 @@ -diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index 990fe81..c2e1b36 100644 ---- a/mysql-test/include/mtr_warnings.sql -+++ b/mysql-test/include/mtr_warnings.sql -@@ -292,6 +292,11 @@ INSERT INTO global_suppressions VALUES - */ - ("Channel mysql_main configured to support TLS"), +--- mysql-8.0.22/mysql-test/include/mtr_warnings.sql.old 2020-10-21 11:25:49.779775116 +0200 ++++ mysql-8.0.22/mysql-test/include/mtr_warnings.sql 2020-10-21 11:26:29.507185307 +0200 +@@ -299,6 +299,11 @@ + ("NOTIFY_SOCKET not set in environment. sd_notify messages will not be sent!"), + ("Invalid systemd notify socket, cannot send: "), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-certs-expired.patch b/community-mysql-certs-expired.patch deleted file mode 100644 index 5adbb48..0000000 --- a/community-mysql-certs-expired.patch +++ /dev/null @@ -1,964 +0,0 @@ -commit 2f61a515fd7998f00fe329a9bf17392ae0c7187d -Author: Harin Vadodaria -Date: Wed Jul 1 12:11:52 2020 +0200 - - Bug#31562947: SSL TESTS ARE FAILING BECAUSE OF AN EXPIRED CERTIFICATE - - Description: Some of the certificates used for testing - CRL support are expired. This caused various - tests to failed. - - Fix: - Added new set of certificates - - Updated read-me for CRL generation - - RB: 24714 - -diff --git a/mysql-test/std_data/crl-ca-cert.pem b/mysql-test/std_data/crl-ca-cert.pem -index 1a40815f6a2..93c96eae026 100644 ---- a/mysql-test/std_data/crl-ca-cert.pem -+++ b/mysql-test/std_data/crl-ca-cert.pem -@@ -2,79 +2,80 @@ Certificate: - Data: - Version: 3 (0x2) - Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1d -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ bf:07:54:de:af:cf:c4:de -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 11:58:53 2019 GMT -- Not After : Jun 30 11:58:53 2022 GMT -- Subject: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Not Before: Jul 1 07:44:35 2020 GMT -+ Not After : Jun 29 07:44:35 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:c9:09:95:54:a0:91:fd:f9:26:2f:ca:c4:ce:4a: -- cc:25:72:44:34:f2:68:7a:4d:91:ab:1a:54:90:50: -- fc:14:8a:f2:5b:83:f3:68:c9:0e:bc:0f:dd:11:2f: -- 25:43:9e:d4:5a:cf:e0:2a:4f:63:d8:1d:de:ef:7d: -- 6b:14:4f:8f:2e:9a:44:b8:4f:41:b3:88:95:71:e2: -- cd:8b:22:96:7c:55:fb:39:1a:6b:18:05:18:2c:95: -- 15:9f:b0:e3:92:76:c5:c6:e3:3f:56:44:2d:fe:a5: -- 61:d7:47:db:84:be:08:19:d6:39:f3:4f:dd:6c:d9: -- ff:e1:c2:ba:78:2b:87:a8:32:02:e2:a9:e7:8a:14: -- bb:c5:7a:a8:33:ff:54:0b:5c:c6:20:cf:2e:e3:ee: -- f5:fe:4c:98:26:a5:fc:1a:4a:3f:62:8f:df:a6:31: -- d2:a0:f4:c8:04:dd:f5:b8:5e:6b:6c:c3:c4:c7:da: -- 80:19:2f:40:e1:df:7d:39:a0:9d:c7:fe:59:db:75: -- f1:5e:2f:da:07:7f:5f:ac:0b:18:eb:0f:61:a5:17: -- b1:9e:cb:d5:56:9a:b4:54:89:93:45:2b:90:7e:ef: -- c3:a2:36:d5:7f:64:aa:a2:79:23:74:8c:02:93:5b: -- da:dd:10:03:01:9e:84:49:4d:8f:32:75:f1:63:57: -- 88:19 -+ 00:c9:08:13:81:df:5a:aa:45:2a:82:1e:73:4f:d6: -+ 2f:6b:7a:78:41:a7:fb:ea:02:5c:30:15:95:6a:a4: -+ 60:6b:08:4c:7d:46:4f:1a:7c:14:67:c6:19:e0:bf: -+ c9:12:c3:96:7f:71:12:79:ba:a1:d2:51:1b:fb:f1: -+ 0f:43:9d:22:6d:7f:46:a7:94:0c:51:c2:25:ad:36: -+ c8:1c:59:45:91:e1:20:4d:5e:31:b1:33:b1:4b:2b: -+ a0:62:fb:8a:c6:ee:7e:84:77:d2:aa:23:f8:31:74: -+ d5:94:60:72:88:a7:3a:ec:f3:d8:80:28:36:c1:5a: -+ 7f:58:be:8c:d2:eb:9d:fb:22:de:ec:2c:d3:41:81: -+ b2:e4:91:e4:da:12:b2:84:0e:8f:f7:b0:1e:36:07: -+ 88:87:8e:1d:63:ad:1b:a5:31:39:d2:02:10:e0:97: -+ 21:3f:7e:e9:f1:a2:e8:c3:aa:ad:e3:bd:05:62:e1: -+ a2:8d:ed:d5:cd:d7:66:8a:2b:15:dd:e1:91:e2:75: -+ 18:c4:50:62:fb:a1:f9:96:93:af:84:78:f7:69:b6: -+ 7f:82:f7:c8:97:13:10:46:7b:de:a2:a9:c9:71:78: -+ f1:8e:a1:78:b5:e5:b7:dd:69:4d:8c:1b:ae:34:0e: -+ 5f:94:26:8e:81:b3:23:6e:1f:be:de:e0:e0:41:dc: -+ 71:49 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: -- A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -+ 43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 - X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -+ keyid:43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 - -- X509v3 Basic Constraints: critical -+ X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 53:ce:08:79:96:94:22:9b:1f:8e:2f:3c:ad:7b:1f:0e:45:7e: -- 65:c1:c2:7f:46:f1:73:be:9c:e4:1b:2c:13:bd:bf:05:95:2b: -- 3c:6e:70:62:b2:14:1e:a6:60:e3:a7:b7:40:22:97:db:74:d1: -- fc:47:27:ba:de:89:50:7e:e1:3b:f5:3e:95:aa:01:e8:8a:e6: -- f9:49:48:97:d2:91:a0:1f:9d:82:b5:35:16:58:01:d1:82:1d: -- b4:dc:68:b9:1b:84:fb:e3:ec:06:a6:55:69:e9:84:69:7d:34: -- ba:dd:dd:57:15:1a:9e:d8:f4:c7:44:98:07:35:66:ec:a6:1e: -- 91:b8:a4:b2:9b:85:52:e8:98:e6:e8:28:8c:d4:1e:8e:45:50: -- 58:c9:68:fd:b4:4b:4f:b7:58:9f:45:7b:b1:12:ae:7d:70:0d: -- 4b:42:7e:46:d0:5a:d5:21:9f:f1:99:b6:21:75:34:7b:2a:d8: -- 45:2e:f9:4d:fa:b4:72:a8:9e:22:e6:66:4b:81:1d:8e:b2:54: -- f3:0f:02:17:68:7f:79:ca:df:a7:5d:17:70:50:bf:47:df:5a: -- 6a:e1:7f:af:ab:ca:54:86:ad:d8:35:c5:b8:f7:9d:72:0e:db: -- dc:0c:c3:08:2d:d1:9a:18:5c:c3:c1:64:7a:f3:9a:5a:6d:69: -- 12:e1:fd:c2 -+ 16:b8:f3:2a:4a:f7:82:7b:99:cb:40:20:a1:76:7a:2b:19:c9: -+ 4f:4f:90:b3:e4:7c:6e:42:28:c8:47:4b:37:12:ab:fa:64:ec: -+ d6:50:f8:2f:bd:61:cd:d6:09:96:d3:84:b1:e6:60:ae:99:ae: -+ 4a:1a:b1:34:a6:ee:b7:3b:1f:6f:cc:94:39:26:e4:9d:d2:02: -+ d9:75:ce:e7:dd:e9:3a:b2:c4:84:1a:75:0e:64:ce:32:7f:68: -+ 5b:81:b7:5e:18:bd:ac:56:69:1c:1a:a0:a1:61:85:f2:11:78: -+ 50:42:4e:e8:b8:67:8a:50:85:09:75:67:d9:09:e1:2a:61:64: -+ 24:1a:52:79:12:5c:d1:a5:53:5f:70:63:2b:30:fe:4e:e5:c6: -+ 3a:7c:f3:36:3e:7b:ab:6b:57:04:12:53:7e:dd:18:63:bf:25: -+ ae:b0:14:f8:93:bb:0a:a6:d4:7b:77:60:58:52:ee:9e:76:9c: -+ 63:ef:84:40:fd:5a:be:54:74:d7:b8:4a:85:09:a0:13:0e:75: -+ 75:e6:2c:73:1b:e3:94:ff:ad:73:0b:c6:e3:b0:68:56:ce:ff: -+ 8d:75:f4:9d:14:5c:05:a0:8d:ad:ab:96:aa:4f:58:cb:79:cf: -+ 5b:85:84:e7:4a:66:54:09:fd:da:c2:3a:3b:ee:3c:3c:0a:66: -+ 36:bc:a6:f0 - -----BEGIN CERTIFICATE----- --MIIDpzCCAo+gAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR0wDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMTU4NTNaFw0yMjA2MzAxMTU4NTNaMGMxCzAJBgNV --BAYTAklOMQswCQYDVQQIDAJLQTEPMA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVN --eVNRTDEmMCQGA1UEAwwdTXlTUUwgQ1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwggEi --MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJCZVUoJH9+SYvysTOSswlckQ0 --8mh6TZGrGlSQUPwUivJbg/NoyQ68D90RLyVDntRaz+AqT2PYHd7vfWsUT48umkS4 --T0GziJVx4s2LIpZ8Vfs5GmsYBRgslRWfsOOSdsXG4z9WRC3+pWHXR9uEvggZ1jnz --T91s2f/hwrp4K4eoMgLiqeeKFLvFeqgz/1QLXMYgzy7j7vX+TJgmpfwaSj9ij9+m --MdKg9MgE3fW4Xmtsw8TH2oAZL0Dh3305oJ3H/lnbdfFeL9oHf1+sCxjrD2GlF7Ge --y9VWmrRUiZNFK5B+78OiNtV/ZKqieSN0jAKTW9rdEAMBnoRJTY8ydfFjV4gZAgMB --AAGjUzBRMB0GA1UdDgQWBBSnLspTBVIGEr3t/8+4ujDneh+WRjAfBgNVHSMEGDAW --gBSnLspTBVIGEr3t/8+4ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 --DQEBCwUAA4IBAQBTzgh5lpQimx+OLzytex8ORX5lwcJ/RvFzvpzkGywTvb8FlSs8 --bnBishQepmDjp7dAIpfbdNH8Rye63olQfuE79T6VqgHoiub5SUiX0pGgH52CtTUW --WAHRgh203Gi5G4T74+wGplVp6YRpfTS63d1XFRqe2PTHRJgHNWbsph6RuKSym4VS --6Jjm6CiM1B6ORVBYyWj9tEtPt1ifRXuxEq59cA1LQn5G0FrVIZ/xmbYhdTR7KthF --LvlN+rRyqJ4i5mZLgR2OslTzDwIXaH95yt+nXRdwUL9H31pq4X+vq8pUhq3YNcW4 --951yDtvcDMMILdGaGFzDwWR685pabWkS4f3C -+MIIDzzCCAregAwIBAgIJAL8HVN6vz8TeMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV -+BAYTAklOMRIwEAYDVQQIDAlLYXJuYXRha2ExEjAQBgNVBAcMCUJlbmdhbHVydTEP -+MA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEmMCQGA1UEAwwdTXlTUUwg -+Q1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwHhcNMjAwNzAxMDc0NDM1WhcNMzAwNjI5 -+MDc0NDM1WjB+MQswCQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYD -+VQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwx -+JjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlMIIBIjANBgkq -+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyQgTgd9aqkUqgh5zT9Yva3p4Qaf76gJc -+MBWVaqRgawhMfUZPGnwUZ8YZ4L/JEsOWf3ESebqh0lEb+/EPQ50ibX9Gp5QMUcIl -+rTbIHFlFkeEgTV4xsTOxSyugYvuKxu5+hHfSqiP4MXTVlGByiKc67PPYgCg2wVp/ -+WL6M0uud+yLe7CzTQYGy5JHk2hKyhA6P97AeNgeIh44dY60bpTE50gIQ4JchP37p -+8aLow6qt470FYuGije3VzddmiisV3eGR4nUYxFBi+6H5lpOvhHj3abZ/gvfIlxMQ -+RnveoqnJcXjxjqF4teW33WlNjBuuNA5flCaOgbMjbh++3uDgQdxxSQIDAQABo1Aw -+TjAdBgNVHQ4EFgQUQ6s/TdPrNz09Kv69TsKK3cnlsbEwHwYDVR0jBBgwFoAUQ6s/ -+TdPrNz09Kv69TsKK3cnlsbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC -+AQEAFrjzKkr3gnuZy0AgoXZ6KxnJT0+Qs+R8bkIoyEdLNxKr+mTs1lD4L71hzdYJ -+ltOEseZgrpmuShqxNKbutzsfb8yUOSbkndIC2XXO593pOrLEhBp1DmTOMn9oW4G3 -+Xhi9rFZpHBqgoWGF8hF4UEJO6LhnilCFCXVn2QnhKmFkJBpSeRJc0aVTX3BjKzD+ -+TuXGOnzzNj57q2tXBBJTft0YY78lrrAU+JO7CqbUe3dgWFLunnacY++EQP1avlR0 -+17hKhQmgEw51deYscxvjlP+tcwvG47BoVs7/jXX0nRRcBaCNrauWqk9Yy3nPW4WE -+50pmVAn92sI6O+48PApmNrym8A== - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-certificate-readme.txt b/mysql-test/std_data/crl-certificate-readme.txt -index 6979b33e1b7..7e398eed88f 100644 ---- a/mysql-test/std_data/crl-certificate-readme.txt -+++ b/mysql-test/std_data/crl-certificate-readme.txt -@@ -1,6 +1,9 @@ - These are the instructions on how to generate test files for the CRL tests - using openSSL. - -+If you have root access on the system -+===================================== -+ - 1. Make sure you have the right validity periods in CA.pl and openssl.cnf - 2. Create a new certification authority : CA.pl -newca - 3. Copy demoCA/cacert.pem to crl-ca-cert.pem -@@ -21,11 +24,77 @@ using openSSL. - key while copying it : - openssl rsa -in newkey.pem -out crl-client-key-revoked.pem - 16. Revoke the crl-client-invalid-cert.pem : -- openssl ca -revoke crl-client-key-revoked.pem -+ openssl ca -revoke crl-client-invalid-cert.pem - 17. Generate a CRL file : - openssl ca -gencrl -crldays=3650 -out crl-client-revoked.crl - 18. Clean up all the files in the crldir directory --19. Copy the CA certificate into it : -- cp crl-ca-cert.pem `openssl x509 -in crl-ca-cert.pem -noout -hash`.0 --20. Copy the CRL file into it : -- cp crl-client-revoked.crl `openssl crl -in crl-ca-cert.pem -noout -hash`.r0 -+19. Copy the CRL file into it : -+ cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.crl -noout -hash`.r0 -+ -+ -+If you are using your own CA -+============================ -+ -+Prepare directory -+----------------- -+ -+1. mkdir new_crlcerts && cd new_crlcerts -+2. mkdir crldir -+3. mkdir private -+ -+Generate CA and 3 set of certificates -+------------------------------------- -+ -+4. Generate CA -+openssl genrsa 2048 > crl-ca-key.pem -+openssl req -new -x509 -nodes -days 3650 -key crl-ca-key.pem -out crl-ca-cert.pem -+ -+5. Generate Server certificate -+openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-server-key.pem -out crl-server-req.pem -+openssl rsa -in crl-server-key.pem -out crl-server-key.pem -+openssl x509 -req -in crl-server-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 01 -out crl-server-cert.pem -+ -+6. Generate Client certificate -+openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-key.pem -out crl-client-req.pem -+openssl rsa -in crl-client-key.pem -out crl-client-key.pem -+openssl x509 -req -in crl-client-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 02 -out crl-client-cert.pem -+ -+7. Generate Client certificate that will be revoked later -+openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-revoked-key.pem -out crl-client-revoked-req.pem -+openssl rsa -in crl-client-revoked-key.pem -out crl-client-revoked-key.pem -+openssl x509 -req -in crl-client-revoked-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 03 -out crl-client-revoked-cert.pem -+ -+Prepare for certificate revocation -+---------------------------------- -+ -+8. cp crl-ca-cert.pem cacert.pem -+9. cp crl-ca-key.pem private/cakey.pem -+10. touch index.txt -+11. echo 1000 > crlnumber -+12. copy global openssl.cnf to current working dirctory -+13. Open local copy of openssl.cnf and in [CA_default] section -+ - Update dir to point to current working directory -+ - Update certs to point to $dir and not $dir/certs -+ -+Revoke a certificate and create crl file -+---------------------------------------- -+ -+14. openssl ca -config openssl.cnf -revoke crl-client-revoked-cert.pem -+15. openssl ca -config openssl.cnf -gencrl -crldays 3600 -out crl-client-revoked.crl -+16. cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.pem -noout -hash`.r0 -+ -+Replace existing certs -+---------------------- -+17. Replace following files in /mysql-test/std_data/ with files generated above -+ crl-ca-cert.pem -+ crl-client-cert.pem -+ crl-client-key.pem -+ crl-client-revoked-cert.pem -+ crl-client-revoked-key.pem -+ crl-client-revoked.crl -+ crl-server-cert.pem -+ crl-server-key.pem -+ -+18. Remove file in /mysql-test/std_data/crldir -+19. Copy file generated in step 16 above to /mysql-test/std_data/crldir -+20. You may now remove new_crls directory -diff --git a/mysql-test/std_data/crl-client-cert.pem b/mysql-test/std_data/crl-client-cert.pem -index 2cec5cd529f..a0017c2441f 100644 ---- a/mysql-test/std_data/crl-client-cert.pem -+++ b/mysql-test/std_data/crl-client-cert.pem -@@ -1,81 +1,70 @@ - Certificate: - Data: -- Version: 3 (0x2) -- Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1f -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Version: 1 (0x0) -+ Serial Number: 2 (0x2) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 12:14:10 2019 GMT -- Not After : Jun 30 12:14:10 2020 GMT -- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate -+ Not Before: Jul 1 07:51:35 2020 GMT -+ Not After : May 10 07:51:35 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:d6:97:3a:d7:2b:cc:68:4a:7f:72:18:ab:74:7d: -- 51:84:48:44:11:9f:d1:f2:ee:e0:40:6d:a0:23:fc: -- 36:a2:44:ca:2c:13:60:62:f9:ce:45:54:ef:3d:ec: -- a8:6b:e0:02:66:10:89:1f:e7:bf:d2:2d:9c:79:e9: -- 3f:37:ae:fc:da:b3:0d:5f:6a:84:86:6a:04:13:26: -- 99:dd:c6:46:a3:e0:c1:1d:89:0b:4a:42:08:8e:d4: -- 56:3b:12:5e:de:04:e1:b7:da:b5:73:ee:9c:7f:a8: -- 04:f3:18:04:a7:5e:9d:a6:fd:b4:04:17:bb:3d:07: -- 8b:2b:cd:29:cb:ca:6a:d1:70:5d:4f:e5:10:09:44: -- 20:73:ef:65:87:0b:42:67:2c:1c:64:59:bd:56:ea: -- 88:d4:f1:b1:31:d8:ee:8a:bb:3d:22:09:6a:68:ec: -- b4:c5:07:15:81:9e:ae:ee:72:d7:2d:67:df:bd:fd: -- c5:10:5e:e6:88:18:ad:2a:2d:e4:33:be:ac:f7:fe: -- f9:b9:40:54:69:f9:78:fe:57:81:93:89:49:a7:8b: -- 64:8b:72:ea:ab:53:55:43:1e:ea:3a:cd:b0:cb:97: -- 43:9b:70:cc:12:ef:22:08:55:d1:1c:ab:8b:1e:c1: -- d5:4f:15:3f:2b:f7:01:39:a0:74:33:ae:ea:45:25: -- af:2f -+ 00:ab:7f:02:81:a3:ce:01:93:02:67:2a:56:e3:51: -+ 5a:1d:a0:57:e8:4f:bb:2f:27:4d:13:9e:18:8e:b0: -+ ec:47:a9:9c:cc:ce:24:be:64:c2:86:3f:91:63:d3: -+ 23:22:d9:10:e4:44:d5:2e:b9:09:06:e4:8f:0f:91: -+ 90:18:a6:f6:bb:de:4c:63:13:2a:59:41:fb:42:c4: -+ 05:ce:1a:f2:9e:dd:d5:50:00:55:28:7a:56:63:a9: -+ e0:81:f1:ef:03:61:97:00:88:39:85:a5:9e:08:11: -+ fc:76:5a:59:23:79:d8:45:d2:d3:94:19:78:8a:ca: -+ 44:f2:dd:08:df:65:15:0d:d3:b7:df:f5:2c:6c:bb: -+ 86:fb:0e:1a:19:be:ee:8a:af:1f:3d:30:6e:4f:42: -+ 3d:ca:80:39:d5:05:2d:74:5a:6b:0a:0c:49:7c:8b: -+ 95:50:37:46:0e:90:3a:e4:36:58:73:6c:49:69:b0: -+ 76:ca:c4:aa:70:48:b2:1f:2a:86:8a:ae:a7:e0:9a: -+ b3:af:5f:7a:67:6a:1a:f3:e8:2e:57:1e:f2:ac:96: -+ a2:ae:39:f3:7f:e3:7f:e3:b4:0f:e1:d3:e3:95:c6: -+ 04:2a:5e:ca:7e:79:52:a5:49:be:95:66:72:80:d4: -+ 2b:7f:cc:b9:aa:1a:24:27:27:6f:3d:b9:d7:5a:fd: -+ 48:23 - Exponent: 65537 (0x10001) -- X509v3 extensions: -- X509v3 Subject Key Identifier: -- BF:48:07:97:37:D7:64:E6:86:B7:3F:0A:1B:C7:08:9A:35:B0:5B:48 -- X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -- -- X509v3 Basic Constraints: critical -- CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 30:e8:b1:28:8d:f3:09:c8:58:a5:2a:2b:6e:19:ec:f4:3f:fe: -- a0:b2:82:ee:08:5b:aa:94:2c:23:3a:b3:e5:14:43:21:f7:18: -- 23:00:c4:88:b7:b3:b2:c8:b0:31:a2:b3:60:b5:9e:3f:95:b1: -- 72:64:58:da:d7:8d:21:ef:85:93:6d:8d:46:a0:21:5b:c9:bd: -- c6:ea:c6:ff:36:c7:82:d6:4f:71:cf:81:f5:72:af:b1:b9:03: -- ea:a3:7c:2e:b8:67:ce:4b:32:d9:75:c9:5c:4e:2c:1c:c2:25: -- 95:6b:6d:d4:49:5a:c1:01:54:98:78:73:40:3f:05:e5:91:73: -- fc:dd:88:4c:d3:c4:f9:9e:da:fe:cb:e0:a1:2f:6d:15:b5:d8: -- c5:92:07:4a:bf:1e:0b:ac:f4:6e:a3:86:85:31:df:be:a0:90: -- 54:74:12:7c:d9:47:a9:f3:ed:c2:8e:69:0d:2e:51:eb:7b:9d: -- b8:7d:cb:32:ac:65:bd:8f:52:97:41:8f:7b:ca:38:3f:49:77: -- 3c:4b:ac:b1:19:34:03:20:40:a3:9f:ad:79:c9:90:8f:08:8c: -- 6f:9b:a9:de:d5:31:35:e2:27:bb:14:36:06:28:19:30:49:a7: -- ce:42:a7:19:61:2d:7a:94:1b:c6:15:86:4f:20:c1:49:a3:11: -- 86:b6:61:87 -+ 9d:4f:df:b6:eb:02:57:d5:e0:bb:f4:31:5c:2d:0e:ac:51:ce: -+ 8c:5e:97:58:a8:79:cf:67:be:5c:00:7d:e5:aa:de:5e:8c:61: -+ 18:39:2d:4e:e3:62:9f:ba:fc:e3:dc:94:6c:1f:40:0c:e4:98: -+ 26:ac:06:45:8f:dc:73:c8:75:0e:12:b3:46:3c:71:2d:c7:d0: -+ fd:07:71:77:68:f9:55:2d:56:66:8b:27:77:c3:af:87:ee:ba: -+ 21:8a:85:5e:82:93:69:e7:d9:30:3f:53:06:d5:c1:cd:0f:2f: -+ be:f8:5b:07:9c:e2:08:d1:ec:a3:a8:e1:c4:49:e7:6a:1d:37: -+ b4:41:85:a1:11:43:cd:14:7d:a9:b7:d8:32:ae:75:d1:14:6e: -+ 99:cf:52:1c:7c:50:5d:57:09:1f:7c:e6:4a:70:60:cc:49:10: -+ 7a:66:37:2e:a7:ee:5d:11:ed:d7:61:5c:c3:ed:dc:c2:9a:d9: -+ c4:92:54:95:67:04:81:ba:8d:ba:a7:c4:81:7a:63:63:52:28: -+ 5b:35:01:4e:3b:1e:34:55:d8:62:bc:79:db:c8:7a:6f:e7:0a: -+ 65:83:95:5d:bd:21:38:02:a0:24:d5:e5:5c:17:64:39:23:0d: -+ 27:62:d3:7f:c5:3b:52:26:ac:f2:13:f5:8a:53:09:d0:52:26: -+ 69:09:c4:e2 - -----BEGIN CERTIFICATE----- --MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR8wDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMjE0MTBaFw0yMDA2MzAxMjE0MTBaMHsxCzAJBgNV --BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK --DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz --dCBjbGllbnQgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK --AoIBAQDWlzrXK8xoSn9yGKt0fVGESEQRn9Hy7uBAbaAj/DaiRMosE2Bi+c5FVO89 --7Khr4AJmEIkf57/SLZx56T83rvzasw1faoSGagQTJpndxkaj4MEdiQtKQgiO1FY7 --El7eBOG32rVz7px/qATzGASnXp2m/bQEF7s9B4srzSnLymrRcF1P5RAJRCBz72WH --C0JnLBxkWb1W6ojU8bEx2O6Kuz0iCWpo7LTFBxWBnq7uctctZ9+9/cUQXuaIGK0q --LeQzvqz3/vm5QFRp+Xj+V4GTiUmni2SLcuqrU1VDHuo6zbDLl0ObcMwS7yIIVdEc --q4sewdVPFT8r9wE5oHQzrupFJa8vAgMBAAGjUzBRMB0GA1UdDgQWBBS/SAeXN9dk --5oa3PwobxwiaNbBbSDAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP --BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAw6LEojfMJyFilKitu --Gez0P/6gsoLuCFuqlCwjOrPlFEMh9xgjAMSIt7OyyLAxorNgtZ4/lbFyZFja140h --74WTbY1GoCFbyb3G6sb/NseC1k9xz4H1cq+xuQPqo3wuuGfOSzLZdclcTiwcwiWV --a23USVrBAVSYeHNAPwXlkXP83YhM08T5ntr+y+ChL20VtdjFkgdKvx4LrPRuo4aF --Md++oJBUdBJ82Uep8+3CjmkNLlHre524fcsyrGW9j1KXQY97yjg/SXc8S6yxGTQD --IECjn615yZCPCIxvm6ne1TE14ie7FDYGKBkwSafOQqcZYS16lBvGFYZPIMFJoxGG --tmGH -+MIIDdTCCAl0CAQIwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV -+BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj -+bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj -+ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUxMzVaFw0zMDA1MTAwNzUxMzVaMIGCMQsw -+CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 -+cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 -+U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB -+BQADggEPADCCAQoCggEBAKt/AoGjzgGTAmcqVuNRWh2gV+hPuy8nTROeGI6w7Eep -+nMzOJL5kwoY/kWPTIyLZEORE1S65CQbkjw+RkBim9rveTGMTKllB+0LEBc4a8p7d -+1VAAVSh6VmOp4IHx7wNhlwCIOYWlnggR/HZaWSN52EXS05QZeIrKRPLdCN9lFQ3T -+t9/1LGy7hvsOGhm+7oqvHz0wbk9CPcqAOdUFLXRaawoMSXyLlVA3Rg6QOuQ2WHNs -+SWmwdsrEqnBIsh8qhoqup+Cas69femdqGvPoLlce8qyWoq4583/jf+O0D+HT45XG -+BCpeyn55UqVJvpVmcoDUK3/MuaoaJCcnbz2511r9SCMCAwEAATANBgkqhkiG9w0B -+AQsFAAOCAQEAnU/ftusCV9Xgu/QxXC0OrFHOjF6XWKh5z2e+XAB95areXoxhGDkt -+TuNin7r849yUbB9ADOSYJqwGRY/cc8h1DhKzRjxxLcfQ/Qdxd2j5VS1WZosnd8Ov -+h+66IYqFXoKTaefZMD9TBtXBzQ8vvvhbB5ziCNHso6jhxEnnah03tEGFoRFDzRR9 -+qbfYMq510RRumc9SHHxQXVcJH3zmSnBgzEkQemY3LqfuXRHt12Fcw+3cwprZxJJU -+lWcEgbqNuqfEgXpjY1IoWzUBTjseNFXYYrx528h6b+cKZYOVXb0hOAKgJNXlXBdk -+OSMNJ2LTf8U7Uias8hP1ilMJ0FImaQnE4g== - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-client-key.pem b/mysql-test/std_data/crl-client-key.pem -index 677e42ce062..8a361d9ca77 100644 ---- a/mysql-test/std_data/crl-client-key.pem -+++ b/mysql-test/std_data/crl-client-key.pem -@@ -1,27 +1,27 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIEpQIBAAKCAQEA1pc61yvMaEp/chirdH1RhEhEEZ/R8u7gQG2gI/w2okTKLBNg --YvnORVTvPeyoa+ACZhCJH+e/0i2ceek/N6782rMNX2qEhmoEEyaZ3cZGo+DBHYkL --SkIIjtRWOxJe3gTht9q1c+6cf6gE8xgEp16dpv20BBe7PQeLK80py8pq0XBdT+UQ --CUQgc+9lhwtCZywcZFm9VuqI1PGxMdjuirs9IglqaOy0xQcVgZ6u7nLXLWffvf3F --EF7miBitKi3kM76s9/75uUBUafl4/leBk4lJp4tki3Lqq1NVQx7qOs2wy5dDm3DM --Eu8iCFXRHKuLHsHVTxU/K/cBOaB0M67qRSWvLwIDAQABAoIBAQCOie2ft4wTSkjV --dOWOfx+Ciq4MNuiyQVHb+fWBcaqopqDUHhrMI7qL+xrfOy+0WBu/yAQNmValOX7S --y8geKLH0YzLiylI1Jn6GagGSen25pTUhdUJ2lN4yYYDVxCIXv45fHXuiAkEZ2nVP --NAkDU6nMnoDQpyLMKxKaibDVmSLS8mR+wVW/1jKz0kvaNFzB3Ib6Is2tBDTAj5hO --4WaC4kvfuRL9en42WXPU/fQNcHVkxdiFsGwXgG8ZHiWpe/sE92qctTx/QmwIuj5I --IP06a/piWh/IhoHrx3aP+Y4OV5sw1+k/cpd9Il2mg+2nbLhkKBoknngt/p6/Nt3O --qowrQXJhAoGBAPbMSMr+nDJBDvPj9AXm5VXou3SQJnMHdGMZAj6odSA2+2msK6VT --ZNJ75eOzveb0y+w/9hETwltMuUjfnITtu/5UN3GOP15HgOWSUrwJ+NXsoT0xuP83 --gz2lwK5g/YqED1606yXFFBRcxHnE3hpiTuRb5vrPKKinOl5eAz8Bso0jAoGBAN6X --hgmdpqs3k1BrdTFooNz6iZvWQanmBZd/XXETdKAF6YzHHnjARd/b3TOCkPqKWxc/ --+JdEBiWCeaCDG3jobAU0EeeA5G6rztcbYucDkhIGlb2rgIJoubVKzUwPCSL1xTrJ --VMBwkIo4CZDcPwKYvQBaa1PulazF7ZJDDNNV//SFAoGBAOK4/M5vZLLODZyEd3LM --kTaA3WTR4GCgIo2/Nc62FxOHLyP+5QG2QNMUuzaZswVvMb9Raw55Jn2VWEnYEwQT --GjckyuJpGVHVQlakO5k/V/e+sMl02kyrhMendAE+XO1ZMH2CmttR14Z1SpHLB3cZ --hPxIaUNT+DgnmHmEyFqjhpIdAoGAQf/blm5QROQtoeK61POY/uyqcLKOtbmmXs08 --/5ItOmWGYl+IAXXBQicG54cHRcJQUAx/wRpCWEzfk2BMfQUtQj22MVZeZRI8Oju8 --j5LXdNDPBXYcnI5AwihzxuGOa/dDi7K2lnjJ4rHK5FDpvfNb1wb4W+KaLqhhUMTg --wKj3Q6ECgYEAtufmUZ/bJJu76lY2OpKopFhIvNAsusbtewz5gcm5vZr8vMtYgp/n --gdouphit+z76P9XC7rIrWYns4WyZmsaPXHSepvSH5P25G6DzyjRplCJ3EIjZu++7 --ZG/hac1Vo82T5Qeg1IpOHVE4jceC8XfUcmuoBO31ScZFeOQlT2otdY0= -+MIIEogIBAAKCAQEAq38CgaPOAZMCZypW41FaHaBX6E+7LydNE54YjrDsR6mczM4k -+vmTChj+RY9MjItkQ5ETVLrkJBuSPD5GQGKb2u95MYxMqWUH7QsQFzhrynt3VUABV -+KHpWY6nggfHvA2GXAIg5haWeCBH8dlpZI3nYRdLTlBl4ispE8t0I32UVDdO33/Us -+bLuG+w4aGb7uiq8fPTBuT0I9yoA51QUtdFprCgxJfIuVUDdGDpA65DZYc2xJabB2 -+ysSqcEiyHyqGiq6n4Jqzr196Z2oa8+guVx7yrJairjnzf+N/47QP4dPjlcYEKl7K -+fnlSpUm+lWZygNQrf8y5qhokJydvPbnXWv1IIwIDAQABAoIBADdU9mEPkdMONJNG -+pNwZDmNKrbJFr1ZKbuLqem/ng4Sno/CsfkxzxBN+hRFZORfwQzPzRXkauF/h9IqI -+Y56gmDELS0gYEezUjhX/mwPhy/AYENAMG23A8wia8dXbUkub/BVu3mhRhEiETRl+ -+kw4QLQhyOlOpWCwnkNFvIYK6YW2hHye1utu7L+Hy2zyi9g6ZKyZRl8W/OrFT2ka0 -+5zAOb1ttYLUdzK+ErF29GrT2X7PCL//QCNHQW2q03QWSRA7w+MbfytkJRLsCl8fg -+V1uVjP/RumuS6fLxQkytbaioukmfzO+4J0Z+JWpF2IqzixrdxlgPvMIAUDHEOVdv -+JlXuI4kCgYEA4xs75iLM+YDxHyygfyJZGI7iqwfkXbRDcKp/MECa7KcvJs0l8Eeu -+lB0jSM/uy9o92vTXLb5bi45vBiCjImAuZQL08elQZuR5JiPJZqF/b3BXsLUcPIbI -+oxO3hLdigyt9wuuk3XvhrYJkLJZ6z8lBR6Qfvre8kApqLjnlH2QGUR0CgYEAwVCS -+Wy4AL1goFHc+b/hFou0nWLjVFiMpNroDEQigvLnnRG7irMDxDsxAcotl6tYzjjys -+JKtMmBJDJnlsHnO8NK2sUn1CQTxdxoXOhVD0mtbaowU+PVZDzhp1j1dzmtzovKTo -+Qkh+DV8Z4ulbaJ+ROpgCZYCoJ5K3PEwjrrbN+j8CgYA5BZKBkwVSNBzWjfbyVOZ3 -+8xBYjw+4s1UnibeLnv0HJGcDYAkBjo335GUCmCrGBlL3kfghJSWJIccgi7tKG0oq -+1JY50zH706vTdrLP0QbVLSjnVmHzlIf14jJ24TCb7KST92Sas8sTLKUISPQnDcoV -+OdE6qplutR654pFz00J+xQKBgGDM6MyxpzQN79v3rhNBfhVMrcQ2obU5HB0kXf68 -+lEiMyqqw397jqpHfY3I4LWu/oQdbiFPAV1Va57cvXB2PlLHIOZ8AzBmAkfCj9js5 -+w5J5fffd20G5nbBp/W4uu1vTvNMhvI/cXwpxEbRXaAdmx8FQdvq+xvUx+YE/GysU -+rOXfAoGAQ4G+nrbKq76GEKfMzGnAHunSbdYlHOY/sHJ2Z0M/5eHIcvOEBJKGXl3m -+xe6WR/wavanNwMQ4aqpRv09yufdnoVsJcWpThDDBDIlstHUvO1mnk8B7OqHL2GIy -+lbo/QtpHT/46igRZUtBZFyZu4hb5EwBIpKNm1X/MyFYU7XMrvpQ= - -----END RSA PRIVATE KEY----- -diff --git a/mysql-test/std_data/crl-client-revoked-cert.pem b/mysql-test/std_data/crl-client-revoked-cert.pem -index d3b81e2c1a2..d48e20e0d9e 100644 ---- a/mysql-test/std_data/crl-client-revoked-cert.pem -+++ b/mysql-test/std_data/crl-client-revoked-cert.pem -@@ -1,81 +1,70 @@ - Certificate: - Data: -- Version: 3 (0x2) -- Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:20 -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Version: 1 (0x0) -+ Serial Number: 3 (0x3) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 12:18:02 2019 GMT -- Not After : Jun 30 12:18:02 2020 GMT -- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked -+ Not Before: Jul 1 07:52:41 2020 GMT -+ Not After : May 10 07:52:41 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:e2:df:28:76:87:da:b5:49:64:03:a4:92:50:53: -- 89:d1:b8:85:a8:76:6e:2c:44:6a:85:f2:a2:7a:d9: -- f1:26:ab:f7:ea:e4:46:77:ce:38:9e:49:dc:e0:c0: -- ce:c1:e3:e2:3c:80:3a:e0:ab:7d:1a:fa:31:12:59: -- a5:b1:24:b5:42:30:e7:1d:95:85:4d:eb:17:ce:13: -- 8f:7b:25:7b:4b:ff:44:7c:b6:07:4b:e3:b8:ab:c2: -- 0d:07:6f:e3:bb:2d:56:8d:0f:c7:78:29:c7:c6:94: -- df:82:d6:32:15:cb:5f:e1:7b:8a:38:e0:ae:cd:aa: -- 58:37:99:6b:5a:52:20:a5:fb:fa:d7:61:bd:c4:5d: -- 11:fc:10:0f:49:74:9e:be:30:6b:cb:c1:4b:b8:5c: -- 50:85:4a:fd:d1:13:3f:3e:e0:b8:3e:ec:30:92:9b: -- 2b:b1:67:86:2e:2f:76:5d:ce:16:31:7f:eb:0e:0e: -- ba:14:97:d1:5e:35:fb:c9:af:fe:20:36:56:60:bc: -- 95:45:84:de:90:59:d8:24:57:24:48:4a:cf:3f:9b: -- b2:89:7d:9d:91:dd:da:92:a6:77:01:9e:09:5c:96: -- a3:94:d4:95:5e:69:d4:a4:13:af:47:e3:64:7a:26: -- bf:c4:a2:6b:0b:5f:b6:f9:ee:40:1e:e8:54:04:bd: -- 98:89 -+ 00:c2:57:18:e7:94:ce:44:87:f3:45:8d:e1:c3:a8: -+ a0:1f:9a:04:9a:67:de:4a:41:bc:5d:0f:31:07:9f: -+ e3:d5:82:54:81:b9:dc:77:43:62:51:42:43:cd:8c: -+ 31:71:0f:5b:dd:e8:02:c5:f2:3a:be:e4:e9:64:99: -+ df:e5:8f:34:fc:f9:2c:5b:1d:b1:93:8b:b7:c5:55: -+ 5e:10:f9:b5:1c:0b:9e:1a:65:3d:ab:2e:51:a5:fd: -+ 10:97:57:2d:98:6d:9a:82:0e:ae:25:21:cc:dc:26: -+ 01:16:34:8a:f4:67:30:2f:77:4b:56:7b:e4:ec:c2: -+ cf:1e:ec:0d:0a:29:c1:49:2f:5e:6e:75:4f:d7:b4: -+ d0:b2:73:09:9f:25:e0:a8:41:66:e0:78:d4:2b:f5: -+ 6e:3c:20:15:3e:75:d1:e3:cc:ee:47:b8:2a:fe:46: -+ f4:bc:01:7a:9f:67:48:12:bc:a1:b9:e1:b7:31:4a: -+ 2f:6a:ed:d1:33:7a:26:ab:01:88:05:70:48:8b:87: -+ 41:4b:44:78:67:7b:e7:37:8c:b7:41:c0:6a:eb:37: -+ 3b:de:a9:91:16:75:f9:14:81:eb:b4:60:db:a0:2e: -+ 93:8a:61:91:33:ee:12:2f:85:2c:12:96:30:f1:f5: -+ 00:42:16:95:a7:e9:06:30:32:b9:a3:fe:19:1d:fb: -+ 28:ff - Exponent: 65537 (0x10001) -- X509v3 extensions: -- X509v3 Subject Key Identifier: -- 99:C4:1D:9A:1D:7D:43:C0:FB:B2:17:64:60:B3:33:0B:9C:69:1E:6F -- X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -- -- X509v3 Basic Constraints: critical -- CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 10:35:2a:20:3e:7c:d0:8d:7a:c8:0a:1f:a9:ad:c2:67:c5:eb: -- bd:f6:eb:67:e6:e4:d2:d0:c8:0c:1b:9d:fb:99:a6:1c:b5:30: -- 23:35:71:19:a3:1c:fd:f1:f1:a9:30:de:1c:b0:c4:05:2b:93: -- 4d:60:e7:00:0d:c3:3b:d5:67:6a:38:3f:6a:ee:63:bd:ce:7f: -- a4:b8:9a:23:7b:d9:68:5d:80:04:b8:43:98:00:18:70:89:71: -- 38:3b:07:33:0f:60:2c:cf:90:7c:bd:78:69:6f:a1:38:a1:0f: -- 37:04:af:01:6c:ba:7a:84:d8:4b:ed:e3:f5:52:ec:de:a1:0c: -- ac:a5:35:62:75:b5:36:6e:75:77:9f:14:40:c2:6f:93:f3:23: -- 70:ff:fe:0e:6a:50:45:45:e4:8c:98:8b:4d:2f:8c:05:43:29: -- eb:0d:09:25:1a:c6:19:1b:8c:7a:ae:c4:31:b7:54:e6:d2:dd: -- 62:c5:18:6d:b8:e0:ce:d9:84:0a:ca:f0:95:2b:92:d0:69:f5: -- 85:6e:f1:49:63:fe:e9:71:a3:4b:55:ed:56:f1:de:96:7d:b9: -- 6f:be:8f:00:99:e6:c8:21:26:eb:9c:d9:3b:da:9e:5d:dd:8e: -- 64:5d:de:d4:60:56:5f:59:62:05:c8:f4:0d:ab:dd:ac:54:2c: -- 66:24:ea:da -+ 26:ed:c6:62:c6:37:5b:d6:5a:8d:f1:09:4e:ac:0e:d6:0c:fb: -+ 3c:a0:73:c7:2c:c5:23:ed:ca:b4:27:aa:66:1e:37:e0:5c:3a: -+ ff:35:82:f2:da:2e:4a:16:0a:5c:ea:38:9b:63:ce:2e:0c:27: -+ e6:e9:77:c7:ba:16:75:f3:1c:9b:9b:83:aa:90:3a:3e:2e:1b: -+ 01:07:24:d1:c7:a8:e9:d6:30:ea:04:37:7d:ed:dc:d8:36:35: -+ ca:df:83:e3:7f:49:b7:a7:06:3b:2b:fa:ed:03:7c:91:39:93: -+ 44:59:b5:ed:5d:28:30:25:76:c5:5e:67:ce:28:c6:d1:68:48: -+ bf:43:33:40:8d:5d:3d:2b:cb:8e:b3:77:cb:a7:41:f2:94:20: -+ 0a:ab:c7:86:1f:e4:04:84:a4:73:19:ae:e4:ba:82:9a:35:0f: -+ 44:26:f0:49:0e:9d:08:d3:7d:94:b0:22:ae:62:7a:3e:60:48: -+ 4b:09:11:4d:bc:1e:80:21:65:6f:21:77:43:be:8c:3d:c9:71: -+ c7:c5:88:90:5e:60:26:64:8a:43:45:2e:a3:02:0c:8d:e1:b9: -+ 76:a6:c9:61:2d:7a:d2:3c:17:c4:74:01:2f:dc:eb:a0:90:f5: -+ f7:0a:19:2b:d7:38:fb:c3:aa:c7:b6:76:17:72:1a:41:8f:54: -+ 95:72:94:bc - -----BEGIN CERTIFICATE----- --MIIDyDCCArCgAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokSAwDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMjE4MDJaFw0yMDA2MzAxMjE4MDJaMIGDMQswCQYD --VQQGEwJJTjELMAkGA1UECAwCS0ExEjAQBgNVBAcMCUJhbmdhbG9yZTEPMA0GA1UE --CgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEyMDAGA1UEAwwpTXlTUUwgQ1JMIHRl --c3QgY2xpZW50IGNlcnRpZmljYXRlIHJldm9rZWQwggEiMA0GCSqGSIb3DQEBAQUA --A4IBDwAwggEKAoIBAQDi3yh2h9q1SWQDpJJQU4nRuIWodm4sRGqF8qJ62fEmq/fq --5EZ3zjieSdzgwM7B4+I8gDrgq30a+jESWaWxJLVCMOcdlYVN6xfOE497JXtL/0R8 --tgdL47irwg0Hb+O7LVaND8d4KcfGlN+C1jIVy1/he4o44K7Nqlg3mWtaUiCl+/rX --Yb3EXRH8EA9JdJ6+MGvLwUu4XFCFSv3REz8+4Lg+7DCSmyuxZ4YuL3ZdzhYxf+sO --DroUl9FeNfvJr/4gNlZgvJVFhN6QWdgkVyRISs8/m7KJfZ2R3dqSpncBnglclqOU --1JVeadSkE69H42R6Jr/EomsLX7b57kAe6FQEvZiJAgMBAAGjUzBRMB0GA1UdDgQW --BBSZxB2aHX1DwPuyF2RgszMLnGkebzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4 --ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAQNSog --PnzQjXrICh+prcJnxeu99utn5uTS0MgMG537maYctTAjNXEZoxz98fGpMN4csMQF --K5NNYOcADcM71WdqOD9q7mO9zn+kuJoje9loXYAEuEOYABhwiXE4OwczD2Asz5B8 --vXhpb6E4oQ83BK8BbLp6hNhL7eP1UuzeoQyspTVidbU2bnV3nxRAwm+T8yNw//4O --alBFReSMmItNL4wFQynrDQklGsYZG4x6rsQxt1Tm0t1ixRhtuODO2YQKyvCVK5LQ --afWFbvFJY/7pcaNLVe1W8d6Wfblvvo8AmebIISbrnNk72p5d3Y5kXd7UYFZfWWIF --yPQNq92sVCxmJOra -+MIIDfTCCAmUCAQMwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV -+BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj -+bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj -+ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUyNDFaFw0zMDA1MTAwNzUyNDFaMIGKMQsw -+CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 -+cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxMjAwBgNVBAMMKU15 -+U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXZva2VkMIIBIjANBgkq -+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8 -+XQ8xB5/j1YJUgbncd0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3 -+xVVeEPm1HAueGmU9qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLP -+HuwNCinBSS9ebnVP17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6 -+n2dIEryhueG3MUovau3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5 -+FIHrtGDboC6TimGRM+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABMA0G -+CSqGSIb3DQEBCwUAA4IBAQAm7cZixjdb1lqN8QlOrA7WDPs8oHPHLMUj7cq0J6pm -+HjfgXDr/NYLy2i5KFgpc6jibY84uDCfm6XfHuhZ18xybm4OqkDo+LhsBByTRx6jp -+1jDqBDd97dzYNjXK34Pjf0m3pwY7K/rtA3yROZNEWbXtXSgwJXbFXmfOKMbRaEi/ -+QzNAjV09K8uOs3fLp0HylCAKq8eGH+QEhKRzGa7kuoKaNQ9EJvBJDp0I032UsCKu -+Yno+YEhLCRFNvB6AIWVvIXdDvow9yXHHxYiQXmAmZIpDRS6jAgyN4bl2pslhLXrS -+PBfEdAEv3OugkPX3Chkr1zj7w6rHtnYXchpBj1SVcpS8 - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-client-revoked-key.pem b/mysql-test/std_data/crl-client-revoked-key.pem -index 52875dc6f03..dd2f2565bd1 100644 ---- a/mysql-test/std_data/crl-client-revoked-key.pem -+++ b/mysql-test/std_data/crl-client-revoked-key.pem -@@ -1,27 +1,27 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIEpAIBAAKCAQEA4t8odofatUlkA6SSUFOJ0biFqHZuLERqhfKietnxJqv36uRG --d844nknc4MDOwePiPIA64Kt9GvoxElmlsSS1QjDnHZWFTesXzhOPeyV7S/9EfLYH --S+O4q8INB2/juy1WjQ/HeCnHxpTfgtYyFctf4XuKOOCuzapYN5lrWlIgpfv612G9 --xF0R/BAPSXSevjBry8FLuFxQhUr90RM/PuC4PuwwkpsrsWeGLi92Xc4WMX/rDg66 --FJfRXjX7ya/+IDZWYLyVRYTekFnYJFckSErPP5uyiX2dkd3akqZ3AZ4JXJajlNSV --XmnUpBOvR+Nkeia/xKJrC1+2+e5AHuhUBL2YiQIDAQABAoIBAFTjfzZquvEeVufu --Cjk4KNdqHcjdF3hE2T7pfNZO+iaoLgmcBKoLZbAEnzsRqctuw1Yz/NPYFuWjO/1L --we24eIId3jx5l/mBv9SCCSvg6HOVPkETs0M4H/9Uip9/xExjOIFrqA1URMYPKlrA --Xtk80dGC8kM5/u5BkOSs6ThQhprUK7oWOoVKu3XMmau49LH7SA+zwcUh0JCOS4gL --MCytKtviahFp7tgFDaugTtRGDdtVrtVHuOmygLj+gU+6h3rUvYPMkNqKWkLRA0bE --kO0R85VKC+TwOPnlSJAEgWxnEL499TOUg+pnRRAu8sggmm5ziwwWJluiOdELnUq9 --ORCETMkCgYEA80BXGP/oY6QMwc2FcXHWK5VtZiHs7FJxN7x4Mwlrgj/in+6cIyrW --PzdZWXcQ1Y/QQuCp0pch7PrwfNouCUSMNJHEqzXmGnU03JBA1FwKAenog00dAdou --uS8PvVcocdDS+X7wTimyMDEUvurTMnWv1f7kKTv7qxfmMUvMjGCan48CgYEA7sMO --L86cYqwHvA6arKbSiRddoc3vt9uWZUfrU3M5tcQaWjXWZlDIoZgA07av3haNSbsI --bZ/KwwHWFMiBxt4q9APFZpK1SU2d+g57lF5j/2Phe3Sf75EzdUSidxfsh2SGY8Tn --elmz88vA1YXDZVPY95ksqWTmlsdv8wfdamsPOmcCgYEA2Ek9KF1ipDYZobi8DkLJ --y7bxrv47S2WChaxus/KMRSPIvavL6PkNxufP6lyT+1AEPXLFjRoUcEIv0tOsW1E3 --2QZDeHhUQPI2LmeVPT0ZKNpyg0ztndgB82aE+DWnIIwtCupzgQxSA8egSqFBaHx7 --/CrHdGKBQ3/cjbh4B9ldosECgYAW/BYQih5J7W+tLea7+i9IXUR5QB70nyICTAMe --fHgwxFkZGBe0r9AwpjZmKy8Q/TDKyUONchWN4k5en9LGdzrBVN+a+UKUdPFhUiWZ --aeDMhCv/u4FuCZdfkaTmPBpcClRZpGn4QExviszcgU0HIyQ+6bL/96OvHjHrvnUV --OoszvwKBgQCS1ZPLPp/QkCrhmh2La0qrybjqYOuOiUqbXn5Df2YSJq6kulUa1vvv --c68aYpT4K021D8+/6xOxWMasZc7oBnH76mKWBC/Nf0z/NVO7HzHVkM/MYOcZJ9R3 --eZUUuiBiUxEMLBtN3T7UEdt1dmarlDacohzgfhMXnNpEGhFAAdxaUA== -+MIIEpAIBAAKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8XQ8xB5/j1YJUgbnc -+d0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3xVVeEPm1HAueGmU9 -+qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLPHuwNCinBSS9ebnVP -+17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6n2dIEryhueG3MUov -+au3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5FIHrtGDboC6TimGR -+M+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABAoIBAQCx7VAt5n2bHOVL -+zwTeQCqqBDcmruZEEj9E7D21f1v3BOYeB26j+puvTf4J2MsDek5fsqWnWYkTcT2G -+D6N/50daPT+xBFSqg4bzMp9250g7rx9Hh12YtkWmtTVVekmSfvaxEIO8F2AaRulD -+zUNTVI43Rv9A5RnI8uryoqeloGkIeK9w0Gm0lSelqDNqb3OYbSX4OkBHC3wFvQBV -+eCwDIJIS9hXc8+mt42T5iaAGvVgHEzsOyTtWlMWPlgiIVq1VzoGiyjTR3E+V+tfy -+fzB/nq8s1t0/AOpEkk5LNX8UE1TnET7kqtBw/UmZ9BJ9FtZaYXBFprjxi/hGZbTW -+oYBIaqtxAoGBAOQ9RHUb1V/mJ/qhWsLsKQdNlE/49ypevjUGwcr6YH7lcNz4YDrk -+t75NmQv1svN7UuDpYzATe84n4F+ZmaN/pESKdFOmQ7usosGp8NKGxRQ1Upqr5DEm -+P4wfz/kwsquJOMbSEczfMc7C8CTm5m6wrs9pX8r5UJq7vZHOCAnL7mr7AoGBANn6 -+TpB1Pbimv5kub8c8Wi/in9/Y3kDJpBm8oy9aWPLyzVag41O8QDEma8hIxbqMF6fG -+kv9gYzTZ5+w6Uz58CSp1BYzWOaevpqpdRd4YxaMIOnI5ddDTAGQBudkCy6X2qXRl -+Dk4fnkr0GvyIlIhAKnBEnmSo5DPX7W6kPwWk9hrNAoGBAIV3nnStFhXCTVauzJh3 -+6XYv068Ac+j/BlOT4/eCerM6EMnnJL7LyPcsAXeQ8liXoVuMn0gZ3KgtgXPmKoYF -+ulWqcWQJMkqpJXQCoKU70juDAw8XvZVQPJEAeWnLJHBTCjSZ23bmfgXe0PeDXvUT -+tOXtROs45/3UE4MT7HduHbnJAoGABNRS4Uh3sZugKxioSVXA+cafnCoF4pGVHSzc -+wLPTvK48dmriHnzRP0WGpc1W9Ccebw0rPJU6HXWmeclhBsVgvpwRH2mvpVNy8dtX -+LPCHkHEiOl2jipjiLVUMdQ5mzKqGXpnOk1SIAUkfP/EWuV4SkqIykDBdvfhOvmDN -+NKbO/RECgYAK2mueSaD3BRtJEiTCCnAjcov3nBIYgXj1y+BCSo5YGMdHSgLMMq7M -+45uUSjv3zNv9wr4Og5/2qDE18ISxPHTvGngNABTGDcLNgPm0j5smwJSe99BITwZb -+jTaa0WaPPdvEzPpaTiNJi81/5UWqNWc5Mg7LBlWhnCjtaYYzDOy33w== - -----END RSA PRIVATE KEY----- -diff --git a/mysql-test/std_data/crl-client-revoked.crl b/mysql-test/std_data/crl-client-revoked.crl -index b0093e74369..367c35bfc34 100644 ---- a/mysql-test/std_data/crl-client-revoked.crl -+++ b/mysql-test/std_data/crl-client-revoked.crl -@@ -1,13 +1,41 @@ -+Certificate Revocation List (CRL): -+ Version 2 (0x1) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: /C=IN/ST=Karnataka/L=Bengaluru/O=Oracle/OU=MySQL/CN=MySQL CRL test ca certificate -+ Last Update: Jul 1 07:54:29 2020 GMT -+ Next Update: May 10 07:54:29 2030 GMT -+ CRL extensions: -+ X509v3 CRL Number: -+ 4096 -+Revoked Certificates: -+ Serial Number: 03 -+ Revocation Date: Jul 1 07:54:18 2020 GMT -+ Signature Algorithm: sha256WithRSAEncryption -+ 8d:76:b6:c6:84:2d:f5:14:fa:34:2f:0b:64:7c:20:c0:65:03: -+ 60:8a:6b:9d:42:0d:b7:51:93:92:75:b5:28:5d:2f:47:0e:6d: -+ a2:df:c7:a1:b9:95:49:c2:83:5e:36:41:77:63:b4:25:8b:60: -+ d9:f8:25:4e:6e:45:94:3f:a3:86:a3:b5:cc:f0:b5:eb:68:4e: -+ 1e:f6:d9:5d:e2:50:a6:e5:50:0e:a0:6f:e8:4b:66:9f:1f:0d: -+ 5e:e1:63:e9:c9:96:7d:98:b6:56:5e:ce:3f:d2:42:b4:d3:18: -+ 73:ca:ce:7a:42:71:29:7b:1f:bf:07:88:cf:d2:8e:1d:31:9c: -+ 00:92:a2:5d:bc:78:0f:7b:f1:02:fe:ed:d7:b1:dc:8d:25:9a: -+ d5:01:c1:d8:ac:fd:a2:41:96:bd:9b:72:cb:95:f5:85:a9:88: -+ b3:74:30:c9:82:5d:8b:c8:d6:8a:5c:92:e8:e7:09:f1:13:73: -+ fa:05:56:1c:e2:dd:9e:b5:49:71:82:67:e6:e3:57:53:c8:f7: -+ df:66:44:7a:d6:f8:4f:44:5f:7e:30:eb:7b:d9:15:db:e2:d0: -+ 85:45:9a:7b:d4:c2:f8:44:0f:5f:8c:d0:35:45:a1:c6:82:e8: -+ 43:49:73:09:3b:ba:9a:24:00:1f:3c:7a:38:bd:e6:b5:b8:45: -+ e3:33:d3:c9 - -----BEGIN X509 CRL----- --MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE --CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM --HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y --OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy --MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 --IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 --wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu --SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc --SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B --WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 --dRhzrDB6GMxR -+MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE -+CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs -+ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl -+cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN -+MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB -+AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe -+NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp -+yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN -+JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx -+gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ -+O7qaJAAfPHo4vea1uEXjM9PJ - -----END X509 CRL----- -diff --git a/mysql-test/std_data/crl-server-cert.pem b/mysql-test/std_data/crl-server-cert.pem -index 5c14c4155c8..6328fe4fc42 100644 ---- a/mysql-test/std_data/crl-server-cert.pem -+++ b/mysql-test/std_data/crl-server-cert.pem -@@ -1,81 +1,70 @@ - Certificate: - Data: -- Version: 3 (0x2) -- Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1e -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Version: 1 (0x0) -+ Serial Number: 1 (0x1) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 12:10:59 2019 GMT -- Not After : Jun 30 12:10:59 2020 GMT -- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate -+ Not Before: Jul 1 07:50:41 2020 GMT -+ Not After : May 10 07:50:41 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:b3:b7:2d:68:62:08:c9:5b:90:25:89:98:4c:6e: -- 04:f4:5d:ff:e7:4e:18:37:db:63:ab:56:d5:7e:3a: -- be:37:cd:e6:5a:c2:73:a7:24:a8:f9:1a:bf:05:e6: -- 14:5f:31:7f:f4:73:8b:9c:c2:89:e5:fd:d9:5b:94: -- a9:a7:b4:48:a6:b0:95:d2:62:14:b3:15:47:26:83: -- 69:63:99:b6:48:ca:f2:ef:bd:1e:de:23:4c:e7:28: -- 54:13:ca:03:49:cb:07:a6:7d:e7:48:9d:03:88:5d: -- 3b:47:50:f6:17:21:34:15:c5:cd:4f:40:f9:ca:12: -- db:b6:53:0c:08:c3:a0:0b:68:03:0d:45:9f:4f:26: -- c3:23:3f:ef:6f:4a:98:0d:6a:2b:b5:4a:23:e3:89: -- 08:bd:c0:37:ef:db:be:82:4d:26:47:93:f4:de:3f: -- 04:ef:3c:d3:97:e3:c4:c5:65:9e:2f:f9:8a:13:f2: -- 74:12:ab:ff:99:9e:ef:d8:48:11:55:ba:f2:97:6e: -- 04:75:0e:e4:18:85:34:20:a1:da:db:60:35:98:0e: -- d0:44:27:17:81:d1:6a:5a:93:28:47:c4:4f:37:26: -- 72:db:d9:a9:a9:c2:e5:90:16:c3:49:89:67:68:0f: -- e7:dd:5f:a7:29:26:62:a5:c7:63:0f:1b:f6:9c:b8: -- 86:c5 -+ 00:f6:43:d5:3b:37:86:9f:54:a7:96:23:c6:90:73: -+ a2:cb:79:bc:77:1a:18:dc:ae:30:36:5c:41:e5:a7: -+ d0:bc:93:08:7e:7b:2c:9a:00:bf:9d:0f:ab:82:56: -+ e6:ad:f1:3a:6a:e2:49:5d:02:59:0e:03:10:63:b1: -+ 83:f9:73:19:40:ec:8a:a0:1e:17:c9:53:74:ca:ca: -+ 2b:2f:7a:87:98:dc:12:e6:c8:d9:6e:3b:bc:d3:c5: -+ f3:f4:fa:14:e2:5a:12:f2:3a:79:82:b7:a9:6f:21: -+ f6:c7:79:a0:c7:56:05:a8:01:64:e8:f0:67:81:29: -+ af:21:dc:08:02:8e:b8:cf:38:f1:ef:a6:ea:18:14: -+ 43:63:21:e8:a3:fe:78:78:b9:f2:04:6a:c8:32:48: -+ 66:4e:6e:4f:22:28:89:42:27:42:e5:f4:76:38:77: -+ 80:88:2d:73:c8:36:ab:24:40:68:fc:34:83:ba:1c: -+ 07:99:e3:3d:69:49:08:cd:4f:74:83:4e:33:5a:c4: -+ 87:65:7f:84:dc:73:80:93:55:21:5a:4d:86:97:b0: -+ 8a:93:d1:bc:63:c5:19:b0:8a:77:85:af:c9:74:cf: -+ dd:4b:17:8c:cf:62:b0:bc:1a:3b:3f:b4:18:6b:e7: -+ ad:4e:56:cb:29:be:31:4f:ee:3b:89:97:d6:fa:bd: -+ 5b:2b - Exponent: 65537 (0x10001) -- X509v3 extensions: -- X509v3 Subject Key Identifier: -- 50:0D:53:3F:37:4C:2D:EE:F0:F7:67:48:53:36:18:C8:50:65:60:3B -- X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -- -- X509v3 Basic Constraints: critical -- CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 17:be:6a:bc:a9:f0:5a:d9:72:bd:3b:83:f9:e1:ef:eb:a3:b3: -- b4:9c:e0:fd:9a:ad:c1:e2:12:0b:9f:fa:ca:9a:14:b5:43:96: -- 50:da:50:b1:42:9c:15:87:56:b2:5d:d5:ce:4e:dc:0e:a9:98: -- 0b:05:6e:57:ca:99:0f:28:9c:d5:b7:d2:c1:97:da:5f:34:b1: -- f2:73:4c:27:39:cc:40:86:80:63:18:74:e3:0f:c7:02:6d:76: -- 98:a6:2a:b5:e3:13:8f:d8:5c:42:8e:33:c5:dd:0e:bc:05:90: -- 96:9a:b8:de:d5:44:57:47:70:c9:26:0a:4b:96:0a:95:de:8e: -- b4:f6:1f:8e:96:41:1d:d6:65:28:1c:f3:6d:3d:b1:b2:38:c7: -- f6:b9:f3:fe:a4:98:fe:45:46:d2:04:a3:40:76:5f:3d:df:60: -- 71:dd:8a:bd:83:b3:be:54:87:f5:df:8d:40:e8:68:c1:90:90: -- dc:de:1b:e3:2c:45:2b:50:53:b2:95:1f:c8:ea:ad:72:5d:5b: -- 94:21:eb:d3:14:4a:41:7f:c4:aa:88:41:a8:1f:61:fb:51:0d: -- 58:e0:2d:08:86:49:62:84:85:da:8f:9e:cd:1a:f7:11:b5:a1: -- 58:56:d8:eb:a7:99:2d:1b:df:98:65:9f:8f:ab:9b:e0:32:95: -- 23:20:cf:82 -+ 51:bd:1f:2d:64:cb:8c:d3:02:f2:ff:7e:65:3a:fa:78:4c:4b: -+ 65:5c:8a:75:49:24:df:14:17:6b:84:a2:6a:e1:b8:d6:84:74: -+ 22:7c:e3:bc:3e:7d:81:c7:2a:df:d6:bc:7b:be:44:a7:26:63: -+ 1d:09:c1:ea:25:85:4b:14:b3:2f:f8:a5:28:f4:72:36:fc:71: -+ d0:c9:8d:b2:b3:d6:88:2a:4e:98:f2:22:fa:cb:c8:4d:7b:c0: -+ 3b:81:f1:dd:f9:29:bd:f4:69:a4:82:87:c6:3b:4f:2f:75:3d: -+ fc:a3:6f:b0:10:80:b4:c5:51:9b:b8:5e:9d:cc:21:38:bc:e9: -+ 54:11:76:d8:df:46:88:f5:02:b3:6a:02:e2:8c:cd:d8:f7:4e: -+ ff:fd:5f:e3:b9:db:52:cb:54:39:29:9a:e6:07:84:ea:38:3f: -+ 3d:4c:87:ce:6c:5f:c8:18:56:8a:54:8e:6a:d3:f2:77:34:a6: -+ 6d:f3:5a:51:8a:0d:23:bd:7e:01:07:af:0e:fd:97:73:64:27: -+ 26:cc:34:d8:1f:f3:58:8b:7f:4b:75:df:39:ff:92:dc:e3:04: -+ ea:42:7c:11:7f:77:ab:32:29:c7:59:7e:5d:84:2d:cd:1d:2c: -+ 61:d4:be:5d:9b:0e:30:2b:31:7e:4f:e6:07:e7:20:10:18:56: -+ 36:97:19:b3 - -----BEGIN CERTIFICATE----- --MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR4wDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMjEwNTlaFw0yMDA2MzAxMjEwNTlaMHsxCzAJBgNV --BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK --DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz --dCBzZXJ2ZXIgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK --AoIBAQCzty1oYgjJW5AliZhMbgT0Xf/nThg322OrVtV+Or43zeZawnOnJKj5Gr8F --5hRfMX/0c4ucwonl/dlblKmntEimsJXSYhSzFUcmg2ljmbZIyvLvvR7eI0znKFQT --ygNJywemfedInQOIXTtHUPYXITQVxc1PQPnKEtu2UwwIw6ALaAMNRZ9PJsMjP+9v --SpgNaiu1SiPjiQi9wDfv276CTSZHk/TePwTvPNOX48TFZZ4v+YoT8nQSq/+Znu/Y --SBFVuvKXbgR1DuQYhTQgodrbYDWYDtBEJxeB0WpakyhHxE83JnLb2ampwuWQFsNJ --iWdoD+fdX6cpJmKlx2MPG/acuIbFAgMBAAGjUzBRMB0GA1UdDgQWBBRQDVM/N0wt --7vD3Z0hTNhjIUGVgOzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP --BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAXvmq8qfBa2XK9O4P5 --4e/ro7O0nOD9mq3B4hILn/rKmhS1Q5ZQ2lCxQpwVh1ayXdXOTtwOqZgLBW5XypkP --KJzVt9LBl9pfNLHyc0wnOcxAhoBjGHTjD8cCbXaYpiq14xOP2FxCjjPF3Q68BZCW --mrje1URXR3DJJgpLlgqV3o609h+OlkEd1mUoHPNtPbGyOMf2ufP+pJj+RUbSBKNA --dl8932Bx3Yq9g7O+VIf1341A6GjBkJDc3hvjLEUrUFOylR/I6q1yXVuUIevTFEpB --f8SqiEGoH2H7UQ1Y4C0IhklihIXaj57NGvcRtaFYVtjrp5ktG9+YZZ+Pq5vgMpUj --IM+C -+MIIDdTCCAl0CAQEwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV -+BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj -+bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj -+ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUwNDFaFw0zMDA1MTAwNzUwNDFaMIGCMQsw -+CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 -+cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 -+U1FMIENSTCB0ZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB -+BQADggEPADCCAQoCggEBAPZD1Ts3hp9Up5YjxpBzost5vHcaGNyuMDZcQeWn0LyT -+CH57LJoAv50Pq4JW5q3xOmriSV0CWQ4DEGOxg/lzGUDsiqAeF8lTdMrKKy96h5jc -+EubI2W47vNPF8/T6FOJaEvI6eYK3qW8h9sd5oMdWBagBZOjwZ4EpryHcCAKOuM84 -+8e+m6hgUQ2Mh6KP+eHi58gRqyDJIZk5uTyIoiUInQuX0djh3gIgtc8g2qyRAaPw0 -+g7ocB5njPWlJCM1PdINOM1rEh2V/hNxzgJNVIVpNhpewipPRvGPFGbCKd4WvyXTP -+3UsXjM9isLwaOz+0GGvnrU5Wyym+MU/uO4mX1vq9WysCAwEAATANBgkqhkiG9w0B -+AQsFAAOCAQEAUb0fLWTLjNMC8v9+ZTr6eExLZVyKdUkk3xQXa4SiauG41oR0Inzj -+vD59gccq39a8e75EpyZjHQnB6iWFSxSzL/ilKPRyNvxx0MmNsrPWiCpOmPIi+svI -+TXvAO4Hx3fkpvfRppIKHxjtPL3U9/KNvsBCAtMVRm7hencwhOLzpVBF22N9GiPUC -+s2oC4ozN2PdO//1f47nbUstUOSma5geE6jg/PUyHzmxfyBhWilSOatPydzSmbfNa -+UYoNI71+AQevDv2Xc2QnJsw02B/zWIt/S3XfOf+S3OME6kJ8EX93qzIpx1l+XYQt -+zR0sYdS+XZsOMCsxfk/mB+cgEBhWNpcZsw== - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-server-key.pem b/mysql-test/std_data/crl-server-key.pem -index 2931329d242..dfc34c9ebac 100644 ---- a/mysql-test/std_data/crl-server-key.pem -+++ b/mysql-test/std_data/crl-server-key.pem -@@ -1,27 +1,27 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIEogIBAAKCAQEAs7ctaGIIyVuQJYmYTG4E9F3/504YN9tjq1bVfjq+N83mWsJz --pySo+Rq/BeYUXzF/9HOLnMKJ5f3ZW5Spp7RIprCV0mIUsxVHJoNpY5m2SMry770e --3iNM5yhUE8oDScsHpn3nSJ0DiF07R1D2FyE0FcXNT0D5yhLbtlMMCMOgC2gDDUWf --TybDIz/vb0qYDWortUoj44kIvcA379u+gk0mR5P03j8E7zzTl+PExWWeL/mKE/J0 --Eqv/mZ7v2EgRVbryl24EdQ7kGIU0IKHa22A1mA7QRCcXgdFqWpMoR8RPNyZy29mp --qcLlkBbDSYlnaA/n3V+nKSZipcdjDxv2nLiGxQIDAQABAoIBAArXuGOd1o3feljp --bkjeMmpT6YaZDZkBIYhK2uKcxLE1OPqs1LF24sL0vCWs9fmwUNn8xqWUjyFTKXP/ --CiVWGTQFX2SsCjerxvkp4Ifj1D2cEQAp1tzsIE2p/ziabYxcNX/0BKo63uWxSkxJ --NC+9DxlpL7PiZa+tZ5gedpFozBUj/XjWTLmekqGUjLf4I0b1bWyekp3o5Xpb0bVK --aic708sTzkBAq7kiwzCAE6q2xjT9d61WoFfKoG/X64Y0kIynwIBrFvX4g8+NcY4D --nTxOw1AwOAPRE/aG+BA1jgi6Uz1IdPl59lHWadVD6O4B8otRFPYBH4yeGBxzsVoS --eqwd9RkCgYEA2R8qQF3Wk/BPu6ztGqLe/5FyuxQlYjjIXyiiStjArjE2B0X+G9I3 --qL3DQNdD242VdcdwQswKQ7jI9hUDh53dE/Tg2v1ib/x57Su6nsIjVE7LZA9WsAM9 --6BF5+Y/+siLZDw91nRao/z7hx0+9VcHgBA9dhe+LKHcxoDRxPXO1nFMCgYEA0+VR --AfmEOQe98OjEnK561P2kcK1+n7RoHApr2+x+74wZNn5LygxqBLNT6WYCn47b8WoD --Ly1RkLpavjCNAMTs8er2WOvb/X4+vf4FdE1K469UwtUNBPqRAqmXrXgrZOgJZDDx --duXtP0wLRrJDKcgjLpRALxjeYowWvrnJn3uVrYcCgYBE+PyAFA89UcLSeL2dj43N --nBPZUC4MBMPKTus3YaHb9DAYoWh2yBH8XcPwDjI1RcXr8147Kfw8xS+51LUZWNHJ --LCpeBs5FiuvkptaS5lM4zgsYjzLXmUAKP7sCx3Z+ekl/2kZfj7pB02T/3tnjq0IR --qBvql00anrq6DM7IWcCglwKBgCYgTMMeMjxQuExwlW/btR49xSjBDteNjm39MgsQ --MobHnoG/l8NzGGBgI+kLAc3T1p9Jg+kpLlPsNAeklLpetIOS02CMj7i8zm1BF5ol --jiQJmCa2TvFmZFEmUrRTuvsdBROR+uB53oZVGHJQAOWzrSDka+gNgXYZ3r3SkASy --J+xhAoGAZDfOH5UvaMbLxZOV3NgW7P8wiHmshSfsJLdAsLPIBPJQ9ZCdW9oJwe3t --b1b0O5pbyGX+wtaol03G7vEFuD6ptRSfH127qKjoAZUTZ6IAmyDBe9kx4giA+n08 --3xyYLSxoMe+RYfF5BuBTc3g7X5/APTr9yG/Une40xiK2QOGSut0= -+MIIEowIBAAKCAQEA9kPVOzeGn1SnliPGkHOiy3m8dxoY3K4wNlxB5afQvJMIfnss -+mgC/nQ+rglbmrfE6auJJXQJZDgMQY7GD+XMZQOyKoB4XyVN0ysorL3qHmNwS5sjZ -+bju808Xz9PoU4loS8jp5grepbyH2x3mgx1YFqAFk6PBngSmvIdwIAo64zzjx76bq -+GBRDYyHoo/54eLnyBGrIMkhmTm5PIiiJQidC5fR2OHeAiC1zyDarJEBo/DSDuhwH -+meM9aUkIzU90g04zWsSHZX+E3HOAk1UhWk2Gl7CKk9G8Y8UZsIp3ha/JdM/dSxeM -+z2KwvBo7P7QYa+etTlbLKb4xT+47iZfW+r1bKwIDAQABAoIBAHF3R6QFLW30H1M6 -+IJ8l6HhAGun1iEcFqwkg8OvTqoV4aY19S0uZ1K+VLLzdNWQnpXbh1FOaZVXja4XD -+oL8qnRQg6K5lryf/3+wfwk4Z8qgnnj3fhO8ZbyNULddN8ploTxp0ftAPt22RBJdc -+Hww5Qlnqaog5XDdS8XJ0YuxqvhQbjVk/U6e7IltruByFv9bzYiT+QsZf/KJ/mDlk -+ypR/Ic9RM5eqX/86lDxrBacilE/8nBCFUbr7RlnXJhgEKf0DCYJTN2BS+4iwydaA -+TP6a/gZK64Q0JR9BGmYjAtPdl4as3pHlgi7LwIQeF97KwW9mZdAC1L/9FCu9W1Bk -+sOGBAiECgYEA/etLZdqrX5OqymN49PyEb8sQzTWojavLKrZiU6uKlPJH3qjWlu9J -+dlwW4azsgrYL2ISlAbgCo/QZ9H08CrHdumh9EQtYcZtszjjwicag5NtK1NboeZjR -+R0aJBVkNu2xkREEPd2XLNkm+U/FZ5HueGnphkGP/hWLTI+7M/abPAh0CgYEA+Eh7 -+A1C3PgcqLSMjXq9axLjJ23o10AAp/H+aogb7LAyKNvkT16Tw+5DSsB2hDbETKxSg -+aQD/9N/bjiGHnK0CaEi/ft4vYoIzrRpQwgst90jRZfwgJyA4wCRfcPaKSa5y8jQm -+OwSetRTO5gKJirNZbxkzSBwaRBTWZRy1Vouhz+cCgYEA1FO3Prq15zxB6u93K9Uk -+oZ76s76U7bKkN1k/q5ucTKS0eHpSxu/dTD4BXEEPnNXB3hI9MMzAWH08XveCB6do -+NAI/4srL8GP5fhCbA3q2++hsEMKMr3GcPq+60GABXaJrza9h0YOrg//ySZtegfLk -+6FtBzk3wU4ep6zg67jhYjfkCgYAgb8eybS8jaWg3MWoDisE/Bi1JATRakkrp8/nN -+xT+3R4QfHndbKu9YzljYLWbHFSU98ZnrXfgSk9RpQzQmYev4l9h8yKZEJmJ98Pwv -+/anprpe8zS2eLvV7FMVrSqpSafoWbn24JChf2/IT1q0Fc9zxSMeMWi+MSXShDRkb -+z246bQKBgC4sdYIG51PQaP/1vqPZg7CoCsNCepqM8UAnQ7piEdGis+w8pIcmYRnG -+Q/OuCdSxVlgS0xDtuFlTMrivUfpsPrgEtQNwkkvWATytYZWL2CpvDKKV2GzgHai/ -+ZgiuN7FSqdLq/hRCuJT5Sxo84ilFXb0i0cpaPKfNfE9gLZ8pUbsm - -----END RSA PRIVATE KEY----- -diff --git a/mysql-test/std_data/crldir/5df06fcb.r0 b/mysql-test/std_data/crldir/5df06fcb.r0 -new file mode 100644 -index 00000000000..1ee040e4bb0 ---- /dev/null -+++ b/mysql-test/std_data/crldir/5df06fcb.r0 -@@ -0,0 +1,13 @@ -+-----BEGIN X509 CRL----- -+MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE -+CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs -+ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl -+cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN -+MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB -+AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe -+NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp -+yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN -+JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx -+gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ -+O7qaJAAfPHo4vea1uEXjM9PJ -+-----END X509 CRL----- -diff --git a/mysql-test/std_data/crldir/b23bb52f.r0 b/mysql-test/std_data/crldir/b23bb52f.r0 -deleted file mode 100644 -index b0093e74369..00000000000 ---- a/mysql-test/std_data/crldir/b23bb52f.r0 -+++ /dev/null -@@ -1,13 +0,0 @@ -------BEGIN X509 CRL----- --MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE --CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM --HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y --OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy --MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 --IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 --wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu --SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc --SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B --WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 --dRhzrDB6GMxR -------END X509 CRL----- diff --git a/community-mysql-lto.patch b/community-mysql-lto.patch deleted file mode 100644 index 6155ae0..0000000 --- a/community-mysql-lto.patch +++ /dev/null @@ -1,119 +0,0 @@ -commit dfd43f7d5527680fd27a29c80e8eb3b9b5165220 -Author: Tor Didriksen -Date: Mon Aug 3 16:39:21 2020 +0200 - - Bug #31701553 CMAKE CODE TO DISABLE LTO IS TOO SIMPLE - - Parts of our codebase (3rd party libraries) fail to compile/link if built with -flto. - For these we simply remove "-flto[=n|auto|jobserver] from - CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. - - We also disable linkers lld and gold by default if building with - link-time optimization. - - Change-Id: I84e9f7128a4d263056aa60c188e6430ea7161655 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dc118b37472..919e7cbd783 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -639,6 +639,10 @@ OPTION(WITH_LTO - ${WITH_LTO_DEFAULT} - ) - -+IF(CMAKE_C_FLAGS MATCHES " -flto" OR CMAKE_CXX_FLAGS MATCHES " -flto") -+ SET(CMAKE_COMPILER_FLAG_WITH_LTO 1) -+ENDIF() -+ - include(CheckCSourceCompiles) - include(CheckCXXSourceCompiles) - # We need some extra FAIL_REGEX patterns -@@ -848,7 +852,7 @@ ENDIF() - # Use lld for Clang if available and not explicitly disabled. - # Also works for gcc on Debian/Ubuntu. Do 'apt install lld'. - # LTO build fails with lld, so turn it off by default. --IF(LINUX AND NOT WITH_LTO) -+IF(LINUX AND NOT WITH_LTO AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) - OPTION(USE_LD_LLD "Use llvm lld linker" ON) - ELSE() - OPTION(USE_LD_LLD "Use llvm lld linker" OFF) -@@ -879,7 +883,11 @@ IF(USE_LD_LLD) - ENDIF() - - # Use gold on x86 if available and not explicitly disabled. --IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT WIN32) -+# LTO build fails with gold, so turn it off by default. -+IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" -+ AND NOT WIN32 -+ AND NOT WITH_LTO -+ AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) - OPTION(USE_LD_GOLD "Use GNU gold linker" ON) - ELSE() - OPTION(USE_LD_GOLD "Use GNU gold linker" OFF) -diff --git a/cmake/compile_flags.cmake b/cmake/compile_flags.cmake -index 053e48b9e70..bb1338ee9f8 100644 ---- a/cmake/compile_flags.cmake -+++ b/cmake/compile_flags.cmake -@@ -1,4 +1,4 @@ --# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2014, 2020, Oracle and/or its affiliates. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License, version 2.0, -@@ -83,3 +83,12 @@ FUNCTION(ADD_COMPILE_DEFINITIONS) - ${FILE} PROPERTIES COMPILE_DEFINITIONS "${DEFS}") - ENDFOREACH() - ENDFUNCTION() -+ -+# -flto[=n] or -flto=auto or -flto=jobserver -+SET(MY_COMPILER_FLAG_FLTO " -flto(=[0-9a-z]+)?") -+ -+# Remove compiler flag/pattern from CMAKE_C_FLAGS or CMAKE_CXX_FLAGS -+FUNCTION(REMOVE_CMAKE_COMPILER_FLAGS FLAG_VAR PATTERN) -+ STRING(REGEX REPLACE "${PATTERN}" "" ${FLAG_VAR} "${${FLAG_VAR}}") -+ SET(${FLAG_VAR} "${${FLAG_VAR}}" PARENT_SCOPE) -+ENDFUNCTION() -diff --git a/extra/icu/CMakeLists.txt b/extra/icu/CMakeLists.txt -index aa1cfb1a90e..81ef19335a0 100644 ---- a/extra/icu/CMakeLists.txt -+++ b/extra/icu/CMakeLists.txt -@@ -1,4 +1,4 @@ --# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2017, 2020, Oracle and/or its affiliates. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License, version 2.0, -@@ -91,8 +91,10 @@ IF(MSVC AND NOT WIN32_CLANG) - STRING_APPEND(CMAKE_CXX_FLAGS " /wd4229") - ENDIF() - --STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") --STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+IF(WITH_ICU STREQUAL "bundled") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") -+ENDIF() - - ADD_SUBDIRECTORY(source/common) - ADD_SUBDIRECTORY(source/i18n) -diff --git a/plugin/innodb_memcached/CMakeLists.txt b/plugin/innodb_memcached/CMakeLists.txt -index b9d93da5f20..00bbddeb3ec 100644 ---- a/plugin/innodb_memcached/CMakeLists.txt -+++ b/plugin/innodb_memcached/CMakeLists.txt -@@ -1,4 +1,4 @@ --# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License, version 2.0, -@@ -76,8 +76,8 @@ IF(WITH_INNODB_MEMCACHED AND UNIX) - ENDIF() - - # -Werror=lto-type-mismatch for misc functions. -- STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -- STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") - - ADD_SUBDIRECTORY(daemon_memcached) - ADD_SUBDIRECTORY(innodb_memcache) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 7c0a9f0..322577b 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,10 +1,8 @@ -diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index 8217bb76..4149a764 100644 ---- a/scripts/CMakeLists.txt -+++ b/scripts/CMakeLists.txt -@@ -513,4 +513,30 @@ ELSE() - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - ) +--- mysql-8.0.22/scripts/CMakeLists.txt.old 2020-10-21 11:08:50.654252563 +0200 ++++ mysql-8.0.22/scripts/CMakeLists.txt 2020-10-21 11:11:33.635935366 +0200 +@@ -507,4 +507,30 @@ + ) + ENDIF() ENDIF() + + # files for systemd diff --git a/community-mysql.spec b/community-mysql.spec index 2af4381..e9dcb53 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -43,7 +43,7 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug -%global boost_bundled_version 1.72.0 +%global boost_bundled_version 1.73.0 # Include files for systemd %global daemon_name mysqld @@ -72,8 +72,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.21 -Release: 16%{?with_debug:.debug}%{?dist} +Version: 8.0.22 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -111,8 +111,6 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch76: %{pkgnamepatch}-certs-expired.patch -Patch77: %{pkgnamepatch}-lto.patch Patch78: %{pkgnamepatch}-gcc11.patch # Patches taken from boost 1.59 @@ -380,8 +378,6 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 -%patch76 -p1 -%patch77 -p1 %patch78 -p1 # Patch Boost @@ -407,6 +403,9 @@ add_test collations.chinese sporadic since 8.0.19 # Fails when -DENABLED_LOCAL_INFILE=ON add_test main.mysql_load_data_local_dir local infile on +add_test rpl.rpl_row_jsondiff_basic_pk failed since 8.0.22 +add_test rpl.rpl_row_jsondiff_basic_nokey failed since 8.0.22 + # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 add_test gis.st_latitude @@ -448,6 +447,12 @@ add_test gis.spatial_operators_union %endif +%ifarch %arm +# Fails since 8.0.22 +add_test perfschema.relaylog + +%endif + # mysql-test popd @@ -571,8 +576,6 @@ install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{ install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf rm %{buildroot}%{_libdir}/mysql/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/comp_err.1* # put logrotate script where it needs to be @@ -784,6 +787,7 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror +%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -833,15 +837,12 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* -%{_mandir}/man1/mysql.server.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* -%exclude %{_mandir}/man1/mysqld_multi.1* -%exclude %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* @@ -970,13 +971,18 @@ fi %endif %changelog +* Wed Oct 21 2020 Lukas Javorsky - 8.0.22-1 +- Update to MySQL 8.0.22 +- community-mysql-certs-expired.patch patched by upstream +- community-mysql-lto.patch patched by upstream + * Tue Oct 20 2020 Jeff Law - 8.0.21-16 - Fix another missing #include for gcc-11 -* Thu Oct 6 2020 Jeff Law - 8.0.21-15 +* Tue Oct 06 2020 Jeff Law - 8.0.21-15 - Add missing #include for gcc-11 -* Thu Oct 1 13:33:42 CEST 2020 Zbigniew Jędrzejewski-Szmek - 8.0.21-14 +* Thu Oct 01 13:33:42 CEST 2020 Zbigniew Jędrzejewski-Szmek - 8.0.21-14 - Rebuilt for libevent 2.1.12 (again) * Wed Sep 23 2020 Adrian Reber - 8.0.21-13 diff --git a/sources b/sources index 53123a2..0b0d5f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.21.tar.gz) = 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 +SHA512 (mysql-boost-8.0.22.tar.gz) = 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612 From 4cc3109d7a030670dc90e5773615c723a005344e Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 26 Oct 2020 14:00:44 +0100 Subject: [PATCH 493/616] Add failing test for s390x arch --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index e9dcb53..d0d1805 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -445,6 +445,9 @@ add_test x.resource_groups add_test gis.spatial_operators_symdifference add_test gis.spatial_operators_union +# Fails since 8.0.22 +add_test main.subquery_bugs + %endif %ifarch %arm From 25c1cdede844ee7ced4e0e11641c5d560f2471a5 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 26 Oct 2020 14:15:46 +0100 Subject: [PATCH 494/616] Add missing parts for 8.0.22 rebase This missing parts was in patch created by Lars Tangvald --- community-mysql.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index d0d1805..d49a94a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -648,9 +648,8 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress} rm -r %{buildroot}%{_datadir}/mysql-test -rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -790,7 +789,6 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror -%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -850,7 +848,6 @@ fi %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/lz4_decompress.1* -%{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt @@ -892,7 +889,9 @@ fi %{_bindir}/mysqlxtest %{_bindir}/mysqld_safe %{_bindir}/comp_err +%{_bindir}/zlib_decompress %attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_mandir}/man1/zlib_decompress.1* %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/auth.so From 5bbbc2157f02b963f8b090b4895ccf5bf6fbe57b Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 17 Dec 2020 03:46:31 +0000 Subject: [PATCH 495/616] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index d49a94a..5f8e306 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -188,6 +188,7 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Time::localtime) BuildRequires: perl(warnings) BuildRequires: systemd +BuildRequires: make From 799eb1a2e8f1f84c39ebf0f0a0a3fb3371569112 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Tue, 12 Jan 2021 14:21:48 +0100 Subject: [PATCH 496/616] Rebuilt for protobuf 3.14 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5f8e306..cc6eead 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.22 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -974,6 +974,9 @@ fi %endif %changelog +* Tue Jan 12 14:21:47 CET 2021 Adrian Reber - 8.0.22-2 +- Rebuilt for protobuf 3.14 + * Wed Oct 21 2020 Lukas Javorsky - 8.0.22-1 - Update to MySQL 8.0.22 - community-mysql-certs-expired.patch patched by upstream From 2ad13cffdc00786b0b1520d6ea8cd223f1fc5b7e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 02:23:17 +0000 Subject: [PATCH 497/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index cc6eead..a223d9e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.22 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -974,6 +974,9 @@ fi %endif %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 8.0.22-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Jan 12 14:21:47 CET 2021 Adrian Reber - 8.0.22-2 - Rebuilt for protobuf 3.14 From fbe2f63222767e581b61fb7b47fd61116b953646 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 28 Jan 2021 12:07:50 +0100 Subject: [PATCH 498/616] Update failing and unstable tests list --- community-mysql.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index a223d9e..0521c06 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -457,6 +457,15 @@ add_test perfschema.relaylog %endif +# Fails since 2021 new year +add_test main.cast +add_test innodb.alter_kill +# Unstable tests +add_test innodb.innodb_read_only +add_test perfschema.processlist_acl +add_test innodb.innodb_bug-13628249 + + # mysql-test popd From 0959988c36124bdd55989361b646e7592cae270c Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 5 Feb 2021 15:28:41 +0100 Subject: [PATCH 499/616] Rebase to 8.0.23 --- community-mysql-fix-includes-robin-hood.patch | 13 +++++ community-mysql-main-cast.patch | 48 +++++++++++++++++++ community-mysql.spec | 27 ++++++++--- sources | 2 +- 4 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 community-mysql-fix-includes-robin-hood.patch create mode 100644 community-mysql-main-cast.patch diff --git a/community-mysql-fix-includes-robin-hood.patch b/community-mysql-fix-includes-robin-hood.patch new file mode 100644 index 0000000..0aca3ef --- /dev/null +++ b/community-mysql-fix-includes-robin-hood.patch @@ -0,0 +1,13 @@ +# Prevents fails when compiling with gcc11 (Fedora 34) +# Upstream PR: https://github.com/mysql/mysql-server/pull/323 + +--- mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h.old 2021-02-04 17:15:31.034997221 +0100 ++++ mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h 2021-02-04 17:15:50.781372066 +0100 +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + #if __cplusplus >= 201703L + # include + #endif diff --git a/community-mysql-main-cast.patch b/community-mysql-main-cast.patch new file mode 100644 index 0000000..c078fae --- /dev/null +++ b/community-mysql-main-cast.patch @@ -0,0 +1,48 @@ +commit 68730acd9ae7ae8b2fcd25b5ccd18d47038d00b9 +Author: Catalin Besleaga +Date: Mon Jan 4 14:32:05 2021 +0100 + + WL#14015: Follow-up: fixed unstable test + + Change-Id: I11f352168902c6689981131cfda3a87ba924941c + +diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result +index af82329a9c5..4d81ef111cb 100644 +--- a/mysql-test/r/cast.result ++++ b/mysql-test/r/cast.result +@@ -1747,6 +1747,7 @@ CAST("2020extra" AS YEAR) + 2020 + Warnings: + Warning 1292 Truncated incorrect YEAR value: '2020extra' ++SET timestamp = UNIX_TIMESTAMP('2020-12-22 03:30:00'); + SELECT CAST(TIMESTAMP'2010-01-01 00:00' AS YEAR); + CAST(TIMESTAMP'2010-01-01 00:00' AS YEAR) + 2010 +@@ -1764,6 +1765,7 @@ CAST(TIME'08:09:10' AS YEAR) + SELECT CAST(TIME'00:00:00' AS YEAR); + CAST(TIME'00:00:00' AS YEAR) + 2020 ++SET timestamp = DEFAULT; + SELECT CAST(ST_PointFromText('POINT(10 10)') AS YEAR); + ERROR HY000: Incorrect arguments to cast_as_year + CREATE TABLE t AS SELECT CAST("2010" AS YEAR); +diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test +index 1a1f512fca7..a74d79ad91f 100644 +--- a/mysql-test/t/cast.test ++++ b/mysql-test/t/cast.test +@@ -799,6 +799,7 @@ SELECT CAST("extra" AS YEAR); + SELECT CAST("22extra" AS YEAR); + SELECT CAST("2020extra" AS YEAR); + ++SET timestamp = UNIX_TIMESTAMP('2020-12-22 03:30:00'); + #date[time] values + SELECT CAST(TIMESTAMP'2010-01-01 00:00' AS YEAR); + SET SQL_MODE = ""; +@@ -807,6 +808,7 @@ SET SQL_MODE = default; + SELECT CAST(TIMESTAMP'2010-01-01 08:09:10' AS YEAR); + SELECT CAST(TIME'08:09:10' AS YEAR); + SELECT CAST(TIME'00:00:00' AS YEAR); ++SET timestamp = DEFAULT; + + #geometry values + --error ER_WRONG_ARGUMENTS diff --git a/community-mysql.spec b/community-mysql.spec index 0521c06..8f91b38 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -72,8 +72,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.22 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.23 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -111,7 +111,9 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch78: %{pkgnamepatch}-gcc11.patch +Patch78: %{pkgnamepatch}-gcc11.patch +Patch79: %{pkgnamepatch}-main-cast.patch +Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -128,6 +130,7 @@ BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: bison BuildRequires: libzstd-devel +BuildRequires: libcurl-devel %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif @@ -188,16 +191,13 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Time::localtime) BuildRequires: perl(warnings) BuildRequires: systemd -BuildRequires: make - - +BuildRequires: make Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} Provides: bundled(boost) = %{boost_bundled_version} - %if %{with mysql_names} Provides: mysql = %{sameevr} Provides: mysql%{?_isa} = %{sameevr} @@ -380,6 +380,8 @@ the MySQL sources. %patch55 -p1 %patch75 -p1 %patch78 -p1 +%patch79 -p1 +%patch80 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -466,6 +468,10 @@ add_test perfschema.processlist_acl add_test innodb.innodb_bug-13628249 +%ifarch ppc64le +add_test sys_vars.innodb_buffer_pool_size_basic +%endif + # mysql-test popd @@ -820,6 +826,8 @@ fi %{_libdir}/mysql/plugin/component_log_sink_json.so %{_libdir}/mysql/plugin/component_log_sink_syseventlog.so %{_libdir}/mysql/plugin/component_mysqlbackup.so +%{_libdir}/mysql/plugin/component_query_attributes.so +%{_libdir}/mysql/plugin/component_reference_cache.so %{_libdir}/mysql/plugin/component_validate_password.so %{_libdir}/mysql/plugin/connection_control.so %{_libdir}/mysql/plugin/daemon_example.ini @@ -964,6 +972,7 @@ fi %{_libdir}/mysql/plugin/libtest_sql_replication.so %{_libdir}/mysql/plugin/libtest_sql_reset_connection.so %{_libdir}/mysql/plugin/libtest_sql_shutdown.so +%{_libdir}/mysql/plugin/libtest_sql_sleep_is_connected.so %{_libdir}/mysql/plugin/libtest_sql_sqlmode.so %{_libdir}/mysql/plugin/libtest_sql_stmt.so %{_libdir}/mysql/plugin/libtest_sql_stored_procedures_functions.so @@ -983,6 +992,10 @@ fi %endif %changelog +* Thu Feb 04 2021 Lars Tangvald - 8.0.23-1 +- Update to MySQL 8.0.23 +- Created community-mysql-fix-includes-robin-hood.patch + * Tue Jan 26 2021 Fedora Release Engineering - 8.0.22-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 0b0d5f6..46508e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.22.tar.gz) = 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612 +SHA512 (mysql-boost-8.0.23.tar.gz) = b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8 From 9ee7f012100fd4aa42cdabb10d912cac8d4fc2e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:14:02 +0100 Subject: [PATCH 500/616] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8f91b38..765be57 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.23 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -992,6 +992,10 @@ fi %endif %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 8.0.23-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Thu Feb 04 2021 Lars Tangvald - 8.0.23-1 - Update to MySQL 8.0.23 - Created community-mysql-fix-includes-robin-hood.patch From fd94887653f1935fe50d052da9690a05e2ab80b0 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 31 Mar 2021 14:40:06 +0100 Subject: [PATCH 501/616] Rebuilt for removed libstdc++ symbols (#1937698) --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 765be57..aad8d51 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.23 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -992,6 +992,9 @@ fi %endif %changelog +* Wed Mar 31 2021 Jonathan Wakely - 8.0.23-3 +- Rebuilt for removed libstdc++ symbols (#1937698) + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 8.0.23-2 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. From 83c62ad62925e6034bc4e8d3090e4d8678056d63 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Sun, 18 Apr 2021 20:17:57 +0200 Subject: [PATCH 502/616] Update to MySQL 8.0.24 --- community-mysql-arm32-timer.patch | 10 +++---- community-mysql-gcc11.patch | 25 ---------------- community-mysql-main-cast.patch | 48 ------------------------------- community-mysql.spec | 16 ++++++----- sources | 2 +- 5 files changed, 15 insertions(+), 86 deletions(-) delete mode 100644 community-mysql-gcc11.patch delete mode 100644 community-mysql-main-cast.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 5bc7f67..bbfc560 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,8 +1,8 @@ ---- mysql-8.0.22/mysql-test/include/mtr_warnings.sql.old 2020-10-21 11:25:49.779775116 +0200 -+++ mysql-8.0.22/mysql-test/include/mtr_warnings.sql 2020-10-21 11:26:29.507185307 +0200 -@@ -299,6 +299,11 @@ - ("NOTIFY_SOCKET not set in environment. sd_notify messages will not be sent!"), - ("Invalid systemd notify socket, cannot send: "), +--- mysql-8.0.24/mysql-test/include/mtr_warnings.sql.orig 2021-04-18 18:04:05.166312799 +0200 ++++ mysql-8.0.24/mysql-test/include/mtr_warnings.sql 2021-04-18 18:04:23.605495467 +0200 +@@ -308,6 +308,11 @@ + */ + ("Manifest file '.*' is not read-only. For better security, please make sure that the file is read-only."), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-gcc11.patch b/community-mysql-gcc11.patch deleted file mode 100644 index 8a030a8..0000000 --- a/community-mysql-gcc11.patch +++ /dev/null @@ -1,25 +0,0 @@ -index a826a081..00000000 -diff --git a/include/mysql/components/services/page_track_service.h b/include/mysql/components/services/page_track_service.h -index 103b5135..e6b3ba6f 100644 ---- a/include/mysql/components/services/page_track_service.h -+++ b/include/mysql/components/services/page_track_service.h -@@ -26,6 +26,7 @@ - - #include - #include -+#include - - #include - -diff --git a/sql-common/sql_string.cc b/sql-common/sql_string.cc -index 40435729..8b6ee827 100644 ---- a/sql-common/sql_string.cc -+++ b/sql-common/sql_string.cc -@@ -23,6 +23,7 @@ - #include "sql_string.h" - - #include -+#include - - #include "my_dbug.h" - #include "my_macros.h" diff --git a/community-mysql-main-cast.patch b/community-mysql-main-cast.patch deleted file mode 100644 index c078fae..0000000 --- a/community-mysql-main-cast.patch +++ /dev/null @@ -1,48 +0,0 @@ -commit 68730acd9ae7ae8b2fcd25b5ccd18d47038d00b9 -Author: Catalin Besleaga -Date: Mon Jan 4 14:32:05 2021 +0100 - - WL#14015: Follow-up: fixed unstable test - - Change-Id: I11f352168902c6689981131cfda3a87ba924941c - -diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result -index af82329a9c5..4d81ef111cb 100644 ---- a/mysql-test/r/cast.result -+++ b/mysql-test/r/cast.result -@@ -1747,6 +1747,7 @@ CAST("2020extra" AS YEAR) - 2020 - Warnings: - Warning 1292 Truncated incorrect YEAR value: '2020extra' -+SET timestamp = UNIX_TIMESTAMP('2020-12-22 03:30:00'); - SELECT CAST(TIMESTAMP'2010-01-01 00:00' AS YEAR); - CAST(TIMESTAMP'2010-01-01 00:00' AS YEAR) - 2010 -@@ -1764,6 +1765,7 @@ CAST(TIME'08:09:10' AS YEAR) - SELECT CAST(TIME'00:00:00' AS YEAR); - CAST(TIME'00:00:00' AS YEAR) - 2020 -+SET timestamp = DEFAULT; - SELECT CAST(ST_PointFromText('POINT(10 10)') AS YEAR); - ERROR HY000: Incorrect arguments to cast_as_year - CREATE TABLE t AS SELECT CAST("2010" AS YEAR); -diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test -index 1a1f512fca7..a74d79ad91f 100644 ---- a/mysql-test/t/cast.test -+++ b/mysql-test/t/cast.test -@@ -799,6 +799,7 @@ SELECT CAST("extra" AS YEAR); - SELECT CAST("22extra" AS YEAR); - SELECT CAST("2020extra" AS YEAR); - -+SET timestamp = UNIX_TIMESTAMP('2020-12-22 03:30:00'); - #date[time] values - SELECT CAST(TIMESTAMP'2010-01-01 00:00' AS YEAR); - SET SQL_MODE = ""; -@@ -807,6 +808,7 @@ SET SQL_MODE = default; - SELECT CAST(TIMESTAMP'2010-01-01 08:09:10' AS YEAR); - SELECT CAST(TIME'08:09:10' AS YEAR); - SELECT CAST(TIME'00:00:00' AS YEAR); -+SET timestamp = DEFAULT; - - #geometry values - --error ER_WRONG_ARGUMENTS diff --git a/community-mysql.spec b/community-mysql.spec index aad8d51..cf51fb6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -72,8 +72,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.23 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.24 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -111,8 +111,6 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch78: %{pkgnamepatch}-gcc11.patch -Patch79: %{pkgnamepatch}-main-cast.patch Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch # Patches taken from boost 1.59 @@ -379,8 +377,6 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 -%patch78 -p1 -%patch79 -p1 %patch80 -p1 # Patch Boost @@ -609,7 +605,7 @@ echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arc # and just create a symlink in /usr/sbin mv %{buildroot}%{_bindir}/mysqld %{buildroot}%{_libexecdir}/mysqld mkdir -p %{buildroot}%{_sbindir} -ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld +ln -s ../libexec/mysqld %{buildroot}%{_sbindir}/mysqld %if %{with debug} mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld @@ -797,6 +793,7 @@ fi %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults +%{_bindir}/mysql_migrate_keyring %{_bindir}/mysql_secure_installation %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql @@ -822,6 +819,7 @@ fi %{_libdir}/mysql/plugin/adt_null.so %{_libdir}/mysql/plugin/auth_socket.so %{_libdir}/mysql/plugin/component_audit_api_message_emit.so +%{_libdir}/mysql/plugin/component_keyring_file.so %{_libdir}/mysql/plugin/component_log_filter_dragnet.so %{_libdir}/mysql/plugin/component_log_sink_json.so %{_libdir}/mysql/plugin/component_log_sink_syseventlog.so @@ -902,6 +900,7 @@ fi %if %{with test} %files test %{_bindir}/mysql_client_test +%{_bindir}/mysql_keyring_encryption_test %{_bindir}/mysqltest %{_bindir}/mysqltest_safe_process %{_bindir}/mysqlxtest @@ -992,6 +991,9 @@ fi %endif %changelog +* Sun Apr 18 2021 Lars Tangvald - 8.0.24-1 +- Update to MySQL 8.0.24 + * Wed Mar 31 2021 Jonathan Wakely - 8.0.23-3 - Rebuilt for removed libstdc++ symbols (#1937698) diff --git a/sources b/sources index 46508e6..93fc836 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.23.tar.gz) = b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8 +SHA512 (mysql-boost-8.0.24.tar.gz) = ad8510614251c056f0963f8e51b9ed5e75452ccbf2728254d662fcc3a7ee1bdc177d1d34e958ddc31c7e6b5b3af9377ef2d9cbdc0353676b3026619673447deb From 5087e301f6a693bd70bbf3d6fbf5eb00c82101eb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 2 May 2021 13:36:46 +0200 Subject: [PATCH 503/616] Update disabled tests list fo the latest release for F32..Rawhide Disable "--mem" option, because the s390x builders ran out of resources --- community-mysql.spec | 107 ++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 53 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cf51fb6..00d26de 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -394,33 +394,59 @@ add_test () { touch %{skiplist} -add_test innodb.redo_log_archive_04 failed since 8.0.17 -add_test clone.remote_dml_no_binlog failed since 8.0.17 -add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 -add_test collations.chinese sporadic since 8.0.19 +# Fails on all arches +add_test main.subquery_sj_mat_bka_nobnl failing since 8.0.24 on F32+ +add_test main.derived_limit failing since 8.0.24 on F32+ +add_test main.explain_tree failing since 8.0.24 on F32+ + +add_test auth_sec.keyring_file_data_qa failing on F32+ +add_test innodb.alter_kill failing on F34+ # Fails when -DENABLED_LOCAL_INFILE=ON -add_test main.mysql_load_data_local_dir local infile on +add_test main.mysql_load_data_local_dir failing on F32+ -add_test rpl.rpl_row_jsondiff_basic_pk failed since 8.0.22 -add_test rpl.rpl_row_jsondiff_basic_nokey failed since 8.0.22 - -# These tests fail on armv7hl; last check 8.0.16 -%ifarch %arm aarch64 -add_test gis.st_latitude -add_test gis.st_longitude -# Missing hw counters -add_test perfschema.func_file_io missing hw on arm32 -add_test perfschema.func_mutex missing hw on arm32 -add_test perfschema.global_read_lock missing hw on arm32 -add_test perfschema.setup_objects missing hw on arm32 -# Test added in 8.0.19 -add_test clone.remote_error_basic max_allowed_packet is 0 -# Failing in ~90% of times -add_test innodb.create_tablespace +# Unstable +add_test innodb.innodb_force_recovery unstable since 8.0.24 on F32+ +%ifarch x86_64 i686 +add_test clone.local_dml_auto_tune unstable on x86_64 and i686 +add_test perfschema.threads_mysql unstable on x86_64 and i686 +add-test rpl_gtid.rpl_multi_source_mtr_includes unstable on x86_64 and i686 %endif +# ppc64le +%ifarch ppc64le +add_test sys_vars.innodb_buffer_pool_size_basic fails only on ppc64le on f32+ +%endif + +# armv7hl +%ifarch armv7hl +add_test gis.st_latitude fails on F32+ +add_test gis.st_longitude fails on F32+ + +add_test perfschema.func_file_io missing hw on 32-bit arm +add_test perfschema.global_read_lock missing hw on 32-bit arm +add_test perfschema.relaylog missing hw on 32-bit arm +add_test perfschema.setup_objects missing hw on 32-bit arm + +add_test clone.remote_error_basic fails since 8.0.19 on F32+, max_allowed_packet is 0 + +add_test clone.remote_dml_auto_tune + +# Unstable +add_test clone.local_dml_auto_tune unstable on armv7hl +add_test innodb.innodb_bug-13628249 unstable on armv7hl +add_test main.grant_dynamic_flush unstable on armv7hl +add_test innodb.innodb_read_only +%endif + +# s390x %ifarch s390x +# Fails since 8.0.21 +add_test x.resource_groups + +# Fails since 8.0.22 +add_test main.subquery_bugs + # Fails since F32 Mass Rebuild add_test gis.geometry_class_attri_prop add_test gis.geometry_property_function_issimple @@ -429,43 +455,18 @@ add_test gis.spatial_analysis_functions_buffer add_test gis.spatial_analysis_functions_centroid add_test gis.spatial_analysis_functions_distance add_test gis.spatial_operators_intersection +add_test gis.spatial_operators_union +add_test gis.spatial_operators_symdifference add_test gis.spatial_op_testingfunc_mix add_test gis.spatial_utility_function_distance_sphere add_test gis.spatial_utility_function_simplify -add_test innodb.log_encrypt_kill main.with_recursive -add_test innodb.mysqldump_max_recordsize -add_test main.lock_multi_bug38499 + add_test main.window_std_var add_test main.window_std_var_optimized add_test main.with_recursive -# Fails since 8.0.21 -add_test x.resource_groups -add_test gis.spatial_operators_symdifference -add_test gis.spatial_operators_union - -# Fails since 8.0.22 -add_test main.subquery_bugs - -%endif - -%ifarch %arm -# Fails since 8.0.22 -add_test perfschema.relaylog - -%endif - -# Fails since 2021 new year -add_test main.cast -add_test innodb.alter_kill -# Unstable tests -add_test innodb.innodb_read_only -add_test perfschema.processlist_acl -add_test innodb.innodb_bug-13628249 - - -%ifarch ppc64le -add_test sys_vars.innodb_buffer_pool_size_basic +# Unstable +add_test main.grant_dynamic_flush %endif # mysql-test @@ -675,12 +676,12 @@ cp ../../mysql-test/%{skiplist} . export MTR_BUILD_THREAD=%{__isa_bits} ./mtr %{?with_debug:--debug-server} \ - --mem --parallel=auto --force --retry=2 \ + --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} - --max-test-fail=0 || : + --max-test-fail=200 || : %else --skip-test-list=%{skiplist} %endif From c9ef673785494c94f7b55c4bdb12437ae8533d8c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 2 May 2021 22:03:26 +0200 Subject: [PATCH 504/616] Move the disabled tests lists to the standalone files per architecture families It will help the maintainers when trying to keep SPECs for different versions or product with minimal amount of differences --- community-mysql.spec | 90 +++++---------------------------- rh-skipped-tests-list-arm.list | 19 +++++++ rh-skipped-tests-list-base.list | 17 +++++++ rh-skipped-tests-list-ppc.list | 3 ++ rh-skipped-tests-list-s390.list | 27 ++++++++++ 5 files changed, 80 insertions(+), 76 deletions(-) create mode 100644 rh-skipped-tests-list-arm.list create mode 100644 rh-skipped-tests-list-base.list create mode 100644 rh-skipped-tests-list-ppc.list create mode 100644 rh-skipped-tests-list-s390.list diff --git a/community-mysql.spec b/community-mysql.spec index 00d26de..af5b78a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -97,6 +97,11 @@ Source18: mysql@.service.in Source30: %{pkgnamepatch}.rpmlintrc # Configuration for server Source31: server.cnf.in +# Skipped tests lists +Source50: rh-skipped-tests-list-base.list +Source51: rh-skipped-tests-list-arm.list +Source52: rh-skipped-tests-list-s390.list +Source53: rh-skipped-tests-list-ppc.list # Comments for these patches are in the patch files # Patches common for more mysql-like packages @@ -385,92 +390,25 @@ pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch125 -p1 popd -# Modify tests to pass on all archs -pushd mysql-test -add_test () { - echo "$1" : BUG#0 "${@:2}" >> %{skiplist} -} -touch %{skiplist} +# generate a list of tests that fail, but are not disabled by upstream +cat %{SOURCE50} | tee -a mysql-test/%{skiplist} -# Fails on all arches -add_test main.subquery_sj_mat_bka_nobnl failing since 8.0.24 on F32+ -add_test main.derived_limit failing since 8.0.24 on F32+ -add_test main.explain_tree failing since 8.0.24 on F32+ - -add_test auth_sec.keyring_file_data_qa failing on F32+ -add_test innodb.alter_kill failing on F34+ - -# Fails when -DENABLED_LOCAL_INFILE=ON -add_test main.mysql_load_data_local_dir failing on F32+ - -# Unstable -add_test innodb.innodb_force_recovery unstable since 8.0.24 on F32+ -%ifarch x86_64 i686 -add_test clone.local_dml_auto_tune unstable on x86_64 and i686 -add_test perfschema.threads_mysql unstable on x86_64 and i686 -add-test rpl_gtid.rpl_multi_source_mtr_includes unstable on x86_64 and i686 +# disable some tests failing on different architectures +%ifarch %{arm} aarch64 +cat %{SOURCE51} | tee -a mysql-test/%{skiplist} %endif -# ppc64le -%ifarch ppc64le -add_test sys_vars.innodb_buffer_pool_size_basic fails only on ppc64le on f32+ +%ifarch s390 s390x +cat %{SOURCE52} | tee -a mysql-test/%{skiplist} %endif -# armv7hl -%ifarch armv7hl -add_test gis.st_latitude fails on F32+ -add_test gis.st_longitude fails on F32+ - -add_test perfschema.func_file_io missing hw on 32-bit arm -add_test perfschema.global_read_lock missing hw on 32-bit arm -add_test perfschema.relaylog missing hw on 32-bit arm -add_test perfschema.setup_objects missing hw on 32-bit arm - -add_test clone.remote_error_basic fails since 8.0.19 on F32+, max_allowed_packet is 0 - -add_test clone.remote_dml_auto_tune - -# Unstable -add_test clone.local_dml_auto_tune unstable on armv7hl -add_test innodb.innodb_bug-13628249 unstable on armv7hl -add_test main.grant_dynamic_flush unstable on armv7hl -add_test innodb.innodb_read_only +%ifarch ppc ppc64 ppc64p7 ppc64le +cat %{SOURCE53} | tee -a mysql-test/%{skiplist} %endif -# s390x -%ifarch s390x -# Fails since 8.0.21 -add_test x.resource_groups -# Fails since 8.0.22 -add_test main.subquery_bugs - -# Fails since F32 Mass Rebuild -add_test gis.geometry_class_attri_prop -add_test gis.geometry_property_function_issimple -add_test gis.gis_bugs_crashes -add_test gis.spatial_analysis_functions_buffer -add_test gis.spatial_analysis_functions_centroid -add_test gis.spatial_analysis_functions_distance -add_test gis.spatial_operators_intersection -add_test gis.spatial_operators_union -add_test gis.spatial_operators_symdifference -add_test gis.spatial_op_testingfunc_mix -add_test gis.spatial_utility_function_distance_sphere -add_test gis.spatial_utility_function_simplify - -add_test main.window_std_var -add_test main.window_std_var_optimized -add_test main.with_recursive - -# Unstable -add_test main.grant_dynamic_flush -%endif - -# mysql-test -popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts diff --git a/rh-skipped-tests-list-arm.list b/rh-skipped-tests-list-arm.list new file mode 100644 index 0000000..4f73b0d --- /dev/null +++ b/rh-skipped-tests-list-arm.list @@ -0,0 +1,19 @@ +gis.st_latitude : BUG#0 fails on F32+ +gis.st_longitude : BUG#0 fails on F32+ + +perfschema.func_file_io : BUG#0 missing hw on 32-bit arm +perfschema.global_read_lock : BUG#0 missing hw on 32-bit arm +perfschema.relaylog : BUG#0 missing hw on 32-bit arm +perfschema.setup_objects : BUG#0 missing hw on 32-bit arm + +clone.remote_error_basic : BUG#0 fails since 8.0.19 on F32+, max_allowed_packet is 0 + +clone.remote_dml_auto_tune : BUG#0 + +# Unstable +clone.local_dml_auto_tune : BUG#0 +innodb.innodb_bug-13628249 : BUG#0 +main.grant_dynamic_flush : BUG#0 +innodb.innodb_read_only : BUG#0 + +rpl_nogtid.rpl_mixed_mixing_engines : BUG#0 timeout after 1800 secs or armv7hl diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list new file mode 100644 index 0000000..5b377c7 --- /dev/null +++ b/rh-skipped-tests-list-base.list @@ -0,0 +1,17 @@ +# Fails on all arches +main.subquery_sj_mat_bka_nobnl : BUG#0 failing since 8.0.24 on F32+ +main.derived_limit : BUG#0 failing since 8.0.24 on F32+ +main.explain_tree : BUG#0 failing since 8.0.24 on F32+ + +auth_sec.keyring_file_data_qa : BUG#0 failing on F32+ +innodb.alter_kill : BUG#0 failing on F34+ + +# Fails when -DENABLED_LOCAL_INFILE=ON +main.mysql_load_data_local_dir : BUG#0 failing on F32+ + +# Unstable +innodb.innodb_force_recovery : BUG#0 unstable since 8.0.24 on F32+ +clone.local_dml_auto_tune : BUG#0 unstable on x86_64 and i686 +perfschema.threads_mysql : BUG#0 unstable on x86_64 and i686 +rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 unstable on x86_64 and i686 + diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list new file mode 100644 index 0000000..d4da526 --- /dev/null +++ b/rh-skipped-tests-list-ppc.list @@ -0,0 +1,3 @@ +# ppc64le +sys_vars.innodb_buffer_pool_size_basic : BUG#0 fails only on ppc64le on f32+ + diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list new file mode 100644 index 0000000..a936ed9 --- /dev/null +++ b/rh-skipped-tests-list-s390.list @@ -0,0 +1,27 @@ +# Fails since 8.0.21 +x.resource_groups : BUG#0 + +# Fails since 8.0.22 +main.subquery_bugs : BUG#0 + +# Fails since F32 Mass Rebuild +gis.geometry_class_attri_prop : BUG#0 +gis.geometry_property_function_issimple : BUG#0 +gis.gis_bugs_crashes : BUG#0 +gis.spatial_analysis_functions_buffer : BUG#0 +gis.spatial_analysis_functions_centroid : BUG#0 +gis.spatial_analysis_functions_distance : BUG#0 +gis.spatial_operators_intersection : BUG#0 +gis.spatial_operators_union : BUG#0 +gis.spatial_operators_symdifference : BUG#0 +gis.spatial_op_testingfunc_mix : BUG#0 +gis.spatial_utility_function_distance_sphere : BUG#0 +gis.spatial_utility_function_simplify : BUG#0 + +main.window_std_var : BUG#0 +main.window_std_var_optimized : BUG#0 +main.with_recursive : BUG#0 + +# Unstable +main.grant_dynamic_flush : BUG#0 + From ee4de3aa28bd7dff298bbbbea87aead15813a5f1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 2 May 2021 22:05:51 +0200 Subject: [PATCH 505/616] Allow to run the test-suite in parallel when more versions are built --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index af5b78a..df6c4c7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -610,8 +610,11 @@ pushd %_vpath_builddir make test VERBOSE=1 pushd mysql-test cp ../../mysql-test/%{skiplist} . -# builds might happen at the same host, avoid collision -export MTR_BUILD_THREAD=%{__isa_bits} + +# Builds might happen at the same host, avoid collision +# The port used is calculated as 10 * MTR_BUILD_THREAD + 10000 +# The resulting port must be between 5000 and 32767 +export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) ./mtr %{?with_debug:--debug-server} \ --parallel=auto --force --retry=2 \ From 390e8d42cfb4722edda9eddf2e2514319dd3243a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 May 2021 13:57:41 +0200 Subject: [PATCH 506/616] Implement running of the minimal testsuite Once the full testsuite has been run for the particular MySQL release; execute just the "main" suite on subsequent runs for that release. The implementation default to running of the whole testsuite, as until now, if the maintainer won't set the flag that running of the minimal testsuite is enough for this release. This feature aims to help with faster and more stable package builds when adding small fixes on top of already tested release; and to ease the life of Fedora Linux Release Engineers during (mass) rebuilds. --- community-mysql-mtr.patch | 102 ++++++++++++++++++++++++++++++++ community-mysql.spec | 61 +++++++++++++++---- rh-skipped-tests-list-base.list | 1 + 3 files changed, 151 insertions(+), 13 deletions(-) create mode 100644 community-mysql-mtr.patch diff --git a/community-mysql-mtr.patch b/community-mysql-mtr.patch new file mode 100644 index 0000000..6f193b9 --- /dev/null +++ b/community-mysql-mtr.patch @@ -0,0 +1,102 @@ +Avoid errors like: + +| Path length (109) is longer than maximum supported length (108) and will be truncated at /usr/lib64/perl5/vendor_perl/Socket.pm line 880, line 1. +| worker[2] mysql-test-run: *** ERROR: Socket path '/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.s390x/usr/share/mysql-test/var/tmp/2' too long, +| it would be truncated and thus not possible to use for connection to MySQL Server. Set a shorter with --tmpdir= option + +=== + +On Fedora 32: + +| $ grep -e "PATH" /usr/include/linux/limits.h +| #define PATH_MAX 4096 /* # chars in a path name including nul */ + +=== + +Thus setting the maximum path length on Fedora to 108 characters is just too short. + +BTW on the modern filesystems you can easily create path longer than PATH_MAX. +The PATH_MAX constant is unsafe. +Interesting article: https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html + +=== + +The question is why haven't I encountered this issue until recently ? + +After the recent tweaks to the testsuite (between 8.0.24 and 8.0.25 release), the generated --tmpdir path changed from +| --tmpdir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/ +to +| --tmpdir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ + +=== + +The whole setup changed as follows: +BEFORE: + +| Installing system database +| ### safe_path: /builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/runtime_output_directory///mysqltest_safe_process --verbose -- /builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/runtime_output_directory/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var --innodb_buffer_pool_size=24M --innodb-log-file-size=5M --innodb_autoextend_increment=8 --character-sets-dir=/builddir/build/BUILD/mysql-8.0.24/share/charsets --loose-auto_generate_certs=OFF --loose-sha256_password_auto_generate_rsa_keys=OFF --loose-caching_sha2_password_auto_generate_rsa_keys=OFF --init-file=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/bootstrap.sql + +AFTER: + +| Installing system database +| ### safe_path: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/bin//mysqltest_safe_process --verbose -- /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/libexec/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var --innodb_buffer_pool_size=24M --innodb-log-file-size=5M --innodb_autoextend_increment=8 --character-sets-dir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/community-mysql/charsets --loose-auto_generate_certs=OFF --loose-sha256_password_auto_generate_rsa_keys=OFF --loose-caching_sha2_password_auto_generate_rsa_keys=OFF --init-file=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/bootstrap.sql + +=== + +The likely cause is the added + +| cd %{buildroot}%{_datadir}/mysql-test + +which was not originally present in the SPECfile. + +However the MariaDB implementation does not have this issue, even though it has the same SPECfile %check phase code. + + +=== + +In the extended log, you can see '/tmp/XfTFAis2Jl' being created and deleted short after. +Even though the script warns about the path length, tries to workaround it; it destroyes that workaround short after and use the too-long path instead. + +I'm not sure whether the output is synchronous, but even if it wasn'tit still looks weird. + +| + cd /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test +| Logging: ./mysql-test-run.pl --verbose --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir --suite=main --mem --skip-test-list=platform-specific-tests.list +| Path length (109) is longer than maximum supported length (108) and will be truncated at /usr/lib64/perl5/vendor_perl/Socket.pm line 880. +| Too long tmpdir path '/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp' creating a shorter one +| - Using tmpdir: '/tmp/XfTFAis2Jl' +| > Collecting: main +| > testdir: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/t +| > resdir: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/r +| > Collecting: i_main +| Removing old var directory +| > opt_vardir: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var +| > Removing /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/ +| > Removing /dev/shm/var_933_jfTb +| > Removing /tmp/XfTFAis2Jl/ +| Creating var directory '/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var' +| > Creating /dev/shm/var_933_jfTb +| - symlinking 'var' to '/dev/shm/var_933_jfTb' + + + + +--- mysql-8.0.24/mysql-test/mysql-test-run.pl 2021-05-10 04:29:44.391897891 +0200 ++++ mysql-8.0.24/mysql-test/mysql-test-run.pl_patched 2021-05-10 04:38:51.031702753 +0200 +@@ -3374,17 +3374,6 @@ sub setup_vardir() { + mkpath("$opt_vardir/tmp"); + mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp"); + +- # On some operating systems, there is a limit to the length of a +- # UNIX domain socket's path far below PATH_MAX. Don't allow that +- # to happen. +- my $res = +- check_socket_path_length("$opt_tmpdir/mysqld.NN.sock", $opt_parallel); +- if ($res) { +- mtr_error("Socket path '$opt_tmpdir' too long, it would be ", +- "truncated and thus not possible to use for connection to ", +- "MySQL Server. Set a shorter with --tmpdir= option"); +- } +- + # Copy all files from std_data into var/std_data + # and make them world readable + copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022"); diff --git a/community-mysql.spec b/community-mysql.spec index df6c4c7..96ade06 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -11,8 +11,15 @@ # --nocheck is not possible (e.g. in koji build) %{!?runselftest:%global runselftest 1} -# Set this to 1 to see which tests fail -%global check_testsuite 0 +# Set this to 1 to see which tests fail, but 0 on production ready build +%global ignore_testsuite_result 0 + +# The last version on which the full testsuite has been run +# In case of further rebuilds of that version, don't require full testsuite to be run +# run only "main" suite +%global last_tested_version 8.0.24 +# Set to 1 to force run the testsuite even if it was already tested in current version +%global force_run_testsuite 0 # Aditional SELinux rules %global require_mysql_selinux 1 @@ -115,6 +122,7 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch +Patch56: %{pkgnamepatch}-mtr.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch @@ -381,6 +389,7 @@ the MySQL sources. %patch51 -p1 %patch52 -p1 %patch55 -p1 +%patch56 -p1 %patch75 -p1 %patch80 -p1 @@ -603,6 +612,8 @@ rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,z rm -r %{buildroot}%{_datadir}/mysql-test %endif + + %check %if %{with test} %if %runselftest @@ -616,22 +627,44 @@ cp ../../mysql-test/%{skiplist} . # The resulting port must be between 5000 and 32767 export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) -./mtr %{?with_debug:--debug-server} \ - --parallel=auto --force --retry=2 \ - --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 \ - --report-unstable-tests --clean-vardir \ -%if %{check_testsuite} - --max-test-fail=200 || : -%else - --skip-test-list=%{skiplist} -%endif -rm -r var $(readlink var) +( + set -ex + cd %{buildroot}%{_datadir}/mysql-test + + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir " + + # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run + if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] + then + # in further rebuilds only run the basic "main" suite (~800 tests) + echo "running only base testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments --suite=main --mem --skip-test-list=%{skiplist} + fi + + # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) + if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]] + then + echo "running advanced testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments \ + %if %{ignore_testsuite_result} + --max-test-fail=9999 || : + %else + --skip-test-list=%{skiplist} + %endif + fi + + # There might be a dangling symlink left from the testing, remove it to not be installed + rm -r var $(readlink var) +) + popd popd + %endif %endif + + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ @@ -649,6 +682,8 @@ fi %postun server %systemd_postun_with_restart %{daemon_name}.service + + %if %{with client} %files %{_bindir}/mysql diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 5b377c7..0fbd9de 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -5,6 +5,7 @@ main.explain_tree : BUG#0 failing since 8.0.24 on F32+ auth_sec.keyring_file_data_qa : BUG#0 failing on F32+ innodb.alter_kill : BUG#0 failing on F34+ +main.mtr_unit_tests : BUG#0 failing on F35+ # Fails when -DENABLED_LOCAL_INFILE=ON main.mysql_load_data_local_dir : BUG#0 failing on F32+ From f29e99adfedbe1545c20208c3adcc6c7a0b98c3f Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 19 May 2021 16:57:21 +0100 Subject: [PATCH 507/616] Rebuild for ICU 69 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 96ade06..9df48e4 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.24 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Wed May 19 2021 Pete Walter - 8.0.24-2 +- Rebuild for ICU 69 + * Sun Apr 18 2021 Lars Tangvald - 8.0.24-1 - Update to MySQL 8.0.24 From 6d3611b4cd47a687920f77d1ccfa654397fc5806 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 20 May 2021 00:56:17 +0100 Subject: [PATCH 508/616] Rebuild for ICU 69 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9df48e4..7a47060 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.24 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Wed May 19 2021 Pete Walter - 8.0.24-3 +- Rebuild for ICU 69 + * Wed May 19 2021 Pete Walter - 8.0.24-2 - Rebuild for ICU 69 From c01002a57610c033ae4f1b97940a7147fd7e3140 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 May 2021 06:02:30 +0200 Subject: [PATCH 509/616] Rebase to 8.0.25 --- community-mysql.spec | 9 ++++++--- rh-skipped-tests-list-base.list | 5 +++++ sources | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7a47060..22785a4 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,7 +17,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.24 +%global last_tested_version 8.0.25 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.24 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.25 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Tue Jun 01 2021 Michal Schorm - 8.0.25-1 +- Update to MySQL 8.0.25 + * Wed May 19 2021 Pete Walter - 8.0.24-3 - Rebuild for ICU 69 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 0fbd9de..77743ba 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -16,3 +16,8 @@ clone.local_dml_auto_tune : BUG#0 unstable on x86_64 and i686 perfschema.threads_mysql : BUG#0 unstable on x86_64 and i686 rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 unstable on x86_64 and i686 +# Failing on 32-bit arches: armv7hl i686 s390x; since MySQL 8.0.25 +x.connection_unixsocket : BUG#0 +x.connection_unixsocket_invalid : BUG#0 +x.connection_unixsocket_lock : BUG#0 +innodb.innodb_bug-13628249 : BUG#0 diff --git a/sources b/sources index 93fc836..21682c5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.24.tar.gz) = ad8510614251c056f0963f8e51b9ed5e75452ccbf2728254d662fcc3a7ee1bdc177d1d34e958ddc31c7e6b5b3af9377ef2d9cbdc0353676b3026619673447deb +SHA512 (mysql-boost-8.0.25.tar.gz) = af653ccff66a9d87221b46ad4f7bcc629700549f758998b9a7fb22e4573b9495a28624e031f016f9ad8fe0dfcf481b82f1ffe224aa48c2d45531570026b26081 From b0928d819517456af83373660751fcce0518a90b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 2 Jun 2021 12:27:04 +0200 Subject: [PATCH 510/616] Fix RPATH error Error: "ERROR 0001: file '/usr/libexec/mysqld' contains a standard runpath '/usr/lib64' in [/usr/lib64]" Caused by: https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild More Info: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_beware_of_rpath --- community-mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 22785a4..81aca62 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -491,7 +491,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ - -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" + -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \ + -DCMAKE_SKIP_INSTALL_RPATH=YES # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 From 11740706dd8a7ba419e4751e924c5a6c6f2eef7b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 14:54:32 +0000 Subject: [PATCH 511/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 5efeb4ca81cd691d61b8276e45c19d4761472d4c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 19:52:50 +0000 Subject: [PATCH 512/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 81aca62..baabdaf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.25 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -969,6 +969,9 @@ fi %endif %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 8.0.25-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Tue Jun 01 2021 Michal Schorm - 8.0.25-1 - Update to MySQL 8.0.25 From 997fd2af76fa0841af4b769316d3862c26648b97 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Tue, 20 Jul 2021 18:07:13 +0200 Subject: [PATCH 513/616] Update to MySQL 8.0.26 --- community-mysql-arm32-timer.patch | 12 +++++++----- community-mysql.spec | 13 ++++++++++--- sources | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index bbfc560..3edd785 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,8 +1,10 @@ ---- mysql-8.0.24/mysql-test/include/mtr_warnings.sql.orig 2021-04-18 18:04:05.166312799 +0200 -+++ mysql-8.0.24/mysql-test/include/mtr_warnings.sql 2021-04-18 18:04:23.605495467 +0200 -@@ -308,6 +308,11 @@ - */ - ("Manifest file '.*' is not read-only. For better security, please make sure that the file is read-only."), +diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql +index 7a56616a..5e5f7950 100644 +--- a/mysql-test/include/mtr_warnings.sql ++++ b/mysql-test/include/mtr_warnings.sql +@@ -359,6 +359,11 @@ INSERT INTO global_suppressions VALUES + ("A deprecated TLS version TLSv1 is enabled for channel"), + ("A deprecated TLS version TLSv1.1 is enabled for channel"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql.spec b/community-mysql.spec index baabdaf..d964f14 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.25 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 8.0.26 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -492,7 +492,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \ - -DCMAKE_SKIP_INSTALL_RPATH=YES + -DCMAKE_SKIP_INSTALL_RPATH=YES # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 @@ -823,7 +823,9 @@ fi %{_libdir}/mysql/plugin/rewrite_example.so %{_libdir}/mysql/plugin/rewriter.so %{_libdir}/mysql/plugin/semisync_master.so +%{_libdir}/mysql/plugin/semisync_replica.so %{_libdir}/mysql/plugin/semisync_slave.so +%{_libdir}/mysql/plugin/semisync_source.so %{_libdir}/mysql/plugin/validate_password.so %{_libdir}/mysql/plugin/version_token.so @@ -904,6 +906,7 @@ fi %{_libdir}/mysql/plugin/component_test_host_application_signal.so %{_libdir}/mysql/plugin/component_test_mysql_current_thread_reader.so %{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so +%{_libdir}/mysql/plugin/component_test_mysql_system_variable_set.so %{_libdir}/mysql/plugin/component_test_pfs_notification.so %{_libdir}/mysql/plugin/component_test_pfs_resource_group.so %{_libdir}/mysql/plugin/component_test_status_var_service_int.so @@ -919,6 +922,7 @@ fi %{_libdir}/mysql/plugin/component_test_sys_var_service_same.so %{_libdir}/mysql/plugin/component_test_sys_var_service.so %{_libdir}/mysql/plugin/component_test_sys_var_service_str.so +%{_libdir}/mysql/plugin/component_test_table_access.so %{_libdir}/mysql/plugin/component_test_udf_registration.so %{_libdir}/mysql/plugin/component_test_udf_services.so %{_libdir}/mysql/plugin/component_udf_reg_3_func.so @@ -969,6 +973,9 @@ fi %endif %changelog +* Wed Jul 21 2021 Lars Tangvald - 8.0.26-1 +- Update to MySQL 8.0.26 + * Wed Jul 21 2021 Fedora Release Engineering - 8.0.25-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index 21682c5..598a7e7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.25.tar.gz) = af653ccff66a9d87221b46ad4f7bcc629700549f758998b9a7fb22e4573b9495a28624e031f016f9ad8fe0dfcf481b82f1ffe224aa48c2d45531570026b26081 +SHA512 (mysql-boost-8.0.26.tar.gz) = 63d47cb52407a816dc9f4330b99924624dfee46e57e7fdce19eff32909dd9e23251e2439d1807b002a1661b547173222c77465a3ca4dbb312414a84927809cfc From 2c05f3b3bd1fbf07c6aed2eb1ffe61657e5d2a41 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 10 Aug 2021 14:34:16 +0200 Subject: [PATCH 514/616] Disabling building of unittests to workaround #1989847 --- community-mysql.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index d964f14..aad2bf7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -492,10 +492,14 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \ - -DCMAKE_SKIP_INSTALL_RPATH=YES + -DCMAKE_SKIP_INSTALL_RPATH=YES \ + -DWITH_UNIT_TESTS=0 + # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 +# Note: disabling building of unittests to workaround #1989847 + cmake -B %{_vpath_builddir} -LAH %cmake_build @@ -619,7 +623,8 @@ rm -r %{buildroot}%{_datadir}/mysql-test %if %{with test} %if %runselftest pushd %_vpath_builddir -make test VERBOSE=1 +# Note: disabling building of unittests to workaround #1989847 +#make test VERBOSE=1 pushd mysql-test cp ../../mysql-test/%{skiplist} . From 8826aa4fc0d924535fcce171dce325ff014e7916 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 11 Aug 2021 17:30:06 +0200 Subject: [PATCH 515/616] Disable tests requiring TLS versions that were disabled by system-wide crypto-policies settings on F33+ https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2 --- rh-skipped-tests-list-base.list | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 77743ba..1b5d37d 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -7,6 +7,15 @@ auth_sec.keyring_file_data_qa : BUG#0 failing on F32+ innodb.alter_kill : BUG#0 failing on F34+ main.mtr_unit_tests : BUG#0 failing on F35+ +# Expected to fail in Fedora 33+ +# TLS 1.1 and older has been disabled by system-wide crypto-policies setting +# https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2 +# Tests pass when using legacy crypto-policies seetings +auth_sec.tls12_tls1 : BUG#0 Expected to fail on F33+ +auth_sec.tls13_tls1 : BUG#0 Expected to fail on F33+ +main.ssl_deprecated_tls_versions : BUG#0 Expected to fail on F33+ +x.connection_tls_version : BUG#0 Expected to fail on F33+ + # Fails when -DENABLED_LOCAL_INFILE=ON main.mysql_load_data_local_dir : BUG#0 failing on F32+ From a3176f0430ad97a6a31b23ad0ea80eb28f1bdc92 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 11 Aug 2021 17:44:39 +0200 Subject: [PATCH 516/616] Disable more tests failing since 8.0.26 release exclusively on s390x architecture --- rh-skipped-tests-list-s390.list | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index a936ed9..b71e9ba 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -3,6 +3,12 @@ x.resource_groups : BUG#0 # Fails since 8.0.22 main.subquery_bugs : BUG#0 +main.subquery_sj_dupsweed : BUG#0 +main.subquery_sj_dupsweed_bka : BUG#0 +main.subquery_sj_dupsweed_bka_nobnl : BUG#0 +main.subquery_sj_firstmatch : BUG#0 +main.subquery_sj_firstmatch_bka : BUG#0 +main.subquery_sj_firstmatch_bka_nobnl : BUG#0 # Fails since F32 Mass Rebuild gis.geometry_class_attri_prop : BUG#0 @@ -17,6 +23,8 @@ gis.spatial_operators_symdifference : BUG#0 gis.spatial_op_testingfunc_mix : BUG#0 gis.spatial_utility_function_distance_sphere : BUG#0 gis.spatial_utility_function_simplify : BUG#0 +# Fails since 8.0.26 +main.gis-precise : BUG#0 main.window_std_var : BUG#0 main.window_std_var_optimized : BUG#0 @@ -25,3 +33,7 @@ main.with_recursive : BUG#0 # Unstable main.grant_dynamic_flush : BUG#0 +# Unstable since 8.0.26 +main.slow_log : BUG#0 +innodb.innodb_read_only-2 : BUG#0 +main.group_by : BUG#0 From 12fc3eaa4b5f01bd7b32ab32c6fd6a85eed71d65 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 11 Aug 2021 23:27:22 +0200 Subject: [PATCH 517/616] Switch to run just the base testsuite The extended testuite has been ran and examined --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index aad2bf7..abce1dd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,7 +17,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.25 +%global last_tested_version 8.0.26 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 From db9d7cef15632ea090feeef0227e0c35854f948d Mon Sep 17 00:00:00 2001 From: Sahana Prasad Date: Tue, 14 Sep 2021 18:59:45 +0200 Subject: [PATCH 518/616] Rebuilt with OpenSSL 3.0.0 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index abce1dd..18b82e6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.26 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -978,6 +978,9 @@ fi %endif %changelog +* Tue Sep 14 2021 Sahana Prasad - 8.0.26-2 +- Rebuilt with OpenSSL 3.0.0 + * Wed Jul 21 2021 Lars Tangvald - 8.0.26-1 - Update to MySQL 8.0.26 From f30d7d77093d3a8257b81991ece7a291f14457d9 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Mon, 25 Oct 2021 18:32:01 +0200 Subject: [PATCH 519/616] Rebuilt for protobuf 3.18.1 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 18b82e6..d4c8e9e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.26 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -978,6 +978,9 @@ fi %endif %changelog +* Mon Oct 25 2021 Adrian Reber - 8.0.26-3 +- Rebuilt for protobuf 3.18.1 + * Tue Sep 14 2021 Sahana Prasad - 8.0.26-2 - Rebuilt with OpenSSL 3.0.0 From e33f68c253a2044ab62d7bc748e60259468fe023 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 20 May 2021 14:22:38 +0200 Subject: [PATCH 520/616] Make MySQL compile with openssl 3.x without FIPS properly implemented This change takes some pieces from MariaDB, including compat_ssl.h and changes in my_md5.cc. MySQL utilizes FIPS_mode() and FIPS_mode_set() functions that are not available in OpenSSL 3.x any more. This patch only mocks the call of those functions, returning 0 every time, which effectively makes usage of those functions non working. For making the MySQL build with OpenSSL 3.x this seems to be enough though. --- This commit has been cherry-picked from CentOS Stream 9 https://gitlab.com/redhat/centos-stream/rpms/mysql/-/commit/51e2abe584f0684502a2be9bfd7fcf7324ca1bb2 and adjusted to be applicable to Fedora Rawhide --- community-mysql-openssl3.patch | 204 +++++++++++++++++++++++++++++++++ community-mysql.spec | 7 +- 2 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 community-mysql-openssl3.patch diff --git a/community-mysql-openssl3.patch b/community-mysql-openssl3.patch new file mode 100644 index 0000000..b545c41 --- /dev/null +++ b/community-mysql-openssl3.patch @@ -0,0 +1,204 @@ +Make MySQL compile with openssl 3.x without FIPS properly implemented + +This change takes some pieces from MariaDB, including compat_ssl.h and +changes in my_md5.cc. + +MySQL utilizes FIPS_mode() and FIPS_mode_set() functions that are not +available in OpenSSL 3.x any more. This patch only mocks the call of +those functions, returning 0 every time, which effectively makes usage +of those functions non working. For making the MySQL build with +OpenSSL 3.x this seems to be enough though. + +diff -rup mysql-8.0.22-orig/cmake/ssl.cmake mysql-8.0.22/cmake/ssl.cmake +--- mysql-8.0.22-orig/cmake/ssl.cmake 2021-05-19 21:36:33.161996422 +0200 ++++ mysql-8.0.22/cmake/ssl.cmake 2021-05-19 23:06:54.211877057 +0200 +@@ -227,8 +227,7 @@ MACRO (MYSQL_CHECK_SSL) + ENDIF() + IF(OPENSSL_INCLUDE_DIR AND + OPENSSL_LIBRARY AND +- CRYPTO_LIBRARY AND +- OPENSSL_MAJOR_VERSION STREQUAL "1" ++ CRYPTO_LIBRARY + ) + SET(OPENSSL_FOUND TRUE) + FIND_PROGRAM(OPENSSL_EXECUTABLE openssl +diff -rup mysql-8.0.22-orig/include/ssl_compat.h mysql-8.0.22/include/ssl_compat.h +--- mysql-8.0.22-orig/include/ssl_compat.h 2021-05-19 23:19:36.152956356 +0200 ++++ mysql-8.0.22/include/ssl_compat.h 2021-05-19 23:06:55.048885933 +0200 +@@ -0,0 +1,105 @@ ++/* ++ Copyright (c) 2016, 2021, MariaDB Corporation. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 of the License. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ++ ++#include ++ ++/* OpenSSL version specific definitions */ ++#if defined(OPENSSL_VERSION_NUMBER) ++ ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#define HAVE_OPENSSL11 1 ++#define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) ++#define ERR_remove_state(X) ERR_clear_error() ++#define EVP_CIPHER_CTX_SIZE 176 ++#define EVP_MD_CTX_SIZE 48 ++#undef EVP_MD_CTX_init ++#define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) ++#undef EVP_CIPHER_CTX_init ++#define EVP_CIPHER_CTX_init(X) do { memset((X), 0, EVP_CIPHER_CTX_SIZE); EVP_CIPHER_CTX_reset(X); } while(0) ++ ++/* ++ Macros below are deprecated. OpenSSL 1.1 may define them or not, ++ depending on how it was built. ++*/ ++#undef ERR_free_strings ++#define ERR_free_strings() ++#undef EVP_cleanup ++#define EVP_cleanup() ++#undef CRYPTO_cleanup_all_ex_data ++#define CRYPTO_cleanup_all_ex_data() ++#undef SSL_load_error_strings ++#define SSL_load_error_strings() ++ ++#else ++#define HAVE_OPENSSL10 1 ++#ifdef HAVE_WOLFSSL ++#define SSL_LIBRARY "WolfSSL " WOLFSSL_VERSION ++#else ++#define SSL_LIBRARY SSLeay_version(SSLEAY_VERSION) ++#endif ++ ++#ifdef HAVE_WOLFSSL ++#undef ERR_remove_state ++#define ERR_remove_state(x) do {} while(0) ++#elif defined (HAVE_ERR_remove_thread_state) ++#define ERR_remove_state(X) ERR_remove_thread_state(NULL) ++#endif /* HAVE_ERR_remove_thread_state */ ++ ++#endif /* HAVE_OPENSSL11 */ ++#endif ++ ++#ifdef HAVE_WOLFSSL ++#define EVP_MD_CTX_SIZE sizeof(wc_Md5) ++#endif ++ ++#ifndef HAVE_OPENSSL11 ++#ifndef ASN1_STRING_get0_data ++#define ASN1_STRING_get0_data(X) ASN1_STRING_data(X) ++#endif ++#ifndef EVP_MD_CTX_SIZE ++#define EVP_MD_CTX_SIZE sizeof(EVP_MD_CTX) ++#endif ++ ++#define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) ++#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) ++#define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) ++#define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) ++ ++#ifndef HAVE_WOLFSSL ++#define OPENSSL_init_ssl(X,Y) SSL_library_init() ++#define EVP_MD_CTX_reset(X) EVP_MD_CTX_cleanup(X) ++#define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X) ++#define X509_get0_notBefore(X) X509_get_notBefore(X) ++#define X509_get0_notAfter(X) X509_get_notAfter(X) ++#endif ++#endif ++ ++#ifndef TLS1_3_VERSION ++//#define SSL_CTX_set_ciphersuites(X,Y) 0 ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif /* __cplusplus */ ++ ++int check_openssl_compatibility(); ++ ++#define FIPS_mode_set(X) 0 ++#define FIPS_mode() 0 ++ ++#ifdef __cplusplus ++} ++#endif +diff -rup mysql-8.0.22-orig/mysys/my_md5.cc mysql-8.0.22/mysys/my_md5.cc +--- mysql-8.0.22-orig/mysys/my_md5.cc 2021-05-19 21:36:31.738980913 +0200 ++++ mysql-8.0.22/mysys/my_md5.cc 2021-05-19 23:13:41.380194493 +0200 +@@ -34,13 +34,12 @@ + + #include + #include ++#include ++#include + + static void my_md5_hash(unsigned char *digest, unsigned const char *buf, + int len) { +- MD5_CTX ctx; +- MD5_Init(&ctx); +- MD5_Update(&ctx, buf, len); +- MD5_Final(digest, &ctx); ++ MD5(buf, len, digest); + } + + /** +diff -rup mysql-8.0.22-orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc mysql-8.0.22/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc +--- mysql-8.0.22-orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc 2021-05-19 21:36:14.531793376 +0200 ++++ mysql-8.0.22/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc 2021-05-19 23:06:55.049885943 +0200 +@@ -25,6 +25,7 @@ + #include + #include + ++#include + #include + #include + #include +@@ -35,6 +36,7 @@ + #endif + + #include "openssl/engine.h" ++#include + + #include "xcom/task_debug.h" + #include "xcom/x_platform.h" +diff -rup mysql-8.0.22-orig/plugin/x/client/xconnection_impl.cc mysql-8.0.22/plugin/x/client/xconnection_impl.cc +--- mysql-8.0.22-orig/plugin/x/client/xconnection_impl.cc 2021-05-19 21:36:14.388791818 +0200 ++++ mysql-8.0.22/plugin/x/client/xconnection_impl.cc 2021-05-19 23:06:55.049885943 +0200 +@@ -31,6 +31,7 @@ + #ifdef HAVE_NETINET_IN_H + #include + #endif // HAVE_NETINET_IN_H ++#include + #include + #include + #include // NOLINT(build/c++11) +@@ -38,6 +39,7 @@ + #include + #include + #include ++#include + + #include "errmsg.h" // NOLINT(build/include_subdir) + #include "my_config.h" // NOLINT(build/include_subdir) +diff -rup mysql-8.0.22-orig/vio/viosslfactories.cc mysql-8.0.22/vio/viosslfactories.cc +--- mysql-8.0.22-orig/vio/viosslfactories.cc 2021-05-19 21:36:33.310998046 +0200 ++++ mysql-8.0.22/vio/viosslfactories.cc 2021-05-19 23:06:55.049885943 +0200 +@@ -39,7 +39,9 @@ + #include "mysys_err.h" + #include "vio/vio_priv.h" + ++#include + #include ++#include + + #if OPENSSL_VERSION_NUMBER < 0x10002000L + #include diff --git a/community-mysql.spec b/community-mysql.spec index d4c8e9e..3fc3cb8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.26 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -124,6 +124,7 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch56: %{pkgnamepatch}-mtr.patch Patch75: %{pkgnamepatch}-arm32-timer.patch +Patch79: %{pkgnamepatch}-openssl3.patch Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch # Patches taken from boost 1.59 @@ -391,6 +392,7 @@ the MySQL sources. %patch55 -p1 %patch56 -p1 %patch75 -p1 +%patch79 -p1 %patch80 -p1 # Patch Boost @@ -978,6 +980,9 @@ fi %endif %changelog +* Sat Oct 30 2021 Honza Horak - 8.0.26-4 +- Make MySQL compile with openssl 3.x without FIPS properly implemented + * Mon Oct 25 2021 Adrian Reber - 8.0.26-3 - Rebuilt for protobuf 3.18.1 From 2fba130bfd4aa97abe43d93902452a3154af15fa Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 30 Oct 2021 23:37:37 +0200 Subject: [PATCH 521/616] Apply the OpenSSL 3 patch conditionally This is usefull for Fedora Module builds, where a module build for N Fedora releases is done from a single commit or a branch. In the case of the 'mysql' module (from rpms/mysql repository) we currently reference a single commit. --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 3fc3cb8..6a4ada8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -392,7 +392,10 @@ the MySQL sources. %patch55 -p1 %patch56 -p1 %patch75 -p1 +# OpenSSL 3.0 has been introduced to F36 +%if 0%{?fedora} >= 36 %patch79 -p1 +%endif %patch80 -p1 # Patch Boost From 37dc9057d613a3692a9d09653885211aae1f7628 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Oct 2021 01:35:00 +0200 Subject: [PATCH 522/616] OpenSSL 3 patch - ignore failing tests Some tests started to fail reproducibly after the application of the OpenSSL 3 patch. It is yet to be determined which tests results can be ignored (e.g. when the test is dependent on a specific version 1.x of OpenSSL) and which tests found real issues. Related: #2015516 --- rh-skipped-tests-list-base.list | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 1b5d37d..d67e06d 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -30,3 +30,20 @@ x.connection_unixsocket : BUG#0 x.connection_unixsocket_invalid : BUG#0 x.connection_unixsocket_lock : BUG#0 innodb.innodb_bug-13628249 : BUG#0 + +# OpenSSL 3 - 100% failing test on Fedora 36 +auth_sec.admin_channel_tls : BUG#0 +auth_sec.cipher_support : BUG#0 +auth_sec.openssl_cert_generation : BUG#0 +auth_sec.ssl_mode : BUG#0 +auth_sec.tls : BUG#0 +binlog.binlog_grant_alter_user : BUG#0 +main.grant_alter_user_qa : BUG#0 +main.grant_user_lock_qa : BUG#0 +main.openssl_1 : BUG#0 +main.ssl_cipher : BUG#0 +main.ssl_dynamic : BUG#0 +x.connection_openssl : BUG#0 +x.connection_openssl_unixsocket : BUG#0 +# OpenSSL 3 - unstable +innodb.innodb_read_only-2 : BUG#0 From c032b2a4cf154e5bcfda2bf5c62b41c7fca55baf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Oct 2021 02:34:59 +0200 Subject: [PATCH 523/616] Enhance the description for a skipped test Related: #2018764 --- rh-skipped-tests-list-base.list | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index d67e06d..44655fc 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -16,8 +16,11 @@ auth_sec.tls13_tls1 : BUG#0 Expected to fail on F33+ main.ssl_deprecated_tls_versions : BUG#0 Expected to fail on F33+ x.connection_tls_version : BUG#0 Expected to fail on F33+ -# Fails when -DENABLED_LOCAL_INFILE=ON -main.mysql_load_data_local_dir : BUG#0 failing on F32+ +# We intentionaly compile in a different default value than the upstream +# Thus the commands expected by upstream to fail succeeds in our builds +# and thus the test fails +# Cmake option: -DENABLED_LOCAL_INFILE=ON +main.mysql_load_data_local_dir : BUG#0 Intentional divergence from the upstream compiled-in default # Unstable innodb.innodb_force_recovery : BUG#0 unstable since 8.0.24 on F32+ From 37ef2829ae428cfb7b7564ffdcac6ba752585663 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Oct 2021 02:50:27 +0200 Subject: [PATCH 524/616] Remove obsolete bits for F32 and older --- community-mysql.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6a4ada8..f99befb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,7 +1,3 @@ -# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds -# So the beaviour will be the same also in F31 nad F32 -%undefine __cmake_in_source_build - # Name of the package without any prefixes %global pkg_name %{name} %global pkgnamepatch community-mysql From 941a1c3769d699b826848e6515962a8a06688a2f Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Tue, 12 Oct 2021 15:54:40 +0200 Subject: [PATCH 525/616] [1/3] Update to MySQL 8.0.27 --- community-mysql-s390-tsc.patch | 12 ++++++------ community-mysql.spec | 7 +++++-- sources | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index 3fca0ac..f86899c 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -2,21 +2,21 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h -index 65f7df19..a28f470c 100644 +index b411eda0..03fc9a58 100644 --- a/include/my_rdtsc.h +++ b/include/my_rdtsc.h @@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti); #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 - #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 + /* #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 - No longer used */ #define MY_TIMER_ROUTINE_ASM_AARCH64 28 +#define MY_TIMER_ROUTINE_ASM_S390 29 #endif diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc -index 54d19691..f18c182f 100644 +index d9756487..817aa9d6 100644 --- a/mysys/my_rdtsc.cc +++ b/mysys/my_rdtsc.cc -@@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) { +@@ -168,6 +168,13 @@ ulonglong my_timer_cycles(void) { __asm __volatile__("mrs %[rt],cntvct_el0" : [ rt ] "=r"(result)); return result; } @@ -30,8 +30,8 @@ index 54d19691..f18c182f 100644 #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ return (ulonglong)gethrtime(); -@@ -505,6 +512,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { - mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC32; +@@ -453,6 +460,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { + mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC64; #elif defined(__GNUC__) && defined(__aarch64__) mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64; +#elif defined(__GNUC__) && defined(__s390__) diff --git a/community-mysql.spec b/community-mysql.spec index f99befb..f6f25d8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.26 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 8.0.27 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -979,6 +979,9 @@ fi %endif %changelog +* Sun Oct 31 2021 Lars Tangvald - 8.0.27-1 +- Update to MySQL 8.0.27 + * Sat Oct 30 2021 Honza Horak - 8.0.26-4 - Make MySQL compile with openssl 3.x without FIPS properly implemented diff --git a/sources b/sources index 598a7e7..d80ec8a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.26.tar.gz) = 63d47cb52407a816dc9f4330b99924624dfee46e57e7fdce19eff32909dd9e23251e2439d1807b002a1661b547173222c77465a3ca4dbb312414a84927809cfc +SHA512 (mysql-boost-8.0.27.tar.gz) = 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891 From 8a254cacfd330d12ea5b0e7680ab16efa6fe5cec Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Oct 2021 02:55:34 +0200 Subject: [PATCH 526/616] [2/3] OpenSSL 3 patch rebase for MySQL 8.0.27 The source code structure for the Group replication has been changed by upstream. --- community-mysql-openssl3.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/community-mysql-openssl3.patch b/community-mysql-openssl3.patch index b545c41..632691f 100644 --- a/community-mysql-openssl3.patch +++ b/community-mysql-openssl3.patch @@ -151,10 +151,10 @@ diff -rup mysql-8.0.22-orig/mysys/my_md5.cc mysql-8.0.22/mysys/my_md5.cc } /** -diff -rup mysql-8.0.22-orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc mysql-8.0.22/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc ---- mysql-8.0.22-orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc 2021-05-19 21:36:14.531793376 +0200 -+++ mysql-8.0.22/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc 2021-05-19 23:06:55.049885943 +0200 -@@ -25,6 +25,7 @@ +diff -Naurp mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc* +--- mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc 2021-09-28 13:46:34.000000000 +0200 ++++ mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc_patched 2021-10-31 10:57:37.865934624 +0100 +@@ -30,6 +30,7 @@ #include #include @@ -162,7 +162,7 @@ diff -rup mysql-8.0.22-orig/plugin/group_replication/libmysqlgcs/src/bindings/xc #include #include #include -@@ -35,6 +36,7 @@ +@@ -39,6 +40,7 @@ #endif #include "openssl/engine.h" From 2471d17ba7ce3305fa64d1f2df36cc1b0e7250ba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Oct 2021 15:03:48 +0100 Subject: [PATCH 527/616] [3/3] Update failing tests list for MySQL 8.0.27 The full testsuite has been run multiple times on multiple Fedora releases, thus updating the "last_tested_version" Note: the additional failing tests on s390x are NOT OpenSSL 3 related --- community-mysql.spec | 2 +- rh-skipped-tests-list-base.list | 6 ++++-- rh-skipped-tests-list-s390.list | 4 ++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f6f25d8..49e2f65 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.26 +%global last_tested_version 8.0.27 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 44655fc..4c07a47 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -34,7 +34,7 @@ x.connection_unixsocket_invalid : BUG#0 x.connection_unixsocket_lock : BUG#0 innodb.innodb_bug-13628249 : BUG#0 -# OpenSSL 3 - 100% failing test on Fedora 36 +# OpenSSL 3 - 100% failing tests on Fedora 36 - MySQL 8.0.26 auth_sec.admin_channel_tls : BUG#0 auth_sec.cipher_support : BUG#0 auth_sec.openssl_cert_generation : BUG#0 @@ -48,5 +48,7 @@ main.ssl_cipher : BUG#0 main.ssl_dynamic : BUG#0 x.connection_openssl : BUG#0 x.connection_openssl_unixsocket : BUG#0 -# OpenSSL 3 - unstable +# OpenSSL 3 - unstable tests - MySQL 8.0.26 innodb.innodb_read_only-2 : BUG#0 +# OpenSSL 3 - 100% failing tests on Fedora 36 - MySQL 8.0.27 +auth_sec.openssl_without_fips : BUG#0 diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index b71e9ba..2e9c16b 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -37,3 +37,7 @@ main.grant_dynamic_flush : BUG#0 main.slow_log : BUG#0 innodb.innodb_read_only-2 : BUG#0 main.group_by : BUG#0 + +# Failing since 8.0.27 +gis.st_symdifference : BUG#0 +main.regular_expressions_utf-8 : BUG#0 From e2b8e06fcb72365a72c983c983a41a56f4f2c122 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 7 Nov 2021 12:34:34 +0900 Subject: [PATCH 528/616] rebuild for new protobuf --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 49e2f65..18fe0b2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.27 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -979,6 +979,9 @@ fi %endif %changelog +* Sun Nov 07 2021 Mamoru TASAKA - 8.0.27-2 +- rebuild for new protobuf + * Sun Oct 31 2021 Lars Tangvald - 8.0.27-1 - Update to MySQL 8.0.27 From 61a0703bf603ac2c5fc643aa91aa4a71198055f4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 23:40:06 +0000 Subject: [PATCH 529/616] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 18fe0b2..30176ef 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.27 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -979,6 +979,9 @@ fi %endif %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 8.0.27-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Sun Nov 07 2021 Mamoru TASAKA - 8.0.27-2 - rebuild for new protobuf From ed43d23321f5bce75ba5594312dfeda1d5cc8816 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 6 Jan 2022 15:47:39 +0100 Subject: [PATCH 530/616] Update to MySQL 8.0.28 --- community-mysql-arm32-timer.patch | 8 ++++---- community-mysql-s390-tsc.patch | 14 +++++++------- community-mysql.spec | 7 +++++-- sources | 2 +- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 3edd785..d9c616c 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,10 @@ diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index 7a56616a..5e5f7950 100644 +index eff14a67..413dfc27 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql -@@ -359,6 +359,11 @@ INSERT INTO global_suppressions VALUES - ("A deprecated TLS version TLSv1 is enabled for channel"), - ("A deprecated TLS version TLSv1.1 is enabled for channel"), +@@ -363,6 +363,11 @@ INSERT INTO global_suppressions VALUES + */ + ("Manifest file '.*' is not read-only. For better security, please make sure that the file is read-only."), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index f86899c..21fd2d4 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -2,21 +2,21 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h -index b411eda0..03fc9a58 100644 +index 6e378e94..7703cf85 100644 --- a/include/my_rdtsc.h +++ b/include/my_rdtsc.h -@@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti); - #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 +@@ -137,5 +137,6 @@ void my_timer_init(MY_TIMER_INFO *mti); /* #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 - No longer used */ #define MY_TIMER_ROUTINE_ASM_AARCH64 28 -+#define MY_TIMER_ROUTINE_ASM_S390 29 + #define MY_TIMER_ROUTINE_GET_THREAD_TIMES 29 ++#define MY_TIMER_ROUTINE_ASM_S390 30 #endif diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc -index d9756487..817aa9d6 100644 +index 3869db57..655a955e 100644 --- a/mysys/my_rdtsc.cc +++ b/mysys/my_rdtsc.cc -@@ -168,6 +168,13 @@ ulonglong my_timer_cycles(void) { +@@ -169,6 +169,13 @@ ulonglong my_timer_cycles(void) { __asm __volatile__("mrs %[rt],cntvct_el0" : [ rt ] "=r"(result)); return result; } @@ -30,7 +30,7 @@ index d9756487..817aa9d6 100644 #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ return (ulonglong)gethrtime(); -@@ -453,6 +460,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { +@@ -491,6 +498,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC64; #elif defined(__GNUC__) && defined(__aarch64__) mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64; diff --git a/community-mysql.spec b/community-mysql.spec index 30176ef..7dae3c3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.27 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.28 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -979,6 +979,9 @@ fi %endif %changelog +* Wed Jan 19 2022 Lars Tangvald - 8.0.28-1 +- Update to MySQL 8.0.28 + * Wed Jan 19 2022 Fedora Release Engineering - 8.0.27-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index d80ec8a..1cf6637 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.27.tar.gz) = 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891 +SHA512 (mysql-boost-8.0.28.tar.gz) = 4473678619a03a6c1349ce7330127f03d2da70b5b598375015abe871a0591171fc206f6e248b20085b46a0f465c52408bcadcb732ff72a737c012364d1e46297 From 0f6b82ffe795b620b22c25eddc170a0065988235 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 28 Jan 2022 15:31:14 +0100 Subject: [PATCH 531/616] Introduce a new BuildRequires needed since MySQL 8.0.28 release --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 7dae3c3..32ee7cf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -201,6 +201,9 @@ BuildRequires: perl(warnings) BuildRequires: systemd BuildRequires: make +# Since MySQL 8.0.28 +BuildRequires: libfido2-devel + Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} @@ -482,6 +485,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ -DWITH_MECAB=system \ + -DWITH_FIDO=system \ -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ From ea068f62ad2daf71bdf6f098b7bc8d06beba141d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 25 Jan 2022 18:27:19 +0100 Subject: [PATCH 532/616] Fixes for GCC 12 --- community-mysql-gcc12.patch | 60 +++++++++++++++++++++++++++++++++++++ community-mysql.spec | 6 ++++ 2 files changed, 66 insertions(+) create mode 100644 community-mysql-gcc12.patch diff --git a/community-mysql-gcc12.patch b/community-mysql-gcc12.patch new file mode 100644 index 0000000..7c260be --- /dev/null +++ b/community-mysql-gcc12.patch @@ -0,0 +1,60 @@ +[ 47%] Building CXX object components/logging/CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o +cd /builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/components/logging && /usr/bin/g++ -DHAVE_CONFIG_H -DLZ4_DISABLE_DEPRECATE_WARNINGS -DMYSQL_COMPONENT -DRAPIDJSON_NO_SIZETYPEDEFINE -DRAPIDJSON_SCHEMA_USE_INTERNALREGEX=0 -DRAPIDJSON_SCHEMA_USE_STDREGEX=1 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_USE_MATH_DEFINES -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Dcomponent_log_sink_syseventlog_EXPORTS -I/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build -I/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/include -I/builddir/build/BUILD/mysql-8.0.28 -I/builddir/build/BUILD/mysql-8.0.28/include -isystem /builddir/build/BUILD/mysql-8.0.28/extra/rapidjson/include -isystem /usr/include/editline -std=c++17 -fno-omit-frame-pointer -ftls-model=initial-exec -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -MD -MT components/logging/CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -MF CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o.d -o CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -c /builddir/build/BUILD/mysql-8.0.28/components/logging/log_sink_syseventlog.cc +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc: In static member function 'static int keyring_common::service_definition::Log_builtins_keyring::line_submit(log_line*)': +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:266:12: error: 'unique_ptr' is not a member of 'std' + 266 | std::unique_ptr date{new char[date_length]}; + | ^~~~~~~~~~ +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:49:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? + 48 | #include "mysqld_ername.h" + +++ |+#include + 49 | #endif /* IN_DOXYGEN */ +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:266:23: error: expected primary-expression before 'char' + 266 | std::unique_ptr date{new char[date_length]}; + | ^~~~ +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:267:16: error: 'date' was not declared in this scope + 267 | strftime(date.get(), date_length, format, &tm); + | ^~~~ +gmake[2]: Leaving directory '/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build' + + + +--- mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc 2021-12-17 17:07:27.000000000 +0100 ++++ mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc_patched 2022-01-24 13:42:33.252351078 +0100 +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include + +[ 16%] Linking CXX executable ../runtime_output_directory/comp_client_err +cd /builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/utilities && /usr/bin/cmake -E cmake_link_script CMakeFiles/comp_client_err.dir/link.txt --verbose=1 +/usr/bin/g++ -std=c++17 -fno-omit-frame-pointer -ftls-model=initial-exec -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/.package_note-community-mysql-8.0.28-1.fc36.x86_64.ld -pie -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/.package_note-community-mysql-8.0.28-1.fc36.x86_64.ld CMakeFiles/comp_client_err.dir/comp_client_err.cc.o CMakeFiles/comp_client_err.dir/__/libmysql/errmsg.cc.o -o ../runtime_output_directory/comp_client_err ../archive_output_directory/libmysys.a ../archive_output_directory/libstrings.a ../archive_output_directory/libmysys.a ../archive_output_directory/libstrings.a ../archive_output_directory/libmytime.a /usr/lib64/libz.so /usr/lib64/libzstd.so -lm /usr/lib64/libssl.so /usr/lib64/libcrypto.so +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc: In function 'std::ostream& operator<<(std::ostream&, const Datetime&)': +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:39:8: error: 'unique_ptr' is not a member of 'std' + 39 | std::unique_ptr date{new char[date_length]}; + | ^~~~~~~~~~ +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:30:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? + 29 | #include + +++ |+#include + 30 | +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:39:19: error: expected primary-expression before 'char' + 39 | std::unique_ptr date{new char[date_length]}; + | ^~~~ +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:40:12: error: 'date' was not declared in this scope + 40 | strftime(date.get(), date_length, format, &tm); + | ^~~~ +gmake[2]: *** [client/CMakeFiles/mysql_ssl_rsa_setup.dir/build.make:79: client/CMakeFiles/mysql_ssl_rsa_setup.dir/logger.cc.o] Error 1 +gmake[2]: *** Waiting for unfinished jobs.... + +--- mysql-8.0.28/client/logger.cc 2021-12-17 17:07:27.000000000 +0100 ++++ mysql-8.0.28/client/logger.cc_patched 2022-01-24 11:52:45.172650792 +0100 +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + using namespace std; + diff --git a/community-mysql.spec b/community-mysql.spec index 32ee7cf..63c48e6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -122,6 +122,7 @@ Patch56: %{pkgnamepatch}-mtr.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch79: %{pkgnamepatch}-openssl3.patch Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch +Patch81: %{pkgnamepatch}-gcc12.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -397,6 +398,11 @@ the MySQL sources. %endif %patch80 -p1 +# GCC 12 has been introduced to F36 +%if 0%{?fedora} >= 36 +%patch81 -p1 +%endif + # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch115 -p0 From 5e41085542cd61d237cc21ba4c620e1334d0788c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 30 Jan 2022 22:57:44 +0100 Subject: [PATCH 533/616] The test "main.ssl_deprecated_tls_versions" no longer exists and it breaks the MTR when a non-existent test is marked for skipping --- rh-skipped-tests-list-base.list | 1 - 1 file changed, 1 deletion(-) diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 4c07a47..090dc2b 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -13,7 +13,6 @@ main.mtr_unit_tests : BUG#0 failing on F35+ # Tests pass when using legacy crypto-policies seetings auth_sec.tls12_tls1 : BUG#0 Expected to fail on F33+ auth_sec.tls13_tls1 : BUG#0 Expected to fail on F33+ -main.ssl_deprecated_tls_versions : BUG#0 Expected to fail on F33+ x.connection_tls_version : BUG#0 Expected to fail on F33+ # We intentionaly compile in a different default value than the upstream From dd3ea12884790612e9eb3f5ebf716eb05f166707 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 31 Jan 2022 05:23:53 +0100 Subject: [PATCH 534/616] Update failing tests list for MySQL 8.0.28 --- community-mysql.spec | 2 +- rh-skipped-tests-list-arm.list | 10 +++------- rh-skipped-tests-list-base.list | 18 ++++++++---------- rh-skipped-tests-list-ppc.list | 1 - rh-skipped-tests-list-s390.list | 21 ++++++--------------- 5 files changed, 18 insertions(+), 34 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 63c48e6..f243e76 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.27 +%global last_tested_version 8.0.28 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-list-arm.list b/rh-skipped-tests-list-arm.list index 4f73b0d..f3636f4 100644 --- a/rh-skipped-tests-list-arm.list +++ b/rh-skipped-tests-list-arm.list @@ -8,12 +8,8 @@ perfschema.setup_objects : BUG#0 missing hw on 32-bit arm clone.remote_error_basic : BUG#0 fails since 8.0.19 on F32+, max_allowed_packet is 0 -clone.remote_dml_auto_tune : BUG#0 - -# Unstable -clone.local_dml_auto_tune : BUG#0 +# Fails consistently innodb.innodb_bug-13628249 : BUG#0 -main.grant_dynamic_flush : BUG#0 -innodb.innodb_read_only : BUG#0 -rpl_nogtid.rpl_mixed_mixing_engines : BUG#0 timeout after 1800 secs or armv7hl +# Failing since MySQL 8.0.28 +main.func_unixtime_64bits : BUG#0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 090dc2b..0c87489 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -1,8 +1,3 @@ -# Fails on all arches -main.subquery_sj_mat_bka_nobnl : BUG#0 failing since 8.0.24 on F32+ -main.derived_limit : BUG#0 failing since 8.0.24 on F32+ -main.explain_tree : BUG#0 failing since 8.0.24 on F32+ - auth_sec.keyring_file_data_qa : BUG#0 failing on F32+ innodb.alter_kill : BUG#0 failing on F34+ main.mtr_unit_tests : BUG#0 failing on F35+ @@ -11,8 +6,6 @@ main.mtr_unit_tests : BUG#0 failing on F35+ # TLS 1.1 and older has been disabled by system-wide crypto-policies setting # https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2 # Tests pass when using legacy crypto-policies seetings -auth_sec.tls12_tls1 : BUG#0 Expected to fail on F33+ -auth_sec.tls13_tls1 : BUG#0 Expected to fail on F33+ x.connection_tls_version : BUG#0 Expected to fail on F33+ # We intentionaly compile in a different default value than the upstream @@ -23,9 +16,6 @@ main.mysql_load_data_local_dir : BUG#0 Intentional divergence from t # Unstable innodb.innodb_force_recovery : BUG#0 unstable since 8.0.24 on F32+ -clone.local_dml_auto_tune : BUG#0 unstable on x86_64 and i686 -perfschema.threads_mysql : BUG#0 unstable on x86_64 and i686 -rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 unstable on x86_64 and i686 # Failing on 32-bit arches: armv7hl i686 s390x; since MySQL 8.0.25 x.connection_unixsocket : BUG#0 @@ -51,3 +41,11 @@ x.connection_openssl_unixsocket : BUG#0 innodb.innodb_read_only-2 : BUG#0 # OpenSSL 3 - 100% failing tests on Fedora 36 - MySQL 8.0.27 auth_sec.openssl_without_fips : BUG#0 + +# Failing since MySQL 8.0.28 +innodb.trigger_function_lock_compare : BUG#0 +main.func_math : BUG#0 +main.index_merge_myisam : BUG#0 +main.merge_myisam : BUG#0 +main.parser_precedence : BUG#0 +rpl.rpl_auto_increment_myisam : BUG#0 diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index d4da526..b7dcd2c 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -1,3 +1,2 @@ # ppc64le sys_vars.innodb_buffer_pool_size_basic : BUG#0 fails only on ppc64le on f32+ - diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index 2e9c16b..0bb1503 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -17,27 +17,18 @@ gis.gis_bugs_crashes : BUG#0 gis.spatial_analysis_functions_buffer : BUG#0 gis.spatial_analysis_functions_centroid : BUG#0 gis.spatial_analysis_functions_distance : BUG#0 -gis.spatial_operators_intersection : BUG#0 -gis.spatial_operators_union : BUG#0 -gis.spatial_operators_symdifference : BUG#0 gis.spatial_op_testingfunc_mix : BUG#0 gis.spatial_utility_function_distance_sphere : BUG#0 gis.spatial_utility_function_simplify : BUG#0 -# Fails since 8.0.26 -main.gis-precise : BUG#0 +# Fails since 8.0.26 main.window_std_var : BUG#0 main.window_std_var_optimized : BUG#0 -main.with_recursive : BUG#0 - -# Unstable -main.grant_dynamic_flush : BUG#0 - -# Unstable since 8.0.26 -main.slow_log : BUG#0 -innodb.innodb_read_only-2 : BUG#0 -main.group_by : BUG#0 # Failing since 8.0.27 gis.st_symdifference : BUG#0 -main.regular_expressions_utf-8 : BUG#0 + +# Since 8.0.28 fails only on s390x +main.subquery_sj_mat_bka_nobnl : BUG#0 failing since 8.0.24 on F32+ +main.derived_limit : BUG#0 failing since 8.0.24 on F32+ +main.explain_tree : BUG#0 failing since 8.0.24 on F32+ From f5302202e669987ba81ace09087056d2b9e224cf Mon Sep 17 00:00:00 2001 From: Zuzana Miklankova Date: Tue, 22 Mar 2022 14:16:57 +0100 Subject: [PATCH 535/616] ignore udf_example.so in badfuncs check Resolves: #2047868 udf_example.so contains following deprecated functions: gethostbyaddr gethostbyname inet_addr inet_ntoa The udf_example.so can be ignored from badfuncs check, because it is an exemplary file, showing users how to write own loadable functions. Even though code from this .so can be used in mysql server, it needs to be manually loaded by the user. Deprecated functions have been reported upstream [1]. [1] https://bugs.mysql.com/bug.php?id=106797 --- rpminspect.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 rpminspect.yaml diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..201eb49 --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,5 @@ +badfuncs: + ignore: + # udf_example.so can be ignored, as it is an example of how to write loadable functions + # Loadable functions were formerly know as UDF (User Defined Functions). + - /usr/lib64/mysql/plugin/udf_example.so From cc0a1754f9d8f6b421cdfee35092af62ffa19def Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Wed, 20 Apr 2022 12:32:18 +0200 Subject: [PATCH 536/616] [1/2] Update to MySQL 8.0.29 --- community-mysql-gcc12.patch | 60 ------------------------------------- community-mysql.spec | 14 ++++----- sources | 2 +- 3 files changed, 7 insertions(+), 69 deletions(-) delete mode 100644 community-mysql-gcc12.patch diff --git a/community-mysql-gcc12.patch b/community-mysql-gcc12.patch deleted file mode 100644 index 7c260be..0000000 --- a/community-mysql-gcc12.patch +++ /dev/null @@ -1,60 +0,0 @@ -[ 47%] Building CXX object components/logging/CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -cd /builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/components/logging && /usr/bin/g++ -DHAVE_CONFIG_H -DLZ4_DISABLE_DEPRECATE_WARNINGS -DMYSQL_COMPONENT -DRAPIDJSON_NO_SIZETYPEDEFINE -DRAPIDJSON_SCHEMA_USE_INTERNALREGEX=0 -DRAPIDJSON_SCHEMA_USE_STDREGEX=1 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_USE_MATH_DEFINES -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Dcomponent_log_sink_syseventlog_EXPORTS -I/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build -I/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/include -I/builddir/build/BUILD/mysql-8.0.28 -I/builddir/build/BUILD/mysql-8.0.28/include -isystem /builddir/build/BUILD/mysql-8.0.28/extra/rapidjson/include -isystem /usr/include/editline -std=c++17 -fno-omit-frame-pointer -ftls-model=initial-exec -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -MD -MT components/logging/CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -MF CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o.d -o CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -c /builddir/build/BUILD/mysql-8.0.28/components/logging/log_sink_syseventlog.cc -/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc: In static member function 'static int keyring_common::service_definition::Log_builtins_keyring::line_submit(log_line*)': -/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:266:12: error: 'unique_ptr' is not a member of 'std' - 266 | std::unique_ptr date{new char[date_length]}; - | ^~~~~~~~~~ -/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:49:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? - 48 | #include "mysqld_ername.h" - +++ |+#include - 49 | #endif /* IN_DOXYGEN */ -/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:266:23: error: expected primary-expression before 'char' - 266 | std::unique_ptr date{new char[date_length]}; - | ^~~~ -/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:267:16: error: 'date' was not declared in this scope - 267 | strftime(date.get(), date_length, format, &tm); - | ^~~~ -gmake[2]: Leaving directory '/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build' - - - ---- mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc 2021-12-17 17:07:27.000000000 +0100 -+++ mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc_patched 2022-01-24 13:42:33.252351078 +0100 -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include - -[ 16%] Linking CXX executable ../runtime_output_directory/comp_client_err -cd /builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/utilities && /usr/bin/cmake -E cmake_link_script CMakeFiles/comp_client_err.dir/link.txt --verbose=1 -/usr/bin/g++ -std=c++17 -fno-omit-frame-pointer -ftls-model=initial-exec -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/.package_note-community-mysql-8.0.28-1.fc36.x86_64.ld -pie -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/.package_note-community-mysql-8.0.28-1.fc36.x86_64.ld CMakeFiles/comp_client_err.dir/comp_client_err.cc.o CMakeFiles/comp_client_err.dir/__/libmysql/errmsg.cc.o -o ../runtime_output_directory/comp_client_err ../archive_output_directory/libmysys.a ../archive_output_directory/libstrings.a ../archive_output_directory/libmysys.a ../archive_output_directory/libstrings.a ../archive_output_directory/libmytime.a /usr/lib64/libz.so /usr/lib64/libzstd.so -lm /usr/lib64/libssl.so /usr/lib64/libcrypto.so -/builddir/build/BUILD/mysql-8.0.28/client/logger.cc: In function 'std::ostream& operator<<(std::ostream&, const Datetime&)': -/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:39:8: error: 'unique_ptr' is not a member of 'std' - 39 | std::unique_ptr date{new char[date_length]}; - | ^~~~~~~~~~ -/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:30:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? - 29 | #include - +++ |+#include - 30 | -/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:39:19: error: expected primary-expression before 'char' - 39 | std::unique_ptr date{new char[date_length]}; - | ^~~~ -/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:40:12: error: 'date' was not declared in this scope - 40 | strftime(date.get(), date_length, format, &tm); - | ^~~~ -gmake[2]: *** [client/CMakeFiles/mysql_ssl_rsa_setup.dir/build.make:79: client/CMakeFiles/mysql_ssl_rsa_setup.dir/logger.cc.o] Error 1 -gmake[2]: *** Waiting for unfinished jobs.... - ---- mysql-8.0.28/client/logger.cc 2021-12-17 17:07:27.000000000 +0100 -+++ mysql-8.0.28/client/logger.cc_patched 2022-01-24 11:52:45.172650792 +0100 -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - using namespace std; - diff --git a/community-mysql.spec b/community-mysql.spec index f243e76..5af1974 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -46,7 +46,7 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug -%global boost_bundled_version 1.73.0 +%global boost_bundled_version 1.77.0 # Include files for systemd %global daemon_name mysqld @@ -75,7 +75,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.28 +Version: 8.0.29 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -122,7 +122,6 @@ Patch56: %{pkgnamepatch}-mtr.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch79: %{pkgnamepatch}-openssl3.patch Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch -Patch81: %{pkgnamepatch}-gcc12.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -398,11 +397,6 @@ the MySQL sources. %endif %patch80 -p1 -# GCC 12 has been introduced to F36 -%if 0%{?fedora} >= 36 -%patch81 -p1 -%endif - # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch115 -p0 @@ -925,6 +919,7 @@ fi %{_libdir}/mysql/plugin/component_test_mysql_system_variable_set.so %{_libdir}/mysql/plugin/component_test_pfs_notification.so %{_libdir}/mysql/plugin/component_test_pfs_resource_group.so +%{_libdir}/mysql/plugin/component_test_sensitive_system_variables.so %{_libdir}/mysql/plugin/component_test_status_var_service_int.so %{_libdir}/mysql/plugin/component_test_status_var_service_reg_only.so %{_libdir}/mysql/plugin/component_test_status_var_service.so @@ -989,6 +984,9 @@ fi %endif %changelog +* Wed Apr 20 2022 Lars Tangvald - 8.0.29-1 +- Update to MySQL 8.0.29 + * Wed Jan 19 2022 Lars Tangvald - 8.0.28-1 - Update to MySQL 8.0.28 diff --git a/sources b/sources index 1cf6637..eeb03c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.28.tar.gz) = 4473678619a03a6c1349ce7330127f03d2da70b5b598375015abe871a0591171fc206f6e248b20085b46a0f465c52408bcadcb732ff72a737c012364d1e46297 +SHA512 (mysql-boost-8.0.29.tar.gz) = fd67f306ef8be60b4010e34e8ccc2c26577256200c183d71149743eeb5c038fd72adde107bfee34abd7df318902db6f94646a482f9f29a8396a6d57014b81b8a From 76de4069c13074b067f793aca4998cd9931f265f Mon Sep 17 00:00:00 2001 From: Terje Rosten Date: Mon, 20 Jun 2022 13:53:45 +0200 Subject: [PATCH 537/616] [2/2] Update to MySQL 8.0.29 - fix of Boost on ppc64le --- ...fix_multiprecision_issue_419-ppc64le.patch | 27 +++++++++++++++++++ community-mysql.spec | 4 +++ rh-skipped-tests-list-base.list | 4 +++ 3 files changed, 35 insertions(+) create mode 100644 boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch diff --git a/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch b/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch new file mode 100644 index 0000000..5cd6d40 --- /dev/null +++ b/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch @@ -0,0 +1,27 @@ +From d1343f28dcbe25b100b082b34775bd92ead4602c Mon Sep 17 00:00:00 2001 +From: jzmaddock +Date: Tue, 25 Jan 2022 09:27:40 +0000 +Subject: [PATCH] Update gcc Intel intrinsic usage config. Fixes + https://github.com/boostorg/multiprecision/issues/419. + +--- + include/boost/multiprecision/cpp_int/intel_intrinsics.hpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp +index eb4624bb4..37717cd51 100644 +--- a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp ++++ b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp +@@ -19,7 +19,11 @@ + // If this is GCC/clang, then check that the actual intrinsic exists: + // + #if defined(__has_builtin) && defined(__GNUC__) +-#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) && !(defined(BOOST_GCC) && (__GNUC__ >= 9)) ++#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) \ ++ && !(defined(BOOST_GCC) && (__GNUC__ >= 9) \ ++ && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)\ ++ || defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_AMD64) \ ++ || defined(_M_X64) || defined(__amd64__) || defined(_M_X64))) + #undef BOOST_MP_HAS_IMMINTRIN_H + #endif + #elif defined(BOOST_MP_HAS_IMMINTRIN_H) && defined(__GNUC__) && !(defined(BOOST_GCC) && (__GNUC__ >= 9)) diff --git a/community-mysql.spec b/community-mysql.spec index 5af1974..6906ecc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -127,6 +127,9 @@ Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch +# Patches taken from boost 1.76 +Patch126: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch + BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libaio-devel @@ -401,6 +404,7 @@ the MySQL sources. pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch115 -p0 %patch125 -p1 +%patch126 -p2 popd diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 0c87489..a5f2ad9 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -49,3 +49,7 @@ main.index_merge_myisam : BUG#0 main.merge_myisam : BUG#0 main.parser_precedence : BUG#0 rpl.rpl_auto_increment_myisam : BUG#0 + +# Failing since MySQL 8.0.29 +main.mysqlpump_bugs : BUG#0 +main.slow_log : BUG#0 From f5c1f14c5f258ff023e5ea6ccdea21f25f2dfca7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 23:24:32 +0000 Subject: [PATCH 538/616] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6906ecc..d4a3ab9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.29 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -988,6 +988,9 @@ fi %endif %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 8.0.29-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Apr 20 2022 Lars Tangvald - 8.0.29-1 - Update to MySQL 8.0.29 From daef10959b0c236930b758c59a4220b3816720c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Mon, 1 Aug 2022 15:02:57 +0200 Subject: [PATCH 539/616] Rebuilt for ICU 71.1 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index d4a3ab9..211997b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.29 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -988,6 +988,9 @@ fi %endif %changelog +* Mon Aug 01 2022 Frantisek Zatloukal - 8.0.29-3 +- Rebuilt for ICU 71.1 + * Wed Jul 20 2022 Fedora Release Engineering - 8.0.29-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From b61612b0ad2ccef213d0104645aba2f030a2a7f1 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 4 Aug 2022 20:03:21 +0200 Subject: [PATCH 540/616] [1/2] Update to MySQL 8.0.30 --- community-mysql-chain-certs.patch | 24 --- community-mysql-fix-includes-robin-hood.patch | 13 -- community-mysql-openssl3.patch | 204 ------------------ community-mysql-s390-tsc.patch | 41 ---- community-mysql.spec | 47 ++-- sources | 2 +- 6 files changed, 22 insertions(+), 309 deletions(-) delete mode 100644 community-mysql-chain-certs.patch delete mode 100644 community-mysql-fix-includes-robin-hood.patch delete mode 100644 community-mysql-openssl3.patch delete mode 100644 community-mysql-s390-tsc.patch diff --git a/community-mysql-chain-certs.patch b/community-mysql-chain-certs.patch deleted file mode 100644 index 5f26c48..0000000 --- a/community-mysql-chain-certs.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix things so that chains of certificates work in the server and client -certificate files. - -This only really works for OpenSSL-based builds, as yassl is unable to read -multiple certificates from a file. The patch below to yassl/src/ssl.cpp -doesn't fix that, but just arranges that the viosslfactories.c patch won't -have any ill effects in a yassl build. Since we don't use yassl in Red Hat/ -Fedora builds, I'm not feeling motivated to try to fix yassl for this. - -See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158 - -diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc -index 5e881e3..2927e7f 100644 ---- a/vio/viosslfactories.cc -+++ b/vio/viosslfactories.cc -@@ -198,7 +198,7 @@ static int vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file, - if (!key_file && cert_file) key_file = cert_file; - - if (cert_file && -- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) { -+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) { - *error = SSL_INITERR_CERT; - DBUG_PRINT("error", - ("%s from file '%s'", sslGetErrString(*error), cert_file)); diff --git a/community-mysql-fix-includes-robin-hood.patch b/community-mysql-fix-includes-robin-hood.patch deleted file mode 100644 index 0aca3ef..0000000 --- a/community-mysql-fix-includes-robin-hood.patch +++ /dev/null @@ -1,13 +0,0 @@ -# Prevents fails when compiling with gcc11 (Fedora 34) -# Upstream PR: https://github.com/mysql/mysql-server/pull/323 - ---- mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h.old 2021-02-04 17:15:31.034997221 +0100 -+++ mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h 2021-02-04 17:15:50.781372066 +0100 -@@ -48,6 +48,7 @@ - #include - #include - #include -+#include - #if __cplusplus >= 201703L - # include - #endif diff --git a/community-mysql-openssl3.patch b/community-mysql-openssl3.patch deleted file mode 100644 index 632691f..0000000 --- a/community-mysql-openssl3.patch +++ /dev/null @@ -1,204 +0,0 @@ -Make MySQL compile with openssl 3.x without FIPS properly implemented - -This change takes some pieces from MariaDB, including compat_ssl.h and -changes in my_md5.cc. - -MySQL utilizes FIPS_mode() and FIPS_mode_set() functions that are not -available in OpenSSL 3.x any more. This patch only mocks the call of -those functions, returning 0 every time, which effectively makes usage -of those functions non working. For making the MySQL build with -OpenSSL 3.x this seems to be enough though. - -diff -rup mysql-8.0.22-orig/cmake/ssl.cmake mysql-8.0.22/cmake/ssl.cmake ---- mysql-8.0.22-orig/cmake/ssl.cmake 2021-05-19 21:36:33.161996422 +0200 -+++ mysql-8.0.22/cmake/ssl.cmake 2021-05-19 23:06:54.211877057 +0200 -@@ -227,8 +227,7 @@ MACRO (MYSQL_CHECK_SSL) - ENDIF() - IF(OPENSSL_INCLUDE_DIR AND - OPENSSL_LIBRARY AND -- CRYPTO_LIBRARY AND -- OPENSSL_MAJOR_VERSION STREQUAL "1" -+ CRYPTO_LIBRARY - ) - SET(OPENSSL_FOUND TRUE) - FIND_PROGRAM(OPENSSL_EXECUTABLE openssl -diff -rup mysql-8.0.22-orig/include/ssl_compat.h mysql-8.0.22/include/ssl_compat.h ---- mysql-8.0.22-orig/include/ssl_compat.h 2021-05-19 23:19:36.152956356 +0200 -+++ mysql-8.0.22/include/ssl_compat.h 2021-05-19 23:06:55.048885933 +0200 -@@ -0,0 +1,105 @@ -+/* -+ Copyright (c) 2016, 2021, MariaDB Corporation. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; version 2 of the License. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -+ -+#include -+ -+/* OpenSSL version specific definitions */ -+#if defined(OPENSSL_VERSION_NUMBER) -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+#define HAVE_OPENSSL11 1 -+#define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) -+#define ERR_remove_state(X) ERR_clear_error() -+#define EVP_CIPHER_CTX_SIZE 176 -+#define EVP_MD_CTX_SIZE 48 -+#undef EVP_MD_CTX_init -+#define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) -+#undef EVP_CIPHER_CTX_init -+#define EVP_CIPHER_CTX_init(X) do { memset((X), 0, EVP_CIPHER_CTX_SIZE); EVP_CIPHER_CTX_reset(X); } while(0) -+ -+/* -+ Macros below are deprecated. OpenSSL 1.1 may define them or not, -+ depending on how it was built. -+*/ -+#undef ERR_free_strings -+#define ERR_free_strings() -+#undef EVP_cleanup -+#define EVP_cleanup() -+#undef CRYPTO_cleanup_all_ex_data -+#define CRYPTO_cleanup_all_ex_data() -+#undef SSL_load_error_strings -+#define SSL_load_error_strings() -+ -+#else -+#define HAVE_OPENSSL10 1 -+#ifdef HAVE_WOLFSSL -+#define SSL_LIBRARY "WolfSSL " WOLFSSL_VERSION -+#else -+#define SSL_LIBRARY SSLeay_version(SSLEAY_VERSION) -+#endif -+ -+#ifdef HAVE_WOLFSSL -+#undef ERR_remove_state -+#define ERR_remove_state(x) do {} while(0) -+#elif defined (HAVE_ERR_remove_thread_state) -+#define ERR_remove_state(X) ERR_remove_thread_state(NULL) -+#endif /* HAVE_ERR_remove_thread_state */ -+ -+#endif /* HAVE_OPENSSL11 */ -+#endif -+ -+#ifdef HAVE_WOLFSSL -+#define EVP_MD_CTX_SIZE sizeof(wc_Md5) -+#endif -+ -+#ifndef HAVE_OPENSSL11 -+#ifndef ASN1_STRING_get0_data -+#define ASN1_STRING_get0_data(X) ASN1_STRING_data(X) -+#endif -+#ifndef EVP_MD_CTX_SIZE -+#define EVP_MD_CTX_SIZE sizeof(EVP_MD_CTX) -+#endif -+ -+#define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) -+#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) -+#define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) -+#define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) -+ -+#ifndef HAVE_WOLFSSL -+#define OPENSSL_init_ssl(X,Y) SSL_library_init() -+#define EVP_MD_CTX_reset(X) EVP_MD_CTX_cleanup(X) -+#define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X) -+#define X509_get0_notBefore(X) X509_get_notBefore(X) -+#define X509_get0_notAfter(X) X509_get_notAfter(X) -+#endif -+#endif -+ -+#ifndef TLS1_3_VERSION -+//#define SSL_CTX_set_ciphersuites(X,Y) 0 -+#endif -+ -+#ifdef __cplusplus -+extern "C" { -+#endif /* __cplusplus */ -+ -+int check_openssl_compatibility(); -+ -+#define FIPS_mode_set(X) 0 -+#define FIPS_mode() 0 -+ -+#ifdef __cplusplus -+} -+#endif -diff -rup mysql-8.0.22-orig/mysys/my_md5.cc mysql-8.0.22/mysys/my_md5.cc ---- mysql-8.0.22-orig/mysys/my_md5.cc 2021-05-19 21:36:31.738980913 +0200 -+++ mysql-8.0.22/mysys/my_md5.cc 2021-05-19 23:13:41.380194493 +0200 -@@ -34,13 +34,12 @@ - - #include - #include -+#include -+#include - - static void my_md5_hash(unsigned char *digest, unsigned const char *buf, - int len) { -- MD5_CTX ctx; -- MD5_Init(&ctx); -- MD5_Update(&ctx, buf, len); -- MD5_Final(digest, &ctx); -+ MD5(buf, len, digest); - } - - /** -diff -Naurp mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc* ---- mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc 2021-09-28 13:46:34.000000000 +0200 -+++ mysql-8.0.27/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc_patched 2021-10-31 10:57:37.865934624 +0100 -@@ -30,6 +30,7 @@ - #include - #include - -+#include - #include - #include - #include -@@ -39,6 +40,7 @@ - #endif - - #include "openssl/engine.h" -+#include - - #include "xcom/task_debug.h" - #include "xcom/x_platform.h" -diff -rup mysql-8.0.22-orig/plugin/x/client/xconnection_impl.cc mysql-8.0.22/plugin/x/client/xconnection_impl.cc ---- mysql-8.0.22-orig/plugin/x/client/xconnection_impl.cc 2021-05-19 21:36:14.388791818 +0200 -+++ mysql-8.0.22/plugin/x/client/xconnection_impl.cc 2021-05-19 23:06:55.049885943 +0200 -@@ -31,6 +31,7 @@ - #ifdef HAVE_NETINET_IN_H - #include - #endif // HAVE_NETINET_IN_H -+#include - #include - #include - #include // NOLINT(build/c++11) -@@ -38,6 +39,7 @@ - #include - #include - #include -+#include - - #include "errmsg.h" // NOLINT(build/include_subdir) - #include "my_config.h" // NOLINT(build/include_subdir) -diff -rup mysql-8.0.22-orig/vio/viosslfactories.cc mysql-8.0.22/vio/viosslfactories.cc ---- mysql-8.0.22-orig/vio/viosslfactories.cc 2021-05-19 21:36:33.310998046 +0200 -+++ mysql-8.0.22/vio/viosslfactories.cc 2021-05-19 23:06:55.049885943 +0200 -@@ -39,7 +39,9 @@ - #include "mysys_err.h" - #include "vio/vio_priv.h" - -+#include - #include -+#include - - #if OPENSSL_VERSION_NUMBER < 0x10002000L - #include diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch deleted file mode 100644 index 21fd2d4..0000000 --- a/community-mysql-s390-tsc.patch +++ /dev/null @@ -1,41 +0,0 @@ -Support s390/s390x in performance schema's cycle-counting functions. -Filed upstream at http://bugs.mysql.com/bug.php?id=59953 - -diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h -index 6e378e94..7703cf85 100644 ---- a/include/my_rdtsc.h -+++ b/include/my_rdtsc.h -@@ -137,5 +137,6 @@ void my_timer_init(MY_TIMER_INFO *mti); - /* #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 - No longer used */ - #define MY_TIMER_ROUTINE_ASM_AARCH64 28 - #define MY_TIMER_ROUTINE_GET_THREAD_TIMES 29 -+#define MY_TIMER_ROUTINE_ASM_S390 30 - - #endif -diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc -index 3869db57..655a955e 100644 ---- a/mysys/my_rdtsc.cc -+++ b/mysys/my_rdtsc.cc -@@ -169,6 +169,13 @@ ulonglong my_timer_cycles(void) { - __asm __volatile__("mrs %[rt],cntvct_el0" : [ rt ] "=r"(result)); - return result; - } -+#elif defined(__GNUC__) && defined(__s390__) -+ /* covers both s390 and s390x */ -+ { -+ ulonglong result; -+ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); -+ return result; -+ } - #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) - /* gethrtime may appear as either cycle or nanosecond counter */ - return (ulonglong)gethrtime(); -@@ -491,6 +498,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { - mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC64; - #elif defined(__GNUC__) && defined(__aarch64__) - mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64; -+#elif defined(__GNUC__) && defined(__s390__) -+ mti->cycles.routine = MY_TIMER_ROUTINE_ASM_S390; - #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) - mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME; - #else diff --git a/community-mysql.spec b/community-mysql.spec index 211997b..9203045 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.29 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.30 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -109,26 +109,22 @@ Source53: rh-skipped-tests-list-ppc.list # Comments for these patches are in the patch files # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-install-test.patch -Patch2: %{pkgnamepatch}-s390-tsc.patch Patch3: %{pkgnamepatch}-file-contents.patch Patch4: %{pkgnamepatch}-scripts.patch Patch5: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package -Patch51: %{pkgnamepatch}-chain-certs.patch -Patch52: %{pkgnamepatch}-sharedir.patch -Patch55: %{pkgnamepatch}-rpath.patch -Patch56: %{pkgnamepatch}-mtr.patch -Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch79: %{pkgnamepatch}-openssl3.patch -Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch +Patch51: %{pkgnamepatch}-sharedir.patch +Patch52: %{pkgnamepatch}-rpath.patch +Patch53: %{pkgnamepatch}-mtr.patch +Patch54: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 -Patch115: boost-1.58.0-pool.patch -Patch125: boost-1.57.0-mpl-print.patch +Patch111: boost-1.58.0-pool.patch +Patch112: boost-1.57.0-mpl-print.patch # Patches taken from boost 1.76 -Patch126: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch +Patch113: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch BuildRequires: cmake BuildRequires: gcc-c++ @@ -385,30 +381,22 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} %patch1 -p1 -%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch51 -p1 %patch52 -p1 -%patch55 -p1 -%patch56 -p1 -%patch75 -p1 -# OpenSSL 3.0 has been introduced to F36 -%if 0%{?fedora} >= 36 -%patch79 -p1 -%endif -%patch80 -p1 +%patch53 -p1 +%patch54 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) -%patch115 -p0 -%patch125 -p1 -%patch126 -p2 +%patch111 -p0 +%patch112 -p1 +%patch113 -p2 popd - # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/%{skiplist} @@ -819,6 +807,7 @@ fi %{_libdir}/mysql/plugin/component_query_attributes.so %{_libdir}/mysql/plugin/component_reference_cache.so %{_libdir}/mysql/plugin/component_validate_password.so +%{_libdir}/mysql/plugin/conflicting_variables.so %{_libdir}/mysql/plugin/connection_control.so %{_libdir}/mysql/plugin/daemon_example.ini %{_libdir}/mysql/plugin/ddl_rewriter.so @@ -988,6 +977,12 @@ fi %endif %changelog +* Wed Jul 06 2022 Lars Tangvald - 8.0.30-1 +- Update to MySQL 8.0.30 +- Remove patches now upstream: + chain certs, OpenSSL 3, s390 and robin hood +- Add a new plugin + * Mon Aug 01 2022 Frantisek Zatloukal - 8.0.29-3 - Rebuilt for ICU 71.1 diff --git a/sources b/sources index eeb03c0..5037335 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.29.tar.gz) = fd67f306ef8be60b4010e34e8ccc2c26577256200c183d71149743eeb5c038fd72adde107bfee34abd7df318902db6f94646a482f9f29a8396a6d57014b81b8a +SHA512 (mysql-boost-8.0.30.tar.gz) = 03cf3f97c9ddac949311f201f0a2c8f46a9785e518b6671fac927df1c05e2bf30edac3ac0316d91e99bb3da04ce2866e1e47394ee6eb2ca8f43bbbd38ab4247a From 70a394191992eef34c93a7391fea29f389c6b4fc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 4 Aug 2022 10:31:30 +0200 Subject: [PATCH 541/616] [2/2] Update failing tests list for MySQL 8.0.30 --- community-mysql.spec | 2 +- rh-skipped-tests-list-arm.list | 7 +++++++ rh-skipped-tests-list-base.list | 3 +++ rh-skipped-tests-list-ppc.list | 8 ++++++++ rh-skipped-tests-list-s390.list | 6 ++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9203045..f95c949 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.28 +%global last_tested_version 8.0.30 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-list-arm.list b/rh-skipped-tests-list-arm.list index f3636f4..ce972f5 100644 --- a/rh-skipped-tests-list-arm.list +++ b/rh-skipped-tests-list-arm.list @@ -13,3 +13,10 @@ innodb.innodb_bug-13628249 : BUG#0 # Failing since MySQL 8.0.28 main.func_unixtime_64bits : BUG#0 + +# Fails since 8.0.30 +federated.federated_server : BUG#0 +rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 +rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 +clone.local_dml_auto_tune : BUG#0 +clone.remote_dml_auto_tune : BUG#0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index a5f2ad9..31e42e1 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -53,3 +53,6 @@ rpl.rpl_auto_increment_myisam : BUG#0 # Failing since MySQL 8.0.29 main.mysqlpump_bugs : BUG#0 main.slow_log : BUG#0 + +# Failing on x86_64, i686 since MySQL 8.0.30 +innodb.check_sector_size : BUG#0 diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index b7dcd2c..6c8b6a0 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -1,2 +1,10 @@ # ppc64le sys_vars.innodb_buffer_pool_size_basic : BUG#0 fails only on ppc64le on f32+ + +# Fails since 8.0.30 +federated.federated_server : BUG#0 +rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 +rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 +rpl.rpl_innodb_bug28430 : BUG#0 +clone.local_dml_auto_tune : BUG#0 +clone.remote_dml_auto_tune : BUG#0 diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index 0bb1503..8be69af 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -32,3 +32,9 @@ gis.st_symdifference : BUG#0 main.subquery_sj_mat_bka_nobnl : BUG#0 failing since 8.0.24 on F32+ main.derived_limit : BUG#0 failing since 8.0.24 on F32+ main.explain_tree : BUG#0 failing since 8.0.24 on F32+ + +# Fails since 8.0.30 +rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 +rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 +clone.local_dml_auto_tune : BUG#0 +clone.remote_dml_auto_tune : BUG#0 From bd72d734425e809f427316f3375f9dd49231d856 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 7 Aug 2022 00:58:42 +0200 Subject: [PATCH 542/616] rpminspect - introduce a global ignore list --- rpminspect.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rpminspect.yaml b/rpminspect.yaml index 201eb49..792676c 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -1,3 +1,11 @@ +# Set up global ignore list +ignore: + # mysql-test/ directory contains an extensive test-suite of about 20.000 files; + # It is very time consuming to be fully analysed and the results aren't useful anyway + # It is expected the tests change during rebases, as the underlying functionality the test evolve + # Some of the tests contain broken or problematic code, however that is on purpose + - /usr/share/mysql-test/ + badfuncs: ignore: # udf_example.so can be ignored, as it is an example of how to write loadable functions From 5692c7a1f4cd28de4717a53cec24282f36decb25 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 11 Aug 2022 15:31:49 +0200 Subject: [PATCH 543/616] Fix the logrotate file The sources contains two versions of the logrotate file: * mysql-8.0.30/support-files/mysql-log-rotate.in * mysql-8.0.30/packaging/rpm-common/mysql.logrotate.in Until now, the first one was used. However logfile location specified in that logrotate configuration file was wrong. ( /var/lib/mysql/mysqld.log ) From now on, we will use the second one, which is meant to be used in RPM packages, and which respects their FSH layout. ( /var/log/mysql/mysqld.log ) -- As a side-effect, the whole configuration is now commented out. So users now need to touch the file before they can start using it. However once the configuration is un-commented, it will work out-of-the-box (unlike until now). -- Resolves: #2073434 --- community-mysql.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f95c949..9e0964b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -543,10 +543,12 @@ install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysco rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_mandir}/man1/comp_err.1* -# put logrotate script where it needs to be +# Put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} -chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} +# Remove the wrong file +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate +# Install the correct one (meant for FSH layout in RPM packages) +install -D -m 0644 %{_vpath_builddir}/packaging/rpm-common/mysql.logrotate %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf From 003c6a0ff6902e84d5343002a856a05d1af1b228 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 11 Aug 2022 23:40:59 +0200 Subject: [PATCH 544/616] Fix RPM error: %changelog not in descending chronological order --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9e0964b..c65a30d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -979,7 +979,7 @@ fi %endif %changelog -* Wed Jul 06 2022 Lars Tangvald - 8.0.30-1 +* Mon Aug 01 2022 Lars Tangvald - 8.0.30-1 - Update to MySQL 8.0.30 - Remove patches now upstream: chain certs, OpenSSL 3, s390 and robin hood From 943dd0962bcb77f281a5738abacc4749b5d18c5f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 11 Aug 2022 23:44:41 +0200 Subject: [PATCH 545/616] Release bump for rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c65a30d..be4a7d1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.30 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -979,6 +979,9 @@ fi %endif %changelog +* Thu Aug 11 2022 Michal Schorm - 8.0.30-2 +- Release bump for rebuild + * Mon Aug 01 2022 Lars Tangvald - 8.0.30-1 - Update to MySQL 8.0.30 - Remove patches now upstream: From 834d920e34172d525dfc29977f5c40ea8bbb0025 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 12 Sep 2022 16:46:01 +0200 Subject: [PATCH 546/616] Fix the logrotate file [2] In one of the previous commits, I've started to pack a different logrotate file as it contains the correct path to the logfile of the mysql server. It has been found, that I've overlooked that the filepath to the mysql server was still set wrongly. It was set to a: '/var/log/mysqld.log' Instead of expected: '/var/log/mysql/mysql.log' This path is added to the mysql logrotate configuration file via CMAKE variable substitution. However since we haven't specify the variable value, a default value has been used instead. The fix to this issue was simple - specify the variable value as the CMAKE command argument. -- At the same time, we were using a custom (downstream) variable meant to hold the same information. We used this variable for generating the correct filepath to the mysql server logfile in the mysql server configuration file. Instead of using two different CMAKE variables with the same meaning, I've changed it so we get rid of the downstream specified variable and use the upstream specified variable instead. -- The positive effect is the de-duplication of code and assurance that when we set the value, it is used everywhere - both in the upstream code and in the downstream patches. The tiny negative effect is that at this moment, the names of the variables differ to the we use in 'mariadb' package. --- community-mysql.spec | 2 +- server.cnf.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index be4a7d1..2891d92 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -442,7 +442,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ - -DLOG_LOCATION="%{logfile}" \ + -DLOGFILE_RPM="%{logfile}" \ -DPID_FILE_DIR="%{pidfiledir}" \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ diff --git a/server.cnf.in b/server.cnf.in index ba3d479..727ca52 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -13,6 +13,6 @@ [mysqld] datadir=@MYSQL_DATADIR@ socket=@MYSQL_UNIX_ADDR@ -log-error=@LOG_LOCATION@ +log-error=@LOGFILE_RPM@ pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid From e1c6e901fc06a1a75057890d00bd17715cc7261b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 12 Sep 2022 17:16:07 +0200 Subject: [PATCH 547/616] Release bump for rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2891d92..33d2fb4 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.30 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -979,6 +979,9 @@ fi %endif %changelog +* Mon Sep 12 2022 Michal Schorm - 8.0.30-3 +- Release bump for rebuild + * Thu Aug 11 2022 Michal Schorm - 8.0.30-2 - Release bump for rebuild From c140b47963ac512a3953932dec4c6b797d639c3b Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Tue, 11 Oct 2022 10:37:09 +0200 Subject: [PATCH 548/616] Update to MySQL 8.0.31 --- community-mysql.spec | 12 +++++++++--- rh-skipped-tests-list-arm.list | 4 ++++ rh-skipped-tests-list-base.list | 3 +++ rh-skipped-tests-list-ppc.list | 13 +++++++++++++ sources | 2 +- 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 33d2fb4..5e8066b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.30 +%global last_tested_version 8.0.31 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.30 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.31 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -909,12 +909,14 @@ fi %{_libdir}/mysql/plugin/component_test_backup_lock_service.so %{_libdir}/mysql/plugin/component_test_component_deinit.so %{_libdir}/mysql/plugin/component_test_host_application_signal.so +%{_libdir}/mysql/plugin/component_test_mysql_command_services.so %{_libdir}/mysql/plugin/component_test_mysql_current_thread_reader.so %{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so %{_libdir}/mysql/plugin/component_test_mysql_system_variable_set.so %{_libdir}/mysql/plugin/component_test_pfs_notification.so %{_libdir}/mysql/plugin/component_test_pfs_resource_group.so %{_libdir}/mysql/plugin/component_test_sensitive_system_variables.so +%{_libdir}/mysql/plugin/component_test_status_var_reader.so %{_libdir}/mysql/plugin/component_test_status_var_service_int.so %{_libdir}/mysql/plugin/component_test_status_var_service_reg_only.so %{_libdir}/mysql/plugin/component_test_status_var_service.so @@ -972,6 +974,7 @@ fi %{_libdir}/mysql/plugin/qa_auth_server.so %{_libdir}/mysql/plugin/replication_observers_example_plugin.so %{_libdir}/mysql/plugin/test_security_context.so +%{_libdir}/mysql/plugin/test_services_command_services.so %{_libdir}/mysql/plugin/test_services_host_application_signal.so %{_libdir}/mysql/plugin/test_services_plugin_registry.so %{_libdir}/mysql/plugin/test_udf_services.so @@ -979,6 +982,9 @@ fi %endif %changelog +* Fri Sep 30 2022 Lars Tangvald - 8.0.31-1 +- Update to MySQL 8.0.31 + * Mon Sep 12 2022 Michal Schorm - 8.0.30-3 - Release bump for rebuild diff --git a/rh-skipped-tests-list-arm.list b/rh-skipped-tests-list-arm.list index ce972f5..b673b32 100644 --- a/rh-skipped-tests-list-arm.list +++ b/rh-skipped-tests-list-arm.list @@ -20,3 +20,7 @@ rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 clone.local_dml_auto_tune : BUG#0 clone.remote_dml_auto_tune : BUG#0 + +# Fails since 8.0.31 +main.mysql_client_test : BUG#0 +main.mysqlslap : BUG#0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 31e42e1..8908a7b 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -56,3 +56,6 @@ main.slow_log : BUG#0 # Failing on x86_64, i686 since MySQL 8.0.30 innodb.check_sector_size : BUG#0 + +# Failing on all architectures since MySQL 8.0.31 +auth_sec.fips : BUG#0 diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index 6c8b6a0..f9e1e4f 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -8,3 +8,16 @@ rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 rpl.rpl_innodb_bug28430 : BUG#0 clone.local_dml_auto_tune : BUG#0 clone.remote_dml_auto_tune : BUG#0 + +# Fails since 8.0.31 +main.multi_update : BUG#0 +main.mysqlslap : BUG#0 +main.lock_multi_bug38691 : BUG#0 +main.mysql_client_test : BUG#0 + +main.check : BUG#0 +main.count_distinct2 : BUG#0 +main.foreign_key : BUG#0 +main.lock_multi_bug38499 : BUG#0 +main.subquery_all : BUG#0 +main.type_temporal_fractional : BUG#0 diff --git a/sources b/sources index 5037335..bdf8d34 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.30.tar.gz) = 03cf3f97c9ddac949311f201f0a2c8f46a9785e518b6671fac927df1c05e2bf30edac3ac0316d91e99bb3da04ce2866e1e47394ee6eb2ca8f43bbbd38ab4247a +SHA512 (mysql-boost-8.0.31.tar.gz) = 87b1678de8c2fd640fd6f3ae58266ea63fe240578330e3296d0e5fc209bbe9b0c22996214b6ca4cce8c0d9cc2f9897f4e6723d835b33fc4342983c82929c3d96 From 5c1506c3750df28aa7a10abac791bcfedfc82504 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 24 Oct 2022 21:21:59 +0200 Subject: [PATCH 549/616] WORKAROUND - testsuite issues Dissable running the testuite in memory to workaround OOM problem. Disable testsuite parallelization to allow tests to pass on ppc64le too. These issues are believed to originate in Koji build system and are present mainly in the Rawhide (F38) buildroot. F36 buildroot seems to be most stable out of the current ones. --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5e8066b..a099244 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -636,14 +636,14 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) set -ex cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir " + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=1 --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] then # in further rebuilds only run the basic "main" suite (~800 tests) echo "running only base testsuite" - perl ./mysql-test-run.pl $common_testsuite_arguments --suite=main --mem --skip-test-list=%{skiplist} + perl ./mysql-test-run.pl $common_testsuite_arguments --suite=main --skip-test-list=%{skiplist} fi # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) From 0bfeb883f43295bc5250fda8ef28d03e7e4933d5 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sat, 31 Dec 2022 04:02:17 +0000 Subject: [PATCH 550/616] Rebuild for ICU 72 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index a099244..c49abfe 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.31 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -982,6 +982,9 @@ fi %endif %changelog +* Sat Dec 31 2022 Pete Walter - 8.0.31-2 +- Rebuild for ICU 72 + * Fri Sep 30 2022 Lars Tangvald - 8.0.31-1 - Update to MySQL 8.0.31 From ef905729e00e688bef954bad4d5ca276325ddbd0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 00:20:09 +0000 Subject: [PATCH 551/616] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c49abfe..13aadcd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.31 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -982,6 +982,9 @@ fi %endif %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 8.0.31-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Dec 31 2022 Pete Walter - 8.0.31-2 - Rebuild for ICU 72 From ea70b8e9cd3fffa42ca823c2a5126e432a573a8a Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Mon, 9 Jan 2023 15:03:57 +0100 Subject: [PATCH 552/616] Update to MySQL 8.0.32 --- community-mysql.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 13aadcd..32b2808 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.31 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.32 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -540,6 +540,7 @@ install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_l install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +rm %{buildroot}%{_infodir}/mysql.info* rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_mandir}/man1/comp_err.1* @@ -982,6 +983,9 @@ fi %endif %changelog +* Thu Jan 05 2023 Lars Tangvald - 8.0.32-1 +- Update to MySQL 8.0.32 + * Thu Jan 19 2023 Fedora Release Engineering - 8.0.31-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index bdf8d34..ef9e6c1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.31.tar.gz) = 87b1678de8c2fd640fd6f3ae58266ea63fe240578330e3296d0e5fc209bbe9b0c22996214b6ca4cce8c0d9cc2f9897f4e6723d835b33fc4342983c82929c3d96 +SHA512 (mysql-boost-8.0.32.tar.gz) = 937e0d0350cb583bb4de15b080f08ed92b253a6d7c09f13a028855dae154fc84f0c95fb082b818b2fa6fa792cd2d9db8d7dc7a20a2a0d3d2b6839fbd2c821b44 From 28f83f4ce7006a88a965fd4de96b0c2e553b5b72 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 26 Jan 2023 06:36:40 +0100 Subject: [PATCH 553/616] WORKAROUND - disable testsuite until GCC 13 problems are fixed --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 32b2808..a131c14 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -5,7 +5,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 From 290ae2f2bc13b94fce867a520589a45e501aa0a0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 26 Jan 2023 23:06:04 +0100 Subject: [PATCH 554/616] Fixup - keep changelog in chronological order --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index a131c14..6267d33 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -983,7 +983,7 @@ fi %endif %changelog -* Thu Jan 05 2023 Lars Tangvald - 8.0.32-1 +* Thu Jan 26 2023 Lars Tangvald - 8.0.32-1 - Update to MySQL 8.0.32 * Thu Jan 19 2023 Fedora Release Engineering - 8.0.31-3 From 303a5e3af1610ae93b684749557907f48211264b Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 26 Jan 2023 17:26:00 +0000 Subject: [PATCH 555/616] Fix build with GCC 13 for Fedora >= 38 --- community-mysql-gcc13.patch | 12 ++++++++++++ community-mysql.spec | 5 +++++ 2 files changed, 17 insertions(+) create mode 100644 community-mysql-gcc13.patch diff --git a/community-mysql-gcc13.patch b/community-mysql-gcc13.patch new file mode 100644 index 0000000..30d0c24 --- /dev/null +++ b/community-mysql-gcc13.patch @@ -0,0 +1,12 @@ +diff --git a/sql/binlog/group_commit/bgc_ticket.h b/sql/binlog/group_commit/bgc_ticket.h +index 34c76ab2..307ae627 100644 +--- a/sql/binlog/group_commit/bgc_ticket.h ++++ b/sql/binlog/group_commit/bgc_ticket.h +@@ -23,6 +23,7 @@ + #ifndef BINLOG_BCG_TICKET_H + #define BINLOG_BCG_TICKET_H + ++#include + #include + #include + #include diff --git a/community-mysql.spec b/community-mysql.spec index 6267d33..d317341 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -118,6 +118,7 @@ Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch +Patch55: %{pkgnamepatch}-gcc13.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch @@ -388,6 +389,10 @@ the MySQL sources. %patch52 -p1 %patch53 -p1 %patch54 -p1 +# The GCC 13 has been first introdced in the Fedora 38 +%if 0%{?fedora} >= 38 || 0%{?rhel} > 9 +%patch55 -p1 +%endif # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) From 7bb776b952e145b0bff3a7c14773667a44f55e54 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 31 Jan 2023 07:50:12 +0100 Subject: [PATCH 556/616] Revert "WORKAROUND - disable testsuite until GCC 13 problems are fixed" This reverts commit 61e419768d758f233dbbf02302ea8f8bd0a98eb1. --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index d317341..d951f8d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -5,7 +5,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 From 834e92e654a9088289fb2fe5aeb664a755e449ba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 31 Jan 2023 07:51:22 +0100 Subject: [PATCH 557/616] MySQL 8.0.32 testuite reviewed Enabled more testsuite parallelization I've tested that the builders will not deplete resources for this value New bug discovered: #2165809 "Testsuite suite 'query_rewrite_plugins' fails on Fedora 38 and later" --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index d951f8d..aac904b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.31 +%global last_tested_version 8.0.32 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -642,7 +642,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) set -ex cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=1 --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir " + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=4 --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=500 --report-unstable-tests --clean-vardir " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] From b1482097c9b2cdf7879cd990adbc93cc208b049a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 31 Jan 2023 08:07:04 +0100 Subject: [PATCH 558/616] revert the value of '--max-test-fail' option to a production setting --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index aac904b..2d63482 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -642,7 +642,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) set -ex cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=4 --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=500 --report-unstable-tests --clean-vardir " + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=4 --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] From 9868644ec8e98defe70a52aa4d424d2f82ed73f8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 Feb 2023 05:18:07 +0100 Subject: [PATCH 559/616] Update skipped test list for s390x --- rh-skipped-tests-list-s390.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index 8be69af..723839e 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -38,3 +38,6 @@ rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 clone.local_dml_auto_tune : BUG#0 clone.remote_dml_auto_tune : BUG#0 + +# Fails since 8.0.32 +main.join_cache_bnl : BUG#0 From 22f4e649a843cb82d0761331ecbceebb4fc34996 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Tue, 18 Apr 2023 10:47:54 +0200 Subject: [PATCH 560/616] Update to MySQL 8.0.33 The GCC 13 patch has been upstreamed --- community-mysql-gcc13.patch | 12 ------------ community-mysql.spec | 13 ++++++------- sources | 2 +- 3 files changed, 7 insertions(+), 20 deletions(-) delete mode 100644 community-mysql-gcc13.patch diff --git a/community-mysql-gcc13.patch b/community-mysql-gcc13.patch deleted file mode 100644 index 30d0c24..0000000 --- a/community-mysql-gcc13.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/sql/binlog/group_commit/bgc_ticket.h b/sql/binlog/group_commit/bgc_ticket.h -index 34c76ab2..307ae627 100644 ---- a/sql/binlog/group_commit/bgc_ticket.h -+++ b/sql/binlog/group_commit/bgc_ticket.h -@@ -23,6 +23,7 @@ - #ifndef BINLOG_BCG_TICKET_H - #define BINLOG_BCG_TICKET_H - -+#include - #include - #include - #include diff --git a/community-mysql.spec b/community-mysql.spec index 2d63482..1ae6e99 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,7 +75,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.32 +Version: 8.0.33 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -118,7 +118,6 @@ Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch -Patch55: %{pkgnamepatch}-gcc13.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch @@ -389,10 +388,6 @@ the MySQL sources. %patch52 -p1 %patch53 -p1 %patch54 -p1 -# The GCC 13 has been first introdced in the Fedora 38 -%if 0%{?fedora} >= 38 || 0%{?rhel} > 9 -%patch55 -p1 -%endif # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -545,7 +540,6 @@ install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_l install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -rm %{buildroot}%{_infodir}/mysql.info* rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_mandir}/man1/comp_err.1* @@ -919,9 +913,11 @@ fi %{_libdir}/mysql/plugin/component_test_mysql_current_thread_reader.so %{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so %{_libdir}/mysql/plugin/component_test_mysql_system_variable_set.so +%{_libdir}/mysql/plugin/component_test_mysql_thd_store_service.so %{_libdir}/mysql/plugin/component_test_pfs_notification.so %{_libdir}/mysql/plugin/component_test_pfs_resource_group.so %{_libdir}/mysql/plugin/component_test_sensitive_system_variables.so +%{_libdir}/mysql/plugin/component_test_server_telemetry_traces.so %{_libdir}/mysql/plugin/component_test_status_var_reader.so %{_libdir}/mysql/plugin/component_test_status_var_service_int.so %{_libdir}/mysql/plugin/component_test_status_var_service_reg_only.so @@ -988,6 +984,9 @@ fi %endif %changelog +* Wed Apr 12 2023 Lars Tangvald - 8.0.33-1 +- Update to MySQL 8.0.33 + * Thu Jan 26 2023 Lars Tangvald - 8.0.32-1 - Update to MySQL 8.0.32 diff --git a/sources b/sources index ef9e6c1..1e0b722 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.32.tar.gz) = 937e0d0350cb583bb4de15b080f08ed92b253a6d7c09f13a028855dae154fc84f0c95fb082b818b2fa6fa792cd2d9db8d7dc7a20a2a0d3d2b6839fbd2c821b44 +SHA512 (mysql-boost-8.0.33.tar.gz) = 47f76819004c7c545d1b0b6b6646d8816899976f92d35c5564b1255b144b597ff7d3e674c721a45bcbb13cc0da3f4474fb29221c0e21d2ff91a1892cd42c636c From d9d169d111aadcd6cfa2607d0109fb07602981a2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 28 Apr 2023 16:49:48 +0200 Subject: [PATCH 561/616] Tetsuite has been checked --- community-mysql.spec | 2 +- rh-skipped-tests-list-base.list | 3 +++ rh-skipped-tests-list-s390.list | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1ae6e99..a6c7157 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.32 +%global last_tested_version 8.0.33 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 8908a7b..3ca4e2b 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -59,3 +59,6 @@ innodb.check_sector_size : BUG#0 # Failing on all architectures since MySQL 8.0.31 auth_sec.fips : BUG#0 + +# Unstable test on MySQL 8.0.33 +main.join_cache_bka_nobnl : BUG#0 diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index 723839e..84fe46d 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -41,3 +41,6 @@ clone.remote_dml_auto_tune : BUG#0 # Fails since 8.0.32 main.join_cache_bnl : BUG#0 + +# Fails since 8.0.33 +main.subquery_sj_all_bka_nobnl : BUG#0 From 051d29c993299a40a6ce7d51db9570ff5fcc68be Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 28 Apr 2023 16:52:22 +0200 Subject: [PATCH 562/616] Fix RPM syntax: '%patchN' has been deprecated https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/VBFDPQHAHF3WG6WBZR2L5GSWMW6CVTJS/ --- community-mysql.spec | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a6c7157..041d053 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -380,20 +380,20 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} -%patch1 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 +%patch -P1 -p1 +%patch -P3 -p1 +%patch -P4 -p1 +%patch -P5 -p1 +%patch -P51 -p1 +%patch -P52 -p1 +%patch -P53 -p1 +%patch -P54 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) -%patch111 -p0 -%patch112 -p1 -%patch113 -p2 +%patch -P111 -p0 +%patch -P112 -p1 +%patch -P113 -p2 popd From afc38114d9c5e26a685ab98e8e76d0c6d070fe66 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 28 Apr 2023 17:09:24 +0200 Subject: [PATCH 563/616] Bump release for production build --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 041d053..a41483f 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.33 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com From 2355896f3755607b80b881070664abeb8f79f5f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Tue, 11 Jul 2023 22:13:29 +0200 Subject: [PATCH 564/616] Rebuilt for ICU 73.2 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index a41483f..40e90cb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.33 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -984,6 +984,9 @@ fi %endif %changelog +* Tue Jul 11 2023 František Zatloukal - 8.0.33-3 +- Rebuilt for ICU 73.2 + * Wed Apr 12 2023 Lars Tangvald - 8.0.33-1 - Update to MySQL 8.0.33 From 491aef38d9b48ecf5b2f19618089ee0315840dc3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 16:11:27 +0000 Subject: [PATCH 565/616] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 40e90cb..bec3657 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.33 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -984,6 +984,9 @@ fi %endif %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 8.0.33-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jul 11 2023 František Zatloukal - 8.0.33-3 - Rebuilt for ICU 73.2 From 3004ae9e29ec08ae8ea84fe0c7fecef386bad635 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Wed, 9 Aug 2023 19:24:52 +0200 Subject: [PATCH 566/616] Update to MySQL 8.0.34 --- community-mysql-alignment.patch | 29 +++ community-mysql-arm32-timer.patch | 8 +- community-mysql-binlog.patch | 320 ++++++++++++++++++++++++++++++ community-mysql-clone.patch | 35 ++++ community-mysql-mtr.patch | 10 +- community-mysql.spec | 19 +- sources | 2 +- 7 files changed, 411 insertions(+), 12 deletions(-) create mode 100644 community-mysql-alignment.patch create mode 100644 community-mysql-binlog.patch create mode 100644 community-mysql-clone.patch diff --git a/community-mysql-alignment.patch b/community-mysql-alignment.patch new file mode 100644 index 0000000..1521a80 --- /dev/null +++ b/community-mysql-alignment.patch @@ -0,0 +1,29 @@ +diff --git a/sql/memory/aligned_atomic.h b/sql/memory/aligned_atomic.h +index 423366dab38..15638ed8963 100644 +--- a/sql/memory/aligned_atomic.h ++++ b/sql/memory/aligned_atomic.h +@@ -81,18 +81,19 @@ static inline size_t _cache_line_size() { + static inline size_t _cache_line_size() { + long size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); + if (size == -1) return 64; +-#if defined(__s390x__) +- // returns 0 on s390x RHEL 7.x ++ ++ // returns 0 on some configurations + if (size == 0) { + FILE *p = fopen( + "/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r"); + if (p) { +- fscanf(p, "%ld", &size); ++ if (fscanf(p, "%ld", &size) != 1) size = 0; + fclose(p); + } + } +-#endif +- return static_cast(size); ++ ++ if (size > 0) return static_cast(size); ++ return 64; + } + + #else diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index d9c616c..bafa0bb 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,10 @@ diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index eff14a67..413dfc27 100644 +index 78b09285..b7153445 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql -@@ -363,6 +363,11 @@ INSERT INTO global_suppressions VALUES - */ - ("Manifest file '.*' is not read-only. For better security, please make sure that the file is read-only."), +@@ -376,6 +376,11 @@ INSERT INTO global_suppressions VALUES + + ("'mysql_native_password' is deprecated and will be removed in a future release."), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-binlog.patch b/community-mysql-binlog.patch new file mode 100644 index 0000000..c94e866 --- /dev/null +++ b/community-mysql-binlog.patch @@ -0,0 +1,320 @@ +diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result +index 9471e7dd515..aa369d37635 100644 +--- a/mysql-test/r/insert.result ++++ b/mysql-test/r/insert.result +@@ -1,7 +1,3 @@ +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; + create table t1 (a int not null); + insert into t1 values (1); +@@ -981,8 +977,6 @@ DROP VIEW view_target2; + DROP VIEW view_target3; + DROP USER user20989@localhost; + DROP DATABASE meow; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + # + # Bug#28836669: Only first set of duplicate columns are reported for INSERT + # +diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result +index 0272e9fc7d9..e000f3d0328 100644 +--- a/mysql-test/r/plugin.result ++++ b/mysql-test/r/plugin.result +@@ -1,7 +1,3 @@ +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + CREATE TABLE t1(a int) ENGINE=EXAMPLE; + ERROR 42000: Unknown storage engine 'EXAMPLE' + INSTALL PLUGIN example SONAME 'ha_example.so'; +@@ -244,8 +240,6 @@ UNINSTALL PLUGIN example; + DROP USER bug51770@localhost; + INSTALL PLUGIN example SONAME '../ha_example.so'; + ERROR HY000: No paths allowed for shared library +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + # + # Bug #28534414: NEGATIVE NUMBERS IN PLUGIN VARIABLES + # NOT DISPLAYED CORRECTLY +diff --git a/mysql-test/r/subquery_sj_all.result b/mysql-test/r/subquery_sj_all.result +index 7b9a082cd77..9fbdd4accc7 100644 +--- a/mysql-test/r/subquery_sj_all.result ++++ b/mysql-test/r/subquery_sj_all.result +@@ -1,7 +1,3 @@ +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=off'; + set @old_opt_switch=@@optimizer_switch; + set optimizer_switch='subquery_materialization_cost_based=off'; +@@ -13536,5 +13532,3 @@ f1 f2 + 14:51:13 S + DROP TABLE t1, t2; + set optimizer_switch=default; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +diff --git a/mysql-test/r/subquery_sj_all_bka.result b/mysql-test/r/subquery_sj_all_bka.result +index 2334635eec2..594ef685c0a 100644 +--- a/mysql-test/r/subquery_sj_all_bka.result ++++ b/mysql-test/r/subquery_sj_all_bka.result +@@ -1,8 +1,4 @@ + set optimizer_switch='batched_key_access=on,mrr_cost_based=off'; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=off'; + set @old_opt_switch=@@optimizer_switch; + set optimizer_switch='subquery_materialization_cost_based=off'; +@@ -13539,6 +13535,4 @@ f1 f2 + 14:51:13 S + DROP TABLE t1, t2; + set optimizer_switch=default; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch=default; +diff --git a/mysql-test/r/subquery_sj_all_bka_nobnl.result b/mysql-test/r/subquery_sj_all_bka_nobnl.result +index f5c5dd7cf8d..80045176da0 100644 +--- a/mysql-test/r/subquery_sj_all_bka_nobnl.result ++++ b/mysql-test/r/subquery_sj_all_bka_nobnl.result +@@ -1,8 +1,4 @@ + set optimizer_switch='batched_key_access=on,block_nested_loop=off,mrr_cost_based=off'; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=off'; + set @old_opt_switch=@@optimizer_switch; + set optimizer_switch='subquery_materialization_cost_based=off'; +@@ -13529,6 +13525,4 @@ f1 f2 + 14:51:13 S + DROP TABLE t1, t2; + set optimizer_switch=default; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch=default; +diff --git a/mysql-test/r/subquery_sj_mat.result b/mysql-test/r/subquery_sj_mat.result +index ae690001f15..b6bd0ce22b2 100644 +--- a/mysql-test/r/subquery_sj_mat.result ++++ b/mysql-test/r/subquery_sj_mat.result +@@ -1,7 +1,3 @@ +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch='semijoin=on,materialization=on'; + set @old_opt_switch=@@optimizer_switch; + set optimizer_switch='subquery_materialization_cost_based=off'; +@@ -13844,5 +13840,3 @@ f1 f2 + 14:51:13 S + DROP TABLE t1, t2; + set optimizer_switch=default; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +diff --git a/mysql-test/r/subquery_sj_mat_bka.result b/mysql-test/r/subquery_sj_mat_bka.result +index 4b13e24edbd..a088f33597e 100644 +--- a/mysql-test/r/subquery_sj_mat_bka.result ++++ b/mysql-test/r/subquery_sj_mat_bka.result +@@ -1,8 +1,4 @@ + set optimizer_switch='batched_key_access=on,mrr_cost_based=off'; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch='semijoin=on,materialization=on'; + set @old_opt_switch=@@optimizer_switch; + set optimizer_switch='subquery_materialization_cost_based=off'; +@@ -13845,6 +13841,4 @@ f1 f2 + 14:51:13 S + DROP TABLE t1, t2; + set optimizer_switch=default; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch=default; +diff --git a/mysql-test/r/subquery_sj_mat_bka_nobnl.result b/mysql-test/r/subquery_sj_mat_bka_nobnl.result +index cee1779f4aa..7378907ce8a 100644 +--- a/mysql-test/r/subquery_sj_mat_bka_nobnl.result ++++ b/mysql-test/r/subquery_sj_mat_bka_nobnl.result +@@ -1,8 +1,4 @@ + set optimizer_switch='batched_key_access=on,block_nested_loop=off,mrr_cost_based=off'; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch='semijoin=on,materialization=on'; + set @old_opt_switch=@@optimizer_switch; + set optimizer_switch='subquery_materialization_cost_based=off'; +@@ -13836,6 +13832,4 @@ f1 f2 + 14:51:13 S + DROP TABLE t1, t2; + set optimizer_switch=default; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + set optimizer_switch=default; +diff --git a/mysql-test/suite/innodb/r/select_count_perf.result b/mysql-test/suite/innodb/r/select_count_perf.result +index 2b2adfab646..e7d163d57f3 100644 +--- a/mysql-test/suite/innodb/r/select_count_perf.result ++++ b/mysql-test/suite/innodb/r/select_count_perf.result +@@ -4,10 +4,6 @@ + # by count(*) always reflects the correct view of the table according + # to the transaction's selected isolation level. + # +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. + # + # Traverse various indexes to get the right counts. + # This especially tests count(*) which is pushed down to InnoDB in WL#6742. +@@ -1895,5 +1891,3 @@ id select_type table partitions type possible_keys key key_len ref rows filtered + Warnings: + Note 1003 /* select#1 */ select count(0) AS `COUNT(*)` from `test`.`t1` FORCE INDEX (`c2_idx`) join `test`.`t2` + DROP TABLE t1, t2; +-Warnings: +-Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. +diff --git a/mysql-test/suite/innodb/t/select_count_perf.test b/mysql-test/suite/innodb/t/select_count_perf.test +index e5070f14d11..6a3bfeff159 100644 +--- a/mysql-test/suite/innodb/t/select_count_perf.test ++++ b/mysql-test/suite/innodb/t/select_count_perf.test +@@ -14,8 +14,11 @@ + if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) + { + --disable_query_log ++ # Avoid warnings since binlog_format is deprecated ++ --disable_warnings + SET @saved_binlog_format= @@SESSION.binlog_format; + SET SESSION binlog_format= MIXED; ++ --enable_warnings + --enable_query_log + } + +@@ -401,6 +404,8 @@ DROP TABLE t1, t2; + if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) + { + --disable_query_log ++ --disable_warnings + SET SESSION binlog_format= @saved_binlog_format; ++ --enable_warnings + --enable_query_log + } +diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test +index 1c1153ab5b4..8b95bfd8394 100644 +--- a/mysql-test/t/insert.test ++++ b/mysql-test/t/insert.test +@@ -10,8 +10,11 @@ + if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) + { + --disable_query_log ++ # Avoid warnings since binlog_format is deprecated ++ --disable_warnings + SET @saved_binlog_format= @@SESSION.binlog_format; + SET SESSION binlog_format= MIXED; ++ --enable_warnings + --enable_query_log + } + +@@ -877,7 +880,9 @@ DROP DATABASE meow; + if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) + { + --disable_query_log ++ --disable_warnings + SET SESSION binlog_format= @saved_binlog_format; ++ --enable_warnings + --enable_query_log + } + +diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test +index 02513076118..584b54fe1e4 100644 +--- a/mysql-test/t/plugin.test ++++ b/mysql-test/t/plugin.test +@@ -4,8 +4,11 @@ + if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) + { + --disable_query_log ++ # Avoid warnings since binlog_format is deprecated ++ --disable_warnings + SET @saved_binlog_format= @@SESSION.binlog_format; + SET SESSION binlog_format= STATEMENT; ++ --enable_warnings + --enable_query_log + } + +@@ -282,7 +285,9 @@ eval INSTALL PLUGIN example SONAME '$path'; + if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) + { + --disable_query_log ++ --disable_warnings + SET SESSION binlog_format= @saved_binlog_format; ++ --enable_warnings + --enable_query_log + } + +diff --git a/mysql-test/t/subquery_sj_all.test b/mysql-test/t/subquery_sj_all.test +index 40a9aa72d51..eab49fc2ce7 100644 +--- a/mysql-test/t/subquery_sj_all.test ++++ b/mysql-test/t/subquery_sj_all.test +@@ -3,16 +3,6 @@ + # unsafe system function like rand(), LIMIT clause. + --source include/not_binlog_format_statement.inc + +-# The test fails with log_bin ON and binlog_format=ROW due to Bug#22841208. +-# Temporarily, overriding binlog_format to MIXED when log_bin is ON. +-if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) +-{ +- --disable_query_log +- SET @saved_binlog_format= @@SESSION.binlog_format; +- SET SESSION binlog_format= MIXED; +- --enable_query_log +-} +- + # + # Run subquery_sj.inc with all of the so-called 6.0 features. + # +@@ -22,10 +12,3 @@ set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on, + --source include/subquery_sj.inc + + set optimizer_switch=default; +- +-if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) +-{ +- --disable_query_log +- SET SESSION binlog_format= @saved_binlog_format; +- --enable_query_log +-} +diff --git a/mysql-test/t/subquery_sj_mat.test b/mysql-test/t/subquery_sj_mat.test +index 92d97349840..ff212e3aaab 100644 +--- a/mysql-test/t/subquery_sj_mat.test ++++ b/mysql-test/t/subquery_sj_mat.test +@@ -3,16 +3,6 @@ + # unsafe system function like rand(), LIMIT clause. + --source include/not_binlog_format_statement.inc + +-# The test fails with log_bin ON and binlog_format=ROW due to Bug#22841208. +-# Temporarily, overriding binlog_format to MIXED when log_bin is ON. +-if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) +-{ +- --disable_query_log +- SET @saved_binlog_format= @@SESSION.binlog_format; +- SET SESSION binlog_format= MIXED; +- --enable_query_log +-} +- + # + # Run subquery_sj.inc with semijoin and turn off all strategies, but Materialization + # +@@ -45,10 +35,3 @@ if (`select locate('mrr', @@optimizer_switch) > 0`) + --source include/subquery_sj.inc + + set optimizer_switch=default; +- +-if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) +-{ +- --disable_query_log +- SET SESSION binlog_format= @saved_binlog_format; +- --enable_query_log +-} diff --git a/community-mysql-clone.patch b/community-mysql-clone.patch new file mode 100644 index 0000000..126af43 --- /dev/null +++ b/community-mysql-clone.patch @@ -0,0 +1,35 @@ +diff --git a/storage/innobase/clone/clone0apply.cc b/storage/innobase/clone/clone0apply.cc +index e41a2e37dbf..742b09d0207 100644 +--- a/storage/innobase/clone/clone0apply.cc ++++ b/storage/innobase/clone/clone0apply.cc +@@ -1734,10 +1734,10 @@ int Clone_Snapshot::extend_and_flush_files(bool flush_redo) { + std::string file_name; + file_ctx->get_file_name(file_name); + +- auto file = +- os_file_create(innodb_clone_file_key, file_name.c_str(), +- OS_FILE_OPEN | OS_FILE_ON_ERROR_NO_EXIT, OS_FILE_NORMAL, +- OS_CLONE_DATA_FILE, false, &success); ++ auto file = os_file_create( ++ innodb_clone_file_key, file_name.c_str(), ++ OS_FILE_OPEN | OS_FILE_ON_ERROR_NO_EXIT, OS_FILE_NORMAL, ++ flush_redo ? OS_CLONE_LOG_FILE : OS_CLONE_DATA_FILE, false, &success); + + if (!success) { + /* purecov: begin inspected */ +diff --git a/storage/innobase/include/clone0snapshot.h b/storage/innobase/include/clone0snapshot.h +index 884ac08a884..03a9aa3431c 100644 +--- a/storage/innobase/include/clone0snapshot.h ++++ b/storage/innobase/include/clone0snapshot.h +@@ -787,9 +787,9 @@ class Clone_Snapshot { + int init_apply_state(Clone_Desc_State *state_desc); + + /** Extend and flush files after copying data +- @param[in] is_redo if true flush redo, otherwise data ++ @param[in] flush_redo if true flush redo, otherwise data + @return error code */ +- int extend_and_flush_files(bool is_redo); ++ int extend_and_flush_files(bool flush_redo); + + /** Create file descriptor and add to current file list + @param[in] data_dir destination data directory diff --git a/community-mysql-mtr.patch b/community-mysql-mtr.patch index 6f193b9..3bb6559 100644 --- a/community-mysql-mtr.patch +++ b/community-mysql-mtr.patch @@ -80,9 +80,11 @@ I'm not sure whether the output is synchronous, but even if it wasn'tit still lo ---- mysql-8.0.24/mysql-test/mysql-test-run.pl 2021-05-10 04:29:44.391897891 +0200 -+++ mysql-8.0.24/mysql-test/mysql-test-run.pl_patched 2021-05-10 04:38:51.031702753 +0200 -@@ -3374,17 +3374,6 @@ sub setup_vardir() { +diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl +index 26e6c92c..9d85c6d6 100755 +--- a/mysql-test/mysql-test-run.pl ++++ b/mysql-test/mysql-test-run.pl +@@ -3533,17 +3533,6 @@ sub setup_vardir() { mkpath("$opt_vardir/tmp"); mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp"); @@ -99,4 +101,4 @@ I'm not sure whether the output is synchronous, but even if it wasn'tit still lo - # Copy all files from std_data into var/std_data # and make them world readable - copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022"); + copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022") diff --git a/community-mysql.spec b/community-mysql.spec index bec3657..f0c31d5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.33 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 8.0.34 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -118,6 +118,9 @@ Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch +Patch55: %{pkgnamepatch}-clone.patch +Patch56: %{pkgnamepatch}-binlog.patch +Patch57: %{pkgnamepatch}-alignment.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch @@ -388,6 +391,9 @@ the MySQL sources. %patch -P52 -p1 %patch -P53 -p1 %patch -P54 -p1 +%patch -P55 -p1 +%patch -P56 -p1 +%patch -P57 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -636,7 +642,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) set -ex cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=4 --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir " + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --skip-combinations --max-test-fail=5 --report-unstable-tests --clean-vardir " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] @@ -984,6 +990,13 @@ fi %endif %changelog +* Wed Aug 09 2023 Lars Tangvald - 8.0.34-1 +- Update to MySQL 8.0.34 +- Add patch from upstream bug#110569 +- Add patch to fix binlog format issue +- Use --skip-combinations over --binlog-format=mixed +- Add alignment patch upstream bug#110752 + * Wed Jul 19 2023 Fedora Release Engineering - 8.0.33-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 1e0b722..5877b46 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.33.tar.gz) = 47f76819004c7c545d1b0b6b6646d8816899976f92d35c5564b1255b144b597ff7d3e674c721a45bcbb13cc0da3f4474fb29221c0e21d2ff91a1892cd42c636c +SHA512 (mysql-boost-8.0.34.tar.gz) = e5e79ac6870c214cf62c8e2830106d60e09d2e6df30654b84bb5d26864b4eabe777468a223e6ee4c1e22b7f6ec086c73e85e3f4c1fa66912b0e59b606ab46cd6 From 579c2ca2168e527fb13e16db8c94dae2abf4416a Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Tue, 18 Jul 2023 08:26:34 +0000 Subject: [PATCH 567/616] migrated to SPDX license --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f0c31d5..888c911 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,13 +76,13 @@ Name: community-mysql Version: 8.0.34 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com # Exceptions allow client libraries to be linked with most open source SW, # not only GPL code. See README.mysql-license -License: GPLv2 with exceptions and LGPLv2 and BSD +License: GPL-2.0-or-later AND LGPL-2.1-only AND BSL-1.0 AND GPL-1.0-or-later OR Artistic-1.0-Perl AND BSD-2-Clause Source0: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh @@ -990,6 +990,9 @@ fi %endif %changelog +* Tue Aug 22 2023 Lukas Javorsky - 8.0.34-2 +- Migrate license to SPDX + * Wed Aug 09 2023 Lars Tangvald - 8.0.34-1 - Update to MySQL 8.0.34 - Add patch from upstream bug#110569 From edd75fc1dfca607ec62f01f35edb2546b980d124 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 21 Aug 2023 06:30:47 +0000 Subject: [PATCH 568/616] Updated failing tests for 8.0.34 version --- community-mysql.spec | 2 +- rh-skipped-tests-list-base.list | 3 +++ rh-skipped-tests-list-ppc.list | 6 ++++++ rh-skipped-tests-list-s390.list | 5 +++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 888c911..a79b976 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.33 +%global last_tested_version 8.0.34 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 3ca4e2b..fe346db 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -62,3 +62,6 @@ auth_sec.fips : BUG#0 # Unstable test on MySQL 8.0.33 main.join_cache_bka_nobnl : BUG#0 + +# Failing since 8.0.34 +binlog.binlog_mysqlbinlog_linux : BUG#0 diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index f9e1e4f..35db167 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -21,3 +21,9 @@ main.foreign_key : BUG#0 main.lock_multi_bug38499 : BUG#0 main.subquery_all : BUG#0 main.type_temporal_fractional : BUG#0 + +# Fails since 8.0.34 +federated.federated : BUG#0 +rpl_gtid.mysqldump_bug33630199 : BUG#0 +rpl_gtid.rpl_gtid_row_event_max_size : BUG#0 +rpl.rpl_channel_creation_under_replica_load : BUG#0 diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index 84fe46d..ee9bfea 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -44,3 +44,8 @@ main.join_cache_bnl : BUG#0 # Fails since 8.0.33 main.subquery_sj_all_bka_nobnl : BUG#0 + +# Fails since 8.0.34 +rpl.rpl_channel_creation_under_replica_load : BUG#0 +rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0 +rpl_gtid.rpl_gtid_row_event_max_size : BUG#0 From e7a0c313b5a3dfdbccdf1e15c145d6ecbaecca48 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 21 Sep 2023 13:41:07 +0200 Subject: [PATCH 569/616] Update to MySQL 8.0.35 Remove disabled test that is not present anymore to avoid: mysql-test-run: *** ERROR: Disabled test 'auth_sec.cipher_support' could not be located. --- community-mysql-alignment.patch | 29 --- community-mysql-binlog.patch | 320 -------------------------------- community-mysql-clone.patch | 35 ---- community-mysql.spec | 14 +- rh-skipped-tests-list-base.list | 1 - sources | 2 +- 6 files changed, 7 insertions(+), 394 deletions(-) delete mode 100644 community-mysql-alignment.patch delete mode 100644 community-mysql-binlog.patch delete mode 100644 community-mysql-clone.patch diff --git a/community-mysql-alignment.patch b/community-mysql-alignment.patch deleted file mode 100644 index 1521a80..0000000 --- a/community-mysql-alignment.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/sql/memory/aligned_atomic.h b/sql/memory/aligned_atomic.h -index 423366dab38..15638ed8963 100644 ---- a/sql/memory/aligned_atomic.h -+++ b/sql/memory/aligned_atomic.h -@@ -81,18 +81,19 @@ static inline size_t _cache_line_size() { - static inline size_t _cache_line_size() { - long size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); - if (size == -1) return 64; --#if defined(__s390x__) -- // returns 0 on s390x RHEL 7.x -+ -+ // returns 0 on some configurations - if (size == 0) { - FILE *p = fopen( - "/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r"); - if (p) { -- fscanf(p, "%ld", &size); -+ if (fscanf(p, "%ld", &size) != 1) size = 0; - fclose(p); - } - } --#endif -- return static_cast(size); -+ -+ if (size > 0) return static_cast(size); -+ return 64; - } - - #else diff --git a/community-mysql-binlog.patch b/community-mysql-binlog.patch deleted file mode 100644 index c94e866..0000000 --- a/community-mysql-binlog.patch +++ /dev/null @@ -1,320 +0,0 @@ -diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result -index 9471e7dd515..aa369d37635 100644 ---- a/mysql-test/r/insert.result -+++ b/mysql-test/r/insert.result -@@ -1,7 +1,3 @@ --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; - create table t1 (a int not null); - insert into t1 values (1); -@@ -981,8 +977,6 @@ DROP VIEW view_target2; - DROP VIEW view_target3; - DROP USER user20989@localhost; - DROP DATABASE meow; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - # - # Bug#28836669: Only first set of duplicate columns are reported for INSERT - # -diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result -index 0272e9fc7d9..e000f3d0328 100644 ---- a/mysql-test/r/plugin.result -+++ b/mysql-test/r/plugin.result -@@ -1,7 +1,3 @@ --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - CREATE TABLE t1(a int) ENGINE=EXAMPLE; - ERROR 42000: Unknown storage engine 'EXAMPLE' - INSTALL PLUGIN example SONAME 'ha_example.so'; -@@ -244,8 +240,6 @@ UNINSTALL PLUGIN example; - DROP USER bug51770@localhost; - INSTALL PLUGIN example SONAME '../ha_example.so'; - ERROR HY000: No paths allowed for shared library --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - # - # Bug #28534414: NEGATIVE NUMBERS IN PLUGIN VARIABLES - # NOT DISPLAYED CORRECTLY -diff --git a/mysql-test/r/subquery_sj_all.result b/mysql-test/r/subquery_sj_all.result -index 7b9a082cd77..9fbdd4accc7 100644 ---- a/mysql-test/r/subquery_sj_all.result -+++ b/mysql-test/r/subquery_sj_all.result -@@ -1,7 +1,3 @@ --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=off'; - set @old_opt_switch=@@optimizer_switch; - set optimizer_switch='subquery_materialization_cost_based=off'; -@@ -13536,5 +13532,3 @@ f1 f2 - 14:51:13 S - DROP TABLE t1, t2; - set optimizer_switch=default; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. -diff --git a/mysql-test/r/subquery_sj_all_bka.result b/mysql-test/r/subquery_sj_all_bka.result -index 2334635eec2..594ef685c0a 100644 ---- a/mysql-test/r/subquery_sj_all_bka.result -+++ b/mysql-test/r/subquery_sj_all_bka.result -@@ -1,8 +1,4 @@ - set optimizer_switch='batched_key_access=on,mrr_cost_based=off'; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=off'; - set @old_opt_switch=@@optimizer_switch; - set optimizer_switch='subquery_materialization_cost_based=off'; -@@ -13539,6 +13535,4 @@ f1 f2 - 14:51:13 S - DROP TABLE t1, t2; - set optimizer_switch=default; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch=default; -diff --git a/mysql-test/r/subquery_sj_all_bka_nobnl.result b/mysql-test/r/subquery_sj_all_bka_nobnl.result -index f5c5dd7cf8d..80045176da0 100644 ---- a/mysql-test/r/subquery_sj_all_bka_nobnl.result -+++ b/mysql-test/r/subquery_sj_all_bka_nobnl.result -@@ -1,8 +1,4 @@ - set optimizer_switch='batched_key_access=on,block_nested_loop=off,mrr_cost_based=off'; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=off'; - set @old_opt_switch=@@optimizer_switch; - set optimizer_switch='subquery_materialization_cost_based=off'; -@@ -13529,6 +13525,4 @@ f1 f2 - 14:51:13 S - DROP TABLE t1, t2; - set optimizer_switch=default; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch=default; -diff --git a/mysql-test/r/subquery_sj_mat.result b/mysql-test/r/subquery_sj_mat.result -index ae690001f15..b6bd0ce22b2 100644 ---- a/mysql-test/r/subquery_sj_mat.result -+++ b/mysql-test/r/subquery_sj_mat.result -@@ -1,7 +1,3 @@ --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch='semijoin=on,materialization=on'; - set @old_opt_switch=@@optimizer_switch; - set optimizer_switch='subquery_materialization_cost_based=off'; -@@ -13844,5 +13840,3 @@ f1 f2 - 14:51:13 S - DROP TABLE t1, t2; - set optimizer_switch=default; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. -diff --git a/mysql-test/r/subquery_sj_mat_bka.result b/mysql-test/r/subquery_sj_mat_bka.result -index 4b13e24edbd..a088f33597e 100644 ---- a/mysql-test/r/subquery_sj_mat_bka.result -+++ b/mysql-test/r/subquery_sj_mat_bka.result -@@ -1,8 +1,4 @@ - set optimizer_switch='batched_key_access=on,mrr_cost_based=off'; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch='semijoin=on,materialization=on'; - set @old_opt_switch=@@optimizer_switch; - set optimizer_switch='subquery_materialization_cost_based=off'; -@@ -13845,6 +13841,4 @@ f1 f2 - 14:51:13 S - DROP TABLE t1, t2; - set optimizer_switch=default; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch=default; -diff --git a/mysql-test/r/subquery_sj_mat_bka_nobnl.result b/mysql-test/r/subquery_sj_mat_bka_nobnl.result -index cee1779f4aa..7378907ce8a 100644 ---- a/mysql-test/r/subquery_sj_mat_bka_nobnl.result -+++ b/mysql-test/r/subquery_sj_mat_bka_nobnl.result -@@ -1,8 +1,4 @@ - set optimizer_switch='batched_key_access=on,block_nested_loop=off,mrr_cost_based=off'; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch='semijoin=on,materialization=on'; - set @old_opt_switch=@@optimizer_switch; - set optimizer_switch='subquery_materialization_cost_based=off'; -@@ -13836,6 +13832,4 @@ f1 f2 - 14:51:13 S - DROP TABLE t1, t2; - set optimizer_switch=default; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - set optimizer_switch=default; -diff --git a/mysql-test/suite/innodb/r/select_count_perf.result b/mysql-test/suite/innodb/r/select_count_perf.result -index 2b2adfab646..e7d163d57f3 100644 ---- a/mysql-test/suite/innodb/r/select_count_perf.result -+++ b/mysql-test/suite/innodb/r/select_count_perf.result -@@ -4,10 +4,6 @@ - # by count(*) always reflects the correct view of the table according - # to the transaction's selected isolation level. - # --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. - # - # Traverse various indexes to get the right counts. - # This especially tests count(*) which is pushed down to InnoDB in WL#6742. -@@ -1895,5 +1891,3 @@ id select_type table partitions type possible_keys key key_len ref rows filtered - Warnings: - Note 1003 /* select#1 */ select count(0) AS `COUNT(*)` from `test`.`t1` FORCE INDEX (`c2_idx`) join `test`.`t2` - DROP TABLE t1, t2; --Warnings: --Warning 1287 '@@binlog_format' is deprecated and will be removed in a future release. -diff --git a/mysql-test/suite/innodb/t/select_count_perf.test b/mysql-test/suite/innodb/t/select_count_perf.test -index e5070f14d11..6a3bfeff159 100644 ---- a/mysql-test/suite/innodb/t/select_count_perf.test -+++ b/mysql-test/suite/innodb/t/select_count_perf.test -@@ -14,8 +14,11 @@ - if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) - { - --disable_query_log -+ # Avoid warnings since binlog_format is deprecated -+ --disable_warnings - SET @saved_binlog_format= @@SESSION.binlog_format; - SET SESSION binlog_format= MIXED; -+ --enable_warnings - --enable_query_log - } - -@@ -401,6 +404,8 @@ DROP TABLE t1, t2; - if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) - { - --disable_query_log -+ --disable_warnings - SET SESSION binlog_format= @saved_binlog_format; -+ --enable_warnings - --enable_query_log - } -diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test -index 1c1153ab5b4..8b95bfd8394 100644 ---- a/mysql-test/t/insert.test -+++ b/mysql-test/t/insert.test -@@ -10,8 +10,11 @@ - if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) - { - --disable_query_log -+ # Avoid warnings since binlog_format is deprecated -+ --disable_warnings - SET @saved_binlog_format= @@SESSION.binlog_format; - SET SESSION binlog_format= MIXED; -+ --enable_warnings - --enable_query_log - } - -@@ -877,7 +880,9 @@ DROP DATABASE meow; - if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) - { - --disable_query_log -+ --disable_warnings - SET SESSION binlog_format= @saved_binlog_format; -+ --enable_warnings - --enable_query_log - } - -diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test -index 02513076118..584b54fe1e4 100644 ---- a/mysql-test/t/plugin.test -+++ b/mysql-test/t/plugin.test -@@ -4,8 +4,11 @@ - if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) - { - --disable_query_log -+ # Avoid warnings since binlog_format is deprecated -+ --disable_warnings - SET @saved_binlog_format= @@SESSION.binlog_format; - SET SESSION binlog_format= STATEMENT; -+ --enable_warnings - --enable_query_log - } - -@@ -282,7 +285,9 @@ eval INSTALL PLUGIN example SONAME '$path'; - if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) - { - --disable_query_log -+ --disable_warnings - SET SESSION binlog_format= @saved_binlog_format; -+ --enable_warnings - --enable_query_log - } - -diff --git a/mysql-test/t/subquery_sj_all.test b/mysql-test/t/subquery_sj_all.test -index 40a9aa72d51..eab49fc2ce7 100644 ---- a/mysql-test/t/subquery_sj_all.test -+++ b/mysql-test/t/subquery_sj_all.test -@@ -3,16 +3,6 @@ - # unsafe system function like rand(), LIMIT clause. - --source include/not_binlog_format_statement.inc - --# The test fails with log_bin ON and binlog_format=ROW due to Bug#22841208. --# Temporarily, overriding binlog_format to MIXED when log_bin is ON. --if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) --{ -- --disable_query_log -- SET @saved_binlog_format= @@SESSION.binlog_format; -- SET SESSION binlog_format= MIXED; -- --enable_query_log --} -- - # - # Run subquery_sj.inc with all of the so-called 6.0 features. - # -@@ -22,10 +12,3 @@ set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on, - --source include/subquery_sj.inc - - set optimizer_switch=default; -- --if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) --{ -- --disable_query_log -- SET SESSION binlog_format= @saved_binlog_format; -- --enable_query_log --} -diff --git a/mysql-test/t/subquery_sj_mat.test b/mysql-test/t/subquery_sj_mat.test -index 92d97349840..ff212e3aaab 100644 ---- a/mysql-test/t/subquery_sj_mat.test -+++ b/mysql-test/t/subquery_sj_mat.test -@@ -3,16 +3,6 @@ - # unsafe system function like rand(), LIMIT clause. - --source include/not_binlog_format_statement.inc - --# The test fails with log_bin ON and binlog_format=ROW due to Bug#22841208. --# Temporarily, overriding binlog_format to MIXED when log_bin is ON. --if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) --{ -- --disable_query_log -- SET @saved_binlog_format= @@SESSION.binlog_format; -- SET SESSION binlog_format= MIXED; -- --enable_query_log --} -- - # - # Run subquery_sj.inc with semijoin and turn off all strategies, but Materialization - # -@@ -45,10 +35,3 @@ if (`select locate('mrr', @@optimizer_switch) > 0`) - --source include/subquery_sj.inc - - set optimizer_switch=default; -- --if (`SELECT @@global.log_bin AND @@global.binlog_format = 'ROW'`) --{ -- --disable_query_log -- SET SESSION binlog_format= @saved_binlog_format; -- --enable_query_log --} diff --git a/community-mysql-clone.patch b/community-mysql-clone.patch deleted file mode 100644 index 126af43..0000000 --- a/community-mysql-clone.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/storage/innobase/clone/clone0apply.cc b/storage/innobase/clone/clone0apply.cc -index e41a2e37dbf..742b09d0207 100644 ---- a/storage/innobase/clone/clone0apply.cc -+++ b/storage/innobase/clone/clone0apply.cc -@@ -1734,10 +1734,10 @@ int Clone_Snapshot::extend_and_flush_files(bool flush_redo) { - std::string file_name; - file_ctx->get_file_name(file_name); - -- auto file = -- os_file_create(innodb_clone_file_key, file_name.c_str(), -- OS_FILE_OPEN | OS_FILE_ON_ERROR_NO_EXIT, OS_FILE_NORMAL, -- OS_CLONE_DATA_FILE, false, &success); -+ auto file = os_file_create( -+ innodb_clone_file_key, file_name.c_str(), -+ OS_FILE_OPEN | OS_FILE_ON_ERROR_NO_EXIT, OS_FILE_NORMAL, -+ flush_redo ? OS_CLONE_LOG_FILE : OS_CLONE_DATA_FILE, false, &success); - - if (!success) { - /* purecov: begin inspected */ -diff --git a/storage/innobase/include/clone0snapshot.h b/storage/innobase/include/clone0snapshot.h -index 884ac08a884..03a9aa3431c 100644 ---- a/storage/innobase/include/clone0snapshot.h -+++ b/storage/innobase/include/clone0snapshot.h -@@ -787,9 +787,9 @@ class Clone_Snapshot { - int init_apply_state(Clone_Desc_State *state_desc); - - /** Extend and flush files after copying data -- @param[in] is_redo if true flush redo, otherwise data -+ @param[in] flush_redo if true flush redo, otherwise data - @return error code */ -- int extend_and_flush_files(bool is_redo); -+ int extend_and_flush_files(bool flush_redo); - - /** Create file descriptor and add to current file list - @param[in] data_dir destination data directory diff --git a/community-mysql.spec b/community-mysql.spec index a79b976..a2b824d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -75,8 +75,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.34 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 8.0.35 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -118,9 +118,6 @@ Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch -Patch55: %{pkgnamepatch}-clone.patch -Patch56: %{pkgnamepatch}-binlog.patch -Patch57: %{pkgnamepatch}-alignment.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch @@ -391,9 +388,6 @@ the MySQL sources. %patch -P52 -p1 %patch -P53 -p1 %patch -P54 -p1 -%patch -P55 -p1 -%patch -P56 -p1 -%patch -P57 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -990,6 +984,10 @@ fi %endif %changelog +* Thu Sep 21 2023 Lars Tangvald - 8.0.35-1 +- Update to MySQL 8.0.35 +- Remove patches now upstream + * Tue Aug 22 2023 Lukas Javorsky - 8.0.34-2 - Migrate license to SPDX diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index fe346db..2a99032 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -25,7 +25,6 @@ innodb.innodb_bug-13628249 : BUG#0 # OpenSSL 3 - 100% failing tests on Fedora 36 - MySQL 8.0.26 auth_sec.admin_channel_tls : BUG#0 -auth_sec.cipher_support : BUG#0 auth_sec.openssl_cert_generation : BUG#0 auth_sec.ssl_mode : BUG#0 auth_sec.tls : BUG#0 diff --git a/sources b/sources index 5877b46..eb5e33b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.34.tar.gz) = e5e79ac6870c214cf62c8e2830106d60e09d2e6df30654b84bb5d26864b4eabe777468a223e6ee4c1e22b7f6ec086c73e85e3f4c1fa66912b0e59b606ab46cd6 +SHA512 (mysql-boost-8.0.35.tar.gz) = 2936f7a84aa5f96633b239d1dba3613462d88f3a2ea493a7d05aa9a9b590e9e36a30857f44fcdb11360242375d6106e80cd1b32e0c6cb14502c1518ad1a720b2 From f2d1b815b988f152ad7c1d64b5d39b0814557e72 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 30 Oct 2023 08:41:40 +0100 Subject: [PATCH 570/616] Testsuite checked --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index a2b824d..fc09f1e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,7 +13,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.34 +%global last_tested_version 8.0.35 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 From 11b2c39c4db9dfef37ea1ba64ad4dabcf0955e00 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 19 Dec 2023 11:31:58 +0100 Subject: [PATCH 571/616] Fix int-conversion type error in memcached (#2255206) Related to: --- community-mysql-c99.patch | 12 ++++++++++++ community-mysql.spec | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 community-mysql-c99.patch diff --git a/community-mysql-c99.patch b/community-mysql-c99.patch new file mode 100644 index 0000000..935e64f --- /dev/null +++ b/community-mysql-c99.patch @@ -0,0 +1,12 @@ +diff -ur mysql-8.0.35.orig/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c mysql-8.0.35/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c +--- mysql-8.0.35.orig/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c 2023-10-12 13:45:01.000000000 +0200 ++++ mysql-8.0.35/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c 2023-12-19 10:48:46.718006624 +0100 +@@ -4070,7 +4070,7 @@ + do { + while(key_token->length != 0) { + /* whether there are more keys to fetch */ +- bool next_get = (key_token + 1)->value; ++ bool next_get = (key_token + 1)->value != NULL; + + key = key_token->value; + nkey = key_token->length; diff --git a/community-mysql.spec b/community-mysql.spec index fc09f1e..926e8a3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.35 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -118,6 +118,7 @@ Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch +Patch55: community-mysql-c99.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch @@ -388,6 +389,7 @@ the MySQL sources. %patch -P52 -p1 %patch -P53 -p1 %patch -P54 -p1 +%patch -P55 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -984,6 +986,9 @@ fi %endif %changelog +* Tue Dec 19 2023 Florian Weimer - 8.0.35-2 +- Fix int-conversion type error in memcached + * Thu Sep 21 2023 Lars Tangvald - 8.0.35-1 - Update to MySQL 8.0.35 - Remove patches now upstream From ede3ca5453022cdc0b0a0e94225bae05d57b551e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 15:58:55 +0000 Subject: [PATCH 572/616] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 926e8a3..c00d966 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.35 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -986,6 +986,9 @@ fi %endif %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 8.0.35-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Dec 19 2023 Florian Weimer - 8.0.35-2 - Fix int-conversion type error in memcached From bf788a49a10247ebc889b0d2b7a231df632b2f87 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 07:48:38 +0000 Subject: [PATCH 573/616] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c00d966..6d8e3b4 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.35 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -986,6 +986,9 @@ fi %endif %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 8.0.35-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 8.0.35-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 904d38aa42d8557ad2624ea6d7b0f556c3e5d497 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 31 Jan 2024 19:18:22 +0000 Subject: [PATCH 574/616] Rebuild for ICU 74 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6d8e3b4..91e2793 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -76,7 +76,7 @@ Name: community-mysql Version: 8.0.35 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -986,6 +986,9 @@ fi %endif %changelog +* Wed Jan 31 2024 Pete Walter - 8.0.35-5 +- Rebuild for ICU 74 + * Wed Jan 24 2024 Fedora Release Engineering - 8.0.35-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 95ebb07c15e5a55ed5eb1b7be940793d38d1ff84 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 13:52:58 +0100 Subject: [PATCH 575/616] SPECfile cleanup - assuming we're on Fedora or RHEL>=8 --- community-mysql.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 91e2793..92c5b71 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -144,14 +144,10 @@ BuildRequires: numactl-devel %endif BuildRequires: openssl BuildRequires: openssl-devel -%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators -%endif -%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: rpcgen BuildRequires: libtirpc-devel -%endif BuildRequires: protobuf-lite-devel BuildRequires: rapidjson-devel BuildRequires: zlib From 82993239f3389062e8b378edbb3142bc867bf2ef Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 13:59:11 +0100 Subject: [PATCH 576/616] SPECfile cleanup - Reformat for readability --- community-mysql.spec | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 92c5b71..3c9a14d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -30,6 +30,9 @@ %global skiplist platform-specific-tests.list +%global boost_bundled_version 1.77.0 + + # For some use cases we do not need some parts of the package %bcond_without clibrary %bcond_without devel @@ -46,26 +49,23 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug -%global boost_bundled_version 1.77.0 # Include files for systemd -%global daemon_name mysqld -%global daemon_no_prefix mysqld - -# Directory for storing pid file -%global pidfiledir %{_rundir}/%{daemon_name} +%global daemon_name mysqld +%global daemon_no_prefix mysqld # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) -%global logrotateddir %{_sysconfdir}/logrotate.d -%global logfiledir %{_localstatedir}/log/mysql -%global logfile %{logfiledir}/%{daemon_no_prefix}.log - +%global logrotateddir %{_sysconfdir}/logrotate.d +%global logfiledir %{_localstatedir}/log/mysql +%global logfile %{logfiledir}/%{daemon_no_prefix}.log +# Directory for storing pid file +%global pidfiledir %{_rundir}/%{daemon_name} # Defining where database data live -%global dbdatadir %{_localstatedir}/lib/mysql - +%global dbdatadir %{_localstatedir}/lib/mysql # Home directory of mysql user should be same for all packages that create it -%global mysqluserhome /var/lib/mysql +%global mysqluserhome /var/lib/mysql + # Provide mysql names for compatibility %bcond_without mysql_names From fdceea6e7250278b7ec3611d51aadc570ed61655 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 14:00:26 +0100 Subject: [PATCH 577/616] SPECfile cleanup - Transform %require_mysql_selinux general macro to a control macro --- community-mysql.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3c9a14d..790911e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,9 +17,6 @@ # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 -# Aditional SELinux rules -%global require_mysql_selinux 1 - # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -49,6 +46,9 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug +# Aditional SELinux rules from a standalone package 'mysql-selinux' (that holds rules shared between MariaDB and MySQL) +%bcond_without require_mysql_selinux + # Include files for systemd %global daemon_name mysqld @@ -301,7 +301,7 @@ Requires(post): policycoreutils-python-utils # Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package # For cases, where we want to fix a SELinux issues in MySQL sooner than patched selinux-policy-targeted package is released -%if %require_mysql_selinux +%if %{with require_mysql_selinux} Requires: (mysql-selinux if selinux-policy-targeted) %endif From be241fe6cb6c9fa2a21f6683ef743f9dfc19f9f2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 14:01:46 +0100 Subject: [PATCH 578/616] SPECfile cleanup - Remove single-purpose macro, especially when it holds the same value as another macro --- community-mysql.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 790911e..773cfd5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -63,8 +63,6 @@ %global pidfiledir %{_rundir}/%{daemon_name} # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql -# Home directory of mysql user should be same for all packages that create it -%global mysqluserhome /var/lib/mysql # Provide mysql names for compatibility @@ -670,7 +668,7 @@ popd %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ +/usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post server From b1b14a1e119f91aca040f992d0dba89c0f1e1f09 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 14:02:32 +0100 Subject: [PATCH 579/616] SPECfile cleanup - patch configuration option has been upstreamed in 2016; #884755 --- community-mysql.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 773cfd5..ed7d173 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -21,10 +21,6 @@ %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} -# By default, patch(1) creates backup files when chunks apply with offsets. -# Turn that off to ensure such files don't get included in RPMs (cf bz#884755). -%global _default_patch_flags --no-backup-if-mismatch - %global skiplist platform-specific-tests.list %global boost_bundled_version 1.77.0 From 8a077c3962df640d104cb17acef8dfcb303bb6bf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 14:03:10 +0100 Subject: [PATCH 580/616] SPECfile cleanup - use the unversioned docdirs in a clean and straightforward way --- community-mysql.spec | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ed7d173..e2439dd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,10 +17,6 @@ # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 -# In f20+ use unversioned docdirs, otherwise the old versioned one -%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} -%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} - %global skiplist platform-specific-tests.list %global boost_bundled_version 1.77.0 @@ -440,8 +436,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ -DSYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ - -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ + -DINSTALL_DOCDIR="share/doc/%{pkg_name}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{pkg_name}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBEXECDIR=libexec \ From 9d579e10f2cc01233dc1c7ace7037a4600a2e429 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 14:06:12 +0100 Subject: [PATCH 581/616] SPECfile cleanup - move general code block to a more logical place --- community-mysql.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index e2439dd..7236269 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,6 +17,10 @@ # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ + %global skiplist platform-specific-tests.list %global boost_bundled_version 1.77.0 @@ -204,10 +208,6 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: mariadb} -# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) -%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ - %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) From 6e17c080ef848bb7f000cd7085249d631d65e912 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 21:57:27 +0100 Subject: [PATCH 582/616] SPECfile enhancement - Make the 'mariadb-errmsg' and 'mariadb-common' sub-packages 'noarch' The sub-package 'mariadb-common' contains XML files with character sets The sub-package 'mariadb-errmsg' contains 'errmsg.sys' files with error messages for various laguages --- community-mysql.spec | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7236269..9ca53e2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -195,7 +195,7 @@ BuildRequires: make BuildRequires: libfido2-devel Requires: bash coreutils grep -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} Provides: bundled(boost) = %{boost_bundled_version} @@ -218,7 +218,7 @@ contains the standard MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MySQL clients -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} @@ -247,6 +247,7 @@ package itself. %if %{with common} %package common Summary: The shared files required for MySQL server and client +BuildArch: noarch Requires: %{_sysconfdir}/my.cnf %description common @@ -259,7 +260,8 @@ MySQL package. %if %{with errmsg} %package errmsg Summary: The error messages files required by MySQL server -Requires: %{name}-common%{?_isa} = %{sameevr} +BuildArch: noarch +Requires: %{name}-common = %{sameevr} %description errmsg The package provides error messages files for the MySQL daemon @@ -273,10 +275,10 @@ Summary: The MySQL server and related files Suggests: %{name}%{?_isa} = %{sameevr} Requires: mysql%{?_isa} -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -Requires: %{name}-errmsg%{?_isa} = %{sameevr} +Requires: %{name}-errmsg = %{sameevr} %{?mecab:Requires: mecab-ipadic} Requires: coreutils Requires(pre): /usr/sbin/useradd @@ -330,7 +332,7 @@ developing MySQL client applications. %package test Summary: The test suite distributed with MySQL Requires: %{name}%{?_isa} = %{sameevr} -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: gzip Requires: lz4 @@ -704,6 +706,7 @@ fi %if %{with clibrary} %files libs +%dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif @@ -721,7 +724,6 @@ fi %license LICENSE %doc README README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google -%dir %{_libdir}/mysql %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets %endif @@ -785,6 +787,7 @@ fi %dir %{_datadir}/%{pkg_name} %endif +%dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/adt_null.so %{_libdir}/mysql/plugin/auth_socket.so @@ -863,6 +866,7 @@ fi %exclude %{_bindir}/mysql_config_editor %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 +%dir %{_libdir}/mysql %if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so %endif @@ -883,6 +887,7 @@ fi %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/zlib_decompress.1* +%dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/auth.so %{_libdir}/mysql/plugin/auth_test_plugin.so From 068e37f35dd18d05df4ee149d71bd9283c5c308a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 14:37:23 +0100 Subject: [PATCH 583/616] F40 Change "MariaDB & MySQL repackaging" - Implement conflicts with 'mariadb' names and provide 'community-mysql' names As per: https://fedoraproject.org/wiki/Changes/F40_MariaDB_MySQL_repackaging specifically the parts: - Rename package 'community-mysql' to 'mysql' and Stop providing 'mysql' symbols by package 'mariadb' - Drop cross-installation functionality --- community-mysql.spec | 72 ++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9ca53e2..fa2c42a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -61,9 +61,17 @@ %global dbdatadir %{_localstatedir}/lib/mysql -# Provide mysql names for compatibility -%bcond_without mysql_names -%bcond_without conflicts +# Set explicit conflicts with 'mariadb' packages +%bcond_without conflicts_mariadb +# Provide explicitly the 'community-mysql' names +# 'community-mysql' names are deprecated and to be removed in future Fedora +# but we're leaving them here for compatibility reasons +%bcond_without provides_community_mysql +# Obsolete the package 'community-mysql' and all its sub-packages +%bcond_without obsoletes_community_mysql +# This is the last version of the 'community-mysql' package production release +%global obsolete_community_mysql_version 8.0.35-1 + # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} @@ -199,14 +207,11 @@ Requires: %{name}-common = %{sameevr} Provides: bundled(boost) = %{boost_bundled_version} -%if %{with mysql_names} -Provides: mysql = %{sameevr} -Provides: mysql%{?_isa} = %{sameevr} -Provides: mysql-compat-client = %{sameevr} -Provides: mysql-compat-client%{?_isa} = %{sameevr} -%endif - -%{?with_conflicts:Conflicts: mariadb} +%{?with_conflicts_mariadb:Conflicts: mariadb} +# Explicitly disallow installation of mysql + mariadb-server +%{?with_conflicts_mariadb:Conflicts: mariadb-server} +%{?with_provides_community_mysql:Provides: community-mysql} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql <= %obsolete_community_mysql_version} %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -219,10 +224,8 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients Requires: %{name}-common = %{sameevr} -%if %{with mysql_names} -Provides: mysql-libs = %{sameevr} -Provides: mysql-libs%{?_isa} = %{sameevr} -%endif +%{?with_provides_community_mysql:Provides: community-mysql-libs} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-libs <= %obsolete_community_mysql_version} %description libs The mysql-libs package provides the essential shared libraries for any @@ -235,6 +238,8 @@ MySQL server. %if %{with config} %package config Summary: The config files required by server and client +%{?with_provides_community_mysql:Provides: community-mysql-config} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-config <= %obsolete_community_mysql_version} %description config The package provides the config file my.cnf and my.cnf.d directory used by any @@ -249,6 +254,8 @@ package itself. Summary: The shared files required for MySQL server and client BuildArch: noarch Requires: %{_sysconfdir}/my.cnf +%{?with_provides_community_mysql:Provides: community-mysql-common} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} %description common The mysql-common package provides the essential shared files for any @@ -262,6 +269,8 @@ MySQL package. Summary: The error messages files required by MySQL server BuildArch: noarch Requires: %{name}-common = %{sameevr} +%{?with_provides_community_mysql:Provides: community-mysql-errmsg} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-errmsg <= %obsolete_community_mysql_version} %description errmsg The package provides error messages files for the MySQL daemon @@ -271,9 +280,7 @@ The package provides error messages files for the MySQL daemon %package server Summary: The MySQL server and related files -# Require any mysql client, but prefer community-mysql client for community-mysql server -Suggests: %{name}%{?_isa} = %{sameevr} -Requires: mysql%{?_isa} +Requires: %{name}%{?_isa} Requires: %{name}-common = %{sameevr} Requires: %{_sysconfdir}/my.cnf @@ -297,14 +304,13 @@ Requires(post): policycoreutils-python-utils Requires: (mysql-selinux if selinux-policy-targeted) %endif -%if %{with mysql_names} -Provides: mysql-server = %{sameevr} -Provides: mysql-server%{?_isa} = %{sameevr} -Provides: mysql-compat-server = %{sameevr} -Provides: mysql-compat-server%{?_isa} = %{sameevr} -%endif -%{?with_conflicts:Conflicts: mariadb-server} -%{?with_conflicts:Conflicts: mariadb-galera-server} +%{?with_conflicts_mariadb:Conflicts: mariadb-server} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-utils} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-galera} +# Explicitly disallow installation of mysql + mariadb-server +%{?with_conflicts_mariadb:Conflicts: mariadb} +%{?with_provides_community_mysql:Provides: community-mysql-server} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-server <= %obsolete_community_mysql_version} %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -320,7 +326,10 @@ Summary: Files for development of MySQL applications Requires: openssl-devel Requires: zlib-devel Requires: libzstd-devel -%{?with_conflicts:Conflicts: mariadb-devel} +%{?with_conflicts_mariadb:Conflicts: mariadb-devel} +%{?with_conflicts_mariadb:Conflicts: mariadb-connector-c-devel} +%{?with_provides_community_mysql:Provides: community-mysql-devel} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-devel <= %obsolete_community_mysql_version} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -354,11 +363,10 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -%{?with_conflicts:Conflicts: mariadb-test} -%if %{with mysql_names} -Provides: mysql-test = %{sameevr} -Provides: mysql-test%{?_isa} = %{sameevr} -%endif + +%{?with_conflicts_mariadb:Conflicts: mariadb-test} +%{?with_provides_community_mysql:Provides: community-mysql-test} +%{?with_obsoletes_community_mysql:Obsoletes: community-mysql-test <= %obsolete_community_mysql_version} %description test MySQL is a multi-user, multi-threaded SQL database server. This From 04529e24b2aa0258ee03985bf28ff3a0a5e0ee99 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 26 Jan 2024 12:13:21 +0000 Subject: [PATCH 584/616] Change the bcod_with/out conditions to new bcond 1/0 --- community-mysql.spec | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index fa2c42a..814f213 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -27,23 +27,23 @@ # For some use cases we do not need some parts of the package -%bcond_without clibrary -%bcond_without devel -%bcond_without client -%bcond_without common -%bcond_without errmsg -%bcond_without test +%bcond clibrary 1 +%bcond devel 1 +%bcond client 1 +%bcond common 1 +%bcond errmsg 1 +%bcond test 1 # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues -%bcond_with config +%bcond config 0 # For deep debugging we need to build binaries with extra debug info -%bcond_with debug +%bcond debug 0 # Aditional SELinux rules from a standalone package 'mysql-selinux' (that holds rules shared between MariaDB and MySQL) -%bcond_without require_mysql_selinux +%bcond require_mysql_selinux 1 # Include files for systemd @@ -62,13 +62,13 @@ # Set explicit conflicts with 'mariadb' packages -%bcond_without conflicts_mariadb +%bcond conflicts_mariadb 1 # Provide explicitly the 'community-mysql' names # 'community-mysql' names are deprecated and to be removed in future Fedora # but we're leaving them here for compatibility reasons -%bcond_without provides_community_mysql +%bcond provides_community_mysql 1 # Obsolete the package 'community-mysql' and all its sub-packages -%bcond_without obsoletes_community_mysql +%bcond obsoletes_community_mysql 1 # This is the last version of the 'community-mysql' package production release %global obsolete_community_mysql_version 8.0.35-1 From 78063eb661ca5a0520d0b53bf0d051679fb2f935 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 26 Jan 2024 12:14:39 +0000 Subject: [PATCH 585/616] LTO fails only on ARM32 not all ARM archs --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 814f213..16adb58 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -418,7 +418,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %build # arm build ends with out of memory error for LTO enabled build -%ifarch %arm +%ifarch %arm32 %define _lto_cflags %{nil} %endif From 16b5eee119ea9a22d1f0a2810248c302fa95aeb4 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 26 Jan 2024 12:16:39 +0000 Subject: [PATCH 586/616] Change the if without conditions to prefered if ! with Prefered conditions are described in RPM manual: https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html --- community-mysql.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 16adb58..e5749f2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -568,13 +568,13 @@ install -p -m 0644 %{SOURCE7} %{_vpath_srcdir}/%{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 %{_vpath_srcdir}/mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test -%if %{without clibrary} +%if ! %{with clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif -%if %{without devel} +%if ! %{with devel} rm %{buildroot}%{_bindir}/mysql_config* rm -r %{buildroot}%{_includedir}/mysql rm %{buildroot}%{_datadir}/aclocal/mysql.m4 @@ -583,7 +583,7 @@ rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm %{buildroot}%{_mandir}/man1/mysql_config.1* %endif -%if %{without client} +%if ! %{with client} rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} @@ -598,18 +598,18 @@ mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d #rm %{buildroot}%{_sysconfdir}/my.cnf %endif -%if %{without common} +%if ! %{with common} rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif -%if %{without errmsg} +%if ! %{with errmsg} rm %{buildroot}%{_datadir}/%{pkg_name}/{messages_to_error_log.txt,messages_to_clients.txt} rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif -%if %{without test} +%if ! %{with test} rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress} rm -r %{buildroot}%{_datadir}/mysql-test %endif @@ -791,7 +791,7 @@ fi %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN -%if %{without common} +%if ! %{with common} %dir %{_datadir}/%{pkg_name} %endif From c8aa87d9307bab6fcdadae63f9e5a81df943b3f1 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 26 Jan 2024 12:22:32 +0000 Subject: [PATCH 587/616] Add comment for better code understanding --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index e5749f2..043013d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -495,6 +495,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ # Note: disabling building of unittests to workaround #1989847 +# Print all Cmake options values; "-LAH" means "List Advanced Help" cmake -B %{_vpath_builddir} -LAH %cmake_build From 9f79d3a6a2b0acf8e26b63e393be30e5a89980c2 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 26 Jan 2024 12:23:32 +0000 Subject: [PATCH 588/616] Bump the release to 100 Prepare for a production build after large set of changes in 'mariadb', 'community-mysql' and 'mysql' packages --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 043013d..afabf90 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 8.0.35 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 100%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com From 47c31c88f2c0c04efb1bebeb3f8f40158c5a5b5b Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 5 Feb 2024 19:02:35 +0000 Subject: [PATCH 589/616] Renaming 'community-mysql' to 'mysql8.0' --- community-mysql.spec | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index afabf90..ccd9345 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -70,13 +70,13 @@ # Obsolete the package 'community-mysql' and all its sub-packages %bcond obsoletes_community_mysql 1 # This is the last version of the 'community-mysql' package production release -%global obsolete_community_mysql_version 8.0.35-1 - +%global obsolete_community_mysql_version 8.0.35-4 +%global community_mysql_version 8.0.36 # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} -Name: community-mysql +Name: mysql8.0 Version: 8.0.35 Release: 100%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries @@ -210,7 +210,8 @@ Provides: bundled(boost) = %{boost_bundled_version} %{?with_conflicts_mariadb:Conflicts: mariadb} # Explicitly disallow installation of mysql + mariadb-server %{?with_conflicts_mariadb:Conflicts: mariadb-server} -%{?with_provides_community_mysql:Provides: community-mysql} +%{?with_provides_community_mysql:Provides: community-mysql = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql <= %obsolete_community_mysql_version} %description @@ -224,7 +225,8 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients Requires: %{name}-common = %{sameevr} -%{?with_provides_community_mysql:Provides: community-mysql-libs} +%{?with_provides_community_mysql:Provides: community-mysql-libs = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-libs%{?_isa}= %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-libs <= %obsolete_community_mysql_version} %description libs @@ -238,7 +240,8 @@ MySQL server. %if %{with config} %package config Summary: The config files required by server and client -%{?with_provides_community_mysql:Provides: community-mysql-config} +%{?with_provides_community_mysql:Provides: community-mysql-config = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-config%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-config <= %obsolete_community_mysql_version} %description config @@ -254,7 +257,8 @@ package itself. Summary: The shared files required for MySQL server and client BuildArch: noarch Requires: %{_sysconfdir}/my.cnf -%{?with_provides_community_mysql:Provides: community-mysql-common} +%{?with_provides_community_mysql:Provides: community-mysql-common = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-common%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} %description common @@ -269,7 +273,8 @@ MySQL package. Summary: The error messages files required by MySQL server BuildArch: noarch Requires: %{name}-common = %{sameevr} -%{?with_provides_community_mysql:Provides: community-mysql-errmsg} +%{?with_provides_community_mysql:Provides: community-mysql-errmsg = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-errmsg%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-errmsg <= %obsolete_community_mysql_version} %description errmsg @@ -309,7 +314,8 @@ Requires: (mysql-selinux if selinux-policy-targeted) %{?with_conflicts_mariadb:Conflicts: mariadb-server-galera} # Explicitly disallow installation of mysql + mariadb-server %{?with_conflicts_mariadb:Conflicts: mariadb} -%{?with_provides_community_mysql:Provides: community-mysql-server} +%{?with_provides_community_mysql:Provides: community-mysql-server = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-server%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-server <= %obsolete_community_mysql_version} %description server @@ -328,7 +334,8 @@ Requires: zlib-devel Requires: libzstd-devel %{?with_conflicts_mariadb:Conflicts: mariadb-devel} %{?with_conflicts_mariadb:Conflicts: mariadb-connector-c-devel} -%{?with_provides_community_mysql:Provides: community-mysql-devel} +%{?with_provides_community_mysql:Provides: community-mysql-devel = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-devel%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-devel <= %obsolete_community_mysql_version} %description devel @@ -365,7 +372,8 @@ Requires: perl(Test::More) Requires: perl(Time::HiRes) %{?with_conflicts_mariadb:Conflicts: mariadb-test} -%{?with_provides_community_mysql:Provides: community-mysql-test} +%{?with_provides_community_mysql:Provides: community-mysql-test = %community_mysql_version} +%{?with_provides_community_mysql:Provides: community-mysql-test%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-test <= %obsolete_community_mysql_version} %description test @@ -986,6 +994,9 @@ fi %endif %changelog +* Wed Jan 31 2024 Lukas Javorsky - 8.0.35-100 +- Renaming 'community-mysql' to 'mysql8.0' + * Wed Jan 31 2024 Pete Walter - 8.0.35-5 - Rebuild for ICU 74 From 4bf4df5bdd33dfb30c62cd6169adb2ac63a11f63 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Tue, 30 Jan 2024 08:52:17 +0000 Subject: [PATCH 590/616] Rename all patch files and specfile --- ...unity-mysql-arm32-timer.patch => mysql-arm32-timer.patch | 0 community-mysql-c99.patch => mysql-c99.patch | 0 ...y-mysql-file-contents.patch => mysql-file-contents.patch | 0 ...ity-mysql-install-test.patch => mysql-install-test.patch | 0 community-mysql-mtr.patch => mysql-mtr.patch | 0 community-mysql-paths.patch => mysql-paths.patch | 0 community-mysql-rpath.patch => mysql-rpath.patch | 0 community-mysql-scripts.patch => mysql-scripts.patch | 0 community-mysql-sharedir.patch => mysql-sharedir.patch | 0 community-mysql.rpmlintrc => mysql.rpmlintrc | 0 community-mysql.spec => mysql8.0.spec | 6 +++--- 11 files changed, 3 insertions(+), 3 deletions(-) rename community-mysql-arm32-timer.patch => mysql-arm32-timer.patch (100%) rename community-mysql-c99.patch => mysql-c99.patch (100%) rename community-mysql-file-contents.patch => mysql-file-contents.patch (100%) rename community-mysql-install-test.patch => mysql-install-test.patch (100%) rename community-mysql-mtr.patch => mysql-mtr.patch (100%) rename community-mysql-paths.patch => mysql-paths.patch (100%) rename community-mysql-rpath.patch => mysql-rpath.patch (100%) rename community-mysql-scripts.patch => mysql-scripts.patch (100%) rename community-mysql-sharedir.patch => mysql-sharedir.patch (100%) rename community-mysql.rpmlintrc => mysql.rpmlintrc (100%) rename community-mysql.spec => mysql8.0.spec (99%) diff --git a/community-mysql-arm32-timer.patch b/mysql-arm32-timer.patch similarity index 100% rename from community-mysql-arm32-timer.patch rename to mysql-arm32-timer.patch diff --git a/community-mysql-c99.patch b/mysql-c99.patch similarity index 100% rename from community-mysql-c99.patch rename to mysql-c99.patch diff --git a/community-mysql-file-contents.patch b/mysql-file-contents.patch similarity index 100% rename from community-mysql-file-contents.patch rename to mysql-file-contents.patch diff --git a/community-mysql-install-test.patch b/mysql-install-test.patch similarity index 100% rename from community-mysql-install-test.patch rename to mysql-install-test.patch diff --git a/community-mysql-mtr.patch b/mysql-mtr.patch similarity index 100% rename from community-mysql-mtr.patch rename to mysql-mtr.patch diff --git a/community-mysql-paths.patch b/mysql-paths.patch similarity index 100% rename from community-mysql-paths.patch rename to mysql-paths.patch diff --git a/community-mysql-rpath.patch b/mysql-rpath.patch similarity index 100% rename from community-mysql-rpath.patch rename to mysql-rpath.patch diff --git a/community-mysql-scripts.patch b/mysql-scripts.patch similarity index 100% rename from community-mysql-scripts.patch rename to mysql-scripts.patch diff --git a/community-mysql-sharedir.patch b/mysql-sharedir.patch similarity index 100% rename from community-mysql-sharedir.patch rename to mysql-sharedir.patch diff --git a/community-mysql.rpmlintrc b/mysql.rpmlintrc similarity index 100% rename from community-mysql.rpmlintrc rename to mysql.rpmlintrc diff --git a/community-mysql.spec b/mysql8.0.spec similarity index 99% rename from community-mysql.spec rename to mysql8.0.spec index ccd9345..a907be3 100644 --- a/community-mysql.spec +++ b/mysql8.0.spec @@ -1,11 +1,11 @@ # Name of the package without any prefixes %global pkg_name %{name} -%global pkgnamepatch community-mysql +%global pkgnamepatch mysql # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -120,7 +120,7 @@ Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch -Patch55: community-mysql-c99.patch +Patch55: %{pkgnamepatch}-c99.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch From f6259b3f096e9338edd2772ad7e0dc13b11cb4c5 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Tue, 30 Jan 2024 13:26:24 +0000 Subject: [PATCH 591/616] Rebase to version 8.0.36 --- mysql8.0.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index a907be3..4419b16 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -77,8 +77,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: mysql8.0 -Version: 8.0.35 -Release: 100%{?with_debug:.debug}%{?dist} +Version: 8.0.36 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -994,6 +994,9 @@ fi %endif %changelog +* Wed Jan 31 2024 Lukas Javorsky - 8.0.36-1 +- Rebase to version 8.0.36 + * Wed Jan 31 2024 Lukas Javorsky - 8.0.35-100 - Renaming 'community-mysql' to 'mysql8.0' diff --git a/sources b/sources index eb5e33b..33f2876 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.35.tar.gz) = 2936f7a84aa5f96633b239d1dba3613462d88f3a2ea493a7d05aa9a9b590e9e36a30857f44fcdb11360242375d6106e80cd1b32e0c6cb14502c1518ad1a720b2 +SHA512 (mysql-boost-8.0.36.tar.gz) = a6c1c009a322b7e7aa2aa607573060414c847c77d48f44a24058ffb89673621f2ebbcc1a4448fa841a87ff721159cc8eaf44a57721c7dc233c130691c16a9d4a From e7752d4c32128c24668e3b68141b48cbe6c3a575 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 Jan 2024 13:36:54 +0000 Subject: [PATCH 592/616] Use signal to flush logs when rotating Using signals has a benefit over mysqladmin call that we don't need to care about password if root has some. Related: https://issues.redhat.com/browse/RHEL-5470 --- mysql-flush-logrotate.patch | 17 +++++++++++++++++ mysql8.0.spec | 7 ++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 mysql-flush-logrotate.patch diff --git a/mysql-flush-logrotate.patch b/mysql-flush-logrotate.patch new file mode 100644 index 0000000..1e30f6a --- /dev/null +++ b/mysql-flush-logrotate.patch @@ -0,0 +1,17 @@ +diff -up mysql-8.0.35/support-files/mysql-log-rotate.in.origf mysql-8.0.35/support-files/mysql-log-rotate.in +--- mysql-8.0.35/support-files/mysql-log-rotate.in.origf 2024-01-29 23:00:32.043257515 +0100 ++++ mysql-8.0.35/support-files/mysql-log-rotate.in 2024-01-29 23:02:26.520440388 +0100 +@@ -49,11 +49,7 @@ + missingok + compress + postrotate +- # just if mysqld is really running +- if test -x @bindir@/mysqladmin && \ +- @bindir@/mysqladmin ping &>/dev/null +- then +- @bindir@/mysqladmin flush-logs +- fi ++ # SIGUSR1 makes the daemon to flush the logs, no need to connect ++ @bindir@/kill -USR1 $(systemctl show --property MainPID --value mysqld) + endscript + } diff --git a/mysql8.0.spec b/mysql8.0.spec index 4419b16..7765adf 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -78,7 +78,7 @@ Name: mysql8.0 Version: 8.0.36 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -121,6 +121,7 @@ Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch Patch54: %{pkgnamepatch}-arm32-timer.patch Patch55: %{pkgnamepatch}-c99.patch +Patch56: %{pkgnamepatch}-flush-logrotate.patch # Patches taken from boost 1.59 Patch111: boost-1.58.0-pool.patch @@ -394,6 +395,7 @@ the MySQL sources. %patch -P53 -p1 %patch -P54 -p1 %patch -P55 -p1 +%patch -P56 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -994,6 +996,9 @@ fi %endif %changelog +* Wed Jan 31 2024 Honza Horak - 8.0.36-2 +- Use signal to flush logs when rotating + * Wed Jan 31 2024 Lukas Javorsky - 8.0.36-1 - Rebase to version 8.0.36 From 859da9f6196a28ca2e5d5d3f0bd8e3321e3e883f Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 31 Jan 2024 13:13:08 +0000 Subject: [PATCH 593/616] Remove arch specific provides for noarch subpackages Also add Release to the Provides version, so it adhere the Packaging Guidelines --- mysql8.0.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 7765adf..522ea3f 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -71,7 +71,7 @@ %bcond obsoletes_community_mysql 1 # This is the last version of the 'community-mysql' package production release %global obsolete_community_mysql_version 8.0.35-4 -%global community_mysql_version 8.0.36 +%global community_mysql_version 8.0.36-1 # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} @@ -259,7 +259,6 @@ Summary: The shared files required for MySQL server and client BuildArch: noarch Requires: %{_sysconfdir}/my.cnf %{?with_provides_community_mysql:Provides: community-mysql-common = %community_mysql_version} -%{?with_provides_community_mysql:Provides: community-mysql-common%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} %description common @@ -275,7 +274,6 @@ Summary: The error messages files required by MySQL server BuildArch: noarch Requires: %{name}-common = %{sameevr} %{?with_provides_community_mysql:Provides: community-mysql-errmsg = %community_mysql_version} -%{?with_provides_community_mysql:Provides: community-mysql-errmsg%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-errmsg <= %obsolete_community_mysql_version} %description errmsg From 59a230df607d27cb1b400df0dc0eec7989890ec3 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Sun, 4 Feb 2024 21:28:59 +0000 Subject: [PATCH 594/616] Apply demodularization --- mysql8.0.spec | 143 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 103 insertions(+), 40 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 522ea3f..81d0201 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -1,7 +1,13 @@ # Name of the package without any prefixes -%global pkg_name %{name} +%global pkg_name mysql +%global package_version 8.0.36 +%define pkg_version %(echo %{package_version} | cut -d'.' -f1-2 ) %global pkgnamepatch mysql + +# Set if this package will be the default one in distribution +%{!?mysql_default:%global mysql_default 1} + # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) @@ -76,9 +82,9 @@ # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} -Name: mysql8.0 -Version: 8.0.36 -Release: 2%{?with_debug:.debug}%{?dist} +Name: %{pkg_name}%{pkg_version} +Version: %{package_version} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -130,6 +136,15 @@ Patch112: boost-1.57.0-mpl-print.patch # Patches taken from boost 1.76 Patch113: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch +# This macro is used for package/sub-package names in the entire specfile +%if %?mysql_default +%global pkgname %{pkg_name} +%package -n %{pkgname} +Summary: MySQL client programs and shared libraries +%else +%global pkgname %{name} +%endif + BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libaio-devel @@ -204,7 +219,7 @@ BuildRequires: make BuildRequires: libfido2-devel Requires: bash coreutils grep -Requires: %{name}-common = %{sameevr} +Requires: %{pkgname}-common = %{sameevr} Provides: bundled(boost) = %{boost_bundled_version} @@ -215,22 +230,51 @@ Provides: bundled(boost) = %{boost_bundled_version} %{?with_provides_community_mysql:Provides: community-mysql%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql <= %obsolete_community_mysql_version} +%define conflict_with_other_streams() %{expand:\ +Provides: %{pkg_name}%{?1:-%{1}}-any\ +Conflicts: %{pkg_name}%{?1:-%{1}}-any\ +} + +# Provide also mysqlX.X if default +%if %?mysql_default +%define mysqlX_if_default() %{expand:\ +Provides: mysql%{pkg_version}%{?1:-%{1}} = %{sameevr}\ +Provides: mysql%{pkg_version}%{?1:-%{1}}%{?_isa} = %{sameevr}\ +} +%else +%define mysqlX_if_default() %{nil} +%endif + +%define add_metadata() %{expand:\ +%conflict_with_other_streams %{**}\ +%mysqlX_if_default %{**}\ +} + +%add_metadata + %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. +%description -n %{pkgname} +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. The base package +contains the standard MySQL client programs and generic MySQL files. %if %{with clibrary} -%package libs +%package -n %{pkgname}-libs Summary: The shared libraries required for MySQL clients -Requires: %{name}-common = %{sameevr} +Requires: %{pkgname}-common = %{sameevr} %{?with_provides_community_mysql:Provides: community-mysql-libs = %community_mysql_version} %{?with_provides_community_mysql:Provides: community-mysql-libs%{?_isa}= %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-libs <= %obsolete_community_mysql_version} -%description libs +%add_metadata libs + +%description -n %{pkgname}-libs The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a @@ -239,13 +283,15 @@ MySQL server. %if %{with config} -%package config +%package -n %{pkgname}-config Summary: The config files required by server and client %{?with_provides_community_mysql:Provides: community-mysql-config = %community_mysql_version} %{?with_provides_community_mysql:Provides: community-mysql-config%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-config <= %obsolete_community_mysql_version} -%description config +%add_metadata config + +%description -n %{pkgname}-config The package provides the config file my.cnf and my.cnf.d directory used by any MariaDB or MySQL program. You will need to install this package to use any other MariaDB or MySQL package if the config files are not provided in the @@ -254,14 +300,17 @@ package itself. %if %{with common} -%package common +%package -n %{pkgname}-common Summary: The shared files required for MySQL server and client BuildArch: noarch Requires: %{_sysconfdir}/my.cnf %{?with_provides_community_mysql:Provides: community-mysql-common = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} -%description common +# As this package is noarch, it can't use the %%{?_isa} RPM macro +%conflict_with_other_streams common + +%description -n %{pkgname}-common The mysql-common package provides the essential shared files for any MySQL program. You will need to install this package to use any other MySQL package. @@ -269,27 +318,30 @@ MySQL package. %if %{with errmsg} -%package errmsg +%package -n %{pkgname}-errmsg Summary: The error messages files required by MySQL server BuildArch: noarch -Requires: %{name}-common = %{sameevr} +Requires: %{pkgname}-common = %{sameevr} %{?with_provides_community_mysql:Provides: community-mysql-errmsg = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-errmsg <= %obsolete_community_mysql_version} -%description errmsg +# As this package is noarch, it can't use the %%{?_isa} RPM macro +%conflict_with_other_streams errmsg + +%description -n %{pkgname}-errmsg The package provides error messages files for the MySQL daemon %endif -%package server +%package -n %{pkgname}-server Summary: The MySQL server and related files -Requires: %{name}%{?_isa} +Requires: %{pkgname}%{?_isa} = %{sameevr} -Requires: %{name}-common = %{sameevr} +Requires: %{pkgname}-common = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -Requires: %{name}-errmsg = %{sameevr} +Requires: %{pkgname}-errmsg = %{sameevr} %{?mecab:Requires: mecab-ipadic} Requires: coreutils Requires(pre): /usr/sbin/useradd @@ -317,7 +369,9 @@ Requires: (mysql-selinux if selinux-policy-targeted) %{?with_provides_community_mysql:Provides: community-mysql-server%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-server <= %obsolete_community_mysql_version} -%description server +%add_metadata server + +%description -n %{pkgname}-server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains @@ -325,9 +379,9 @@ the MySQL server and some accompanying files and directories. %if %{with devel} -%package devel +%package -n %{pkgname}-devel Summary: Files for development of MySQL applications -%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} +%{?with_clibrary:Requires: %{pkgname}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel Requires: zlib-devel Requires: libzstd-devel @@ -337,18 +391,20 @@ Requires: libzstd-devel %{?with_provides_community_mysql:Provides: community-mysql-devel%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-devel <= %obsolete_community_mysql_version} -%description devel +%add_metadata devel + +%description -n %{pkgname}-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. %endif %if %{with test} -%package test +%package -n %{pkgname}-test Summary: The test suite distributed with MySQL -Requires: %{name}%{?_isa} = %{sameevr} -Requires: %{name}-common = %{sameevr} -Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: %{pkgname}%{?_isa} = %{sameevr} +Requires: %{pkgname}-common = %{sameevr} +Requires: %{pkgname}-server%{?_isa} = %{sameevr} Requires: gzip Requires: lz4 Requires: openssl @@ -375,7 +431,9 @@ Requires: perl(Time::HiRes) %{?with_provides_community_mysql:Provides: community-mysql-test%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-test <= %obsolete_community_mysql_version} -%description test +%add_metadata test + +%description -n %{pkgname}-test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. @@ -677,27 +735,27 @@ popd -%pre server +%pre -n %{pkgname}-server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%post server +%post -n %{pkgname}-server %systemd_post %{daemon_name}.service if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi -%preun server +%preun -n %{pkgname}-server %systemd_preun %{daemon_name}.service -%postun server +%postun -n %{pkgname}-server %systemd_postun_with_restart %{daemon_name}.service %if %{with client} -%files +%files -n %{pkgname} %{_bindir}/mysql %{_bindir}/mysql_config_editor %{_bindir}/mysqladmin @@ -722,14 +780,14 @@ fi %endif %if %{with clibrary} -%files libs +%files -n %{pkgname}-libs %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif %if %{with config} -%files config +%files -n %{pkgname}-config # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. %dir %{_sysconfdir}/my.cnf.d @@ -737,7 +795,7 @@ fi %endif %if %{with common} -%files common +%files -n %{pkgname}-common %license LICENSE %doc README README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google @@ -746,7 +804,7 @@ fi %endif %if %{with errmsg} -%files errmsg +%files -n %{pkgname}-errmsg %{_datadir}/%{pkg_name}/messages_to_error_log.txt %{_datadir}/%{pkg_name}/messages_to_clients.txt %{_datadir}/%{pkg_name}/english @@ -775,7 +833,7 @@ fi %lang(uk) %{_datadir}/%{pkg_name}/ukrainian %endif -%files server +%files -n %{pkgname}-server %{_bindir}/ibd2sdi %{_bindir}/myisamchk %{_bindir}/myisam_ftdump @@ -878,7 +936,7 @@ fi %config(noreplace) %{logrotateddir}/%{daemon_name} %if %{with devel} -%files devel +%files -n %{pkgname}-devel %{_bindir}/mysql_config* %exclude %{_bindir}/mysql_config_editor %{_includedir}/mysql @@ -892,7 +950,7 @@ fi %endif %if %{with test} -%files test +%files -n %{pkgname}-test %{_bindir}/mysql_client_test %{_bindir}/mysql_keyring_encryption_test %{_bindir}/mysqltest @@ -994,6 +1052,11 @@ fi %endif %changelog +* Mon Feb 05 2024 Lukas Javorsky - 8.0.36-3 +- Apply demodularization +- the default stream builds mysql.rpm +- the non-default stream builds mysqlX.XX.rpm + * Wed Jan 31 2024 Honza Horak - 8.0.36-2 - Use signal to flush logs when rotating From 178aa67c037bf2995a59a466188418c7ca477f02 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 7 Feb 2024 09:43:43 +0000 Subject: [PATCH 595/616] Bump the obsolete release number, due to high number of rebuilds --- mysql8.0.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 81d0201..f688463 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -76,7 +76,7 @@ # Obsolete the package 'community-mysql' and all its sub-packages %bcond obsoletes_community_mysql 1 # This is the last version of the 'community-mysql' package production release -%global obsolete_community_mysql_version 8.0.35-4 +%global obsolete_community_mysql_version 8.0.35-10 %global community_mysql_version 8.0.36-1 # Make long macros shorter From de06e0146b6a423aaa5f3c80b31d3997e6e4be37 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 7 Feb 2024 11:51:00 +0000 Subject: [PATCH 596/616] Renaming macro names to be more descriptive --- mysql8.0.spec | 98 +++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index f688463..186e9da 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -1,7 +1,7 @@ # Name of the package without any prefixes -%global pkg_name mysql +%global majorname mysql %global package_version 8.0.36 -%define pkg_version %(echo %{package_version} | cut -d'.' -f1-2 ) +%define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) %global pkgnamepatch mysql @@ -82,7 +82,7 @@ # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} -Name: %{pkg_name}%{pkg_version} +Name: %{majorname}%{majorversion} Version: %{package_version} Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries @@ -138,7 +138,7 @@ Patch113: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch # This macro is used for package/sub-package names in the entire specfile %if %?mysql_default -%global pkgname %{pkg_name} +%global pkgname %{majorname} %package -n %{pkgname} Summary: MySQL client programs and shared libraries %else @@ -231,15 +231,15 @@ Provides: bundled(boost) = %{boost_bundled_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql <= %obsolete_community_mysql_version} %define conflict_with_other_streams() %{expand:\ -Provides: %{pkg_name}%{?1:-%{1}}-any\ -Conflicts: %{pkg_name}%{?1:-%{1}}-any\ +Provides: %{majorname}%{?1:-%{1}}-any\ +Conflicts: %{majorname}%{?1:-%{1}}-any\ } # Provide also mysqlX.X if default %if %?mysql_default %define mysqlX_if_default() %{expand:\ -Provides: mysql%{pkg_version}%{?1:-%{1}} = %{sameevr}\ -Provides: mysql%{pkg_version}%{?1:-%{1}}%{?_isa} = %{sameevr}\ +Provides: mysql%{majorversion}%{?1:-%{1}} = %{sameevr}\ +Provides: mysql%{majorversion}%{?1:-%{1}}%{?_isa} = %{sameevr}\ } %else %define mysqlX_if_default() %{nil} @@ -512,19 +512,19 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ -DSYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ - -DINSTALL_DOCDIR="share/doc/%{pkg_name}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{pkg_name}" \ + -DINSTALL_DOCDIR="share/doc/%{majorname}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{majorname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBEXECDIR=libexec \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DRPATH_LIBDIR="%{_libdir}" \ -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ + -DINSTALL_MYSQLSHAREDIR=share/%{majorname} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=bin \ - -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ + -DINSTALL_SUPPORTFILESDIR=share/%{majorname} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ @@ -603,7 +603,7 @@ install -D -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot install -p -m 755 %{_vpath_builddir}/scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{majorname}-server.cnf rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_mandir}/man1/comp_err.1* @@ -611,7 +611,7 @@ rm %{buildroot}%{_mandir}/man1/comp_err.1* # Put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} # Remove the wrong file -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate +rm %{buildroot}%{_datadir}/%{majorname}/mysql-log-rotate # Install the correct one (meant for FSH layout in RPM packages) install -D -m 0644 %{_vpath_builddir}/packaging/rpm-common/mysql.logrotate %{buildroot}%{logrotateddir}/%{daemon_name} @@ -666,12 +666,12 @@ mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d %endif %if ! %{with common} -rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets +rm -r %{buildroot}%{_datadir}/%{majorname}/charsets %endif %if ! %{with errmsg} -rm %{buildroot}%{_datadir}/%{pkg_name}/{messages_to_error_log.txt,messages_to_clients.txt} -rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ +rm %{buildroot}%{_datadir}/%{majorname}/{messages_to_error_log.txt,messages_to_clients.txt} +rm -r %{buildroot}%{_datadir}/%{majorname}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif @@ -799,38 +799,38 @@ fi %license LICENSE %doc README README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google -%dir %{_datadir}/%{pkg_name} -%{_datadir}/%{pkg_name}/charsets +%dir %{_datadir}/%{majorname} +%{_datadir}/%{majorname}/charsets %endif %if %{with errmsg} %files -n %{pkgname}-errmsg -%{_datadir}/%{pkg_name}/messages_to_error_log.txt -%{_datadir}/%{pkg_name}/messages_to_clients.txt -%{_datadir}/%{pkg_name}/english -%lang(bg) %{_datadir}/%{pkg_name}/bulgarian -%lang(cs) %{_datadir}/%{pkg_name}/czech -%lang(da) %{_datadir}/%{pkg_name}/danish -%lang(nl) %{_datadir}/%{pkg_name}/dutch -%lang(et) %{_datadir}/%{pkg_name}/estonian -%lang(fr) %{_datadir}/%{pkg_name}/french -%lang(de) %{_datadir}/%{pkg_name}/german -%lang(el) %{_datadir}/%{pkg_name}/greek -%lang(hu) %{_datadir}/%{pkg_name}/hungarian -%lang(it) %{_datadir}/%{pkg_name}/italian -%lang(ja) %{_datadir}/%{pkg_name}/japanese -%lang(ko) %{_datadir}/%{pkg_name}/korean -%lang(no) %{_datadir}/%{pkg_name}/norwegian -%lang(no) %{_datadir}/%{pkg_name}/norwegian-ny -%lang(pl) %{_datadir}/%{pkg_name}/polish -%lang(pt) %{_datadir}/%{pkg_name}/portuguese -%lang(ro) %{_datadir}/%{pkg_name}/romanian -%lang(ru) %{_datadir}/%{pkg_name}/russian -%lang(sr) %{_datadir}/%{pkg_name}/serbian -%lang(sk) %{_datadir}/%{pkg_name}/slovak -%lang(es) %{_datadir}/%{pkg_name}/spanish -%lang(sv) %{_datadir}/%{pkg_name}/swedish -%lang(uk) %{_datadir}/%{pkg_name}/ukrainian +%{_datadir}/%{majorname}/messages_to_error_log.txt +%{_datadir}/%{majorname}/messages_to_clients.txt +%{_datadir}/%{majorname}/english +%lang(bg) %{_datadir}/%{majorname}/bulgarian +%lang(cs) %{_datadir}/%{majorname}/czech +%lang(da) %{_datadir}/%{majorname}/danish +%lang(nl) %{_datadir}/%{majorname}/dutch +%lang(et) %{_datadir}/%{majorname}/estonian +%lang(fr) %{_datadir}/%{majorname}/french +%lang(de) %{_datadir}/%{majorname}/german +%lang(el) %{_datadir}/%{majorname}/greek +%lang(hu) %{_datadir}/%{majorname}/hungarian +%lang(it) %{_datadir}/%{majorname}/italian +%lang(ja) %{_datadir}/%{majorname}/japanese +%lang(ko) %{_datadir}/%{majorname}/korean +%lang(no) %{_datadir}/%{majorname}/norwegian +%lang(no) %{_datadir}/%{majorname}/norwegian-ny +%lang(pl) %{_datadir}/%{majorname}/polish +%lang(pt) %{_datadir}/%{majorname}/portuguese +%lang(ro) %{_datadir}/%{majorname}/romanian +%lang(ru) %{_datadir}/%{majorname}/russian +%lang(sr) %{_datadir}/%{majorname}/serbian +%lang(sk) %{_datadir}/%{majorname}/slovak +%lang(es) %{_datadir}/%{majorname}/spanish +%lang(sv) %{_datadir}/%{majorname}/swedish +%lang(uk) %{_datadir}/%{majorname}/ukrainian %endif %files -n %{pkgname}-server @@ -850,7 +850,7 @@ fi %{_bindir}/innochecksum %{_bindir}/perror -%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{majorname}-server.cnf %{_sbindir}/mysqld # sys_nice capability required for rhbz#1628814 @@ -859,7 +859,7 @@ fi %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN %if ! %{with common} -%dir %{_datadir}/%{pkg_name} +%dir %{_datadir}/%{majorname} %endif %dir %{_libdir}/mysql @@ -917,8 +917,8 @@ fi %{_mandir}/man1/lz4_decompress.1* %{_mandir}/man8/mysqld.8* -%{_datadir}/%{pkg_name}/dictionary.txt -%{_datadir}/%{pkg_name}/*.sql +%{_datadir}/%{majorname}/dictionary.txt +%{_datadir}/%{majorname}/*.sql %{_unitdir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From af786c40e299c6fb2356f141cb0ef7588b594e74 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 19 Feb 2024 16:31:09 +0100 Subject: [PATCH 597/616] Do not provide community-mysql* symbols if alternative When building the package as alternative (non default) version for a distro, we should not have provides that are virtual and without version. Otherwise, packages that depend on these virtual provides (like build requires of perl-DBD-MySQL), could install the non-default version by accident. --- mysql8.0.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 186e9da..f7085bb 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -72,9 +72,9 @@ # Provide explicitly the 'community-mysql' names # 'community-mysql' names are deprecated and to be removed in future Fedora # but we're leaving them here for compatibility reasons -%bcond provides_community_mysql 1 +%bcond provides_community_mysql %{?mysql_default} # Obsolete the package 'community-mysql' and all its sub-packages -%bcond obsoletes_community_mysql 1 +%bcond obsoletes_community_mysql %{?mysql_default} # This is the last version of the 'community-mysql' package production release %global obsolete_community_mysql_version 8.0.35-10 %global community_mysql_version 8.0.36-1 @@ -84,7 +84,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -1052,6 +1052,9 @@ fi %endif %changelog +* Mon Feb 19 2024 Honza Horak - 8.0.36-4 +- Do not provide community-mysql* symbols if alternative + * Mon Feb 05 2024 Lukas Javorsky - 8.0.36-3 - Apply demodularization - the default stream builds mysql.rpm From cc8a02280b10b98a586f60ed975bb06590f15614 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 5 Mar 2024 14:34:19 +0100 Subject: [PATCH 598/616] Remove old code related 32-bit ARM architectures, which is not supported by Fedora anymore https://fedoraproject.org/wiki/Changes/RetireARMv7 --- mysql-arm32-timer.patch | 16 ---------------- mysql8.0.spec | 11 +---------- 2 files changed, 1 insertion(+), 26 deletions(-) delete mode 100644 mysql-arm32-timer.patch diff --git a/mysql-arm32-timer.patch b/mysql-arm32-timer.patch deleted file mode 100644 index bafa0bb..0000000 --- a/mysql-arm32-timer.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index 78b09285..b7153445 100644 ---- a/mysql-test/include/mtr_warnings.sql -+++ b/mysql-test/include/mtr_warnings.sql -@@ -376,6 +376,11 @@ INSERT INTO global_suppressions VALUES - - ("'mysql_native_password' is deprecated and will be removed in a future release."), - -+ /* -+ ARM32 don't support timers and get this warning in every test. -+ */ -+ ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."), -+ - ("THE_LAST_SUPPRESSION"); - - diff --git a/mysql8.0.spec b/mysql8.0.spec index f7085bb..e74ab2c 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -125,7 +125,6 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch -Patch54: %{pkgnamepatch}-arm32-timer.patch Patch55: %{pkgnamepatch}-c99.patch Patch56: %{pkgnamepatch}-flush-logrotate.patch @@ -449,7 +448,6 @@ the MySQL sources. %patch -P51 -p1 %patch -P52 -p1 %patch -P53 -p1 -%patch -P54 -p1 %patch -P55 -p1 %patch -P56 -p1 @@ -483,11 +481,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build -# arm build ends with out of memory error for LTO enabled build -%ifarch %arm32 -%define _lto_cflags %{nil} -%endif - # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"$(id -u)" = "x0" ]; then @@ -535,7 +528,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ %endif -%ifarch s390 s390x armv7hl +%ifarch s390 s390x -DUSE_LD_GOLD=OFF \ %endif -DWITH_ROUTER=OFF \ @@ -557,8 +550,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DWITH_UNIT_TESTS=0 -# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 - # Note: disabling building of unittests to workaround #1989847 # Print all Cmake options values; "-LAH" means "List Advanced Help" From 06fc78c1d765173b183a968d1e2930936eae1f88 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 6 Mar 2024 10:35:53 +0100 Subject: [PATCH 599/616] Remove architectures which are not supported by Fedora from conditionals --- mysql8.0.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index e74ab2c..fc0501a 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -156,7 +156,7 @@ BuildRequires: mecab-devel BuildRequires: bison BuildRequires: libzstd-devel BuildRequires: libcurl-devel -%ifnarch aarch64 %{arm} s390 s390x +%ifnarch aarch64 s390x BuildRequires: numactl-devel %endif BuildRequires: openssl @@ -463,15 +463,15 @@ popd cat %{SOURCE50} | tee -a mysql-test/%{skiplist} # disable some tests failing on different architectures -%ifarch %{arm} aarch64 +%ifarch aarch64 cat %{SOURCE51} | tee -a mysql-test/%{skiplist} %endif -%ifarch s390 s390x +%ifarch s390x cat %{SOURCE52} | tee -a mysql-test/%{skiplist} %endif -%ifarch ppc ppc64 ppc64p7 ppc64le +%ifarch ppc64le cat %{SOURCE53} | tee -a mysql-test/%{skiplist} %endif @@ -525,10 +525,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ -DSYSTEMD_PID_DIR="%{pidfiledir}" \ -DWITH_INNODB_MEMCACHED=ON \ -%ifnarch aarch64 %{arm} s390 s390x +%ifnarch aarch64 s390x -DWITH_NUMA=ON \ %endif -%ifarch s390 s390x +%ifarch s390x -DUSE_LD_GOLD=OFF \ %endif -DWITH_ROUTER=OFF \ From c3fa8c48c15d4873b237188f5117ed4d1bbf8a5d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 7 Mar 2024 12:44:54 +0100 Subject: [PATCH 600/616] Whitespace fix --- mysql8.0.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index fc0501a..faeb31c 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -125,7 +125,7 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch -Patch55: %{pkgnamepatch}-c99.patch +Patch55: %{pkgnamepatch}-c99.patch Patch56: %{pkgnamepatch}-flush-logrotate.patch # Patches taken from boost 1.59 From 164e60d4fabb95f57d1a8e5f31896d424d06ab82 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 15 Apr 2024 13:34:04 +0000 Subject: [PATCH 601/616] Add gating.yaml, so it's not missed in the next branching of RHEL --- gating.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 gating.yaml diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..3ccba0a --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} From 430b276312f533e4946e88ae73cec9130e1d1edc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 17 Apr 2024 01:57:15 +0200 Subject: [PATCH 602/616] Fix my.cnf dependency Installation path macros are not allowed in file dependencies. Starting with F40, these break flatpak builds entirely because dnf5 only recognizes file deps in /etc, /usr/bin, and /usr/sbin, not /app/etc. At this point, mariadb-connector-c-config is the sole provider of my.cnf. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_directory_dependencies -- Based on commit 45b40b2 in rpms/mariadb10.11 authored by Yaakov Selkowitz on Apr 8 2024 https://src.fedoraproject.org/rpms/mariadb10.11/c/45b40b2e9c515cfb04d6eaabc0c1b2e90eb1a535?branch=rawhide --- mysql8.0.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index faeb31c..c2720c6 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -84,7 +84,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -302,7 +302,11 @@ package itself. %package -n %{pkgname}-common Summary: The shared files required for MySQL server and client BuildArch: noarch +%if 0%{?flatpak} +Requires: mariadb-connector-c-config +%else Requires: %{_sysconfdir}/my.cnf +%endif %{?with_provides_community_mysql:Provides: community-mysql-common = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} @@ -338,8 +342,12 @@ Summary: The MySQL server and related files Requires: %{pkgname}%{?_isa} = %{sameevr} Requires: %{pkgname}-common = %{sameevr} +%if 0%{?flatpak} +Requires: mariadb-connector-c-config +%else Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d +%endif Requires: %{pkgname}-errmsg = %{sameevr} %{?mecab:Requires: mecab-ipadic} Requires: coreutils @@ -1043,6 +1051,9 @@ fi %endif %changelog +* Tue Apr 16 2024 Michal Schorm - 8.0.36-5 +- Fix my.cnf dependency for Flatpak builds + * Mon Feb 19 2024 Honza Horak - 8.0.36-4 - Do not provide community-mysql* symbols if alternative From 6cd7eae323679b19065981465a2ba21f88385e67 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Tue, 30 Apr 2024 09:30:36 +0200 Subject: [PATCH 603/616] Upgrade to MySQL 8.0.37 --- mysql8.0.spec | 10 ++++++---- sources | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index c2720c6..db2c9da 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -1,6 +1,6 @@ # Name of the package without any prefixes %global majorname mysql -%global package_version 8.0.36 +%global package_version 8.0.37 %define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) %global pkgnamepatch mysql @@ -84,7 +84,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -503,7 +503,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ # so we can't use %%{_datadir} and so forth here. %cmake \ -DBUILD_CONFIG=mysql_release \ - -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ @@ -551,7 +550,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{?with_debug: -DWITH_DEBUG=1} \ %{?with_debug: -DMYSQL_MAINTAINER_MODE=0} \ -DTMPDIR=/var/tmp \ - -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \ -DCMAKE_SKIP_INSTALL_RPATH=YES \ @@ -1051,6 +1049,10 @@ fi %endif %changelog +* Thu Apr 18 2024 Lars Tangvald - 8.0.37-1 +- Update to MySQL 8.0.37 +- Remove some legacy cmake options + * Tue Apr 16 2024 Michal Schorm - 8.0.36-5 - Fix my.cnf dependency for Flatpak builds diff --git a/sources b/sources index 33f2876..77e33ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.36.tar.gz) = a6c1c009a322b7e7aa2aa607573060414c847c77d48f44a24058ffb89673621f2ebbcc1a4448fa841a87ff721159cc8eaf44a57721c7dc233c130691c16a9d4a +SHA512 (mysql-boost-8.0.37.tar.gz) = 4c6033d4f96990d3f324f0d5733273425ddf7cc11660e110e0dc848da6cfa47b7565c1eb0b5d1e08878a0ea2c7d1eb85b400ccca28e5b4383f7e9216ba3e1660 From 5860b59256c1abca8ed98e508d6fbad2e705009c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 9 Jun 2024 17:32:26 +0200 Subject: [PATCH 604/616] Explicitly state 'zlib' and 'rapidjson' bundling status Both are set to 'bundled' by default ! We really want to avoid bundling zlib. On top of that, there is currently a problem with the bundled zlib, which results in a linker error during compilation. We want to un-bundle rapidjson too, but: | -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX | -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX - Failed | CMake Error at cmake/rapidjson.cmake:114 (MESSAGE): | System rapidjson lacks some fixes required for support of regular | expressions. See extra/RAPIDJSON-README for details. | Call Stack (most recent call first): | CMakeLists.txt:1952 (MYSQL_CHECK_RAPIDJSON) | -- Configuring incomplete, errors occurred! needs further investigation. --- mysql8.0.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql8.0.spec b/mysql8.0.spec index db2c9da..9b132b7 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -540,6 +540,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %endif -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ + -DWITH_ZLIB=system \ + -DWITH_RAPIDJSON=bundled \ -DWITH_MECAB=system \ -DWITH_FIDO=system \ -DWITH_BOOST=boost \ From ff51e1d0f5e63280f026b9343c0e9b6a0d047d79 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 9 Jun 2024 17:37:20 +0200 Subject: [PATCH 605/616] Bump release for package rebuild --- mysql8.0.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 9b132b7..7c63b05 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -84,7 +84,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -1051,6 +1051,9 @@ fi %endif %changelog +* Sun Jun 09 2024 Michal Schorm - 8.0.37-2 +- Bump release for package rebuild + * Thu Apr 18 2024 Lars Tangvald - 8.0.37-1 - Update to MySQL 8.0.37 - Remove some legacy cmake options From 15b46299cfa22147cbfa89a732e426a89ac35a9b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 9 Jun 2024 23:00:44 +0200 Subject: [PATCH 606/616] [bundled libraries fix] The 'rapidjson' library has to be bundled. When you try to use system version of the library, following error emerges: | -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX | -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX - Failed | CMake Error at cmake/rapidjson.cmake:114 (MESSAGE): | System rapidjson lacks some fixes required for support of regular | expressions. See extra/RAPIDJSON-README for details. | Call Stack (most recent call first): | CMakeLists.txt:1952 (MYSQL_CHECK_RAPIDJSON) | -- Configuring incomplete, errors occurred! I specifically chose not to specify version in the bundled(rapidjson), to avoid confusion that it's the same version as of the system variant of the library from package 'rapidjson' --- mysql8.0.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 7c63b05..d52aa4f 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -166,7 +166,6 @@ BuildRequires: perl-generators BuildRequires: rpcgen BuildRequires: libtirpc-devel BuildRequires: protobuf-lite-devel -BuildRequires: rapidjson-devel BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -222,6 +221,12 @@ Requires: %{pkgname}-common = %{sameevr} Provides: bundled(boost) = %{boost_bundled_version} +# 'rapidjson' library must be bundled +# The rapidjson upstream made the last release in 2016, even though it has an active development till today (2024, ~750 commits since) +# The MySQL upstream forked the project from a specific commit and added custom patches. See "extra/RAPIDJSON-README" for details. +# In the MySQL 8.0.34, the MySQL upsstream made the 'rapidjson' library to be bundled by default. +Provides: bundled(rapidjson) + %{?with_conflicts_mariadb:Conflicts: mariadb} # Explicitly disallow installation of mysql + mariadb-server %{?with_conflicts_mariadb:Conflicts: mariadb-server} From f9c8a7626a41185aee2ea089e45baea545e6bfd3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 9 Jun 2024 23:26:04 +0200 Subject: [PATCH 607/616] [bundled libraries fix] remove unused bundles --- mysql8.0.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mysql8.0.spec b/mysql8.0.spec index d52aa4f..4671b01 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -219,6 +219,8 @@ BuildRequires: libfido2-devel Requires: bash coreutils grep Requires: %{pkgname}-common = %{sameevr} +# 'boost' header files must be bundled +# See https://bugzilla.redhat.com/show_bug.cgi?id=2260138#c7 for details Provides: bundled(boost) = %{boost_bundled_version} # 'rapidjson' library must be bundled @@ -227,6 +229,10 @@ Provides: bundled(boost) = %{boost_bundled_version} # In the MySQL 8.0.34, the MySQL upsstream made the 'rapidjson' library to be bundled by default. Provides: bundled(rapidjson) +# Not available in Fedora +# https://github.com/martinus/unordered_dense +Provides: bundled(unordered_dense) + %{?with_conflicts_mariadb:Conflicts: mariadb} # Explicitly disallow installation of mysql + mariadb-server %{?with_conflicts_mariadb:Conflicts: mariadb-server} @@ -471,6 +477,26 @@ pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch -P113 -p2 popd +# Remove bundled code that is unused (all cases in which we use the system version of the library instead) +# as required by https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling +rm -r extra/curl +rm -r extra/icu +rm -r extra/libcbor +rm -r extra/libedit +rm -r extra/libevent +rm -r extra/libfido2 +rm -r extra/protobuf +rm -r extra/tirpc +rm -r extra/zlib +rm -r extra/zstd +# Three files from the lz4 bundle tree are still needed. +# They are the 'xxhash' library with custom extension to it. +find extra/lz4 -type f ! \( -name 'xxhash.c' -o -name 'xxhash.h' -o -name 'my_xxhash.h' \) -delete +# Only used in MySQL Router, which we don't build +rm -r extra/duktape +# Needed for unit tests (different from MTR tests), which we doesn't run, as they doesn't work on some architectures: #1989847 +rm -r extra/googletest +rm -r extra/abseil # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/%{skiplist} From 011988191ecf7777e67c254d8001a23d2ae32cff Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 Jun 2024 09:13:53 +0200 Subject: [PATCH 608/616] Remove unnecessary BuildRequires These packages are either not needed, or are brought in anyway by their *-devel sub-packgages. It is possible to check whether the MySQL miss something by searching through the CMake checks, for "EXECUTABLE-NOTFOUND" keyword. Some are expected to be missing. e.g. Git. We don't want the MySQL to try to additional sources from web from git during compilation (not like it can anyway, but without the git, CMake won't even try) List of currently not found executables, for future reference: GIT_EXECUTABLE:FILEPATH=GIT_EXECUTABLE-NOTFOUND DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND CTAGS_EXECUTABLE:FILEPATH=CTAGS_EXECUTABLE-NOTFOUND PATCHELF_EXECUTABLE:FILEPATH=PATCHELF_EXECUTABLE-NOTFOUND --- mysql8.0.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 4671b01..9633615 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -150,7 +150,6 @@ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel BuildRequires: libicu-devel -BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: bison @@ -166,7 +165,6 @@ BuildRequires: perl-generators BuildRequires: rpcgen BuildRequires: libtirpc-devel BuildRequires: protobuf-lite-devel -BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules @@ -211,7 +209,6 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Time::localtime) BuildRequires: perl(warnings) BuildRequires: systemd -BuildRequires: make # Since MySQL 8.0.28 BuildRequires: libfido2-devel From 7831572b3ff9fe3255a97a044f974926bf1c4039 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 Jun 2024 13:24:22 +0200 Subject: [PATCH 609/616] Enable building FIDO plugin The FIDO authentication plugin is set to OFF by default, for some reason, even when the library is correctly found during the build process. --- mysql8.0.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 9633615..dc835cc 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -45,6 +45,13 @@ # those files may create issues %bcond config 0 +# Various plugins +%if 0%{?fedora} +%bcond fido 1 +%else +%bcond fido 0 +%endif + # For deep debugging we need to build binaries with extra debug info %bcond debug 0 @@ -211,7 +218,7 @@ BuildRequires: perl(warnings) BuildRequires: systemd # Since MySQL 8.0.28 -BuildRequires: libfido2-devel +%{?with_fido:BuildRequires: libfido2-devel} Requires: bash coreutils grep Requires: %{pkgname}-common = %{sameevr} @@ -571,7 +578,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DWITH_ZLIB=system \ -DWITH_RAPIDJSON=bundled \ -DWITH_MECAB=system \ - -DWITH_FIDO=system \ + -DWITH_FIDO=%{?with_fido:system}%{!?with_fido:none} \ + -DWITH_AUTHENTICATION_FIDO=%{?with_fido:ON}%{!?with_fido:OFF} \ -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -893,6 +901,8 @@ fi %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/adt_null.so %{_libdir}/mysql/plugin/auth_socket.so +%{?with_fido:%{_libdir}/mysql/plugin/authentication_fido_client.so} +%{?with_fido:%{_libdir}/mysql/plugin/authentication_oci_client.so} %{_libdir}/mysql/plugin/component_audit_api_message_emit.so %{_libdir}/mysql/plugin/component_keyring_file.so %{_libdir}/mysql/plugin/component_log_filter_dragnet.so From 5f8aa3c33ccb9186b482b8c99c118f4cdc991cba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 Jun 2024 23:17:30 +0200 Subject: [PATCH 610/616] Added support for various authentication algorithms --- mysql8.0.spec | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mysql8.0.spec b/mysql8.0.spec index dc835cc..45c6f31 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -46,10 +46,21 @@ %bcond config 0 # Various plugins +# TO-DO: +# Need to check and fix the ON/OFF matrix of those plugins. +# It seems the current implementation is buggy, e.g.: +# - ldap needs krb5-devel too +# - when kr5-devel is part of the buildroot, kerberos plugin is compiled no matter the WITH_AUTHENTICATION_KERBEROS value +# - when fido is disabled but ldap enabled, authentication_oci_client.so is still built +# To avoid issues, leave either all ON or all OFF. %if 0%{?fedora} %bcond fido 1 +%bcond kerberos 1 +%bcond ldap 1 %else %bcond fido 0 +%bcond kerberos 0 +%bcond ldap 0 %endif # For deep debugging we need to build binaries with extra debug info @@ -220,6 +231,10 @@ BuildRequires: systemd # Since MySQL 8.0.28 %{?with_fido:BuildRequires: libfido2-devel} +%{?with_kerberos:BuildRequires: krb5-devel} +%{?with_ldap:BuildRequires: openldap-devel cyrus-sasl-devel cyrus-sasl-scram} + + Requires: bash coreutils grep Requires: %{pkgname}-common = %{sameevr} @@ -580,6 +595,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DWITH_MECAB=system \ -DWITH_FIDO=%{?with_fido:system}%{!?with_fido:none} \ -DWITH_AUTHENTICATION_FIDO=%{?with_fido:ON}%{!?with_fido:OFF} \ + -DWITH_AUTHENTICATION_KERBEROS=%{?with_kerberos:ON}%{!?with_kerberos:OFF} \ + -DWITH_AUTHENTICATION_LDAP=%{?with_ldap:ON}%{!?with_ldap:OFF} \ -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -903,6 +920,8 @@ fi %{_libdir}/mysql/plugin/auth_socket.so %{?with_fido:%{_libdir}/mysql/plugin/authentication_fido_client.so} %{?with_fido:%{_libdir}/mysql/plugin/authentication_oci_client.so} +%{?with_kerberos:%{_libdir}/mysql/plugin/authentication_kerberos_client.so} +%{?with_ldap:%{_libdir}/mysql/plugin/authentication_ldap_sasl_client.so} %{_libdir}/mysql/plugin/component_audit_api_message_emit.so %{_libdir}/mysql/plugin/component_keyring_file.so %{_libdir}/mysql/plugin/component_log_filter_dragnet.so From 86b98a4de58adde1f5647f106da3597270e8c93f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 Jun 2024 23:19:19 +0200 Subject: [PATCH 611/616] Enable LTO --- mysql8.0.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql8.0.spec b/mysql8.0.spec index 45c6f31..59e176f 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -602,6 +602,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_EXE_LINKER_FLAGS="-pie %{build_ldflags}" \ + -DWITH_LTO=ON \ %{?with_debug: -DWITH_DEBUG=1} \ %{?with_debug: -DMYSQL_MAINTAINER_MODE=0} \ -DTMPDIR=/var/tmp \ From 8cec706852e5bfd92db3397a5efa4cb7a3d395a9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jun 2024 07:48:05 +0200 Subject: [PATCH 612/616] Testsuite verified for 8.0.37 - testsuite enabled - testcase checking disabled, as it produces huge amount of errors before each test even begin these errors seems to be fully non-deterministic (random) --- mysql8.0.spec | 6 ++-- rh-skipped-tests-list-arm.list | 26 -------------- rh-skipped-tests-list-base.list | 61 +++++++++------------------------ rh-skipped-tests-list-ppc.list | 52 ++++++++++++++++------------ rh-skipped-tests-list-s390.list | 52 +++------------------------- 5 files changed, 53 insertions(+), 144 deletions(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 59e176f..7fdae1a 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -11,7 +11,7 @@ # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -19,7 +19,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.0.35 +%global last_tested_version 8.0.37 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -754,7 +754,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) set -ex cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --skip-combinations --max-test-fail=5 --report-unstable-tests --clean-vardir " + export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --skip-combinations --max-test-fail=5 --report-unstable-tests --clean-vardir --nocheck-testcases " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] diff --git a/rh-skipped-tests-list-arm.list b/rh-skipped-tests-list-arm.list index b673b32..e69de29 100644 --- a/rh-skipped-tests-list-arm.list +++ b/rh-skipped-tests-list-arm.list @@ -1,26 +0,0 @@ -gis.st_latitude : BUG#0 fails on F32+ -gis.st_longitude : BUG#0 fails on F32+ - -perfschema.func_file_io : BUG#0 missing hw on 32-bit arm -perfschema.global_read_lock : BUG#0 missing hw on 32-bit arm -perfschema.relaylog : BUG#0 missing hw on 32-bit arm -perfschema.setup_objects : BUG#0 missing hw on 32-bit arm - -clone.remote_error_basic : BUG#0 fails since 8.0.19 on F32+, max_allowed_packet is 0 - -# Fails consistently -innodb.innodb_bug-13628249 : BUG#0 - -# Failing since MySQL 8.0.28 -main.func_unixtime_64bits : BUG#0 - -# Fails since 8.0.30 -federated.federated_server : BUG#0 -rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 -rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 -clone.local_dml_auto_tune : BUG#0 -clone.remote_dml_auto_tune : BUG#0 - -# Fails since 8.0.31 -main.mysql_client_test : BUG#0 -main.mysqlslap : BUG#0 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 2a99032..bacf4ed 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -14,53 +14,24 @@ x.connection_tls_version : BUG#0 Expected to fail on F33+ # Cmake option: -DENABLED_LOCAL_INFILE=ON main.mysql_load_data_local_dir : BUG#0 Intentional divergence from the upstream compiled-in default -# Unstable -innodb.innodb_force_recovery : BUG#0 unstable since 8.0.24 on F32+ - -# Failing on 32-bit arches: armv7hl i686 s390x; since MySQL 8.0.25 -x.connection_unixsocket : BUG#0 -x.connection_unixsocket_invalid : BUG#0 -x.connection_unixsocket_lock : BUG#0 -innodb.innodb_bug-13628249 : BUG#0 - -# OpenSSL 3 - 100% failing tests on Fedora 36 - MySQL 8.0.26 -auth_sec.admin_channel_tls : BUG#0 -auth_sec.openssl_cert_generation : BUG#0 -auth_sec.ssl_mode : BUG#0 -auth_sec.tls : BUG#0 -binlog.binlog_grant_alter_user : BUG#0 -main.grant_alter_user_qa : BUG#0 -main.grant_user_lock_qa : BUG#0 -main.openssl_1 : BUG#0 -main.ssl_cipher : BUG#0 -main.ssl_dynamic : BUG#0 -x.connection_openssl : BUG#0 -x.connection_openssl_unixsocket : BUG#0 -# OpenSSL 3 - unstable tests - MySQL 8.0.26 -innodb.innodb_read_only-2 : BUG#0 -# OpenSSL 3 - 100% failing tests on Fedora 36 - MySQL 8.0.27 -auth_sec.openssl_without_fips : BUG#0 - -# Failing since MySQL 8.0.28 -innodb.trigger_function_lock_compare : BUG#0 -main.func_math : BUG#0 -main.index_merge_myisam : BUG#0 -main.merge_myisam : BUG#0 -main.parser_precedence : BUG#0 -rpl.rpl_auto_increment_myisam : BUG#0 - # Failing since MySQL 8.0.29 main.mysqlpump_bugs : BUG#0 -main.slow_log : BUG#0 - -# Failing on x86_64, i686 since MySQL 8.0.30 -innodb.check_sector_size : BUG#0 - -# Failing on all architectures since MySQL 8.0.31 -auth_sec.fips : BUG#0 - -# Unstable test on MySQL 8.0.33 -main.join_cache_bka_nobnl : BUG#0 # Failing since 8.0.34 binlog.binlog_mysqlbinlog_linux : BUG#0 + +# Failing since 8.0.37 +auth_sec.wl15800_ciphers_tlsv13 : BUG#0 +binlog.binlog_mysqlbinlog_linux : BUG#0 + +main.archive : BUG#0 +main.mysqlpump_basic_lz4 : BUG#0 + +clone.local_dml_auto_tune : BUG#0 +clone.remote_dml_auto_tune : BUG#0 + +innodb.check_ibd_filesize_16k : BUG#0 + +rpl_gtid.mysqldump_bug33630199 : BUG#0 +rpl.rpl_eventlog_psi_memory : BUG#0 +rpl.rpl_tlsv13 : BUG#0 diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index 35db167..72bb466 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -1,29 +1,37 @@ -# ppc64le -sys_vars.innodb_buffer_pool_size_basic : BUG#0 fails only on ppc64le on f32+ - # Fails since 8.0.30 federated.federated_server : BUG#0 -rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 -rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 rpl.rpl_innodb_bug28430 : BUG#0 -clone.local_dml_auto_tune : BUG#0 -clone.remote_dml_auto_tune : BUG#0 - -# Fails since 8.0.31 -main.multi_update : BUG#0 -main.mysqlslap : BUG#0 -main.lock_multi_bug38691 : BUG#0 -main.mysql_client_test : BUG#0 - -main.check : BUG#0 -main.count_distinct2 : BUG#0 -main.foreign_key : BUG#0 -main.lock_multi_bug38499 : BUG#0 -main.subquery_all : BUG#0 -main.type_temporal_fractional : BUG#0 # Fails since 8.0.34 -federated.federated : BUG#0 -rpl_gtid.mysqldump_bug33630199 : BUG#0 rpl_gtid.rpl_gtid_row_event_max_size : BUG#0 rpl.rpl_channel_creation_under_replica_load : BUG#0 + +# Fails since 8.0.37 +clone.local_dml : BUG#0 +clone.remote_dml_no_binlog : BUG#0 +clone.remote_dml_replace : BUG#0 + +innodb.create_index_with_disable_sort_file_cache : BUG#0 +innodb_fts.bug_34846823 : BUG#0 +innodb_gis.rtree_search : BUG#0 +innodb.innodb_autoextend_import_export : BUG#0 +innodb.instant_ddl_upgrade_rollback : BUG#0 +innodb.lob_recovery : BUG#0 +innodb.multi_value_basic : BUG#0 +innodb_undo.undo_settings : BUG#0 + +main.mysql_client_test : BUG#0 +main.mysqlslap : BUG#0 + +parts.partition_reverse_scan_icp : BUG#0 + +rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0 +rpl_nogtid.rpl_loaddatalocal : BUG#0 +rpl_nogtid.rpl_row_event_max_size : BUG#0 +rpl_nogtid.rpl_typeconv : BUG#0 +rpl.rpl_mysql_upgrade : BUG#0 +rpl.rpl_parallel : BUG#0 +rpl.rpl_priv_checks_user_start_info : BUG#0 + +sys_vars.myisam_data_pointer_size_func : BUG#0 +x.upgrade : BUG#0 diff --git a/rh-skipped-tests-list-s390.list b/rh-skipped-tests-list-s390.list index ee9bfea..a2d393c 100644 --- a/rh-skipped-tests-list-s390.list +++ b/rh-skipped-tests-list-s390.list @@ -1,51 +1,7 @@ -# Fails since 8.0.21 -x.resource_groups : BUG#0 - -# Fails since 8.0.22 -main.subquery_bugs : BUG#0 -main.subquery_sj_dupsweed : BUG#0 -main.subquery_sj_dupsweed_bka : BUG#0 -main.subquery_sj_dupsweed_bka_nobnl : BUG#0 -main.subquery_sj_firstmatch : BUG#0 -main.subquery_sj_firstmatch_bka : BUG#0 -main.subquery_sj_firstmatch_bka_nobnl : BUG#0 - -# Fails since F32 Mass Rebuild -gis.geometry_class_attri_prop : BUG#0 -gis.geometry_property_function_issimple : BUG#0 -gis.gis_bugs_crashes : BUG#0 -gis.spatial_analysis_functions_buffer : BUG#0 -gis.spatial_analysis_functions_centroid : BUG#0 -gis.spatial_analysis_functions_distance : BUG#0 -gis.spatial_op_testingfunc_mix : BUG#0 -gis.spatial_utility_function_distance_sphere : BUG#0 -gis.spatial_utility_function_simplify : BUG#0 - -# Fails since 8.0.26 -main.window_std_var : BUG#0 -main.window_std_var_optimized : BUG#0 - -# Failing since 8.0.27 -gis.st_symdifference : BUG#0 - -# Since 8.0.28 fails only on s390x -main.subquery_sj_mat_bka_nobnl : BUG#0 failing since 8.0.24 on F32+ -main.derived_limit : BUG#0 failing since 8.0.24 on F32+ -main.explain_tree : BUG#0 failing since 8.0.24 on F32+ - -# Fails since 8.0.30 -rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0 -rpl_gtid.rpl_multi_source_mtr_includes : BUG#0 -clone.local_dml_auto_tune : BUG#0 -clone.remote_dml_auto_tune : BUG#0 - -# Fails since 8.0.32 -main.join_cache_bnl : BUG#0 - -# Fails since 8.0.33 -main.subquery_sj_all_bka_nobnl : BUG#0 - # Fails since 8.0.34 rpl.rpl_channel_creation_under_replica_load : BUG#0 rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0 -rpl_gtid.rpl_gtid_row_event_max_size : BUG#0 + +# Fails since 8.0.37 +innodb.lob_recovery : BUG#0 +sys_vars.myisam_data_pointer_size_func : BUG#0 From 4f655987d26d45c52a2091c33846e77321638b16 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jun 2024 07:52:36 +0200 Subject: [PATCH 613/616] Bump release for package rebuild --- mysql8.0.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql8.0.spec b/mysql8.0.spec index 7fdae1a..d1cef99 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -102,7 +102,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -1109,6 +1109,9 @@ fi %endif %changelog +* Wed Jun 12 2024 Michal Schorm - 8.0.37-3 +- Bump release for package rebuild + * Sun Jun 09 2024 Michal Schorm - 8.0.37-2 - Bump release for package rebuild From adc4c185e1b46e9ddca2db2fa9084ab014a976ea Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jun 2024 12:40:37 +0200 Subject: [PATCH 614/616] Update skipped tests list for ppc64le --- rh-skipped-tests-list-ppc.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index 72bb466..52b8fa1 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -2,6 +2,9 @@ federated.federated_server : BUG#0 rpl.rpl_innodb_bug28430 : BUG#0 +# Fails since 8.0.31 +main.lock_multi_bug38691 : BUG#0 + # Fails since 8.0.34 rpl_gtid.rpl_gtid_row_event_max_size : BUG#0 rpl.rpl_channel_creation_under_replica_load : BUG#0 From a292636c7cdde80a6136f96f7c8e960fe69268e7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jun 2024 10:07:03 +0200 Subject: [PATCH 615/616] Update skipped tests list for ppc64le --- rh-skipped-tests-list-ppc.list | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index 52b8fa1..5086150 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -38,3 +38,11 @@ rpl.rpl_priv_checks_user_start_info : BUG#0 sys_vars.myisam_data_pointer_size_func : BUG#0 x.upgrade : BUG#0 + +# Unstable in 8.0.37 +main.component-upgrade : BUG#0 +main.count_distinct2 : BUG#0 +main.dd_upgrade_non_debug : BUG#0 +main.dd_upgrade_partition : BUG#0 +main.disabled_storage_engines : BUG#0 +main.partition : BUG#0 From e8a0d90f0db48b9af8e15dd315f6c0db5ab71a04 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jun 2024 16:48:34 +0200 Subject: [PATCH 616/616] Update skipped tests list for ppc64le --- rh-skipped-tests-list-ppc.list | 1 + 1 file changed, 1 insertion(+) diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index 5086150..9ffdb04 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -46,3 +46,4 @@ main.dd_upgrade_non_debug : BUG#0 main.dd_upgrade_partition : BUG#0 main.disabled_storage_engines : BUG#0 main.partition : BUG#0 +main.multi_update : BUG#0