packages: mysql/mysql.spec, mysql/mysql-chain-certs.patch (NEW) - add versi...

arekm arekm at pld-linux.org
Fri Jan 28 20:08:31 CET 2011


Author: arekm                        Date: Fri Jan 28 19:08:31 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- add versioning script from fedora; add provides for libmysqlclient_r client; WITH_READLINE=OFF causes autodetection and in the end uses system readline (where =ON or =system still uses bundled one); add chain certs from fedora

---- Files affected:
packages/mysql:
   mysql.spec (1.513 -> 1.514) , mysql-chain-certs.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/mysql/mysql.spec
diff -u packages/mysql/mysql.spec:1.513 packages/mysql/mysql.spec:1.514
--- packages/mysql/mysql.spec:1.513	Fri Jan 28 10:17:47 2011
+++ packages/mysql/mysql.spec	Fri Jan 28 20:08:26 2011
@@ -58,9 +58,13 @@
 Source12:	%{name}-ndb-cpc.sysconfig
 Source13:	%{name}-client.conf
 Source14:	my.cnf
+# from fedora
+Source15:	lib%{name}.version
 Patch2:		%{name}-c++.patch
 Patch3:		%{name}-info.patch
 Patch4:		%{name}-sql-cxx-pic.patch
+# from fedora
+Patch5:		%{name}-versioning.patch
 Patch6:		%{name}-system-users.patch
 Patch7:		%{name}-bug-34192.patch
 Patch8:		%{name}-client-config.patch
@@ -70,11 +74,12 @@
 Patch12:	%{name}-config.patch
 Patch14:	%{name}-bug-43594.patch
 Patch18:	%{name}-sphinx.patch
+Patch19:	%{name}-chain-certs.patch
 # <percona patches, http://bazaar.launchpad.net/~percona-dev/percona-server/5.5.8/files>
 # series file shows the order of patches
 Patch100:	microsec_process.patch
 Patch101:	optimizer_fix.patch
-Patch102:	mysql_dump_ignore_ct.patch
+Patch102:	%{name}_dump_ignore_ct.patch
 Patch103:	control_online_alter_index.patch
 Patch104:	show_temp.patch
 Patch105:	innodb_show_status.patch
@@ -373,6 +378,14 @@
 Group:		Libraries
 Obsoletes:	libmysql10
 Obsoletes:	mysql-doc < 4.1.12
+# drop these provides when everyting is rebuilt
+%ifarch %{x8664}
+Provides:	libmysqlclient_r.so.16()(64bit)
+Provides:	libmysqlclient_r.so.16(libmysqlclient_16)(64bit)
+%else
+Provides:	libmysqlclient_r.so.16()
+Provides:	libmysqlclient_r.so.16(libmysqlclient_16)
+%endif
 
 %description libs
 Shared libraries for MySQL.
@@ -546,6 +559,7 @@
 # gcc 3.3.x ICE
 %patch10 -p1
 %endif
+%patch5 -p1
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
@@ -553,6 +567,7 @@
 %patch11 -p1
 %patch12 -p1
 %patch14 -p0
+%patch19 -p1
 # <percona %patches>
 %patch100 -p1
 %patch101 -p1
@@ -600,10 +615,11 @@
 %patch143 -p1
 %patch144 -p1
 %patch145 -p1
+# </percona>
+
 # to get these files rebuild
 rm sql/sql_yacc.cc
 rm sql/sql_yacc.h
-# </percona>
 
 %build
 install -d build
@@ -619,6 +635,10 @@
 %{expand:%%define	__cpp	%(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')}
 %endif
 
+# upstream has fallen down badly on symbol versioning, do it ourselves
+install -d libmysql
+cp -a %{SOURCE15} libmysql/libmysql.version
+
 %cmake \
 	-DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG" \
 	-DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG" \
@@ -626,7 +646,7 @@
 	%{?debug:-DWITH_DEBUG=ON} \
 	-DWITH_FAST_MUTEXES=ON \
 	-DWITH_LIBEDIT=OFF \
-	-DWITH_READLINE=system \
+	-DWITH_READLINE=OFF \
 %if "%{pld_release}" == "ac"
 	-DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \
 %else
@@ -1173,6 +1193,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.514  2011/01/28 19:08:26  arekm
+- add versioning script from fedora; add provides for libmysqlclient_r client; WITH_READLINE=OFF causes autodetection and in the end uses system readline (where =ON or =system still uses bundled one); add chain certs from fedora
+
 Revision 1.513  2011/01/28 09:17:47  arekm
 - rel 0.5 (consider this to be test before rel 1); update percona patches; drop obsolete patches
 

================================================================
Index: packages/mysql/mysql-chain-certs.patch
diff -u /dev/null packages/mysql/mysql-chain-certs.patch:1.1
--- /dev/null	Fri Jan 28 20:08:31 2011
+++ packages/mysql/mysql-chain-certs.patch	Fri Jan 28 20:08:26 2011
@@ -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);
+     }
+ 
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql.spec?r1=1.513&r2=1.514&f=u



More information about the pld-cvs-commit mailing list