mysql is being replaced by mariadb and/or MySQL.

this commit is squash of:
  last commit(s) of 'mysql' repo 'rawhide' branch
and
  first commit(s) of 'community-mysql' repo 'rawhide' branch
This commit is contained in:
Tom Lane 2013-03-11 12:17:03 -04:00 committed by Michal Schorm
parent d2322534e3
commit c80ae3ea7b
26 changed files with 180 additions and 233 deletions

1
.gitignore vendored
View File

@ -1,2 +1 @@
/mysql-5.5.29-nodocs.tar.gz
/mysql-5.5.30-nodocs.tar.gz

View File

@ -0,0 +1,12 @@
diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake
--- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100
+++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100
@@ -17,7 +17,7 @@
# Global constants, only to be changed between major releases.
#
-SET(SHARED_LIB_MAJOR_VERSION "18")
+SET(SHARED_LIB_MAJOR_VERSION "1018")
SET(PROTOCOL_VERSION "10")
SET(DOT_FRM_VERSION "6")

View File

@ -51,10 +51,10 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys
+--mkdir $MYSQLD_TMP_BASEDIR/share
+--mkdir $MYSQLD_TMP_BASEDIR/share/mysql
+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql
+--mkdir $PLUGIN_DIR
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys
+--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so
+--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini
+
@ -90,7 +90,7 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t
+--remove_file $PLUGIN_DIR/libdaemon_example.so
+--rmdir $PLUGIN_DIR
+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys
+--rmdir $MYSQLD_TMP_BASEDIR/share/mysql
+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql
+--rmdir $MYSQLD_TMP_BASEDIR/share
--enable_abort_on_error

View File

