%bcond_with tests # FIXME: don't run correctly
%bcond_with ndb # NDB is now a separate product, this here is broken, so disable it
-%define percona_rel 31.1
+%define rel 1
+%define percona_rel 76.1
%include /usr/lib/rpm/macros.perl
Summary: MySQL: a very fast and reliable SQL database engine
Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
Summary(zh_CN.UTF-8): MySQL数据库服务器
Name: mysql
-Version: 5.5.33
-Release: 1
+Version: 5.6.28
+Release: %{percona_rel}.%{rel}
License: GPL + MySQL FLOSS Exception
Group: Applications/Databases
-# Source0Download: http://dev.mysql.com/downloads/mysql/5.5.html#downloads
-# Source0: http://vesta.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.5/%{name}-%{version}.tar.gz
-Source0: http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/Percona-Server-%{version}-rel%{percona_rel}.tar.gz
-# Source0-md5: 4a1c053dbdda4bb643f7ab13a9776f34
-Source100: http://www.sphinxsearch.com/files/sphinx-2.0.9-release.tar.gz
-# Source100-md5: b5a2ff137c00d8490a5e1107bd0b5903
+Source0: http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz
+# Source0-md5: f779df3d75a4a019fe9f17e0a2e0e176
+Source100: http://www.sphinxsearch.com/files/sphinx-2.2.10-release.tar.gz
+# Source100-md5: dda52b24d8348fc09e26d8a649a231d2
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.logrotate
Source12: %{name}-ndb-cpc.sysconfig
Source13: %{name}-client.conf
Source14: my.cnf
-# from fedora
-Source15: lib%{name}.version
+Patch1: %{name}-versioning.patch
Patch2: %{name}hotcopy-5.0-5.5.patch
Patch3: bug-67402.patch
+Patch4: %{name}-no-default-secure-auth.patch
# from fedora
Patch6: %{name}-system-users.patch
Patch19: %{name}-chain-certs.patch
# from fedora
Patch20: %{name}-dubious-exports.patch
-Patch21: bison3.patch
+Patch21: bug-66589.patch
+Patch22: bug-44278.patch
URL: http://www.mysql.com/products/community/
BuildRequires: bison >= 1.875
BuildRequires: cmake >= 2.6
-BuildRequires: groff
+BuildRequires: readline-devel >= 6.2
BuildRequires: libstdc++-devel >= 5:4.0
-BuildRequires: libtool
+BuildRequires: automake
%{?with_tcpd:BuildRequires: libwrap-devel}
BuildRequires: ncurses-devel >= 4.2
%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
+BuildRequires: pam-devel
%{?with_autodeps:BuildRequires: perl-DBI}
BuildRequires: perl-devel >= 1:5.6.1
-BuildRequires: readline-devel >= 4.2
+BuildRequires: python-modules
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.597
BuildRequires: sed >= 4.0
Conflicts: logrotate < 3.8.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _orgname percona-server
%define _libexecdir %{_sbindir}
%define _localstatedir /var/lib/mysql
%define _mysqlhome /home/services/mysql
Group: Applications/Databases
Requires: %{name}-charsets = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
+Requires: readline >= 6.2
Obsoletes: MySQL-client
%description client
Ten pakiet zawiera standardowego demona MySQL NDB CPC.
%prep
-%setup -q -n Percona-Server-%{version}-rel%{percona_rel} %{?with_sphinx:-a100}
+%setup -q -n percona-server-%{version}-%{percona_rel} %{?with_sphinx:-a100}
+
+# we want to use old, mysql compatible client library name
+find . -name CMakeLists.txt -exec sed -i -e 's#perconaserverclient#mysqlclient#g' "{}" ";"
+sed -i -e 's#perconaserverclient#mysqlclient#g' libmysql/libmysql.{ver.in,map} scripts/mysql_config.*
+
%if %{with sphinx}
# http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
mv sphinx-*/mysqlse storage/sphinx
%patch18 -p1
%endif
+%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%patch6 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
+%patch22 -p1
# to get these files rebuild
[ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
[ -f sql/sql_yacc.h ] && rm sql/sql_yacc.h
+# map has more sane versioning that default "global everything" in ver.in
+cp -p libmysql/libmysql.map libmysql/libmysql.ver.in
+
%build
install -d build
cd build
# (it defaults to first cluster but user may change it to whatever
# cluster it wants)
-# upstream has fallen down badly on symbol versioning, do it ourselves
-install -d libmysql
-cp -a %{SOURCE15} libmysql/libmysql.version
-
%cmake \
-DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
-DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
-DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
-DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
-DCURSES_INCLUDE_PATH=/usr/include/ncurses \
- %{!?with_systemtap:-DENABLE_DTRACE=ON} \
+ %{?with_systemtap:-DENABLE_DTRACE=ON} \
-DFEATURE_SET="community" \
-DINSTALL_LAYOUT=RPM \
-DINSTALL_LIBDIR=%{_lib} \
%{?debug:-DWITH_DEBUG=ON} \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=ON \
- -DWITH_LIBEDIT=OFF \
-DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
-DWITH_PAM=ON \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_PIC=ON \
- -DWITH_READLINE=OFF \
+ -DWITH_READLINE=system \
-DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
+ -DWITHOUT_TOKUDB=1 \
+ -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 \
-DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
-DWITH_ZLIB=system \
..
cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
%endif
-# symlinks point to the .so file, fix it
-ln -sf libmysqlclient.so.18 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18
-ln -sf libmysqlclient.so.18.0.0 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18.0.0
-
sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
# remove known unpackaged files
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-support
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}-support
# rename not to be so generic name
mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
-#mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
-#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
-#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
-#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test
+# libmysqld examples
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded}
# not needed
%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
%files
%defattr(644,root,root,755)
-%doc build/support-files/*.cnf build/support-files/*.ini
+%doc build/support-files/*.cnf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%attr(755,root,root) %{_sbindir}/myisamchk
%attr(755,root,root) %{_sbindir}/myisamlog
%attr(755,root,root) %{_sbindir}/myisampack
-#%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
%attr(755,root,root) %{_sbindir}/mysql_plugin
%attr(755,root,root) %{_sbindir}/mysql_upgrade
%attr(755,root,root) %{_sbindir}/mysqlcheck
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugin
%attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/audit_log.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_archive.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_blackhole.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_federated.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/scalability_metrics.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
%if %{with sphinx}
%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
%endif
%{_mandir}/man1/myisamchk.1*
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
-#%{_mandir}/man1/mysql_fix_privilege_tables.1*
%{_mandir}/man1/mysql_plugin.1*
%{_mandir}/man1/mysql_upgrade.1*
%{_mandir}/man1/mysqlcheck.1*
# This is template for configuration file which is created after 'service mysql init'
%{_datadir}/%{name}/mysqld.conf
-%{_datadir}/%{name}/mysql_system_tables.sql
+%{_datadir}/%{name}/mysql_security_commands.sql
%{_datadir}/%{name}/mysql_system_tables_data.sql
+%{_datadir}/%{name}/mysql_system_tables.sql
%{_datadir}/%{name}/mysql_test_data_timezone.sql
%{_datadir}/%{name}/english
+%{_datadir}/%{name}/dictionary.txt
%{_datadir}/%{name}/fill_help_tables.sql
-#%{_datadir}/%{name}/mysql_fix_privilege_tables.sql
+%{_datadir}/%{name}/innodb_memcached_config.sql
+%lang(bg) %{_datadir}/%{name}/bulgarian
%lang(cs) %{_datadir}/%{name}/czech
%lang(da) %{_datadir}/%{name}/danish
%lang(de) %{_datadir}/%{name}/german
%files charsets
%defattr(644,root,root,755)
-%dir %{_datadir}/mysql
+%dir %{_datadir}/%{name}
%{_datadir}/%{name}/charsets
%files extras
%attr(755,root,root) %{_bindir}/mysqladmin
%attr(755,root,root) %{_bindir}/mysqlbinlog
%attr(755,root,root) %{_bindir}/mysqlbug
+%attr(755,root,root) %{_bindir}/mysql_config_editor
%attr(755,root,root) %{_bindir}/mysqldump
%attr(755,root,root) %{_bindir}/mysqlimport
%attr(755,root,root) %{_bindir}/mysqlshow
%{_mandir}/man1/mysqladmin.1*
%{_mandir}/man1/mysqlbinlog.1*
%{_mandir}/man1/mysqlbug.1*
+%{_mandir}/man1/mysql_config_editor.1*
%{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlshow.1*
%if %{with ndb}
%attr(755,root,root) %{_libdir}/libndbclient.so
%endif
+# static-only so far
+%{_libdir}/libmysqld.a
%{_includedir}/mysql
%{_aclocaldir}/mysql.m4
%{_mandir}/man1/mysql_config.1*
%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/mysqltest_embedded.1*
-#%files doc
-#%defattr(644,root,root,755)
-#%doc Docs/manual.html Docs/manual_toc.html
-
%if %{with ndb}
%files ndb
%defattr(644,root,root,755)