summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorJoerg Bruehe <joerg.bruehe@oracle.com>2012-11-07 17:45:02 +0100
committerJoerg Bruehe <joerg.bruehe@oracle.com>2012-11-07 17:45:02 +0100
commit7e613db478c98c32e4bdcf2ffe72742bb9416f7a (patch)
tree84786a5d8a838c538ba1728adb280b6913a939f9 /packaging
parentd912a758b02399c28cb30d97496ad5cdab35d214 (diff)
downloadmariadb-git-7e613db478c98c32e4bdcf2ffe72742bb9416f7a.tar.gz
Placement change:
Top level "SPECIFIC-ULN/" was inappropriate, put the files to create RPMs for ULN into "packaging/rpm-uln/".
Diffstat (limited to 'packaging')
-rw-r--r--packaging/rpm-uln/CMakeLists.txt38
-rw-r--r--packaging/rpm-uln/README-ULN15
-rw-r--r--packaging/rpm-uln/README.mysql-docs4
-rwxr-xr-xpackaging/rpm-uln/filter-requires-mysql.sh3
-rwxr-xr-xpackaging/rpm-uln/generate-tarball.sh15
-rw-r--r--packaging/rpm-uln/my.cnf10
-rw-r--r--packaging/rpm-uln/my_config.h29
-rw-r--r--packaging/rpm-uln/mysql-5.5-errno.patch21
-rw-r--r--packaging/rpm-uln/mysql-5.5-fix-tests.patch34
-rw-r--r--packaging/rpm-uln/mysql-5.5-libdir.patch28
-rw-r--r--packaging/rpm-uln/mysql-5.5-mtr1.patch25
-rw-r--r--packaging/rpm-uln/mysql-5.5-stack-guard.patch140
-rw-r--r--packaging/rpm-uln/mysql-5.5-testing.patch23
-rw-r--r--packaging/rpm-uln/mysql-chain-certs.patch41
-rw-r--r--packaging/rpm-uln/mysql-embedded-check.c26
-rw-r--r--packaging/rpm-uln/mysql-expired-certs.patch555
-rw-r--r--packaging/rpm-uln/mysql-install-test.patch33
-rw-r--r--packaging/rpm-uln/mysql-strmov.patch32
-rw-r--r--packaging/rpm-uln/mysql.init209
-rw-r--r--packaging/rpm-uln/mysql.spec.sh1959
-rw-r--r--packaging/rpm-uln/scriptstub.c32
21 files changed, 3272 insertions, 0 deletions
diff --git a/packaging/rpm-uln/CMakeLists.txt b/packaging/rpm-uln/CMakeLists.txt
new file mode 100644
index 00000000000..c8f13379697
--- /dev/null
+++ b/packaging/rpm-uln/CMakeLists.txt
@@ -0,0 +1,38 @@
+# Copyright (c) 2012, 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
+
+
+IF(UNIX)
+ SET(prefix ${CMAKE_INSTALL_PREFIX})
+
+ SET(SPECFILENAME "mysql.${VERSION}.spec")
+ IF("${VERSION}" MATCHES "-ndb-")
+ STRING(REGEX REPLACE "^.*-ndb-" "" NDBVERSION "${VERSION}")
+ SET(SPECFILENAME "mysql-cluster-${NDBVERSION}.spec")
+ ENDIF()
+
+ # Left in current directory, to be taken during build
+ CONFIGURE_FILE(mysql.spec.sh ${CMAKE_CURRENT_BINARY_DIR}/${SPECFILENAME} @ONLY)
+
+ FOREACH(ulnfile filter-requires-mysql.sh generate-tarball.sh my.cnf my_config.h
+ mysql-5.5-errno.patch mysql-5.5-fix-tests.patch mysql-5.5-libdir.patch
+ mysql-5.5-mtr1.patch mysql-5.5-stack-guard.patch mysql-5.5-testing.patch
+ mysql-chain-certs.patch mysql-embedded-check.c mysql-expired-certs.patch
+ mysql.init mysql-install-test.patch mysql-strmov.patch scriptstub.c
+ README.mysql-docs)
+ CONFIGURE_FILE(${ulnfile} ${CMAKE_CURRENT_BINARY_DIR}/${ulnfile} COPYONLY)
+ ENDFOREACH()
+ENDIF()
+
diff --git a/packaging/rpm-uln/README-ULN b/packaging/rpm-uln/README-ULN
new file mode 100644
index 00000000000..8ae44a18605
--- /dev/null
+++ b/packaging/rpm-uln/README-ULN
@@ -0,0 +1,15 @@
+In order to have RPMs of MySQL which are distributed via ULN for Oracle Linux
+to be as closely compatible to such RPMs built and distributed by RedHat,
+this directory contains additional files which originated at RedHat
+and are used only for such RPMs intended for distribution via ULN.
+
+Especially, this directory contains the spec file used to build these RPMs,
+named "mysql.spec". Please regard the following note:
+
+ You are receiving a copy of the Red Hat spec file.
+ The terms of the Oracle license do NOT apply to the Red Hat spec file;
+ it is licensed under the
+ GNU GENERAL PUBLIC LICENSE Version 2, June 1991
+ separately from the Oracle programs you receive.
+
+
diff --git a/packaging/rpm-uln/README.mysql-docs b/packaging/rpm-uln/README.mysql-docs
new file mode 100644
index 00000000000..dd894a7b9c0
--- /dev/null
+++ b/packaging/rpm-uln/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/packaging/rpm-uln/filter-requires-mysql.sh b/packaging/rpm-uln/filter-requires-mysql.sh
new file mode 100755
index 00000000000..d435062b8dc
--- /dev/null
+++ b/packaging/rpm-uln/filter-requires-mysql.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/lib/rpm/perl.req $* | grep -v -e "perl(th" -e "perl(lib::mtr" -e "perl(mtr"
diff --git a/packaging/rpm-uln/generate-tarball.sh b/packaging/rpm-uln/generate-tarball.sh
new file mode 100755
index 00000000000..2ff4bff2349
--- /dev/null
+++ b/packaging/rpm-uln/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/packaging/rpm-uln/my.cnf b/packaging/rpm-uln/my.cnf
new file mode 100644
index 00000000000..fae0fa276e1
--- /dev/null
+++ b/packaging/rpm-uln/my.cnf
@@ -0,0 +1,10 @@
+[mysqld]
+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
+
+[mysqld_safe]
+log-error=/var/log/mysqld.log
+pid-file=/var/run/mysqld/mysqld.pid
diff --git a/packaging/rpm-uln/my_config.h b/packaging/rpm-uln/my_config.h
new file mode 100644
index 00000000000..435a126ac97
--- /dev/null
+++ b/packaging/rpm-uln/my_config.h
@@ -0,0 +1,29 @@
+/*
+ * 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"
+#endif
diff --git a/packaging/rpm-uln/mysql-5.5-errno.patch b/packaging/rpm-uln/mysql-5.5-errno.patch
new file mode 100644
index 00000000000..033e5195973
--- /dev/null
+++ b/packaging/rpm-uln/mysql-5.5-errno.patch
@@ -0,0 +1,21 @@
+"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)
+ #endif /* HAVE_ALLOCA */
+
+-#ifndef errno /* did we already get it? */
+-#ifdef HAVE_ERRNO_AS_DEFINE
+ #include <errno.h> /* 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/packaging/rpm-uln/mysql-5.5-fix-tests.patch b/packaging/rpm-uln/mysql-5.5-fix-tests.patch
new file mode 100644
index 00000000000..a1ab7a82210
--- /dev/null
+++ b/packaging/rpm-uln/mysql-5.5-fix-tests.patch
@@ -0,0 +1,34 @@
+Adapt tests (where needed) to RedHat conventions.
+
+1) The RedHat convention uses the package name "mysql*" whereas upstream uses "MySQL*".
+ Test "file_contents" constructs path names and needs to be adapted.
+
+=== modified file 'mysql-test/t/file_contents.test'
+--- mysql-5.5.17-orig/mysql-test/t/file_contents.test 2011-10-10 12:03:29 +0000
++++ mysql-5.5.17/mysql-test/t/file_contents.test 2011-11-16 18:07:55 +0000
+@@ -17,20 +17,20 @@ if ($dir_bin =~ m|/usr/|) {
+ $dir_docs =~ s|/lib|/share/doc|;
+ if(-d "$dir_docs/packages") {
+ # SuSE: "packages/" in the documentation path
+- $dir_docs = glob "$dir_docs/packages/MySQL-server*";
++ $dir_docs = glob "$dir_docs/packages/mysql-server*";
+ } else {
+ # RedHat: version number in directory name
+- $dir_docs = glob "$dir_docs/MySQL-server*";
++ $dir_docs = glob "$dir_docs/mysql-server*";
+ }
+ } elsif ($dir_bin =~ m|/usr$|) {
+ # RPM build during development
+ $dir_docs = "$dir_bin/share/doc";
+ if(-d "$dir_docs/packages") {
+ # SuSE: "packages/" in the documentation path
+- $dir_docs = glob "$dir_docs/packages/MySQL-server*";
++ $dir_docs = glob "$dir_docs/packages/mysql-server*";
+ } else {
+ # RedHat: version number in directory name
+- $dir_docs = glob "$dir_docs/MySQL-server*";
++ $dir_docs = glob "$dir_docs/mysql-server*";
+ }
+ } else {
+ # tar.gz package, Windows, or developer work (in BZR)
+
diff --git a/packaging/rpm-uln/mysql-5.5-libdir.patch b/packaging/rpm-uln/mysql-5.5-libdir.patch
new file mode 100644
index 00000000000..2ab3e9eec27
--- /dev/null
+++ b/packaging/rpm-uln/mysql-5.5-libdir.patch
@@ -0,0 +1,28 @@
+The RPMs built by MySQL AB (-> Sun -> Oracle) put the libraries into "/usr/lib".
+Those built by RedHat put them into "/usr/lib/mysql".
+This patch is to modify the cmake files to follow the RedHat convention.
+Similar, the server is now in "/usr/libexec" (formerly "/usr/sbin").
+
+
+diff -Naur mysql-5.5.17.orig/cmake/install_layout.cmake mysql-5.5.17/cmake/install_layout.cmake
+--- mysql-5.5.17.orig/cmake/install_layout.cmake 2011-06-30 15:46:53 +0000
++++ mysql-5.5.17/cmake/install_layout.cmake 2011-10-27 16:40:10 +0000
+@@ -140,14 +140,14 @@ SET(INSTALL_SBINDIR_RPM
+ # be applied at build time via "rpmbuild".
+ #
+ SET(INSTALL_BINDIR_RPM "bin")
+-SET(INSTALL_SBINDIR_RPM "sbin")
++SET(INSTALL_SBINDIR_RPM "libexec")
+ SET(INSTALL_SCRIPTDIR_RPM "bin")
+ #
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+- SET(INSTALL_LIBDIR_RPM "lib64")
++ SET(INSTALL_LIBDIR_RPM "lib64/mysql")
+ SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin")
+ ELSE()
+- SET(INSTALL_LIBDIR_RPM "lib")
++ SET(INSTALL_LIBDIR_RPM "lib/mysql")
+ SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin")
+ ENDIF()
+ #
+
diff --git a/packaging/rpm-uln/mysql-5.5-mtr1.patch b/packaging/rpm-uln/mysql-5.5-mtr1.patch
new file mode 100644
index 00000000000..7a7dc85f16c
--- /dev/null
+++ b/packaging/rpm-uln/mysql-5.5-mtr1.patch
@@ -0,0 +1,25 @@
+Drop support for version 1 of "mysql-test-run.pl" from the RPMs:
+
+1) The auto-generation of Perl dependencies will mishandle that code,
+ probably because its run directory differs from its storage location.
+2) It does not provide several variables which are used in tests of MySQL 5.5
+
+If you really need it, take it from the source tarball.
+
+=== modified file 'mysql-test/mysql-test-run.pl'
+--- mysql-5.5.17-orig/mysql-test/mysql-test-run.pl 2011-10-03 11:16:40 +0000
++++ mysql-5.5.17/mysql-test/mysql-test-run.pl 2011-11-16 19:06:38 +0000
+@@ -58,10 +58,9 @@ BEGIN {
+ if ( $version == 1 )
+ {
+ print "=======================================================\n";
+- print " WARNING: Using mysql-test-run.pl version 1! \n";
++ print " ERROR: Support for version 1 is dropped in this distribution! \n";
+ print "=======================================================\n";
+- # Should use exec() here on *nix but this appears not to work on Windows
+- exit(system($^X, "lib/v1/mysql-test-run.pl", @ARGV) >> 8);
++ exit(1);
+ }
+ elsif ( $version == 2 )
+ {
+
diff --git a/packaging/rpm-uln/mysql-5.5-stack-guard.patch b/packaging/rpm-uln/mysql-5.5-stack-guard.patch
new file mode 100644
index 00000000000..b2624d982de
--- /dev/null
+++ b/packaging/rpm-uln/mysql-5.5-stack-guard.patch
@@ -0,0 +1,140 @@
+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 -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
+@@ -2653,6 +2653,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)
++{
++ 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;
+@@ -2663,15 +2727,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 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);
+@@ -4445,37 +4501,7 @@
+ 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
+- }
+- }
+-#endif
++ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size);
+
+ (void) thr_setconcurrency(concurrency); // 10 by default
+
diff --git a/packaging/rpm-uln/mysql-5.5-testing.patch b/packaging/rpm-uln/mysql-5.5-testing.patch
new file mode 100644
index 00000000000..74387135346
--- /dev/null
+++ b/packaging/rpm-uln/mysql-5.5-testing.patch
@@ -0,0 +1,23 @@
+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/packaging/rpm-uln/mysql-chain-certs.patch b/packaging/rpm-uln/mysql-chain-certs.patch
new file mode 100644
index 00000000000..3b20a28031d
--- /dev/null
+++ b/packaging/rpm-uln/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/packaging/rpm-uln/mysql-embedded-check.c b/packaging/rpm-uln/mysql-embedded-check.c
new file mode 100644
index 00000000000..8bf8ca53dad
--- /dev/null
+++ b/packaging/rpm-uln/mysql-embedded-check.c
@@ -0,0 +1,26 @@
+/* simple test program to see if we can link the embedded server library */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#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/packaging/rpm-uln/mysql-expired-certs.patch b/packaging/rpm-uln/mysql-expired-certs.patch
new file mode 100644
index 00000000000..acd3a78cce7
--- /dev/null
+++ b/packaging/rpm-uln/mysql-expired-certs.patch
@@ -0,0 +1,555 @@
+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-----
+-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
+-/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-----
+-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
+ -----END RSA PRIVATE KEY-----
diff --git a/packaging/rpm-uln/mysql-install-test.patch b/packaging/rpm-uln/mysql-install-test.patch
new file mode 100644
index 00000000000..5980aea6a9f
--- /dev/null
+++ b/packaging/rpm-uln/mysql-install-test.patch
@@ -0,0 +1,33 @@
+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.
+
++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.
++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 @@
+
+ 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 --git a/packaging/rpm-uln/mysql-strmov.patch b/packaging/rpm-uln/mysql-strmov.patch
new file mode 100644
index 00000000000..a144d0936e4
--- /dev/null
+++ b/packaging/rpm-uln/mysql-strmov.patch
@@ -0,0 +1,32 @@
+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 -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/packaging/rpm-uln/mysql.init b/packaging/rpm-uln/mysql.init
new file mode 100644
index 00000000000..310e8cfa023
--- /dev/null
+++ b/packaging/rpm-uln/mysql.init
@@ -0,0 +1,209 @@
+#!/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
+
+# 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` && 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 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 -p "$mypidfile" $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/packaging/rpm-uln/mysql.spec.sh b/packaging/rpm-uln/mysql.spec.sh
new file mode 100644
index 00000000000..8b25b160be1
--- /dev/null
+++ b/packaging/rpm-uln/mysql.spec.sh
@@ -0,0 +1,1959 @@
+#
+# This file was modified by Oracle in 2011 and later.
+# Details of the modifications are described in the "changelog" section.
+#
+# Modifications copyright (c) 2011, 2012, 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; see the file COPYING. If not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
+# MA 02110-1301 USA.
+
+##############################################################################
+# Some common macro definitions
+##############################################################################
+
+# NOTE: "vendor" is used in upgrade/downgrade check, so you can't
+# change these, has to be exactly as is.
+# %define mysql_old_vendor MySQL AB # Applies to traditional MySQL RPMs only.
+# %define mysql_vendor_2 Sun Microsystems, Inc.
+%define mysql_vendor Oracle and/or its affiliates
+
+%define mysql_version @VERSION@
+
+%define mysqldatadir /var/lib/mysql
+
+%define release 1
+
+##############################################################################
+# Command line handling
+##############################################################################
+#
+# To set options:
+#
+# $ rpmbuild --define="option <x>" ...
+#
+
+# ----------------------------------------------------------------------------
+# Commercial builds
+# ----------------------------------------------------------------------------
+%if %{undefined commercial}
+%define commercial 0
+%endif
+
+# ----------------------------------------------------------------------------
+# Source name
+# ----------------------------------------------------------------------------
+%if %{undefined src_base}
+%define src_base mysql
+%endif
+%define src_dir %{src_base}-%{mysql_version}
+
+# ----------------------------------------------------------------------------
+# Feature set (storage engines, options). Default to community (everything)
+# ----------------------------------------------------------------------------
+%if %{undefined feature_set}
+%define feature_set community
+%endif
+
+# ----------------------------------------------------------------------------
+# Server comment strings
+# ----------------------------------------------------------------------------
+%if %{undefined compilation_comment_debug}
+%define compilation_comment_debug MySQL Community Server - Debug (GPL)
+%endif
+%if %{undefined compilation_comment_release}
+%define compilation_comment_release MySQL Community Server (GPL)
+%endif
+
+# ----------------------------------------------------------------------------
+# Product and server suffixes
+# ----------------------------------------------------------------------------
+%if %{undefined product_suffix}
+ %if %{defined short_product_tag}
+ %define product_suffix -%{short_product_tag}
+ %else
+ %define product_suffix %{nil}
+ %endif
+%endif
+
+%if %{undefined server_suffix}
+%define server_suffix %{nil}
+%endif
+
+# ----------------------------------------------------------------------------
+# Distribution support
+# ----------------------------------------------------------------------------
+%if %{undefined distro_specific}
+%define distro_specific 0
+%endif
+%if %{distro_specific}
+ %if %(test -f /etc/oracle-release && echo 1 || echo 0)
+ %define elver %(rpm -qf --qf '%%{version}\\n' /etc/oracle-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
+ %if "%elver" == "6"
+ %define distro_description Oracle Linux 6
+ %define distro_releasetag el6
+ %define distro_buildreq gcc-c++ ncurses-devel perl readline-devel time zlib-devel
+ %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools
+ %else
+ %{error:Oracle Linux %{elver} is unsupported}
+ %endif
+ %else
+ %if %(test -f /etc/redhat-release && echo 1 || echo 0)
+ %define rhelver %(rpm -qf --qf '%%{version}\\n' /etc/redhat-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
+ %if "%rhelver" == "5"
+ %define distro_description Red Hat Enterprise Linux 5
+ %define distro_releasetag rhel5
+ %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
+ %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools
+ %else
+ %if "%rhelver" == "6"
+ %define distro_description Red Hat Enterprise Linux 6
+ %define distro_releasetag rhel6
+ %define distro_buildreq gcc-c++ ncurses-devel perl readline-devel time zlib-devel
+ %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools
+ %else
+ %{error:Red Hat Enterprise Linux %{rhelver} is unsupported}
+ %endif
+ %endif
+ %else
+ %if %(test -f /etc/SuSE-release && echo 1 || echo 0)
+ %define susever %(rpm -qf --qf '%%{version}\\n' /etc/SuSE-release | cut -d. -f1)
+ %if "%susever" == "10"
+ %define distro_description SUSE Linux Enterprise Server 10
+ %define distro_releasetag sles10
+ %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client readline-devel zlib-devel
+ %define distro_requires aaa_base coreutils grep procps pwdutils
+ %else
+ %if "%susever" == "11"
+ %define distro_description SUSE Linux Enterprise Server 11
+ %define distro_releasetag sles11
+ %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client procps pwdutils readline-devel zlib-devel
+ %define distro_requires aaa_base coreutils grep procps pwdutils
+ %else
+ %{error:SuSE %{susever} is unsupported}
+ %endif
+ %endif
+ %else
+ %{error:Unsupported distribution}
+ %endif
+ %endif
+ %endif
+%else
+ %define generic_kernel %(uname -r | cut -d. -f1-2)
+ %define distro_description Generic Linux (kernel %{generic_kernel})
+ %define distro_releasetag linux%{generic_kernel}
+ %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
+ %define distro_requires coreutils grep procps /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd
+%endif
+
+# Avoid debuginfo RPMs, leaves binaries unstripped
+%define debug_package %{nil}
+
+# Hack to work around bug in RHEL5 __os_install_post macro, wrong inverted
+# test for __debug_package
+%define __strip /bin/true
+
+# ----------------------------------------------------------------------------
+# Support optional "tcmalloc" library (experimental)
+# ----------------------------------------------------------------------------
+%if %{defined malloc_lib_target}
+%define WITH_TCMALLOC 1
+%else
+%define WITH_TCMALLOC 0
+%endif
+
+##############################################################################
+# Configuration based upon above user input, not to be set directly
+##############################################################################
+
+%if %{commercial}
+%define license_files_server %{src_dir}/LICENSE.mysql
+%define license_type Commercial
+%else
+%define license_files_server %{src_dir}/COPYING %{src_dir}/README
+%define license_type GPL
+%endif
+
+##############################################################################
+# Main spec file section
+##############################################################################
+
+Name: mysql%{product_suffix}
+Summary: MySQL client programs and shared libraries
+Group: Applications/Databases
+Version: @MYSQL_RPM_VERSION@
+Release: %{release}%{?distro_releasetag:.%{distro_releasetag}}
+# exceptions allow client libraries to be linked with most open source SW,
+# not only GPL code.
+License: Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved. Under %{license_type} license as shown in the Description field.
+URL: http://www.mysql.com/
+Packager: MySQL Release Engineering <mysql-build@oss.oracle.com>
+Vendor: %{mysql_vendor}
+
+# Regression tests may take a long time, override the default to skip them
+%{!?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: %{src_dir}.tar.gz
+# The upstream tarball includes non-free documentation that only the
+# copyright holder (MySQL -> Sun -> Oracle) may ship.
+# To remove the non-free documentation, run this script after downloading
+# the tarball into the current directory:
+# ./generate-tarball.sh $VERSION
+# Then, source name changes:
+# Source0: mysql-%{version}-nodocs.tar.gz
+%if %{commercial}
+NoSource: 0
+%endif
+Source1: generate-tarball.sh
+Source2: mysql.init
+Source3: my.cnf
+Source4: scriptstub.c
+Source5: my_config.h
+# The below is only needed for packages built outside MySQL -> Sun -> Oracle:
+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
+
+# Patch1: mysql-ssl-multilib.patch Not needed by MySQL (yaSSL), will not work in 5.5 (cmake)
+Patch2: mysql-5.5-errno.patch
+Patch4: mysql-5.5-testing.patch
+Patch5: mysql-install-test.patch
+Patch6: mysql-5.5-stack-guard.patch
+# Patch7: mysql-disable-test.patch Already fixed in current 5.1
+# Patch8: mysql-setschedparam.patch Will not work in 5.5 (cmake)
+# Patch9: mysql-no-docs.patch Will not work in 5.5 (cmake)
+Patch10: mysql-strmov.patch
+ # Not used by MySQL
+# Patch12: mysql-cve-2008-7247.patch Already fixed in 5.5
+Patch13: mysql-expired-certs.patch
+ # Will not be used by MySQL
+# Patch14: mysql-missing-string-code.patch Undecided, will not work in 5.5 (cmake)
+# Patch15: mysql-lowercase-bug.patch Fixed in MySQL 5.1.54 and 5.5.9
+Patch16: mysql-chain-certs.patch
+Patch17: mysql-5.5-libdir.patch
+Patch18: mysql-5.5-fix-tests.patch
+Patch19: mysql-5.5-mtr1.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildRequires: %{distro_buildreq}
+BuildRequires: gawk
+# make test requires time and ps
+BuildRequires: procps
+# Socket and Time::HiRes are needed to run regression tests
+BuildRequires: perl(Socket), perl(Time::HiRes)
+
+Requires: %{distro_requires}
+Requires: fileutils
+Requires: mysql-libs%{product_suffix} = %{version}-%{release}
+Requires: bash
+
+# If %%{product_suffix} is non-empty, the auto-generated capability is insufficient:
+# We want all dependency handling to use the generic name only.
+# Similar in other sub-packages
+Provides: mysql
+
+# 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
+# We need cross-product "Obsoletes:" to allow cross-product upgrades:
+Obsoletes: mysql mysql-advanced
+
+# Working around perl dependency checking bug in rpm FTTB. Remove later.
+%global __perl_requires %{SOURCE999}
+
+%description -n mysql%{product_suffix}
+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.
+
+The MySQL software has Dual Licensing, which means you can use the MySQL
+software free of charge under the GNU General Public License
+(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
+licenses from %{mysql_vendor} if you do not wish to be bound by the terms of
+the GPL. See the chapter "Licensing and Support" in the manual for
+further info.
+
+%package -n mysql-libs%{product_suffix}
+
+Summary: The shared libraries required for MySQL clients
+Group: Applications/Databases
+Requires: /sbin/ldconfig
+Provides: mysql-libs
+Obsoletes: mysql-libs mysql-libs-advanced
+
+%description -n mysql-libs%{product_suffix}
+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 -n mysql-server%{product_suffix}
+
+Summary: The MySQL server and related files
+Group: Applications/Databases
+Requires: mysql%{product_suffix} = %{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
+Provides: mysql-server
+Conflicts: MySQL-server
+Obsoletes: mysql-server mysql-server-advanced
+
+%description -n mysql-server%{product_suffix}
+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 -n mysql-devel%{product_suffix}
+
+Summary: Files for development of MySQL applications
+Group: Applications/Databases
+Requires: mysql%{product_suffix} = %{version}-%{release}
+Requires: openssl-devel
+Provides: mysql-devel
+Conflicts: MySQL-devel
+Obsoletes: mysql-devel mysql-devel-advanced
+
+%description -n mysql-devel%{product_suffix}
+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 -n mysql-embedded%{product_suffix}
+
+Summary: MySQL as an embeddable library
+Group: Applications/Databases
+Provides: mysql-embedded
+Obsoletes: mysql-embedded mysql-embedded-advanced
+
+%description -n mysql-embedded%{product_suffix}
+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,
+as well as a command line client with such an embedded server.
+
+%package -n mysql-embedded-devel%{product_suffix}
+
+Summary: Development files for MySQL as an embeddable library
+Group: Applications/Databases
+Requires: mysql-embedded%{product_suffix} = %{version}-%{release}
+Requires: mysql-devel%{product_suffix} = %{version}-%{release}
+Provides: mysql-embedded-devel
+Obsoletes: mysql-embedded-devel mysql-embedded-devel-advanced
+
+%description -n mysql-embedded-devel%{product_suffix}
+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 -n mysql-test%{product_suffix}
+
+Summary: The test suite distributed with MySQL
+Group: Applications/Databases
+Requires: mysql%{product_suffix} = %{version}-%{release}
+Requires: mysql-server%{product_suffix} = %{version}-%{release}
+Provides: mysql-test
+Conflicts: MySQL-test
+Obsoletes: mysql-test mysql-test-advanced
+
+%description -n mysql-test%{product_suffix}
+MySQL is a multi-user, multi-threaded SQL database server. This
+package contains the regression test suite distributed with
+the MySQL sources.
+
+%prep
+%setup -T -a 0 -c -n %{src_dir}
+
+cd %{src_dir} # read about "%setup -n"
+# %patch1 -p1
+%patch2 -p1
+# %patch4 -p1 TODO / FIXME: if wanted, needs to be adapted to new mysql-test-run setup
+%patch5 -p1
+%patch6 -p1
+# %patch8 -p1
+# %patch9 -p1
+# %patch10 -p1
+# %patch13 -p1
+# %patch14 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+
+# workaround for upstream bug #56342
+rm -f mysql-test/t/ssl_8k_key-master.opt
+
+%build
+
+# Fail quickly and obviously if user tries to build as root
+%if %runselftest
+ if [ x"`id -u`" = x0 ]; then
+ echo "The MySQL regression tests may 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
+
+# Be strict about variables, bail at earliest opportunity, etc.
+set -eu
+
+# Optional package files
+touch optional-files-devel
+
+#
+# Set environment in order of preference, MYSQL_BUILD_* first, then variable
+# name, finally a default. RPM_OPT_FLAGS is assumed to be a part of the
+# default RPM build environment.
+#
+# We set CXX=gcc by default to support so-called 'generic' binaries, where we
+# do not have a dependancy on libgcc/libstdc++. This only works while we do
+# not require C++ features such as exceptions, and may need to be removed at
+# a later date.
+#
+
+# This is a hack, $RPM_OPT_FLAGS on ia64 hosts contains flags which break
+# the compile in cmd-line-utils/readline - needs investigation, but for now
+# we simply unset it and use those specified directly in cmake.
+%if "%{_arch}" == "ia64"
+RPM_OPT_FLAGS=
+%endif
+
+# This goes in sync with Patch19. "rm" is faster than "patch" for this.
+rm -rf %{src_dir}/mysql-test/lib/v1
+
+export PATH=${MYSQL_BUILD_PATH:-$PATH}
+export CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
+export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}}
+export CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
+# Following "%ifarch" developed by RedHat, MySQL/Oracle does not support/maintain Linux/Sparc:
+# 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
+export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}}
+export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}}
+export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}}
+export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-%{?_smp_mflags}}
+
+# Build debug mysqld and libmysqld.a
+mkdir debug
+(
+ cd debug
+ # Attempt to remove any optimisation flags from the debug build
+ CFLAGS=`echo " ${CFLAGS} " | \
+ sed -e 's/ -O[0-9]* / /' \
+ -e 's/ -unroll2 / /' \
+ -e 's/ -ip / /' \
+ -e 's/^ //' \
+ -e 's/ $//'`
+ CXXFLAGS=`echo " ${CXXFLAGS} " | \
+ sed -e 's/ -O[0-9]* / /' \
+ -e 's/ -unroll2 / /' \
+ -e 's/ -ip / /' \
+ -e 's/^ //' \
+ -e 's/ $//'`
+ # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
+ # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
+ ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
+ -DCMAKE_BUILD_TYPE=Debug \
+ -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \
+ -DFEATURE_SET="%{feature_set}" \
+ -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \
+ -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
+ echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG
+ make ${MAKE_JFLAG} VERBOSE=1
+)
+# Build full release
+mkdir release
+(
+ cd release
+ # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
+ # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
+ ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \
+ -DFEATURE_SET="%{feature_set}" \
+ -DCOMPILATION_COMMENT="%{compilation_comment_release}" \
+ -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
+ echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG
+ make ${MAKE_JFLAG} VERBOSE=1
+)
+
+# TODO / FIXME: Do we need "scriptstub"?
+gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4}
+
+# TODO / FIXME: "libmysqld.so" should have been produced above - WORK in PROGRESS
+# regular build will make libmysqld.a but not libmysqld.so :-(
+cd release
+mkdir libmysqld/work
+cd libmysqld/work
+ar -x ../libmysqld.a
+rm rpl_utility.cc.o sql_binlog.cc.o # Try-and-Error: These modules cause unresolved references
+gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \
+ *.o \
+ -lpthread -lcrypt -laio -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 -I../../../%{src_dir}/include $CFLAGS mysql-embedded-check.c libmysqld.so.0
+LD_LIBRARY_PATH=. ldd ./a.out
+cd ../..
+cd ..
+
+# TODO / FIXME: autotools only?
+# make check
+
+# TODO / FIXME: Test suite is run elsewhere in release builds -
+# do we need this for users who want to build from source?
+# Also, check whether MTR_BUILD_THREAD=auto would solve all issues
+%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 )
+ MTR_BUILD_THREAD=7
+ ;;
+ *)
+ MTR_BUILD_THREAD=11
+ ;;
+ esac
+ export MTR_BUILD_THREAD
+
+ # if you want to change which tests are run, look at mysql-5.5-testing.patch too.
+ (cd release && make test-bt-fast )
+%endif
+
+%install
+RBR=$RPM_BUILD_ROOT
+MBD=$RPM_BUILD_DIR/%{src_dir}
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+
+# Ensure that needed directories exists
+# TODO / FIXME: needed ? install -d $RBR%{mysqldatadir}/mysql
+# TODO / FIXME: needed ? install -d $RBR%{_datadir}/mysql-test
+# TODO / FIXME: needed ? install -d $RBR%{_datadir}/mysql/SELinux/RHEL4
+# TODO / FIXME: needed ? install -d $RBR%{_includedir}
+# TODO / FIXME: needed ? install -d $RBR%{_libdir}
+# TODO / FIXME: needed ? install -d $RBR%{_mandir}
+# TODO / FIXME: needed ? install -d $RBR%{_sbindir}
+
+# Install all binaries
+(
+ cd $MBD/release
+ make DESTDIR=$RBR install
+)
+
+# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921). Do
+# this in a sub-shell to ensure we don't pollute the install environment
+# with compiler bits.
+(
+ PATH=${MYSQL_BUILD_PATH:-$PATH}
+ CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
+ CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
+ if "${CC}" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1; then
+ libgcc=`${CC} ${CFLAGS} --print-libgcc-file`
+ if [ -f ${libgcc} ]; then
+ mkdir -p $RBR%{_libdir}/mysql
+ install -m 644 ${libgcc} $RBR%{_libdir}/mysql/libmygcc.a
+ echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel
+ fi
+ fi
+)
+
+# 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/
+ ;;
+ *)
+ ;;
+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
+
+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
+# obsolete: mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench # 'sql-bench' is dropped
+# obsolete: mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test # 'mysql-test' is there already
+# 5.1.32 forgets to install the mysql-test README file
+# obsolete: install -m 0644 mysql-test/README $RPM_BUILD_ROOT%{_datadir}/mysql-test/README # 'README' is there already
+
+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 -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a
+install -m 0755 release/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
+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/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/mysql-stress-test.pl.1*
+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
+
+# The below *only* applies to builds not done by MySQL / Sun / Oracle:
+# copy additional docs into build tree so %%doc will find them
+# cp %{SOURCE6} README.mysql-docs
+
+%clean
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+
+%pre -n mysql-server%{product_suffix}
+
+# Check if we can safely upgrade. An upgrade is only safe if it's from one
+# of our RPMs in the same version family.
+
+# Handle both ways of spelling the capability.
+installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
+if [ $? -ne 0 -o -z "$installed" ]; then
+ installed=`rpm -q --whatprovides MySQL-server 2> /dev/null`
+fi
+if [ $? -eq 0 -a -n "$installed" ]; then
+ installed=`echo $installed | sed 's/\([^ ]*\) .*/\1/'` # Tests have shown duplicated package names
+ vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
+ version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
+ myvendor='%{mysql_vendor}'
+ myversion='%{mysql_version}'
+
+ old_family=`echo $version \
+ | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
+ new_family=`echo $myversion \
+ | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
+
+ [ -z "$vendor" ] && vendor='<unknown>'
+ [ -z "$old_family" ] && old_family="<unrecognized version $version>"
+ [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
+
+ error_text=
+ if [ "$vendor" != "$myvendor" ]; then
+ error_text="$error_text
+The current MySQL server package is provided by a different
+vendor ($vendor) than $myvendor.
+Some files may be installed to different locations, including log
+files and the service startup script in %{_sysconfdir}/init.d/.
+"
+ fi
+
+ if [ "$old_family" != "$new_family" ]; then
+ error_text="$error_text
+Upgrading directly from MySQL $old_family to MySQL $new_family may not
+be safe in all cases. A manual dump and restore using mysqldump is
+recommended. It is important to review the MySQL manual's Upgrading
+section for version-specific incompatibilities.
+"
+ fi
+
+ if [ -n "$error_text" ]; then
+ cat <<HERE >&2
+
+******************************************************************
+A MySQL server package ($installed) is installed.
+$error_text
+A manual upgrade is required.
+
+- Ensure that you have a complete, working backup of your data and my.cnf
+ files
+- Shut down the MySQL server cleanly
+- Remove the existing MySQL packages. Usually this command will
+ list the packages you should remove:
+ rpm -qa | grep -i '^mysql-'
+
+ You may choose to use 'rpm --nodeps -ev <package-name>' to remove
+ the package which contains the mysqlclient shared library. The
+ library will be reinstalled by the MySQL-shared-compat package.
+- Install the new MySQL packages supplied by $myvendor
+- Ensure that the MySQL server is started
+- Run the 'mysql_upgrade' program
+
+This is a brief description of the upgrade process. Important details
+can be found in the MySQL manual, in the Upgrading section.
+******************************************************************
+HERE
+ exit 1
+ fi
+fi
+
+/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 -n mysql-libs%{product_suffix}
+/sbin/ldconfig
+
+%post -n mysql-server%{product_suffix}
+if [ $1 = 1 ]; then
+ /sbin/chkconfig --add mysqld
+fi
+/bin/chmod 0755 /var/lib/mysql
+/bin/touch /var/log/mysqld.log
+
+%preun -n mysql-server%{product_suffix}
+if [ $1 = 0 ]; then
+ /sbin/service mysqld stop >/dev/null 2>&1
+ /sbin/chkconfig --del mysqld
+fi
+
+%postun -n mysql-libs%{product_suffix}
+if [ $1 = 0 ] ; then
+ /sbin/ldconfig
+fi
+
+%postun -n mysql-server%{product_suffix}
+if [ $1 -ge 1 ]; then
+ /sbin/service mysqld condrestart >/dev/null 2>&1 || :
+fi
+
+
+%files -n mysql%{product_suffix}
+%defattr(-,root,root)
+%doc %{license_files_server}
+
+# The below file *only* applies to builds not done by MySQL / Sun / Oracle:
+# %doc README.mysql-docs
+
+%{_bindir}/msql2mysql
+%{_bindir}/mysql
+%{_bindir}/mysql_config
+%{_bindir}/mysql_find_rows
+%{_bindir}/mysql_waitpid
+%{_bindir}/mysqlaccess
+%{_bindir}/mysqlaccess.conf
+%{_bindir}/mysqladmin
+%{_bindir}/mysqlbinlog
+%{_bindir}/mysqlcheck
+%{_bindir}/mysqldump
+%{_bindir}/mysqlimport
+%{_bindir}/mysqlshow
+%{_bindir}/mysqlslap
+%{_bindir}/my_print_defaults
+
+%{_mandir}/man1/mysql.1*
+%{_mandir}/man1/mysql_config.1*
+%{_mandir}/man1/mysql_find_rows.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
+%{_libdir}/mysql/mysql_config
+
+%files -n mysql-libs%{product_suffix}
+%defattr(-,root,root)
+%doc %{license_files_server}
+# 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/*
+
+%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 -n mysql-server%{product_suffix} -f release/support-files/plugins.files
+%defattr(-,root,root)
+%doc release/support-files/*.cnf
+%doc %{_datadir}/info/mysql.info*
+%doc %{src_dir}/Docs/ChangeLog
+%doc %{src_dir}/Docs/INFO_SRC*
+%doc release/Docs/INFO_BIN*
+
+%{_bindir}/myisamchk
+%{_bindir}/myisam_ftdump
+%{_bindir}/myisamlog
+%{_bindir}/myisampack
+%{_bindir}/mysql_convert_table_format
+%{_bindir}/mysql_fix_extensions
+%{_bindir}/mysql_install_db
+%{_bindir}/mysql_plugin
+%{_bindir}/mysql_secure_installation
+%if %{commercial}
+%else
+%{_bindir}/mysql_setpermission
+%endif
+%{_bindir}/mysql_tzinfo_to_sql
+%{_bindir}/mysql_upgrade
+%{_bindir}/mysql_zap
+%{_bindir}/mysqlbug
+%{_bindir}/mysqldumpslow
+%{_bindir}/mysqld_multi
+%{_bindir}/mysqld_safe
+%{_bindir}/mysqlhotcopy
+%{_bindir}/mysqltest
+%{_bindir}/innochecksum
+%{_bindir}/perror
+%{_bindir}/replace
+%{_bindir}/resolve_stack_dump
+%{_bindir}/resolveip
+
+/usr/libexec/mysqld
+/usr/libexec/mysqld-debug
+%{_libdir}/mysql/plugin/daemon_example.ini
+
+%if %{WITH_TCMALLOC}
+%{_libdir}/mysql/%{malloc_lib_target}
+%endif
+
+# obsolete by "-f release/support-files/plugins.files" above
+# %{_libdir}/mysql/plugin
+
+%{_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_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*
+%{_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*
+%if %{commercial}
+%else
+%{_mandir}/man1/mysql_setpermission.1*
+%endif
+%{_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}/mysql/errmsg-utf8.txt
+%{_datadir}/mysql/fill_help_tables.sql
+%{_datadir}/mysql/magic
+%{_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
+
+/etc/rc.d/init.d/mysqld
+%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
+
+# TODO / FIXME: Do we need "libmygcc.a"? If yes, append "-f optional-files-devel"
+# and fix the "rm -f" list in the "install" section.
+%files -n mysql-devel%{product_suffix}
+%defattr(-,root,root)
+/usr/include/mysql
+/usr/share/aclocal/mysql.m4
+%{_libdir}/mysql/libmysqlclient*.so
+
+%files -n mysql-embedded%{product_suffix}
+%defattr(-,root,root)
+%doc %{license_files_server}
+%{_libdir}/mysql/libmysqld.so.*
+%{_bindir}/mysql_embedded
+
+%files -n mysql-embedded-devel%{product_suffix}
+%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 -n mysql-test%{product_suffix}
+%defattr(-,root,root)
+%{_bindir}/mysql_client_test
+%attr(-,mysql,mysql) %{_datadir}/mysql-test
+
+%{_mandir}/man1/mysql_client_test.1*
+
+%changelog
+* Tue Sep 18 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
+- Restrict the vendor check to Oracle: There is no history here
+ which we have to allow for.
+
+* Thu Jul 26 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
+- Add the vendor and release series checks from the traditional MySQL RPM
+ spec file, to protect against errors happening during upgrades.
+- Do some code alignment with the traditional MySQL RPM spec file,
+ to make synchronous maintenance (and possibly even integration?) easier.
+
+* Mon Feb 13 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
+- Add "Provides:" lines for the generic names of the subpackages,
+ independent of "product_suffix".
+
+* Tue Feb 7 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
+- Make "mysql_setpermission" and its man page appear in GPL builds only.
+
+* Thu Nov 24 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
+- Add two patches (#18 + #19) regarding the test suite;
+ version 1 of "mysql-test-run.pl" had to go because the auto-detection
+ of Perl dependencies does not handle differences between run directory
+ and delivery location.
+
+* Thu Nov 3 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
+- Adapt from MySQL 5.1 to 5.5, tested using 5.5.17:
+ - Done by the MySQL Build Team at Oracle:
+ set as packager, set copyright owner and related info;
+ - handle command line options, allowing different configurations, platforms, ...
+ - configurations will show up in the file name as "product_suffix",
+ - use "-n" for all subpackage specifications,
+ - license may be GPL or commercial, mention that in the description,
+ the license output and the included license files will vary,
+ - commercial is "nosource",
+ - improve "requires" listings for different platforms,
+ - explicitly use "product_suffix" in the "requires" entries;
+ - adapt to 5.5 changes in features and function:
+ - remove "mysql-bench" package (files are outdated, not maintained),
+ - no InnoDB plugin,
+ - the set of plugins will vary by configuration, to control the "server"
+ package contents use "-f release/support-files/plugins.files" in the
+ "files" section,
+ - remove "mysqlmanager", "mysql_fix_privilege_tables",
+ - add "mysql_embedded", "mysql-plugin", "mysqlaccess.conf", "magic",
+ - "errmsg.txt" is now in UTF8: "errmsg-utf8.txt",
+ - adapt patches to changed code where needed, rename these to include "5.5",
+ - stop using patches which are not applicable to 5.5;
+ - 5.5 uses a different way of building:
+ - autotools are replaced by cmake,
+ - both a "release" and a "debug" server are built in separate subtrees
+ ("out of source"!), this also affects path names in further handling,
+ - the debug server is added to the "server" subpackage,
+ - add "mysql-5.5-libdir.patch" to handle file placement at user site.
+
+* Mon Dec 20 2010 Tom Lane <tgl@redhat.com> 5.1.52-1.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
+ including numerous small security issues
+Resolves: #652553
+- Sync with current Fedora package; this includes:
+- 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
+
+* Thu Jul 15 2010 Tom Lane <tgl@redhat.com> 5.1.47-4
+- Add backported patch for CVE-2010-2008 (upstream bug 53804)
+Resolves: #614215
+- Add BuildRequires perl(Time::HiRes) ... seems to no longer be installed
+ by just pulling in perl.
+
+* Mon Jun 28 2010 Tom Lane <tgl@redhat.com> 5.1.47-3
+- Add -p "$mypidfile" to initscript's status call to improve corner cases.
+ (Note: can't be fixed in Fedora until 595597 is fixed there.)
+Resolves: #596008
+
+* Mon Jun 7 2010 Tom Lane <tgl@redhat.com> 5.1.47-2
+- Add back "partition" storage engine
+Resolves: #598585
+- Fix broken "federated" storage engine plugin
+Resolves: #587170
+- Read all certificates in SSL certificate files, to support chained certs
+Resolves: #598656
+
+* Mon May 24 2010 Tom Lane <tgl@redhat.com> 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
+ http://dev.mysql.com/doc/refman/5.1/en/news-5-1-46.html
+ http://dev.mysql.com/doc/refman/5.1/en/news-5-1-45.html
+ including fixes for CVE-2010-1621, CVE-2010-1626,
+ CVE-2010-1848, CVE-2010-1849, CVE-2010-1850
+Resolves: #590598
+- Create mysql group explicitly in pre-server script, to ensure correct GID
+
+* Mon Mar 8 2010 Tom Lane <tgl@redhat.com> 5.1.44-2
+- 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
+Resolves: #565554
+- Remove mysql.info, which is not freely redistributable
+Related: #560181
+- Revert broken upstream fix for their bug 45058
+Related: #566547
+- Bring init script into some modicum of compliance with Fedora/LSB standards
+Resolves: #557711
+Resolves: #562749
+
+* Mon Feb 15 2010 Tom Lane <tgl@redhat.com> 5.1.43-2
+- 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
+Resolves: #565554
+- 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.
+Resolves: #565210
+
+* Fri Jan 29 2010 Tom Lane <tgl@redhat.com> 5.1.42-7
+- Add backported patch for CVE-2008-7247 (upstream bug 39277)
+Resolves: #549329
+- Use non-expired certificates for SSL testing (upstream bug 50702)
+
+* Tue Jan 26 2010 Tom Lane <tgl@redhat.com> 5.1.42-6
+- Emit explicit error message if user tries to build RPM as root
+Resolves: #558915
+
+* Wed Jan 20 2010 Tom Lane <tgl@redhat.com> 5.1.42-5
+- Correct Source0: tag and comment to reflect how to get the tarball
+
+* Fri Jan 8 2010 Tom Lane <tgl@redhat.com> 5.1.42-4
+- Sync with current Fedora build, including:
+- 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
+- Disable symbolic links by default in /etc/my.cnf
+Resolves: #553653
+- Remove static libraries (.a files) from package, per packaging guidelines
+- Change %%define to %%global, per packaging guidelines
+- Disable building the innodb plugin; it tickles assorted gcc bugs and
+ doesn't seem entirely ready for prime time anyway.
+Resolves: #553632
+- Start mysqld_safe with --basedir=/usr, to avoid unwanted SELinux messages
+ (see 547485)
+- Stop waiting during "service mysqld start" if mysqld_safe exits
+Resolves: #544095
+
+* Mon Nov 23 2009 Tom Lane <tgl@redhat.com> 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
+Resolves: #549327
+- Don't set old_passwords=1; we aren't being bug-compatible with 3.23 anymore
+Resolves: #540735
+
+* Tue Nov 10 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 5.1.39-4
+- Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132)
+
+* Thu Oct 15 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 5.1.39-2
+- Work around upstream bug 46895 by disabling outfile_loaddata test
+
+* Tue Sep 22 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tmraz@redhat.com> - 5.1.37-3
+- rebuilt with new openssl
+
+* Fri Aug 14 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <rel-eng@lists.fedoraproject.org> - 5.1.36-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri Jul 10 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 5.1.33-2
+- Increase stack size of ndbd threads for safety's sake.
+Related: #494631
+
+* Tue Apr 7 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 5.1.32-1
+- Update to MySQL 5.1.32.
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.31-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 13 2009 Tom Lane <tgl@redhat.com> 5.1.31-1
+- Update to MySQL 5.1.31.
+
+* Thu Jan 22 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 5.0.51a-1
+- Update to mysql version 5.0.51a
+
+* Mon Mar 3 2008 Tom Lane <tgl@redhat.com> 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 <dennis@ausil.us> 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 <tgl@redhat.com> 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 <rel-eng@fedoraproject.org> - 5.0.45-8
+- Autorebuild for GCC 4.3
+
+* Tue Jan 8 2008 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 5.0.45-5
+- Rebuild for new openssl
+
+* Sat Aug 25 2007 Tom Lane <tgl@redhat.com> 5.0.45-4
+- Seems we need explicit BuildRequires on gawk and procps now
+- Rebuild to fix Fedora toolchain issues
+
+* Sun Aug 12 2007 Tom Lane <tgl@redhat.com> 5.0.45-3
+- Recent perl changes in rawhide mean we need a more specific BuildRequires
+
+* Thu Aug 2 2007 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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
+- Cope with new automake in F7
+Resolves: #224171
+
+* Thu Nov 9 2006 Tom Lane <tgl@redhat.com> 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 <jkeating@redhat.com> - 5.0.22-2.1
+- rebuild
+
+* Sat Jun 10 2006 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 5.0.21-2
+- Fix bogus perl Requires for mysql-test
+
+* Mon May 1 2006 Tom Lane <tgl@redhat.com> 5.0.21-1
+- Update to MySQL 5.0.21
+
+* Mon Mar 27 2006 Tom Lane <tgl@redhat.com> 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 <jkeating@redhat.com> - 5.0.18-2.1
+- bump again for double-long bug on ppc(64)
+
+* Thu Feb 9 2006 Tom Lane <tgl@redhat.com> 5.0.18-2
+- err-log option has been renamed to log-error, fix my.cnf and initscript
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 5.0.18-1.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Thu Jan 5 2006 Tom Lane <tgl@redhat.com> 5.0.18-1
+- Update to MySQL 5.0.18
+
+* Thu Dec 15 2005 Tom Lane <tgl@redhat.com> 5.0.16-4
+- fix my_config.h for ppc platforms
+
+* Thu Dec 15 2005 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 5.0.16-2
+- oops, looks like we want uname -i not uname -m
+
+* Mon Dec 12 2005 Tom Lane <tgl@redhat.com> 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 <jkeating@redhat.com>
+- rebuilt
+
+* Mon Nov 14 2005 Tom Lane <tgl@redhat.com> 5.0.15-3
+- Make stop script wait for daemon process to disappear (bz#172426)
+
+* Wed Nov 9 2005 Tom Lane <tgl@redhat.com> 5.0.15-2
+- Rebuild due to openssl library update.
+
+* Thu Nov 3 2005 Tom Lane <tgl@redhat.com> 5.0.15-1
+- Update to MySQL 5.0.15 (scratch build for now)
+
+* Wed Oct 5 2005 Tom Lane <tgl@redhat.com> 4.1.14-1
+- Update to MySQL 4.1.14
+
+* Tue Aug 23 2005 Tom Lane <tgl@redhat.com> 4.1.12-3
+- Use politically correct patch name.
+
+* Tue Jul 12 2005 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 4.1.11-4
+- Include proper locking for OpenSSL in the server, per bz#155850
+
+* Mon Apr 25 2005 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 4.1.11-2
+- Avoid dependency on <asm/atomic.h>, cause it won't build anymore on ia64.
+ This is probably a cleaner solution for bz#143537, too.
+
+* Thu Apr 7 2005 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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).
+
+* Sun Mar 6 2005 Tom Lane <tgl@redhat.com> 4.1.10-3
+- Fix package Requires: interdependencies.
+
+* Sat Mar 5 2005 Tom Lane <tgl@redhat.com> 4.1.10-2
+- 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 <tgl@redhat.com> 4.1.10-1
+- Update to MySQL 4.1.10.
+
+* Sat Jan 15 2005 Tom Lane <tgl@redhat.com> 4.1.9-1
+- Update to MySQL 4.1.9.
+
+* Wed Jan 12 2005 Tom Lane <tgl@redhat.com> 4.1.7-10
+- Don't assume /etc/my.cnf will specify pid-file (bz#143724)
+
+* Wed Jan 12 2005 Tim Waugh <twaugh@redhat.com> 4.1.7-9
+- Rebuilt for new readline.
+
+* Tue Dec 21 2004 Tom Lane <tgl@redhat.com> 4.1.7-8
+- Run make test on all archs except s390x (which seems to have a bdb issue)
+
+* Mon Dec 13 2004 Tom Lane <tgl@redhat.com> 4.1.7-7
+- Suppress someone's silly idea that libtool overhead can be skipped
+
+* Sun Dec 12 2004 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 4.1.7-5
+- Add a restorecon to keep the mysql.log file in the right context (bz#143887)
+
+* Tue Nov 23 2004 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 4.1.7-3
+- Handle ldconfig more cleanly (put a file in /etc/ld.so.conf.d/).
+
+* Thu Oct 28 2004 Tom Lane <tgl@redhat.com> 4.1.7-2
+- rebuild in devel branch
+
+* Wed Oct 27 2004 Tom Lane <tgl@redhat.com> 4.1.7-1
+- Update to MySQL 4.1.x.
+
+* Tue Oct 12 2004 Tom Lane <tgl@redhat.com> 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` (CAN-2004-0957)
+
+* Wed Oct 06 2004 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <sopwith@redhat.com> 3.23.58-10
+- rebuilt
+
+* Sat Apr 17 2004 Warren Togami <wtogami@redhat.com> 3.23.58-9
+- remove redundant INSTALL-SOURCE, manual.*
+- compress manual.txt.bz2
+- BR time
+
+* Tue Mar 16 2004 Tom Lane <tgl@redhat.com> 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 <sopwith@redhat.com>
+- rebuilt
+
+* Tue Feb 24 2004 Tom Lane <tgl@redhat.com>
+- fix chown syntax in mysql.init
+- rebuild
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Tue Nov 18 2003 Kim Ho <kho@redhat.com> 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 <kho@redhat.com> 3.23.58-4
+- update mysql.init to wait (max 10 seconds) for mysql server to
+ start (#58732)
+
+* Mon Oct 27 2003 Patrick Macdonald <patrickm@redhat.com> 3.23.58-3
+- re-enable Berkeley DB support (#106832)
+- re-enable ia64 testing
+
+* Fri Sep 19 2003 Patrick Macdonald <patrickm@redhat.com> 3.23.58-2
+- rebuilt
+
+* Mon Sep 15 2003 Patrick Macdonald <patrickm@redhat.com> 3.23.58-1
+- upgrade to 3.23.58 for security fix
+
+* Tue Aug 26 2003 Patrick Macdonald <patrickm@redhat.com> 3.23.57-2
+- rebuilt
+
+* Wed Jul 02 2003 Patrick Macdonald <patrickm@redhat.com> 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 <patrickm@redhat.com> 4.0.13-4
+- restrict test on ia64 (temporary)
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com> 4.0.13-3
+- rebuilt
+
+* Thu May 29 2003 Patrick Macdonald <patrickm@redhat.com> 4.0.13-2
+- fix filter-requires-mysql.sh with less restrictive for mysql-bench
+
+* Wed May 28 2003 Patrick Macdonald <patrickm@redhat.com> 4.0.13-1
+- update for MySQL 4.0
+- back-level shared libraries available in mysqlclient10 package
+
+* Fri May 09 2003 Patrick Macdonald <patrickm@redhat.com> 3.23.56-2
+- add sql-bench package (#90110)
+
+* Wed Mar 19 2003 Patrick Macdonald <patrickm@redhat.com> 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 <patrickm@redhat.com> 3.23.54a-11
+- enable thread safe client
+- add patch for double free fix
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Mon Jan 13 2003 Karsten Hopp <karsten@redhat.de> 3.23.54a-9
+- disable checks on s390x
+
+* Sat Jan 4 2003 Jeff Johnson <jbj@redhat.com> 3.23.54a-8
+- use internal dep generator.
+
+* Wed Jan 1 2003 Bill Nottingham <notting@redhat.com> 3.23.54a-7
+- fix mysql_config on hammer
+
+* Sun Dec 22 2002 Tim Powers <timp@redhat.com> 3.23.54a-6
+- don't use rpms internal dep generator
+
+* Tue Dec 17 2002 Elliot Lee <sopwith@redhat.com> 3.23.54a-5
+- Push it into the build system
+
+* Mon Dec 16 2002 Joe Orton <jorton@redhat.com> 3.23.54a-4
+- upgrade to 3.23.54a for safe_mysqld fix
+
+* Thu Dec 12 2002 Joe Orton <jorton@redhat.com> 3.23.54-3
+- upgrade to 3.23.54 for latest security fixes
+
+* Tue Nov 19 2002 Jakub Jelinek <jakub@redhat.com> 3.23.52-5
+- Always include <errno.h> for errno
+- Remove unpackaged files
+
+* Tue Nov 12 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- do not prereq userdel, not used at all
+
+* Mon Sep 9 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.52-4
+- Use %%{_libdir}
+- Add patch for x86-64
+
+* Wed Sep 4 2002 Jakub Jelinek <jakub@redhat.com> 3.23.52-3
+- rebuilt with gcc-3.2-7
+
+* Thu Aug 29 2002 Trond Eivind Glomsrd <teg@redhat.com> 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 Glomsrd <teg@redhat.com> 3.23.52-1
+- 3.23.52. Fixes a minor security problem, various bugfixes.
+
+* Sat Aug 10 2002 Elliot Lee <sopwith@redhat.com> 3.23.51-5
+- rebuilt with gcc-3.2 (we hope)
+
+* Mon Jul 22 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.51-4
+- rebuild
+
+* Thu Jul 18 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.51-3
+- Fix #63543 and #63542
+
+* Thu Jul 11 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.51-2
+- Turn off bdb on PPC(#68591)
+- Turn off the assembly optimizations, for safety.
+
+* Wed Jun 26 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.51-1
+- Work around annoying auto* thinking this is a crosscompile
+- 3.23.51
+
+* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Mon Jun 10 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.50-2
+- Add dependency on perl-DBI and perl-DBD-MySQL (#66349)
+
+* Thu May 30 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.50-1
+- 3.23.50
+
+* Thu May 23 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Mon May 13 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.49-4
+- Rebuild
+- Don't set CXX to gcc, it doesn't work anymore
+- Exclude Alpha
+
+* Mon Apr 8 2002 Trond Eivind Glomsrd <teg@redhat.com> 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 Glomsrd <teg@redhat.com> 3.23.49-2
+- Rebuild
+
+* Sun Feb 17 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.49-1
+- 3.23.49
+
+* Thu Feb 14 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.48-2
+- work around perl dependency bug.
+
+* Mon Feb 11 2002 Trond Eivind Glomsrd <teg@redhat.com> 3.23.48-1
+- 3.23.48
+
+* Thu Jan 17 2002 Trond Eivind Glomsrd <teg@redhat.com> 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 Glomsrd <teg@redhat.com> 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 Glomsrd <teg@redhat.com> 3.23.47-1
+- 3.23.47
+- Don't build for alpha, toolchain immature.
+
+* Mon Dec 3 2001 Trond Eivind Glomsrd <teg@redhat.com> 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 Glomsrd <teg@redhat.com> 3.23.45-1
+- 3.23.45
+
+* Wed Nov 14 2001 Trond Eivind Glomsrd <teg@redhat.com> 3.23.44-2
+- centralize definition of datadir in the initscript (#55873)
+
+* Fri Nov 2 2001 Trond Eivind Glomsrd <teg@redhat.com> 3.23.44-1
+- 3.23.44
+
+* Thu Oct 4 2001 Trond Eivind Glomsrd <teg@redhat.com> 3.23.43-1
+- 3.23.43
+
+* Mon Sep 10 2001 Trond Eivind Glomsrd <teg@redhat.com> 3.23.42-1
+- 3.23.42
+- reenable innodb
+
+* Tue Aug 14 2001 Trond Eivind Glomsrd <teg@redhat.com> 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 Glomsrd <teg@redhat.com>
+- 3.23.40, bugfix release
+- Add zlib-devel to buildrequires:
+
+* Fri Jul 20 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- BuildRequires-tweaking
+
+* Thu Jun 28 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 3.23.29
+- enable innodb
+- enable assembly again
+- disable tests for now...
+
+* Tue May 15 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.38
+- Don't use BDB on Alpha - no fast mutexes
+
+* Tue Apr 24 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.37
+- Add _GNU_SOURCE to the compile flags
+
+* Wed Mar 28 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 3.23.35 bugfix release
+- Don't delete the mysql user on uninstall
+
+* Tue Mar 13 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.34a bugfix release
+
+* Wed Feb 7 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- added readline-devel to BuildRequires:
+
+* Tue Feb 6 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- small i18n-fixes to initscript (action needs $)
+
+* Tue Jan 30 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- make it shut down and rotate logs without using mysqladmin
+ (from #24909)
+
+* Mon Jan 29 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- conflict with "MySQL"
+
+* Tue Jan 23 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- improve gettextizing
+
+* Mon Jan 22 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.32
+- fix logrotate script (#24589)
+
+* Wed Jan 17 2001 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 3.23.29a
+
+* Tue Dec 19 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- add requirement for new libstdc++, build for errata
+
+* Mon Dec 18 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.29
+
+* Mon Nov 27 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.28 (gamma)
+- remove old patches, as they are now upstreamed
+
+* Thu Nov 14 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- Add a requirement for a new glibc (#20735)
+- build on IA64
+
+* Wed Nov 1 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- disable more assembly
+
+* Wed Nov 1 2000 Jakub Jelinek <jakub@redhat.com>
+- fix mysql on SPARC (#20124)
+
+* Tue Oct 31 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.27
+
+* Wed Oct 25 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- add patch for fixing bogus aliasing in mysql from Jakub,
+ which should fix #18905 and #18620
+
+* Mon Oct 23 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- check for negative niceness values, and negate it
+ if present (#17899)
+- redefine optflags on IA32 FTTB
+
+* Wed Oct 18 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- use the compat C++ compiler FTTB. Argh.
+- add requirement of ncurses4 (see above)
+
+* Sun Oct 01 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.25
+- fix shutdown problem (#17956)
+
+* Tue Sep 26 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- Don't try to include no-longer-existing PUBLIC file
+ as doc (#17532)
+
+* Thu Sep 12 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- 3.23.23
+
+* Sun Aug 27 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- Add "|| :" to condrestart to avoid non-zero exit code
+
+* Thu Aug 24 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- it's mysql.com, not mysql.org and use correct path to
+ source (#16830)
+
+* Wed Aug 16 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- source file from /etc/rc.d, not /etc/rd.d. Doh.
+
+* Sun Aug 13 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 <notting@redhat.com>
+- condrestart fixes
+
+* Mon Aug 01 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 3.23.22. Disable the old patches, they're now in.
+
+* Thu Jul 27 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- bugfixes in the initscript
+- move the .so link to the devel package
+
+* Wed Jul 19 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- rebuild due to glibc changes
+
+* Tue Jul 18 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- disable compiler patch
+- don't include info directory file
+
+* Mon Jul 17 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- move back to /etc/rc.d/init.d
+
+* Fri Jul 14 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- more cleanups in initscript
+
+* Thu Jul 13 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- add a patch to work around compiler bug
+ (from monty@mysql.com)
+
+* Wed Jul 12 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 <bugzilla@redhat.com>
+- automatic rebuild
+
+* Mon Jul 10 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 Glomsrd <teg@redhat.com>
+- use old C++ compiler
+- Exclusivearch x86
+
+* Sat Jul 08 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- move .so files to devel package
+- more cleanups
+- exclude sparc for now
+
+* Wed Jul 05 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 <jakub@redhat.com>
+- Rebuild with new C++
+
+* Fri Jun 30 2000 Trond Eivind Glomsrd <teg@redhat.com>
+- 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 <jos@xos.nl>
+- 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 <jos@xos.nl>
+- 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 <jos@xos.nl>
+- 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/packaging/rpm-uln/scriptstub.c b/packaging/rpm-uln/scriptstub.c
new file mode 100644
index 00000000000..de942c136e7
--- /dev/null
+++ b/packaging/rpm-uln/scriptstub.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+/* 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;
+}