1369 lines
46 KiB
RPMSpec
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
|
|
|