raven-rhel9/mysql55/mysql.spec
2024-02-21 15:07:07 +06:00

1369 lines
46 KiB
RPMSpec

%define _default_patch_fuzz 2
%define _hardened_build 1
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
%global with_systemd 1
%else
%global with_systemd 0
%endif
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
%global with_dtrace 1
%else
%global with_dtrace 0
%endif
# tmp test
#%global with_dtrace 0
%global realname mysql
Name: mysql55
Version: 5.5.62
Release: 3%{dist}
Summary: MySQL client programs and shared libraries
Group: Applications/Databases
URL: http://www.mysql.com
# exceptions allow client libraries to be linked with most open source SW,
# not only GPL code. See README.mysql-license
License: GPLv2 with exceptions
# Regression tests take a long time, you can skip 'em with this
%{!?runselftest:%global runselftest 0}
# Upstream has a mirror redirector for downloads, so the URL is hard to
# represent statically. You can get the tarball by following a link from
# http://dev.mysql.com/downloads/mysql/
Source0: mysql-%{version}.tar.gz
# The upstream tarball includes non-free documentation that we cannot ship.
# To remove the non-free documentation, run this script after downloading
# the tarball into the current directory:
# ./generate-tarball.sh $VERSION
# Source1: generate-tarball.sh not used for remi repo
Source1: mysql.sysconfig
Source2: mysql.init
Source3: my.cnf
Source4: scriptstub.c
Source5: my_config.h
Source6: README.mysql-docs
Source7: README.mysql-license
Source8: libmysql.version
Source9: mysql-embedded-check.c
Source10: mysql.tmpfiles.d
# systemd files
Source11: mysqld.service
Source12: mysqld-prepare-db-dir
Source13: mysqld-wait-ready
Source14: rh-skipped-tests-base.list
Source15: rh-skipped-tests-arm.list
# Working around perl dependency checking bug in rpm FTTB. Remove later.
Source999: filter-requires-mysql.sh
Source1000: openssl.pc
# Comments for these patches are in the patch files.
Patch1: mysql-errno.patch
Patch2: mysql-strmov.patch
Patch3: mysql-install-test.patch
Patch4: mysql-expired-certs.patch
Patch5: mysql-stack-guard.patch
Patch6: mysql-chain-certs.patch
Patch7: mysql-versioning.patch
Patch8: mysql-dubious-exports.patch
Patch10: mysql-plugin-bool.patch
Patch11: mysql-s390-tsc.patch
Patch14: mysql-va-list.patch
Patch15: mysql-netdevname.patch
Patch16: mysql-logrotate.patch
Patch17: mysql-plugin-test.patch
Patch18: mysql-cipherspec.patch
Patch19: mysql-file-contents.patch
Patch20: mysql-string-overflow.patch
Patch21: mysql-dh1024.patch
# http://bugs.mysql.com/68999
Patch22: mysql-openssl.patch
#Cloudlinux governor patches
Patch1000: 0001-Cloud-Linux-userstat.patch
Patch1001: max_connection2_mysql_5_5_30_b404.patch
Patch1002: mysql-governor-embedded-exclude-5_5_28.patch
Patch1003: 0003_1-Clean-up-stale-pid-files-in-datadir-when-stopping-to.patch
Patch1005: 0005-Use-accessors-and-fix-type-errors.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: gperf, bison
BuildRequires: perl, readline-devel
BuildRequires: openssl-devel
%if 0%{?rhel} > 8
BuildRequires: compat-openssl10-devel
%endif
BuildRequires: gcc-c++, cmake, ncurses-devel, zlib-devel, libaio-devel
%if %{with_dtrace}
BuildRequires: systemtap-sdt-devel >= 1.3
%endif
# make test requires time and ps
BuildRequires: time procps
# Socket and Time::HiRes are needed to run regression tests
BuildRequires: perl(Socket), perl(Time::HiRes)
%if %{with_systemd}
BuildRequires: systemd-units
%endif
Requires: grep, coreutils
Requires: real-%{realname}-libs%{?_isa} = %{version}-%{release}
Requires: bash
# Community obsoletes
Provides: MySQL MySQL-community mysql-client MySQL-client
Provides: mysql MySQL
Obsoletes: MySQL-community < %{version}-%{release}
Obsoletes: mysql-client < %{version}-%{release}, mysql-perl < %{version}-%{release}
Obsoletes: MySQL-client < %{version}-%{release}
Obsoletes: mysql < %{version}-%{release}, MySQL < %{version}-%{release}
Obsoletes: MySQL-storage-cluster MySQL-management-cluster MySQL-tools-cluster MySQL-extra-cluster
Obsoletes: MySQL-cluster-storage-community MySQL-cluster-management-community MySQL-cluster-tools-community MySQL-cluster-tools-extras
Obsoletes: MySQL-storage-cluster < %{version}-%{release}
Obsoletes: MySQL-management-cluster < %{version}-%{release}
Obsoletes: MySQL-tools-cluster < %{version}-%{release}
Obsoletes: MySQL-extra-cluster < %{version}-%{release}
Conflicts: mysql <= 5.6, mariadb <= 5.6, MariaDB <= 5.6
# We can use real- prefix to distinguish from other MySQL implementations
# like MariaDB unambiguously
Provides: real-%{realname} = %{version}-%{release}
Provides: real-%{realname}%{?_isa} = %{version}-%{release}
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
#Conflicts: MySQL
# mysql-cluster used to be built from this SRPM, but no more
Obsoletes: mysql-cluster < 5.1.44
# Virtual provides present in upstream's RPM (used by some app)
Provides: mysql-client = %{version}-%{release}
# When rpm 4.9 is universal, this could be cleaned up:
%global __perl_requires %{SOURCE999}
%global __perllib_requires %{SOURCE999}
# By default, patch(1) creates backup files when chunks apply with offsets.
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
%global _default_patch_flags --no-backup-if-mismatch
%description
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. The base package
contains the standard MySQL client programs and generic MySQL files.
%package libs
Summary: The shared libraries required for MySQL clients
Group: Applications/Databases
Requires: /sbin/ldconfig
%if 0%{?rhel} == 6
Requires: mysqlclient16
%endif
Provides: mysqlclient18
Obsoletes: mysqlclient18 < %{version}-%{release}
Obsoletes: compat-mysql55 <= %{version}
Provides: real-%{realname}-libs = %{version}-%{release}
Provides: real-%{realname}-libs%{?_isa} = %{version}-%{release}
# Community obsoletes
Obsoletes: compat-MySQL55 <= %{version}
Provides: MySQL-shared-community
Obsoletes: MySQL-shared-community
Provides: mysql-libs MySQL-libs
Obsoletes: mysql-libs < %{version}-%{release}, MySQL-libs < %{version}-%{release}
#Conflicts: mysql-libs <= 5.6, mariadb-libs <= 5.6, MariaDB-shared <= 5.6
%if 0%{?rhel} == 5
# EL-5 mysql 5.0.x have no mysql/mysql-libs
# This circular dep. should make update simpler
Requires: %{name}%{?_isa} = %{version}-%{release}
%endif
%description libs
The mysql-libs package provides the essential shared libraries for any
MySQL client program or interface. You will need to install this package
to use any other MySQL package or any clients that need to connect to a
MySQL server.
%package server
Summary: The MySQL server and related files
Group: Applications/Databases
Requires: real-%{realname}%{?_isa} = %{version}-%{release}
Requires: real-%{realname}-libs%{?_isa} = %{version}-%{release}
Requires: coreutils
Requires(pre): /usr/sbin/useradd
Requires(post): chkconfig
Requires(preun): chkconfig
%if %{with_systemd}
# We require this to be present for %%{_prefix}/lib/tmpfiles.d
Requires: systemd-units
# Make sure it's there when scriptlets run, too
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
# This is actually needed for the %%triggerun script but Requires(triggerun)
# is not valid. We can use %%post because this particular %%triggerun script
# should fire just after this package is installed.
Requires(post): systemd-sysv
%else
# This is for /sbin/service
Requires(preun): initscripts
Requires(postun): initscripts
%endif
# mysqlhotcopy needs DBI/DBD support
Requires: perl-DBI, perl-DBD-MySQL
Provides: real-%{realname}-server = %{version}-%{release}
Provides: real-%{realname}-server%{?_isa} = %{version}-%{release}
# Community Obsoletes
Provides: MySQL-server MySQL-server-community
Obsoletes: MySQL-server MySQL-server-community
Provides: mysql-server MySQL-server
Obsoletes: mysql-server < %{version}-%{release}, MySQL-server < %{version}-%{release}
Conflicts: mysql-server <= 5.6, mariadb-server <= 5.6, MySQL-server%{?_isa} <= 5.6
%description server
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
the MySQL server and some accompanying files and directories.
%package devel
Summary: Files for development of MySQL applications
Group: Applications/Databases
Requires: real-%{realname}%{?_isa} = %{version}-%{release}
Requires: real-%{realname}-libs%{?_isa} = %{version}-%{release}
%if 0%{?rhel} <= 8
Requires: openssl-devel%{?_isa}
%else
Requires: compat-openssl10-devel
%endif
Provides: real-%{realname}-devel = %{version}-%{release}
Provides: real-%{realname}-devel%{?_isa} = %{version}-%{release}
Provides: mysqlclient18-devel = %{version}-%{release}
# Community Obsoletes
Provides: MySQL-devel MySQL-devel-community mysql-devel MySQL-devel
Obsoletes: MySQL-devel < %{version}-%{release}, MySQL-devel-community < %{version}-%{release}, mysql-devel < %{version}-%{release}, MySQL-devel < %{version}-%{release}
Conflicts: pkgconfig(mysqlclient) > 5.6
Conflicts: pkgconfig(mariadb) > 5.6
%description devel
MySQL is a multi-user, multi-threaded SQL database server. This
package contains the libraries and header files that are needed for
developing MySQL client applications.
%package embedded
Summary: MySQL as an embeddable library
Group: Applications/Databases
Provides: real-%{realname}-embedded = %{version}-%{release}
Provides: real-%{realname}-embedded%{?_isa} = %{version}-%{release}
%description embedded
MySQL is a multi-user, multi-threaded SQL database server. This
package contains a version of the MySQL server that can be embedded
into a client application instead of running as a separate process.
%package embedded-devel
Summary: Development files for MySQL as an embeddable library
Group: Applications/Databases
Requires: real-%{realname}-embedded%{?_isa} = %{version}-%{release}
Requires: real-%{realname}-devel%{?_isa} = %{version}-%{release}
Provides: real-%{realname}-embedded-devel = %{version}-%{release}
Provides: real-%{realname}-embedded-devel%{?_isa} = %{version}-%{release}
%description embedded-devel
MySQL is a multi-user, multi-threaded SQL database server. This
package contains files needed for developing and testing with
the embedded version of the MySQL server.
%package bench
Summary: MySQL benchmark scripts and data
Group: Applications/Databases
Requires: real-%{realname}%{?_isa} = %{version}-%{release}
Provides: real-%{realname}-bench = %{version}-%{release}
Provides: real-%{realname}-bench%{?_isa} = %{version}-%{release}
# Community obsoletes
Obsoletes: MySQL-bench < %{version}-%{release}, mysql-bench < %{version}-%{release}, MySQL-bench < %{version}-%{release}
Provides: MySQL-bench mysql-bench MySQL-bench
%description bench
MySQL is a multi-user, multi-threaded SQL database server. This
package contains benchmark scripts and data for use when benchmarking
MySQL.
%package test
Summary: The test suite distributed with MySQL
Group: Applications/Databases
Requires: real-%{realname}%{?_isa} = %{version}-%{release}
Requires: real-%{realname}-libs%{?_isa} = %{version}-%{release}
Requires: real-%{realname}-server%{?_isa} = %{version}-%{release}
Provides: real-%{realname}-test = %{version}-%{release}
Provides: real-%{realname}-test%{?_isa} = %{version}-%{release}
#community obsoletes
Obsoletes: MySQL-test < %{version}-%{release}, MySQL-test-community < %{version}-%{release}, mysql-test < %{version}-%{release}
Provides: MySQL-test MySQL-test-community mysql-test MySQL-test
%description test
MySQL is a multi-user, multi-threaded SQL database server. This
package contains the regression test suite distributed with
the MySQL sources.
%prep
%setup -q -n mysql-%{version}
# Can't provide this file (by licence)
rm -f Docs/mysql.info
%patch1 -p1
%patch2 -p1
%patch3 -p1
#%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch10 -p1
%patch11 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
#%patch21 -p1
#%patch22 -p1
# Cloudlinux governor and userstats patches
%patch1000 -p3
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1005 -p3
rm -f sql/sql_yacc.cc sql/sql_yacc.h
# workaround for upstream bug #56342
rm -f mysql-test/t/ssl_8k_key-master.opt
# upstream has fallen down badly on symbol versioning, do it ourselves
cp %{SOURCE8} libmysql/libmysql.version
# generate a list of tests that fail, but are not disabled by upstream
cat %{SOURCE14} > mysql-test/rh-skipped-tests.list
# disable some tests failing on ARM architectures
%ifarch %{arm}
cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list
%endif
%build
# fail quickly and obviously if user tries to build as root
%if %runselftest
if [ x"`id -u`" = x0 ]; then
echo "mysql's regression tests fail if run as root."
echo "If you really need to build the RPM as root, use"
echo "--define='runselftest 0' to skip the regression tests."
exit 1
fi
%endif
CFLAGS="%{optflags} -I%{_includedir}/openssl10 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# MySQL 4.1.10 definitely doesn't work under strict aliasing; also,
# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv
CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv"
%if 0%{?rhel} >= 8
CFLAGS="$CFLAGS -fno-omit-frame-pointer -fno-use-linker-plugin"
%endif
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization
# submitted as bz #529298
%ifarch sparc sparcv9 sparc64
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
%endif
CXXFLAGS="$CFLAGS -std=c++11"
export CFLAGS CXXFLAGS
export LDFLAGS="-L%{_libdir}/openssl10 -lssl -lcrypto ${LDFLAGS}"
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
# so we can't use %%{_datadir} and so forth here.
cmake . -DBUILD_CONFIG=mysql_release \
-DCOMPILATION_COMMENT="Legacy MySQL Community Server (GPL) by Raven" \
-DFEATURE_SET="community" \
-DINSTALL_LAYOUT=RPM \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DSYSCONFDIR=%{_sysconfdir}/mysql55 \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
-DINSTALL_LIBDIR="%{_lib}/mysql55" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR="%{_lib}/mysql55/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
%if 0%{?rhel} >= 9
-DOPENSSL_INCLUDE_DIR=%{_includedir}/openssl10 \
-DOPENSSL_CRYPTO_LIBRARY=%{_libdir}/openssl10/libcrypto.so \
-DOPENSSL_SSL_LIBRARY=%{_libdir}/openssl10/libssl.so \
%endif
-DMYSQL_DATADIR="/var/lib/mysql" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DENABLED_LOCAL_INFILE=ON \
%if %{with_dtrace}
-DENABLE_DTRACE=ON \
%endif
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_READLINE=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system
gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql55\"" %{SOURCE4}
make %{?_smp_mflags} VERBOSE=1
# regular build will make libmysqld.a but not libmysqld.so :-(
mkdir libmysqld/work
cd libmysqld/work
ar -x ../libmysqld.a
# these result in missing dependencies: (filed upstream as bug 59104)
rm -f sql_binlog.cc.o rpl_utility.cc.o
gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \
*.o \
%if %{with_dtrace}
../../probes_mysql.o \
%endif
-lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc
# # this is to check that we built a complete library
# cp %{SOURCE9} .
# ln -s libmysqld.so.0.0.1 libmysqld.so.0
# gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0
# LD_LIBRARY_PATH=. ldd ./a.out
# cd ../..
%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
# Sometine, test fails because of this lib.
LD_LIBRARY_PATH=$PWD/libservices
export LD_LIBRARY_PATH
make test
# The cmake build scripts don't provide any simple way to control the
# options for mysql-test-run, so ignore the make target and just call it
# manually. Nonstandard options chosen are:
# --force to continue tests after a failure
# no retries please
# test SSL with --ssl
# skip tests that are listed in rh-skipped-tests.list
# avoid redundant test runs with --binlog-format=mixed
# increase timeouts to prevent unwanted failures during mass rebuilds
(
cd mysql-test
perl ./mysql-test-run.pl --force --retry=0 --ssl \
--skip-test-list=rh-skipped-tests.list \
--mysqld=--binlog-format=mixed \
--suite-timeout=720 --testcase-timeout=30 --suite=main
# cmake build scripts will install the var cruft if left alone :-(
rm -rf var
)
%endif
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
# List the installed tree for RPM package maintenance purposes.
find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES
# multilib header hacks
# we only apply this to known Red Hat multilib arches, per bug #181335
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
# cmake generates some completely wacko references to -lprobes_mysql when
# building with dtrace support. Haven't found where to shut that off,
# so resort to this blunt instrument. While at it, let's not reference
# libmysqlclient_r anymore either.
sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp
cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also mysql-file-contents.patch)
install -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql55/
install -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql55/
mkdir -p $RPM_BUILD_ROOT/var/log
touch $RPM_BUILD_ROOT/var/log/mysqld.log
mkdir -p $RPM_BUILD_ROOT/var/run/mysqld
install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql
mkdir -p $RPM_BUILD_ROOT/etc/mysql55
install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/mysql55/my.cnf
%if %{with_systemd}
sed -i -e '/user=mysql/d' $RPM_BUILD_ROOT/etc/mysql55/my.cnf
%endif
%if %{with_systemd}
# install systemd unit files and scripts for handling server startup
mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/
%if 0%{?fedora} == 15
# PrivateTmp only work on fedora >= 16
sed -i -e '/PrivateTmp/s/true/false/' ${RPM_BUILD_ROOT}%{_unitdir}/mysqld.service
%endif
install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/
install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/mysql.conf
%else
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld
# sysconfig is only provided by remi
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/mysqld
%endif
# Fix funny permissions that cmake build scripts apply to config files
chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini
# Fix scripts for multilib safety
mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql55/mysqlbug
install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug
mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql55/mysql_config
install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
# Remove libmysqld.a, install libmysqld.so
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql55/libmysqld.a
install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql55/libmysqld.so.0.0.1
ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql55/libmysqld.so.0
ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql55/libmysqld.so
# libmysqlclient_r is no more. Upstream tries to replace it with symlinks
# but that really doesn't work (wrong soname in particular). We'll keep
# just the devel libmysqlclient_r.so link, so that rebuilding without any
# source change is enough to get rid of dependency on libmysqlclient_r.
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql55/libmysqlclient_r.so*
ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql55/libmysqlclient_r.so
# mysql-test includes one executable that doesn't belong under /usr/share,
# so move it and provide a symlink
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir}
ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# Remove files that %%doc will install in preferred location
rm -f ${RPM_BUILD_ROOT}/usr/COPYING
rm -f ${RPM_BUILD_ROOT}/usr/README
# Remove files we don't want installed at all
rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY
rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog
rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty
rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/*
# should move this to /etc/ ?
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql55/*.a
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1*
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1*
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1*
# put logrotate script where it needs to be
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld
chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
echo "%{_libdir}/mysql55" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
# copy additional docs into build tree so %%doc will find them
cp %{SOURCE6} README.mysql-docs
cp %{SOURCE7} README.mysql-license
# install the list of skipped tests to be available for user runs
install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test
# Fix scripts for multilib safety
#mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config
#touch ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
%clean
rm -rf $RPM_BUILD_ROOT
%pre server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6
/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 || :
%else
# -N options used on Fedora not available on fedora <= 8 and EL <= 5
/usr/sbin/useradd -M -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%endif
%post devel
%{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \
mysql_config %{_libdir}/mysql55/mysql_config %{__isa_bits}
%post libs
/sbin/ldconfig
%post server
if grep -q skip-bdb /etc/mysql55//my.cnf; then
/usr/bin/perl -p -i -e "s[^skip-bdb][#skip-bdb]gi" /etc/mysql55/my.cnf
fi
datadir=/var/lib/mysql
socketfile="$datadir/mysql.sock"
mypidfile=/var/run/mysqld/mysqld.pid
errorlogfile=/var/log/mysqld.log
start_nonsecure() {
/etc/init.d/mysqld stop || :
# we just want to disable any ^set-variable stuff
if grep -q ^set-variable /etc/mysql55/my.cnf; then
timestamp=$(/bin/date +%m%d%y-%H%M)
cp /etc/mysql55/my.cnf /etc/mysql55/my.cnf-original-$timestamp
/usr/bin/perl -p -i -e "s[^set-variable][#set-variable]gi" /etc/mysql55/my.cnf
/usr/bin/perl -p -i -e "s[^record_buffer][read_buffer_size]gi" /etc/mysql55/my.cnf
/usr/bin/perl -p -i -e "s[^innodb_buffer_pool_read_ahead_rnd][innodb_buffer_pool_read_ahead]gi" /etc/mysql55/my.cnf
/usr/bin/perl -p -i -e "s[^innodb_buffer_pool_read_ahead_seq][innodb_buffer_pool_read_ahead_evicted]gi" /etc/mysql55/my.cnf
fi
# end
/usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \
--log-error="$errlogfile" --pid-file="$mypidfile" \
--user=mysql --skip-grant-tables >/dev/null 2>&1 &
STARTTIMEOUT=120
while [ $STARTTIMEOUT -gt 0 ]; do
if /usr/bin/mysqladmin ping 2>/dev/null; then break; fi
sleep 1
STARTTIMEOUT=`expr $STARTTIMEOUT - 1`
done
}
run_upgrade() {
start_nonsecure
# black magic 1: mysqlupgrade does not actually able to upgrade
# InnoDB tables, as REPAIR TABLE do not work on them.
# So they need to be re-created.
# OPTIMIZE TABLE does not work on them as well, but does re-creation
# instead. But we actually want to re-create them!
tmpfile=$(/bin/mktemp)
no_repair="The storage engine for the table doesn't support repair"
/usr/bin/mysql_upgrade | grep -B1 "$no_repair" | grep -v "$no_repair" | sed -e "s/^\(.*\)$/OPTIMIZE TABLE \\1;/" 2>&1 > $tmpfile
# black magic 2: after mysql_upgrade, mysqld --skip-grant table
# suddenly wants to authenticate us again..
start_nonsecure
/usr/bin/mysql < $tmpfile
rm -f $tmpfile
/etc/init.d/mysqld stop || :
/etc/init.d/mysqld start || :
}
%if 0%{?systemd_post:1}
%systemd_post mysqld.service
%else
if [ $1 = 1 ]; then
# Initial installation
%if %{with_systemd}
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
/sbin/chkconfig --add mysqld
%endif
fi
%endif
/bin/chmod 0755 /var/lib/mysql
/bin/touch /var/log/mysqld.log
# Handle upgrading from SysV initscript to native systemd unit.
# We can tell if a SysV version of mysql was previously installed by
# checking to see if the initscript is present.
%triggerun server -- mysql-server
%if %{with_systemd}
if [ -f /etc/rc.d/init.d/mysqld ]; then
# Save the current service runlevel info
# User must manually run systemd-sysv-convert --apply mysqld
# to migrate them to systemd targets
/usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || :
# Run these because the SysV package being removed won't do them
/sbin/chkconfig --del mysqld >/dev/null 2>&1 || :
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
fi
%endif
%preun server
%if 0%{?systemd_preun:1}
%systemd_preun mysqld.service
%else
if [ $1 = 0 ]; then
# Package removal, not upgrade
%if %{with_systemd}
/bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || :
/bin/systemctl stop mysqld.service >/dev/null 2>&1 || :
%else
/sbin/service mysqld stop >/dev/null 2>&1
/sbin/chkconfig --del mysqld
%endif
fi
%endif
%postun libs
if [ $1 = 0 ] ; then
/sbin/ldconfig
fi
%postun server
%if 0%{?systemd_postun_with_restart:1}
%systemd_postun_with_restart mysqld.service
%else
%if %{with_systemd}
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ]; then
# Package upgrade, not uninstall
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
fi
%else
if [ $1 -ge 1 ]; then
/sbin/service mysqld condrestart >/dev/null 2>&1 || :
fi
%endif
%endif
%postun devel
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove mysql_config %{_libdir}/mysql55/mysql_config
fi
%files
%defattr(-,root,root)
%doc README COPYING README.mysql-license
%doc README.mysql-docs
%doc Docs
%{_bindir}/msql2mysql
%{_bindir}/mysql
#{_bindir}/mysql_config
%{_bindir}/mysql_find_rows
%{_bindir}/mysql_waitpid
%{_bindir}/mysqlaccess
%{_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}/mysql55/mysql_config
%files libs
%defattr(-,root,root)
%doc README COPYING README.mysql-license
# although the default my.cnf contains only server settings, we put it in the
# libs package because it can be used for client settings too.
%config(noreplace) /etc/mysql55/my.cnf
%dir %{_libdir}/mysql55
%{_libdir}/mysql55/libmysqlclient.so.18*
/etc/ld.so.conf.d/*
%dir %{_datadir}/mysql
%files server
%defattr(-,root,root)
%doc support-files/*.cnf
%{_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
%{_bindir}/mysql_setpermission
%{_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
%{_libexecdir}/mysqld
%{_libdir}/mysql55/INFO_SRC
%{_libdir}/mysql55/INFO_BIN
%{_libdir}/mysql55/mysqlbug
%{_libdir}/mysql55/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*
%{_mandir}/man1/mysql_setpermission.1*
#%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/perror.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man8/mysqld.8*
%{_datadir}/mysql/errmsg-utf8.txt
%{_datadir}/mysql/fill_help_tables.sql
%{_datadir}/mysql/mysql_system_tables.sql
%{_datadir}/mysql/mysql_system_tables_data.sql
%{_datadir}/mysql/mysql_test_data_timezone.sql
%{_datadir}/mysql/my-*.cnf
%{_datadir}/mysql/config.*.ini
%{_datadir}/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
%if %{with_systemd}
%{_unitdir}/mysqld.service
%{_libexecdir}/mysqld-prepare-db-dir
%{_libexecdir}/mysqld-wait-ready
%{_prefix}/lib/tmpfiles.d/mysql.conf
%else
/etc/rc.d/init.d/mysqld
%config(noreplace) /etc/sysconfig/mysqld
%endif
%attr(0755,mysql,mysql) %dir /var/run/mysqld
%attr(0755,mysql,mysql) %dir /var/lib/mysql
%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log
%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld
%files devel
%{_bindir}/mysql_config
#{_libdir}/mysql/mysql_config
%defattr(-,root,root)
/usr/include/mysql
/usr/share/aclocal/mysql.m4
%{_libdir}/mysql55/libmysqlclient.so
%{_libdir}/mysql55/libmysqlclient_r.so
%files embedded
%defattr(-,root,root)
%doc README COPYING README.mysql-license
%{_libdir}/mysql55/libmysqld.so.*
%files embedded-devel
%defattr(-,root,root)
%{_libdir}/mysql55/libmysqld.so
%{_bindir}/mysql_client_test_embedded
%{_bindir}/mysqltest_embedded
#%{_mandir}/man1/mysql_client_test_embedded.1*
#%{_mandir}/man1/mysqltest_embedded.1*
%files bench
%defattr(-,root,root)
%{_datadir}/sql-bench
%files test
%defattr(-,root,root)
%{_bindir}/mysql_client_test
%{_bindir}/my_safe_process
%attr(-,mysql,mysql) %{_datadir}/mysql-test
#%{_mandir}/man1/mysql_client_test.1*
%changelog
* Mon Oct 3 2016 Scott R. Shinn <scott@atomicorp.com> - 5.5.52-36
- Update to 5.5.52
* Tue Aug 23 2016 Scott R. Shinn <scott@atomicorp.com> - 5.5.51-35
- Update to 5.5.51
* Wed Jun 8 2016 Scott R. Shinn <scott@atomicorp.com> - 5.5.50-34
- Update to 5.5.50
* Mon Apr 11 2016 Scott R. Shinn <scott@atomicorp.com> - 5.5.49-33
- Update to 5.5.49
* Fri Mar 18 2016 Scott R. Shinn <scott@atomicorp.com> - 5.5.48-32
- Update to 5.5.48
* Mon Dec 21 2015 Scott R. Shinn <scott@atomicorp.com> - 5.5.47-31
- Update to 5.5.47
* Wed Nov 4 2015 Scott R. Shinn <scott@atomicorp.com> - 5.5.46-30
- Update to 5.5.46
* Fri Jun 26 2015 Scott R. Shinn <scott@atomicorp.com> - 5.5.44-30
- Update to 5.5.44
* Thu Apr 23 2015 Scott R. Shinn <scott@atomicorp.com> - 5.5.43-29
- Update to 5.5.43
* Sun Feb 8 2015 Scott R. Shinn <scott@atomicorp.com> - 5.5.42-28
- Update to 5.5.42
* Sat Nov 29 2014 Scott R. Shinn <scott@atomicorp.com> - 5.5.41-27
- Update to 5.5.41
* Tue Sep 23 2014 Scott R. Shinn <scott@atomicorp.com> - 5.5.40-26
- Update to 5.5.40
* Mon Aug 18 2014 Scott R. Shinn <scott@atomicorp.com> - 5.5.39-25
- Update to 5.5.39
* Mon Jun 9 2014 Scott R. Shinn <scott@atomicorp.com> - 5.5.38-24
- Update to 5.5.38
* Wed Apr 9 2014 Scott R. Shinn <scott@atomicorp.com> - 5.5.37-23
- Update to 5.5.37
* Mon Feb 10 2014 Scott R. Shinn <scott@atomicorp.com> - 5.5.36-22
- Update to 5.5.36
- Add 0003_1-Clean-up-stale-pid-files-in-datadir-when-stopping-to.patch
- Add 0005-Use-accessors-and-fix-type-errors.patch
* Wed Sep 25 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.34-21
- Update to 5.5.34
* Fri Aug 2 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.33-20
- UPdate to 5.5.33
* Mon Jul 8 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.32-19
- Bugfix #XXX, add run_upgrade event for Plesk systems (Credit: Oleg Neumyvakin)
- Update max_connection2 patch to 5.5.30-b404
* Tue Jun 18 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.32-18
- Update to 5.5.32
- Resync with remi
- Update max_connection2 patch to 5.5.30-b403
* Thu Apr 18 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.31-17
- Update to 5.5.31
* Mon Mar 11 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.30-16
- Added Provides/Obsoletes against MySQL55 naming conventions
* Fri Feb 1 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.30-15
- Update to 5.5.30
* Fri Jan 4 2013 Scott R. Shinn <scott@atomicorp.com> - 5.5.29-14
- Update to 5.5.29
* Wed Nov 21 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.28-13
- Update cloudlinux patches
* Tue Oct 2 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.28-12
- Update to 5.5.28
* Mon Aug 6 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.27-11
- Update to 5.5.27
- There was no 5.5.26
* Mon Jul 23 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.25a-9
- Added skip-bdb removal event to %post (source Igor @Parallels)
* Sun Jul 22 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.25a-8
- Update to 5.5.25a
* Thu May 31 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.25-7
- Update to 5.5.25
* Thu May 10 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.24-6
- Update to 5.5.24
* Mon Apr 16 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.23-5
- Update to 5.5.23
* Tue Mar 27 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.22-4
- Update to 5.5.22
* Mon Feb 21 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.21-3
- Update to 5.5.21
* Tue Jan 17 2012 Scott R. Shinn <scott@atomicorp.com> - 5.5.20-2
- Update to 5.5.20
* Wed Dec 28 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.19-1
- Update to 5.5.19
* Tue Nov 22 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.18-1
- Update to 5.5.18
* Wed Oct 25 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.17-2
- Bugfix #XXX, correct perl dependency issue with mysql-test
* Mon Oct 24 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.17-1
- Update to 5.5.17
* Wed Oct 12 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.16-1
- Update to 5.5.16
- Refine update routine to only run in plesk environments
- Add mysql-governor patches from cloudlinux
* Wed Sep 14 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.15-2
- Add post upgrade routine to handle mysql database updates internally
* Mon Aug 1 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.15-1
- Update to mysql 5.5.15
* Wed Jul 13 2011 Scott R. Shinn <scott@atomicorp.com> - 5.5.14-2
- Add in Obsoletes & Provides tags against mysql55 & MySQL packages
* Wed Jul 6 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.14-1
- update to MySQL 5.5.14 Community Server GA
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html
* Thu Jun 2 2011 Tom Lane <tgl@redhat.com> 5.5.13-1
- Update to MySQL 5.5.13, for various fixes described at
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html
* Tue May 31 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.13-1
- update to MySQL 5.5.13 Community Server GA
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html
* Tue May 10 2011 Tom Lane <tgl@redhat.com> 5.5.12-1
- Update to MySQL 5.5.12, for various fixes described at
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html
* Tue May 10 2011 Tom Lane <tgl@redhat.com> 5.5.10-3
- Add LSB init block to initscript, to ensure sane ordering at system boot
Resolves: #703214
- Improve initscript start action to notice when mysqladmin is failing
- Improve initscript start action to notice when mysqladmin is failing
because of configuration problems
Related: #703476
- Remove exclusion of "gis" regression test, since upstream bug 59908
is fixed (for some value of "fixed") as of 5.5.10.
* Mon May 09 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.12-1
- update to MySQL 5.5.12 Community Server GA
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html
* Sat Apr 30 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.11-1.fc15
- f15 build
- add Obsoletes for compat-mysql55
* Tue Apr 05 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.11-1
- update to MySQL 5.5.11 Community Server GA
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-11.html
* Wed Mar 23 2011 Tom Lane <tgl@redhat.com> 5.5.10-2
- Add my_make_scrambled_password to the list of symbols exported by
libmysqlclient.so. Needed at least by pure-ftpd.
* Mon Mar 21 2011 Tom Lane <tgl@redhat.com> 5.5.10-1
- Update to MySQL 5.5.10, for various fixes described at
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html
Note that this includes a rather belated soname version bump for
libmysqlclient.so, from .16 to .18
- Add tmpfiles.d config file so that /var/run/mysqld is recreated at boot
(only needed in Fedora 15 and later)
Resolves: #658938
* Tue Mar 15 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.10-1
- update to MySQL 5.5.10 Community Server GA
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html
- provides /etc/sysconfig/mysqld
- fix default my.cnf
- client ABI bump to .18 by upstream
* Mon Feb 07 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.9-1
- sync with rawhide (latest patches for 5.5.8)
- update to MySQL 5.5.9 Community Server GA
- disable main.information_schema test which have strange result
* Fri Feb 4 2011 Tom Lane <tgl@redhat.com> 5.5.8-9
- Support s390/s390x in performance schema's cycle-counting functions
(needed to make regression tests pass on these platforms)
* Thu Feb 3 2011 Tom Lane <tgl@redhat.com> 5.5.8-8
- PPC64 floating-point differences are not masked by -ffloat-store after all,
so let's just disable gis regression test till upstream makes it less picky
Resolves: #674253
- Add __perllib_requires setting to make rpm 4.9 do what we need
* Wed Feb 2 2011 Tom Lane <tgl@redhat.com> 5.5.8-7
- Work around some portability issues on PPC64
Resolves: #674253
* Thu Jan 20 2011 Tom Lane <tgl@redhat.com> 5.5.8-6
- Remove no-longer-needed special switches in CXXFLAGS, per yesterday's
discussion in fedora-devel about -fexceptions.
- Rebuild needed anyway to check compatibility with latest systemtap.
* Thu Jan 13 2011 Tom Lane <tgl@redhat.com> 5.5.8-5
- Fix failure to honor MYSQL_HOME environment variable
Resolves: #669364
* Thu Jan 13 2011 Tom Lane <tgl@redhat.com> 5.5.8-4
- Fix crash during startup of embedded mysqld library
Resolves: #667365
* Sat Jan 08 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.8-3
- sync with rawhide
* Mon Jan 3 2011 Tom Lane <tgl@redhat.com> 5.5.8-3
- my_print_help, load_defaults, free_defaults, and handle_options all turn
out to be documented/recommended in Paul DuBois' MySQL book, so we'd better
consider them part of the de-facto API.
Resolves: #666728
* Tue Dec 28 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.5.8-2
- sync with rawhide
* Mon Dec 27 2010 Tom Lane <tgl@redhat.com> 5.5.8-2
- Add mysql_client_errors[] to the set of exported libmysqlclient symbols;
needed by PHP.
* Thu Dec 23 2010 Tom Lane <tgl@redhat.com> 5.5.8-1
- Update to MySQL 5.5.8 (major version bump). Note this includes removal
of libmysqlclient_r.so.
* Fri Dec 17 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.5.8-1
- Update to MySQL Community Server 5.5.8 GA
- move from autotools to cmake
- remove EXCEPTIONS-CLIENT (no more provided upstream)
- force soname to .161 (compat-mysql51 provides .16)
* Wed Nov 10 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.5.7-1
- Update to MySQL Community Server 5.5.7 RC
- add startsos to init script (--skip-grant-tables --skip-networking)
* Fri Sep 24 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.5.6-1
- Update to MySQL Community Server 5.5.6 RC
* Sat Aug 28 2010 Tom Lane <tgl@redhat.com> 5.1.50-2
- Include my_compiler.h in distribution, per upstream bug #55846.
Otherwise PHP, for example, won't build.
* Sat Aug 28 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.50-2
- sync with rawhide
- add patch for missing header (and notify mysql-owner)
http://lists.mysql.com/commits/116644
* Sat Aug 28 2010 Tom Lane <tgl@redhat.com> 5.1.50-1
- Update to MySQL 5.1.50, for various fixes described at
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-49.html
* Fri Aug 20 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.50-1
- Update to MySQL 5.1.50 Community Server GA
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html
- add BR perl(Time::HiRes) for EL-4
* Fri Jul 23 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.49-1
- sync with rawhide
- Update to MySQL 5.1.49 Community Server GA
* Tue Jul 13 2010 Tom Lane <tgl@redhat.com> 5.1.48-2
- Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages,
to ensure they are available when any subset of mysql RPMs are installed,
per revised packaging guidelines
- Allow init script's STARTTIMEOUT/STOPTIMEOUT to be overridden from sysconfig
Related: #609734
* Fri Jun 25 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.48-1.1
- fix useradd command (-N not supported everywhere)
* Mon Jun 21 2010 Tom Lane <tgl@redhat.com> 5.1.48-1
- Update to MySQL 5.1.48, for various fixes described at
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html
including a fix for CVE-2010-2008
Related: #614214
* Thu Jun 17 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.48-1
- sync with rawhide
- Update to MySQL 5.1.48 Community Server GA
* Fri Jun 4 2010 Tom Lane <tgl@redhat.com> 5.1.47-2
- Add back "partition" storage engine
Resolves: #597390
- Fix broken "federated" storage engine plugin
Related: #587170
- Read all certificates in SSL certificate files, to support chained certs
Related: #598656
* Mon May 24 2010 Tom Lane <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
including fixes for CVE-2010-1848, CVE-2010-1849, CVE-2010-1850
Resolves: #592862
Resolves: #583717
- Create mysql group explicitly in pre-server script, to ensure correct GID
Related: #594155
* Fri May 21 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.47-1
- Update to MySQL 5.1.47 Community Server GA
* Mon Apr 26 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.46-1.###.remi
- Update to MySQL 5.1.46 Community Server GA
* Sat Apr 24 2010 Tom Lane <tgl@redhat.com> 5.1.46-1
- Update to MySQL 5.1.46, for various fixes described at
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-46.html
* Thu Mar 25 2010 Tom Lane <tgl@redhat.com> 5.1.45-2
- Fix multiple problems described in upstream bug 52019, because regression
tests fail on PPC if we don't.
* Thu Mar 18 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.45-1.###.remi
- Update to MySQL 5.1.45 Community Server GA
* Fri Feb 19 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.44-1.###.remi
- Update to MySQL 5.1.44 Community Server GA
- sync with rawhide spec (drop ndb)
* Sat Feb 13 2010 Tom Lane <tgl@redhat.com> 5.1.43-2
- Remove mysql-cluster, which is no longer supported by upstream in this
source distribution. If we want it we'll need a separate SRPM for it.
* Mon Feb 01 2010 Remi Collet <RPMS@FamilleCollet.com> - 5.1.43-1.###.remi
- Update to MySQL 5.1.43 Community Server GA
- sync with rawhide spec
* Thu Dec 31 2009 Remi Collet <RPMS@FamilleCollet.com> - 5.1.42-1.###.remi
- Update to MySQL 5.1.42 Community Server GA
* Thu Dec 17 2009 Tom Lane <tgl@redhat.com> 5.1.41-2
- 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
Related: #540906
- Don't set old_passwords=1; we aren't being bug-compatible with 3.23 anymore
Resolves: #540735
* Wed Nov 18 2009 Remi Collet <RPMS@FamilleCollet.com> - 5.1.41-1.###.remi
- Update to MySQL 5.1.41 Community Server GA
- no chm for this version