# - segfaults on select from non-mysql user (caused by builder environment):
# https://bugs.launchpad.net/pld-linux/+bug/381904
# (profiling disabled temporaily to workaround this)
+# - unpackaged files:
+# /usr/COPYING.AGPLv3
+# /usr/COPYING.GPLv2
+# /usr/PATENTS
+# /usr/README.md
+# /usr/bin/mysqlxtest
+# /usr/include/backup.h
+# /usr/lib64/percona-server/plugin/keyring_udf.so
+# /usr/lib64/percona-server/plugin/libtest_framework.so
+# /usr/lib64/percona-server/plugin/libtest_services.so
+# /usr/lib64/percona-server/plugin/libtest_services_threaded.so
+# /usr/lib64/percona-server/plugin/libtest_session_detach.so
+# /usr/lib64/percona-server/plugin/libtest_session_in_thd.so
+# /usr/lib64/percona-server/plugin/libtest_session_info.so
+# /usr/lib64/percona-server/plugin/libtest_sql_2_sessions.so
+# /usr/lib64/percona-server/plugin/libtest_sql_all_col_types.so
+# /usr/lib64/percona-server/plugin/libtest_sql_cmds_1.so
+# /usr/lib64/percona-server/plugin/libtest_sql_commit.so
+# /usr/lib64/percona-server/plugin/libtest_sql_complex.so
+# /usr/lib64/percona-server/plugin/libtest_sql_errors.so
+# /usr/lib64/percona-server/plugin/libtest_sql_lock.so
+# /usr/lib64/percona-server/plugin/libtest_sql_processlist.so
+# /usr/lib64/percona-server/plugin/libtest_sql_replication.so
+# /usr/lib64/percona-server/plugin/libtest_sql_shutdown.so
+# /usr/lib64/percona-server/plugin/libtest_sql_sqlmode.so
+# /usr/lib64/percona-server/plugin/libtest_sql_stored_procedures_functions.so
+# /usr/lib64/percona-server/plugin/libtest_sql_views_triggers.so
+# /usr/lib64/percona-server/plugin/libtest_x_sessions_deinit.so
+# /usr/lib64/percona-server/plugin/libtest_x_sessions_init.so
+# /usr/lib64/percona-server/plugin/replication_observers_example_plugin.so
+# /usr/lib64/percona-server/plugin/rewrite_example.so
+# /usr/lib64/percona-server/plugin/test_security_context.so
+# /usr/lib64/percona-server/plugin/test_udf_services.so
# NOTE:
# - mysql 'root' user will be 'root' not 'mysql' with 5.7 package
# this is to make pld consistent what the rest of the world uses.
%bcond_without ssl # OpenSSL support
%bcond_with systemtap # systemtap/dtrace probes
%bcond_without tcpd # libwrap (tcp_wrappers) support
-%bcond_without sphinx # Sphinx storage engine support
+%bcond_with sphinx # Sphinx storage engine support
%bcond_without tokudb # TokuDB
-%bcond_without system_boost # Use system boost package
+%bcond_with system_boost # Use system boost package
%bcond_with tests # FIXME: don't run correctly
%bcond_with ndb # NDB is now a separate product, this here is broken, so disable it
%endif
%define rel 0.1
-%define percona_rel 5
+%define percona_rel 16
%include /usr/lib/rpm/macros.perl
Summary: Percona Server: a very fast and reliable SQL database engine
Summary(de.UTF-8): Percona Server: ist eine SQL-Datenbank
Summary(uk.UTF-8): Percona Server - швидкий SQL-сервер
Summary(zh_CN.UTF-8): Percona Server数据库服务器
Name: percona-server
-Version: 5.7.12
+Version: 5.7.18
Release: %{percona_rel}.%{rel}
License: GPL + Percona Server FLOSS Exception
Group: Applications/Databases
Source0: https://www.percona.com/downloads/Percona-Server-5.7/LATEST/source/tarball/%{name}-%{version}-%{percona_rel}.tar.gz
-# Source0-md5: 15fd2e5dfbca15de456d9315b6cd553b
-Source100: http://www.sphinxsearch.com/files/sphinx-2.2.10-release.tar.gz
-# Source100-md5: dda52b24d8348fc09e26d8a649a231d2
+# Source0-md5: 01a79e52b352f771ce2025b549b98d6a
+Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
+# Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.logrotate
[ -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
+#cp -p libmysql/libmysql.map libmysql/libmysql.ver.in
%build
install -d build
-DINSTALL_SQLBENCHDIR=%{_datadir} \
-DINSTALL_SUPPORTFILESDIR=share/%{name}-support \
-DINSTALL_MYSQLSHAREDIR=share/%{name} \
+ -DINSTALL_SECURE_FILE_PRIVDIR="" \
-DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
%{?debug:-DWITH_DEBUG=ON} \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PAM=ON \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_PIC=ON \
+ -DWITH_SCALABILITY_METRICS=ON \
%if "%{pld_release}" == "ac"
-DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \
%else
mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
# move to _sysconfdir
-mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
+#mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
# not useful without -debug build
%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
#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%{_bindir}/mysql_waitpid
+#%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
%files
%defattr(644,root,root,755)
-%doc build/support-files/*.cnf
+%doc build-ps/rpm/*.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(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf
+%attr(755,root,root) %{_bindir}/ps_mysqld_helper
%attr(755,root,root) %{_bindir}/ps_tokudb_admin
%attr(755,root,root) %{_sbindir}/innochecksum
%attr(755,root,root) %{_sbindir}/my_print_defaults
%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_pam.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/auth.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/connection_control.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/group_replication.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/handlersocket.so
+#%attr(755,root,root) %{_libdir}/%{name}/plugin/handlersocket.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_file.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_udf.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv1a_udf.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv_udf.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/libmurmur_udf.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_framework.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_services.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_services_threaded.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_detach.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_info.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_in_thd.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_2_sessions.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_all_col_types.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_cmds_1.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_commit.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_complex.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_errors.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_lock.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_processlist.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_replication.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_shutdown.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_sqlmode.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_stored_procedures_functions.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_views_triggers.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_x_sessions_deinit.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_x_sessions_init.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/locking_service.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_no_login.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/mysqlx.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/query_response_time.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/replication_observers_example_plugin.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/rewrite_example.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/rewriter.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/test_security_context.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/test_udf_services.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/version_token.so
%if %{with sphinx}
%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
%endif
%attr(755,root,root) %{_libdir}/libHotBackup.so
%endif
# for plugins
-%attr(755,root,root) %{_libdir}/libmysqlservices.so
+#%attr(755,root,root) %{_libdir}/libmysqlservices.so
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/myisamchk.1*
# This is template for configuration file which is created after 'service mysql init'
%{_datadir}/%{name}/mysqld.conf
+%{_datadir}/%{name}/install_rewriter.sql
%{_datadir}/%{name}/mysql_security_commands.sql
-%{_datadir}/%{name}/mysql_system_tables_data.sql
+%{_datadir}/%{name}/mysql_sys_schema.sql
%{_datadir}/%{name}/mysql_system_tables.sql
+%{_datadir}/%{name}/mysql_system_tables_data.sql
%{_datadir}/%{name}/mysql_test_data_timezone.sql
+%{_datadir}/%{name}/uninstall_rewriter.sql
%{_datadir}/%{name}/english
%{_datadir}/%{name}/dictionary.txt
%{_datadir}/%{name}/fill_help_tables.sql
%{_datadir}/%{name}/innodb_memcached_config.sql
#%{_datadir}/%{name}/mysql_fix_privilege_tables.sql
-%lang(bg) %{_datadir}/%{name}/bulgarian
-%lang(cs) %{_datadir}/%{name}/czech
-%lang(da) %{_datadir}/%{name}/danish
-%lang(de) %{_datadir}/%{name}/german
-%lang(el) %{_datadir}/%{name}/greek
-%lang(es) %{_datadir}/%{name}/spanish
-%lang(et) %{_datadir}/%{name}/estonian
-%lang(fr) %{_datadir}/%{name}/french
-%lang(hu) %{_datadir}/%{name}/hungarian
-%lang(it) %{_datadir}/%{name}/italian
-%lang(ja) %{_datadir}/%{name}/japanese
-%lang(ko) %{_datadir}/%{name}/korean
-%lang(nl) %{_datadir}/%{name}/dutch
-%lang(nb) %{_datadir}/%{name}/norwegian
-%lang(nn) %{_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(sv) %{_datadir}/%{name}/swedish
-%lang(uk) %{_datadir}/%{name}/ukrainian
+# Don't mark these with %%lang. These are used depending
+# on database client settings.
+%{_datadir}/%{name}/bulgarian
+%{_datadir}/%{name}/czech
+%{_datadir}/%{name}/danish
+%{_datadir}/%{name}/german
+%{_datadir}/%{name}/greek
+%{_datadir}/%{name}/spanish
+%{_datadir}/%{name}/estonian
+%{_datadir}/%{name}/french
+%{_datadir}/%{name}/hungarian
+%{_datadir}/%{name}/italian
+%{_datadir}/%{name}/japanese
+%{_datadir}/%{name}/korean
+%{_datadir}/%{name}/dutch
+%{_datadir}/%{name}/norwegian
+%{_datadir}/%{name}/norwegian-ny
+%{_datadir}/%{name}/polish
+%{_datadir}/%{name}/portuguese
+%{_datadir}/%{name}/romanian
+%{_datadir}/%{name}/russian
+%{_datadir}/%{name}/serbian
+%{_datadir}/%{name}/slovak
+%{_datadir}/%{name}/swedish
+%{_datadir}/%{name}/ukrainian
%files charsets
%defattr(644,root,root,755)
%files extras
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/msql2mysql
+#%attr(755,root,root) %{_bindir}/msql2mysql
%attr(755,root,root) %{_bindir}/myisam_ftdump
%attr(755,root,root) %{_bindir}/mysql_install_db
%attr(755,root,root) %{_bindir}/mysql_secure_installation
%attr(755,root,root) %{_bindir}/perror
%attr(755,root,root) %{_bindir}/replace
%attr(755,root,root) %{_bindir}/resolveip
-%{_mandir}/man1/msql2mysql.1*
+#%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/mysql_install_db.1*
%{_mandir}/man1/mysql_secure_installation.1*
%files extras-perl
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysql_convert_table_format
-%attr(755,root,root) %{_bindir}/mysql_find_rows
-%attr(755,root,root) %{_bindir}/mysql_fix_extensions
-%attr(755,root,root) %{_bindir}/mysql_setpermission
-%attr(755,root,root) %{_bindir}/mysql_zap
-%attr(755,root,root) %{_bindir}/mysqlaccess
+#%attr(755,root,root) %{_bindir}/mysql_convert_table_format
+#%attr(755,root,root) %{_bindir}/mysql_find_rows
+#%attr(755,root,root) %{_bindir}/mysql_fix_extensions
+#%attr(755,root,root) %{_bindir}/mysql_setpermission
+#%attr(755,root,root) %{_bindir}/mysql_zap
+#%attr(755,root,root) %{_bindir}/mysqlaccess
%attr(755,root,root) %{_bindir}/mysqldumpslow
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf
-%{_mandir}/man1/mysql_convert_table_format.1*
-%{_mandir}/man1/mysql_find_rows.1*
-%{_mandir}/man1/mysql_fix_extensions.1*
-%{_mandir}/man1/mysql_setpermission.1*
-%{_mandir}/man1/mysql_zap.1*
-%{_mandir}/man1/mysqlaccess.1*
+#%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf
+#%{_mandir}/man1/mysql_convert_table_format.1*
+#%{_mandir}/man1/mysql_find_rows.1*
+#%{_mandir}/man1/mysql_fix_extensions.1*
+#%{_mandir}/man1/mysql_setpermission.1*
+#%{_mandir}/man1/mysql_zap.1*
+#%{_mandir}/man1/mysqlaccess.1*
%{_mandir}/man1/mysqldumpslow.1*
%files client
%defattr(644,root,root,755)
%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf
+%attr(755,root,root) %{_bindir}/lz4_decompress
%attr(755,root,root) %{_bindir}/mysql
+%attr(755,root,root) %{_bindir}/mysql_config_editor
+%attr(755,root,root) %{_bindir}/mysql_ssl_rsa_setup
%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}/mysqlbug
%attr(755,root,root) %{_bindir}/mysqldump
%attr(755,root,root) %{_bindir}/mysqlimport
+%attr(755,root,root) %{_bindir}/mysqlpump
%attr(755,root,root) %{_bindir}/mysqlshow
+%attr(755,root,root) %{_bindir}/zlib_decompress
+%{_mandir}/man1/lz4_decompress.1*
%{_mandir}/man1/mysql.1*
+%{_mandir}/man1/mysql_config_editor.1*
+%{_mandir}/man1/mysql_ssl_rsa_setup.1*
%{_mandir}/man1/mysqladmin.1*
%{_mandir}/man1/mysqlbinlog.1*
-%{_mandir}/man1/mysqlbug.1*
-%{_mandir}/man1/mysql_config_editor.1*
+#%{_mandir}/man1/mysqlbug.1*
%{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1*
+%{_mandir}/man1/mysqlpump.1*
%{_mandir}/man1/mysqlshow.1*
+%{_mandir}/man1/zlib_decompress.1*
%files libs
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
%{_sysconfdir}/%{name}/my.cnf
%attr(755,root,root) %{_libdir}/libperconaserverclient.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libperconaserverclient.so.18
-%attr(755,root,root) %{_libdir}/libperconaserverclient_r.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libperconaserverclient_r.so.18
+%attr(755,root,root) %ghost %{_libdir}/libperconaserverclient.so.20
+#%attr(755,root,root) %{_libdir}/libperconaserverclient_r.so.*.*.*
+#%attr(755,root,root) %ghost %{_libdir}/libperconaserverclient_r.so.18
%if %{with ndb}
%attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mysql_config
%attr(755,root,root) %{_libdir}/libperconaserverclient.so
-%attr(755,root,root) %{_libdir}/libperconaserverclient_r.so
+#%attr(755,root,root) %{_libdir}/libperconaserverclient_r.so
+%{_pkgconfigdir}/perconaserverclient.pc
%if %{with ndb}
%attr(755,root,root) %{_libdir}/libndbclient.so
%endif
+#%{_includedir}/backup.h
# static-only so far
%{_libdir}/libmysqld.a
+%{_libdir}/libmysqlservices.a
%{_includedir}/mysql
%{_aclocaldir}/mysql.m4
%{_mandir}/man1/mysql_config.1*
%files static
%defattr(644,root,root,755)
%{_libdir}/libperconaserverclient.a
-%{_libdir}/libperconaserverclient_r.a
+#%{_libdir}/libperconaserverclient_r.a
%if %{with ndb}
%{_libdir}/libndbclient.a
%endif
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mysqlslap
%attr(755,root,root) %{_bindir}/mysqltest
-%dir %{_datadir}/sql-bench
-%{_datadir}/sql-bench/[CDRl]*
-%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
+#%dir %{_datadir}/sql-bench
+#%{_datadir}/sql-bench/[CDRl]*
+#%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
%{_mandir}/man1/mysqlslap.1*
%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/mysqltest_embedded.1*