@ -1,16 +1,18 @@
Name: mysql
Name: community-mysql
Version: 5.5.30
Release: 1%{?dist}
Release: 5%{?dist}
Summary: MySQL client programs and shared libraries
Group: Applications/Databases
URL: http://www.mysql.com
# exceptions allow client libraries to be linked with most open source SW,
# not only GPL code. See README.mysql-license
License: GPLv2 with exceptions
# Some innobase code from Percona and Google is under BSD license
# Some code related to test-suite is under LGPLv2
License: GPLv2 with exceptions and LGPLv2 and BSD
# Regression tests take a long time, you can skip 'em with this
%{!?runselftest:%global runselftest 1}
%{!?runselftest:%global runselftest 0}
# Upstream has a mirror redirector for downloads, so the URL is hard to
# represent statically. You can get the tarball by following a link from
@ -22,13 +24,12 @@ Source0: mysql-%{version}-nodocs.tar.gz
# ./generate-tarball.sh $VERSION
Source1: generate-tarball.sh
Source3: my.cnf
Source4: scriptstub.c
Source5: my_config.h
Source6: README.mysql-docs
Source7: README.mysql-license
Source8: libmysql.version
Source9: mysql-embedded-check.c
Source10: mysql.tmpfiles.d
Source10: MySQL.tmpfiles.d
Source11: mysqld.service
Source12: mysqld-prepare-db-dir
Source13: mysqld-wait-ready
@ -38,48 +39,43 @@ Source15: rh-skipped-tests-arm.list
Source999: filter-requires-mysql.sh
# Comments for these patches are in the patch files.
Patch1: mysql-errno.patch
Patch2: mysql-strmov.patch
Patch3: mysql-install-test.patch
Patch4: mysql-expired-certs.patch
Patch5: mysql-stack-guard.patch
Patch6: mysql-chain-certs.patch
Patch7: mysql-versioning.patch
Patch8: mysql-dubious-exports.patch
Patch10: mysql-plugin-bool.patch
Patch11: mysql-s390-tsc.patch
Patch14: mysql-va-list.patch
Patch15: mysql-netdevname.patch
Patch16: mysql-logrotate.patch
Patch17: mysql-plugin-test.patch
Patch18: mysql-cipherspec.patch
Patch19: mysql-file-contents.patch
Patch20: mysql-string-overflow.patch
Patch21: mysql-dh1024.patch
Patch1: community-mysql-errno.patch
Patch2: community-mysql-strmov.patch
Patch3: community-mysql-install-test.patch
Patch4: community-mysql-expired-certs.patch
Patch5: community-mysql-stack-guard.patch
Patch6: community-mysql-chain-certs.patch
Patch7: community-mysql-versioning.patch
Patch8: community-mysql-dubious-exports.patch
Patch10: community-mysql-plugin-bool.patch
Patch11: community-mysql-s390-tsc.patch
Patch14: community-mysql-va-list.patch
Patch15: community-mysql-netdevname.patch
Patch16: community-mysql-logrotate.patch
Patch17: community-mysql-plugin-test.patch
Patch18: community-mysql-cipherspec.patch
Patch19: community-mysql-file-contents.patch
Patch20: community-mysql-string-overflow.patch
Patch21: community-mysql-dh1024.patch
Patch22: community-mysql-major.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: perl, readline-devel, openssl-devel
BuildRequires: gcc-c++, cmake, ncurses-devel, zlib-devel, libaio-devel
BuildRequires: systemtap-sdt-devel
BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel
BuildRequires: systemd-units, systemtap-sdt-devel
# make test requires time and ps
BuildRequires: time procps
# Socket and Time::HiRes are needed to run regression tests
# perl modules needed to run regression tests
BuildRequires: perl(Socket), perl(Time::HiRes)
BuildRequires: systemd-units
Requires: grep, fileutils
Requires: real-%{name}-libs%{?_isa} = %{version}-%{release}
Requires: bash
Requires: grep, fileutils, bash
Requires: %{name}-common%{?_isa} = %{version}-%{release}
%{?systemd_requires: %systemd_requires}
# We can use real- prefix to distinguish from other MySQL implementations
# like MariaDB unambiguously
Provides: real-%{name} = %{version}-%{release}
Provides: real-%{name}%{?_isa} = %{version}-%{release}
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
Conflicts: MySQL
# mysql-cluster used to be built from this SRPM, but no more
Obsoletes: mysql-cluster < 5.1.44
# mariadb is MySQL replacement that is used in Fedora as a default
# MySQL implementation
Conflicts: mariadb
Provides: mysql = %{version}-%{release}
Provides: mysql%{?_isa} = %{version}-%{release}
# When rpm 4.9 is universal, this could be cleaned up:
%global __perl_requires %{SOURCE999}
@ -100,8 +96,9 @@ contains the standard MySQL client programs and generic MySQL files.
Summary: The shared libraries required for MySQL clients
Group: Applications/Databases
Requires: /sbin/ldconfig
Provides: real-%{name}-libs = %{version}-%{release}
Provides: real-%{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-common%{?_isa} = %{version}-%{release}
Provides: mysql-libs = %{version}-%{release}
Provides: mysql-libs%{?_isa} = %{version}-%{release}
%description libs
The mysql-libs package provides the essential shared libraries for any
@ -109,16 +106,24 @@ MySQL client program or interface. You will need to install this package
to use any other MySQL package or any clients that need to connect to a
MySQL server.
%package common
Summary: The shared files required for MySQL server and client
Group: Applications/Databases
%description common
The mysql-common package provides the essential shared files for any
MySQL program. You will need to install this package to use any other
MySQL package.
%package server
Summary: The MySQL server and related files
Group: Applications/Databases
Requires: real-%{name}%{?_isa} = %{version}-%{release}
Requires: real-%{name}-libs%{?_isa} = %{version}-%{release}
Requires: mysql%{?_isa}
Requires: %{name}-common%{?_isa} = %{version}-%{release}
Requires: sh-utils
Requires(pre): /usr/sbin/useradd
Requires(post): chkconfig
Requires(preun): chkconfig
# We require this to be present for %%{_prefix}/lib/tmpfiles.d
Requires: systemd-units
# Make sure it's there when scriptlets run, too
@ -131,9 +136,9 @@ Requires(postun): systemd-units
Requires(post): systemd-sysv
# mysqlhotcopy needs DBI/DBD support
Requires: perl-DBI, perl-DBD-MySQL
Conflicts: MySQL-server
Provides: real-%{name}-server = %{version}-%{release}
Provides: real-%{name}-server%{?_isa} = %{version}-%{release}
Conflicts: mariadb-server
Provides: mysql-server = %{version}-%{release}
Provides: mysql-server%{?_isa} = %{version}-%{release}
%description server
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
@ -145,12 +150,12 @@ the MySQL server and some accompanying files and directories.
Summary: Files for development of MySQL applications
Group: Applications/Databases
Requires: real-%{name}%{?_isa} = %{version}-%{release}
Requires: real-%{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: openssl-devel%{?_isa}
Conflicts: MySQL-devel
Provides: real-%{name}-devel = %{version}-%{release}
Provides: real-%{name}-devel%{?_isa} = %{version}-%{release}
Conflicts: mariadb-devel
Provides: mysql-devel = %{version}-%{release}
Provides: mysql-devel%{?_isa} = %{version}-%{release}
%description devel
MySQL is a multi-user, multi-threaded SQL database server. This
@ -161,8 +166,8 @@ developing MySQL client applications.
Summary: MySQL as an embeddable library
Group: Applications/Databases
Provides: real-%{name}-embedded = %{version}-%{release}
Provides: real-%{name}-embedded%{?_isa} = %{version}-%{release}
Provides: mysql-embedded = %{version}-%{release}
Provides: mysql-embedded%{?_isa} = %{version}-%{release}
%description embedded
MySQL is a multi-user, multi-threaded SQL database server. This
@ -173,10 +178,11 @@ into a client application instead of running as a separate process.
Summary: Development files for MySQL as an embeddable library
Group: Applications/Databases
Requires: real-%{name}-embedded%{?_isa} = %{version}-%{release}
Requires: real-%{name}-devel%{?_isa} = %{version}-%{release}
Provides: real-%{name}-embedded-devel = %{version}-%{release}
Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release}
Requires: %{name}-embedded%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Conflicts: mariadb-embedded-devel
Provides: mysql-embedded-devel = %{version}-%{release}
Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release}
%description embedded-devel
MySQL is a multi-user, multi-threaded SQL database server. This
@ -187,10 +193,10 @@ the embedded version of the MySQL server.
Summary: MySQL benchmark scripts and data
Group: Applications/Databases
Requires: real-%{name}%{?_isa} = %{version}-%{release}
Conflicts: MySQL-bench
Provides: real-%{name}-bench = %{version}-%{release}
Provides: real-%{name}-bench%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Conflicts: mariadb-bench
Provides: mysql-bench = %{version}-%{release}
Provides: mysql-bench%{?_isa} = %{version}-%{release}
%description bench
MySQL is a multi-user, multi-threaded SQL database server. This
@ -201,12 +207,12 @@ MySQL.
Summary: The test suite distributed with MySQL
Group: Applications/Databases
Requires: real-%{name}%{?_isa} = %{version}-%{release}
Requires: real-%{name}-libs%{?_isa} = %{version}-%{release}
Requires: real-%{name}-server%{?_isa} = %{version}-%{release}
Conflicts: MySQL-test
Provides: real-%{name}-test = %{version}-%{release}
Provides: real-%{name}-test%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-common%{?_isa} = %{version}-%{release}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Conflicts: mariadb-test
Provides: mysql-test = %{version}-%{release}
Provides: mysql-test%{?_isa} = %{version}-%{release}
%description test
MySQL is a multi-user, multi-threaded SQL database server. This
@ -234,6 +240,7 @@ the MySQL sources.
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
# workaround for upstream bug #56342
rm -f mysql-test/t/ssl_8k_key-master.opt
@ -285,7 +292,7 @@ cmake . -DBUILD_CONFIG=mysql_release \
-DINSTALL_INFODIR=share/info \
-DINSTALL_LIBDIR="%{_lib}/mysql" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLSHAREDIR=share/%{name} \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
-DINSTALL_SBINDIR=libexec \
@ -301,8 +308,6 @@ cmake . -DBUILD_CONFIG=mysql_release \
-DWITH_SSL=system \
-DWITH_ZLIB=system
gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4}
make %{?_smp_mflags} VERBOSE=1
# regular build will make libmysqld.a but not libmysqld.so :-(
@ -321,10 +326,11 @@ gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0
LD_LIBRARY_PATH=. ldd ./a.out
cd ../..
%check
%if %runselftest
# hack to let 32- and 64-bit tests run concurrently on same build machine
case `uname -m` in
ppc64 | s390x | x86_64 | sparc64 )
ppc64 | ppc64p7 | s390x | x86_64 | sparc64 )
MTR_BUILD_THREAD=7
;;
*)
@ -333,7 +339,7 @@ cd ../..
esac
export MTR_BUILD_THREAD
make test
make test VERBOSE=1
# The cmake build scripts don't provide any simple way to control the
# options for mysql-test-run, so ignore the make target and just call it
@ -356,8 +362,6 @@ cd ../..
%endif
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
# List the installed tree for RPM package maintenance purposes.
@ -366,9 +370,9 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES
# multilib header hacks
# we only apply this to known Red Hat multilib arches, per bug #181335
case `uname -i` in
i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 )
mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/
i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 )
mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/
;;
*)
;;
@ -394,8 +398,8 @@ touch $RPM_BUILD_ROOT/var/log/mysqld.log
mkdir -p $RPM_BUILD_ROOT/var/run/mysqld
install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql
mkdir -p $RPM_BUILD_ROOT/etc
install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf
# install systemd unit files and scripts for handling server startup
mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
@ -404,16 +408,16 @@ install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/
install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/mysql.conf
install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf
# Fix funny permissions that cmake build scripts apply to config files
chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini
# Fix scripts for multilib safety
mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug
install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug
mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config
install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
ln -sf %{_libdir}/mysql/mysql_config ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug
ln -sf %{_libdir}/mysql/mysqlbug ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug
# Remove libmysqld.a, install libmysqld.so
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a
@ -433,6 +437,13 @@ ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir}
ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# We specified a different share dir, but the test suite expects some
# data files under /usr/share/mysql, so we create symlinks to compatibility
for f in errmsg-utf8.txt fill_help_tables.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql
do
ln -sf "../MySQL/$f" "${RPM_BUILD_ROOT}/usr/share/mysql/$f"
done
# Remove files that %%doc will install in preferred location
rm -f ${RPM_BUILD_ROOT}/usr/COPYING
rm -f ${RPM_BUILD_ROOT}/usr/README
@ -470,75 +481,33 @@ cp %{SOURCE7} README.mysql-license
# install the list of skipped tests to be available for user runs
install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test
%clean
rm -rf $RPM_BUILD_ROOT
%pre server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%post libs
/sbin/ldconfig
%post libs -p /sbin/ldconfig
%post server
%if 0%{?systemd_post:1}
%systemd_post mysqld.service
%else
if [ $1 = 1 ]; then
# Initial installation
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
%endif
/bin/chmod 0755 /var/lib/mysql
/bin/touch /var/log/mysqld.log
# Handle upgrading from SysV initscript to native systemd unit.
# We can tell if a SysV version of mysql was previously installed by
# checking to see if the initscript is present.
%triggerun server -- mysql-server
if [ -f /etc/rc.d/init.d/mysqld ]; then
# Save the current service runlevel info
# User must manually run systemd-sysv-convert --apply mysqld
# to migrate them to systemd targets
/usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || :
# Run these because the SysV package being removed won't do them
/sbin/chkconfig --del mysqld >/dev/null 2>&1 || :
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
fi
%post embedded -p /sbin/ldconfig
%preun server
%if 0%{?systemd_preun:1}
%systemd_preun mysqld.service
%else
if [ $1 = 0 ]; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || :
/bin/systemctl stop mysqld.service >/dev/null 2>&1 || :
fi
%endif
%postun libs
if [ $1 = 0 ] ; then
/sbin/ldconfig
fi
%postun libs -p /sbin/ldconfig
%postun server
%if 0%{?systemd_postun_with_restart:1}
%systemd_postun_with_restart mysqld.service
%else
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ]; then
# Package upgrade, not uninstall
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
fi
%endif
%postun embedded -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README COPYING README.mysql-license
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
%doc README.mysql-docs
%{_bindir}/msql2mysql
@ -570,8 +539,8 @@ fi
%{_libdir}/mysql/mysql_config
%files libs
%defattr(-,root,root)
%doc README COPYING README.mysql-license
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
# although the default my.cnf contains only server settings, we put it in the
# libs package because it can be used for client settings too.
%config(noreplace) /etc/my.cnf
@ -579,34 +548,34 @@ fi
%{_libdir}/mysql/libmysqlclient.so.*
/etc/ld.so.conf.d/*
%dir %{_datadir}/mysql
%{_datadir}/mysql/english
%lang(cs) %{_datadir}/mysql/czech
%lang(da) %{_datadir}/mysql/danish
%lang(nl) %{_datadir}/mysql/dutch
%lang(et) %{_datadir}/mysql/estonian
%lang(fr) %{_datadir}/mysql/french
%lang(de) %{_datadir}/mysql/german
%lang(el) %{_datadir}/mysql/greek
%lang(hu) %{_datadir}/mysql/hungarian
%lang(it) %{_datadir}/mysql/italian
%lang(ja) %{_datadir}/mysql/japanese
%lang(ko) %{_datadir}/mysql/korean
%lang(no) %{_datadir}/mysql/norwegian
%lang(no) %{_datadir}/mysql/norwegian-ny
%lang(pl) %{_datadir}/mysql/polish
%lang(pt) %{_datadir}/mysql/portuguese
%lang(ro) %{_datadir}/mysql/romanian
%lang(ru) %{_datadir}/mysql/russian
%lang(sr) %{_datadir}/mysql/serbian
%lang(sk) %{_datadir}/mysql/slovak
%lang(es) %{_datadir}/mysql/spanish
%lang(sv) %{_datadir}/mysql/swedish
%lang(uk) %{_datadir}/mysql/ukrainian
%{_datadir}/mysql/charsets
%files common
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/english
%lang(cs) %{_datadir}/%{name}/czech
%lang(da) %{_datadir}/%{name}/danish
%lang(nl) %{_datadir}/%{name}/dutch
%lang(et) %{_datadir}/%{name}/estonian
%lang(fr) %{_datadir}/%{name}/french
%lang(de) %{_datadir}/%{name}/german
%lang(el) %{_datadir}/%{name}/greek
%lang(hu) %{_datadir}/%{name}/hungarian
%lang(it) %{_datadir}/%{name}/italian
%lang(ja) %{_datadir}/%{name}/japanese
%lang(ko) %{_datadir}/%{name}/korean
%lang(no) %{_datadir}/%{name}/norwegian
%lang(no) %{_datadir}/%{name}/norwegian-ny
%lang(pl) %{_datadir}/%{name}/polish
%lang(pt) %{_datadir}/%{name}/portuguese
%lang(ro) %{_datadir}/%{name}/romanian
%lang(ru) %{_datadir}/%{name}/russian
%lang(sr) %{_datadir}/%{name}/serbian
%lang(sk) %{_datadir}/%{name}/slovak
%lang(es) %{_datadir}/%{name}/spanish
%lang(sv) %{_datadir}/%{name}/swedish
%lang(uk) %{_datadir}/%{name}/ukrainian
%{_datadir}/%{name}/charsets
%files server
%defattr(-,root,root)
%doc support-files/*.cnf
%{_bindir}/myisamchk
@ -634,7 +603,7 @@ fi
%{_bindir}/resolve_stack_dump
%{_bindir}/resolveip
/usr/libexec/mysqld
%{_libexecdir}/mysqld
%{_libdir}/mysql/INFO_SRC
%{_libdir}/mysql/INFO_BIN
@ -675,6 +644,11 @@ fi
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man8/mysqld.8*
%{_datadir}/%{name}/errmsg-utf8.txt
%{_datadir}/%{name}/fill_help_tables.sql
%{_datadir}/%{name}/mysql_system_tables.sql
%{_datadir}/%{name}/mysql_system_tables_data.sql
%{_datadir}/%{name}/mysql_test_data_timezone.sql
%{_datadir}/mysql/errmsg-utf8.txt
%{_datadir}/mysql/fill_help_tables.sql
%{_datadir}/mysql/mysql_system_tables.sql
@ -687,26 +661,24 @@ fi
%{_libexecdir}/mysqld-prepare-db-dir
%{_libexecdir}/mysqld-wait-ready
%{_prefix}/lib/tmpfiles.d/mysql.conf
%{_prefix}/lib/tmpfiles.d/%{name}.conf
%attr(0755,mysql,mysql) %dir /var/run/mysqld
%attr(0755,mysql,mysql) %dir /var/lib/mysql
%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log
%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld
%files devel
%defattr(-,root,root)
/usr/include/mysql
/usr/share/aclocal/mysql.m4
%{_includedir}/mysql
%{_datadir}/aclocal/mysql.m4
%{_libdir}/mysql/libmysqlclient.so
%{_libdir}/mysql/libmysqlclient_r.so
%files embedded
%defattr(-,root,root)
%doc README COPYING README.mysql-license
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
%{_libdir}/mysql/libmysqld.so.*
%files embedded-devel
%defattr(-,root,root)
%{_libdir}/mysql/libmysqld.so
%{_bindir}/mysql_client_test_embedded
%{_bindir}/mysqltest_embedded
@ -714,11 +686,9 @@ fi
%{_mandir}/man1/mysqltest_embedded.1*
%files bench
%defattr(-,root,root)
%{_datadir}/sql-bench
%files test
%defattr(-,root,root)
%{_bindir}/mysql_client_test
%{_bindir}/my_safe_process
%attr(-,mysql,mysql) %{_datadir}/mysql-test
@ -726,6 +696,24 @@ fi
%{_mandir}/man1/mysql_client_test.1*
%changelog
* Wed Mar 20 2013 Honza Horak <hhorak@redhat.com> 5.5.30-5
- Renaming package MySQL to community-mysql to handle issues
introduced by case-insensitive operations of yum and for proper
prioritizing mariadb over community-mysql
* Tue Mar 12 2013 Honza Horak <hhorak@redhat.com> 5.5.30-4
- Allow server to be installed without client side
- Separate -lib and -common sub-packages
- Fix some path issues in tests
* Mon Mar 11 2013 Honza Horak <hhorak@redhat.com> 5.5.30-3
- Adjusting major soname number of libmysqlclient to avoid
library name conflicts with mariadb
* Mon Mar 4 2013 Honza Horak <hhorak@redhat.com> 5.5.30-2
- Renaming package mysql to MySQL to handle conflicting issues
with mariadb, which became default
* Tue Feb 12 2013 Honza Horak <hhorak@redhat.com> 5.5.30-1
- Update to MySQL 5.5.30, for various fixes described at
http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html

6
my.cnf
View File

@ -11,3 +11,9 @@ symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

View File

@ -1,27 +0,0 @@
Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE
does not work on s390x, and probably not on some other platforms either.
Knock it up to twice the pre-5.0.33 value to have some margin for future
changes in compiler, glibc, etc. Suspect this number if
"execution_constants" regression test fails.
Note: STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8
to provide some headroom, which means that its value can't be raised too much
further without increasing the latter as well.
As of 5.1.33 the stock value is 16000, which might be enough ... or maybe
not. For the moment, we keep this patch around for reference, but it's
not being applied.
diff -Naur mysql-5.1.30.orig/sql/mysql_priv.h mysql-5.1.30/sql/mysql_priv.h
--- mysql-5.1.30.orig/sql/mysql_priv.h 2008-11-14 11:37:13.000000000 -0500
+++ mysql-5.1.30/sql/mysql_priv.h 2009-01-13 11:07:35.000000000 -0500
@@ -286,7 +286,7 @@
Feel free to raise this by the smallest amount you can to get the
"execution_constants" test to pass.
*/
-#define STACK_MIN_SIZE 12000 ///< Abort if less stack during eval.
+#define STACK_MIN_SIZE 16384 ///< Abort if less stack during eval.
#define STACK_MIN_SIZE_FOR_OPEN 1024*80
#define STACK_BUFF_ALLOC 352 ///< For stack overrun checks

View File

@ -11,3 +11,4 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too
# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155
innodb.innodb : bug#60155 has platform-dependent results

View File

@ -1,32 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
/* Translate call of myself into call of same-named script in LIBDIR */
/* The macro LIBDIR must be defined as a double-quoted string */
int main (int argc, char **argv)
{
char *basename;
char *fullname;
char **newargs;
int i;
basename = strrchr(argv[0], '/');
if (basename)
basename++;
else
basename = argv[0];
fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2);
sprintf(fullname, "%s/%s", LIBDIR, basename);
newargs = malloc((argc+1) * sizeof(char *));
newargs[0] = fullname;
for (i = 1; i < argc; i++)
newargs[i] = argv[i];
newargs[argc] = NULL;
execvp(fullname, newargs);
return 1;
}