]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - mysql.spec
- Patch .36, percona 39
[packages/mysql.git] / mysql.spec
index eed3cce3a8c12ee505410b2f5e2c04ac95fac337..cf3d5731f5f9fe878ac8e5dec7f7aa5945818dcf 100644 (file)
 %bcond_with    systemtap       # systemtap/dtrace probes
 %bcond_without tcpd            # libwrap (tcp_wrappers) support
 %bcond_with    sphinx          # Sphinx storage engine support
-%bcond_without tokudb          # TokuDB
+%bcond_with    tokudb          # TokuDB
 %bcond_without rocksdb         # RocksDB
 # mysql needs boost 1.59.0 and doesn't support newer/older boost versions
 %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
+%bcond_without coredumper      # coredumper support
 
 # tokudb is only supported on x86_64
 %ifnarch %{x8664}
@@ -44,8 +45,7 @@
 %endif
 
 %define                rel     1
-%define                percona_rel     21
-%include       /usr/lib/rpm/macros.perl
+%define                percona_rel     39
 Summary:       MySQL: a very fast and reliable SQL database engine
 Summary(de.UTF-8):     MySQL: ist eine SQL-Datenbank
 Summary(fr.UTF-8):     MySQL: un serveur SQL rapide et fiable
@@ -55,12 +55,12 @@ Summary(ru.UTF-8):  MySQL - быстрый SQL-сервер
 Summary(uk.UTF-8):     MySQL - швидкий SQL-сервер
 Summary(zh_CN.UTF-8):  MySQL数据库服务器
 Name:          mysql
-Version:       5.7.21
+Version:       5.7.36
 Release:       %{percona_rel}.%{rel}
 License:       GPL + MySQL FLOSS Exception
 Group:         Applications/Databases
 Source0:       https://www.percona.com/downloads/Percona-Server-5.7/LATEST/source/tarball/percona-server-%{version}-%{percona_rel}.tar.gz
-# Source0-md5: 5763c84393a3eb6de5f3a06165435954
+# Source0-md5: 54c63c74ee2f6aa9ec149010ccacc2dc
 Source100:     http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
 # Source100-md5:       5cac34f3d78a9d612ca4301abfcbd666
 %if %{without system_boost}
@@ -82,16 +82,12 @@ Source13:   %{name}-client.conf
 Source14:      my.cnf
 Patch0:                mysql-opt.patch
 Patch1:                mysql-versioning.patch
-
-Patch7:                lz4.patch
-
-Patch11:       mysql-upgrade.patch
-Patch12:       mysql-config.patch
-Patch18:       mysql-sphinx.patch
+Patch2:                mysql-protobuf.patch
+Patch3:                build.patch
+Patch17:       mysql-sphinx.patch
+Patch18:       mysql-5.7-sphinx.patch
 Patch19:       mysql-chain-certs.patch
-# from fedora
 Patch20:       mysql-dubious-exports.patch
-
 Patch24:       mysql-cmake.patch
 URL:           https://www.percona.com/software/mysql-database/percona-server
 BuildRequires: bison >= 1.875
@@ -103,6 +99,7 @@ BuildRequires:       automake
 %{?with_system_boost:BuildRequires:    boost-devel = 1.59.0}
 BuildRequires: libhsclient-devel
 %{?with_tcpd:BuildRequires:    libwrap-devel}
+BuildRequires: lz4-devel >= 1:1.9.3
 BuildRequires: mecab-devel
 BuildRequires: ncurses-devel >= 4.2
 %{?with_ssl:BuildRequires:     openssl-devel >= 0.9.7d}
@@ -111,6 +108,7 @@ BuildRequires:      pam-devel
 BuildRequires: perl-devel >= 1:5.6.1
 BuildRequires: protobuf-devel
 BuildRequires: python-modules
+BuildRequires: rpcsvc-proto
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: rpmbuild(macros) >= 1.597
 BuildRequires: sed >= 4.0
@@ -498,19 +496,17 @@ 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.*
 
 %patch0 -p1
-
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 %if %{with sphinx}
 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
-mv sphinx-*/mysqlse storage/sphinx
+%{__mv} sphinx-*/mysqlse storage/sphinx
+%patch17 -p1
 %patch18 -p1
 %endif
-%patch1 -p1
-
-%patch7 -p1
-
 %patch19 -p1
 %patch20 -p1
-
 %patch24 -p1
 
 # to get these files rebuild
@@ -527,13 +523,19 @@ cd build
 # (it defaults to first cluster but user may change it to whatever
 # cluster it wants)
 
+%if "%{cc_version}" >= "7.0"
+FALLTHROUGH_OPT="-Wimplicit-fallthrough=0"
+%else
+FALLTHROUGH_OPT=
+%endif
+
 CPPFLAGS="%{rpmcppflags}" \
 %cmake .. \
        -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
-       -DCMAKE_C_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \
-       -DCMAKE_CXX_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \
-       -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \
-       -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \
+       -DCMAKE_C_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT" \
+       -DCMAKE_CXX_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT" \
+       -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT -Wno-shadow" \
+       -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing $FALLTHROUGH_OPT -Wno-shadow" \
        -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
        -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
        %{?with_systemtap:-DENABLE_DTRACE=ON} \
@@ -557,22 +559,41 @@ CPPFLAGS="%{rpmcppflags}" \
        -DWITH_SCALABILITY_METRICS=ON \
        -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
        -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
+       -DWITH_COREDUMPER=%{?with_coredumper:ON}%{!?with_coredumper:OFF} \
        %{!?with_tokudb:-DWITHOUT_TOKUDB=ON} \
        %{!?with_rocksdb:-DWITHOUT_ROCKSDB=ON} \
 %if %{without system_boost}
        %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \
 %endif
-       -DWITH_ZLIB=system \
-       -DWITH_READLINE=system \
-       -DWITH_LZ4=system \
        -DWITH_LIBEVENT=system \
-       -DWITH_PROTOBUF=system \
+       -DWITH_LZ4=system \
        -DWITH_MECAB=system \
+       -DWITH_PROTOBUF=system \
+       -DWITH_READLINE=system \
+       -DWITH_ZLIB=system \
        -DTMPDIR=/var/tmp
 
 %{__make}
 
-%{?with_tests:%{__make} test}
+%if %{with tests}
+%{__make} test
+
+cd mysql-test
+
+MTR_BINDIR=$(pwd)/../build/ \
+%{__perl} ./mysql-test-run.pl \
+       --force \
+       --retry=0 \
+       --ssl \
+       --suite-timeout=720 \
+       --testcase-timeout=30 \
+       --mysqld=--binlog-format=mixed \
+       --force-restart \
+       --shutdown-timeout=60 \
+       --max-test-fail=0 \
+       --big-test \
+       --skip-test-list=unstable-tests
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -656,22 +677,13 @@ 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.server*
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
 
 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.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}
@@ -679,6 +691,7 @@ mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
 # not needed
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/udf_example.so
 
 # not an .info file
 %{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
@@ -756,7 +769,6 @@ fi
 %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
@@ -772,12 +784,10 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_ldap_sasl_client.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/connection_control.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/data_masking.ini
+%attr(755,root,root) %{_libdir}/%{name}/plugin/data_masking.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/keyring_file.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_udf.so
 %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_vault.so
@@ -841,13 +851,11 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_rocksdb.so
 %endif
 # for plugins
-#%attr(755,root,root) %{_libdir}/libmysqlservices.so
 %{_mandir}/man1/innochecksum.1*
 %{_mandir}/man1/my_print_defaults.1*
 %{_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*
@@ -880,7 +888,6 @@ fi
 %{_datadir}/%{name}/dictionary.txt
 %{_datadir}/%{name}/fill_help_tables.sql
 %{_datadir}/%{name}/innodb_memcached_config.sql
-#%{_datadir}/%{name}/mysql_fix_privilege_tables.sql
 # Don't mark these with %%lang. These are used depending
 # on database client settings.
 %{_datadir}/%{name}/bulgarian
@@ -914,7 +921,6 @@ fi
 
 %files extras
 %defattr(644,root,root,755)
-#%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
@@ -922,7 +928,6 @@ fi
 %attr(755,root,root) %{_bindir}/perror
 %attr(755,root,root) %{_bindir}/replace
 %attr(755,root,root) %{_bindir}/resolveip
-#%{_mandir}/man1/msql2mysql.1*
 %{_mandir}/man1/myisam_ftdump.1*
 %{_mandir}/man1/mysql_install_db.1*
 %{_mandir}/man1/mysql_secure_installation.1*
@@ -933,20 +938,7 @@ fi
 
 %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}/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*
 %{_mandir}/man1/mysqldumpslow.1*
 
 %files client
@@ -958,7 +950,6 @@ fi
 %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}/mysqldump
 %attr(755,root,root) %{_bindir}/mysqlimport
 %attr(755,root,root) %{_bindir}/mysqlpump
@@ -970,7 +961,6 @@ fi
 %{_mandir}/man1/mysql_ssl_rsa_setup.1*
 %{_mandir}/man1/mysqladmin.1*
 %{_mandir}/man1/mysqlbinlog.1*
-#%{_mandir}/man1/mysqlbug.1*
 %{_mandir}/man1/mysqldump.1*
 %{_mandir}/man1/mysqlimport.1*
 %{_mandir}/man1/mysqlpump.1*
@@ -984,8 +974,6 @@ fi
 %{_sysconfdir}/%{name}/my.cnf
 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.20
-#%attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
-#%attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18
 %if %{with ndb}
 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
@@ -995,12 +983,10 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/mysql_config
 %attr(755,root,root) %{_libdir}/libmysqlclient.so
-#%attr(755,root,root) %{_libdir}/libmysqlclient_r.so
 %{_pkgconfigdir}/mysqlclient.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
@@ -1011,7 +997,6 @@ fi
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libmysqlclient.a
-#%{_libdir}/libmysqlclient_r.a
 %if %{with ndb}
 %{_libdir}/libndbclient.a
 %endif
@@ -1020,16 +1005,7 @@ fi
 %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]*
 %{_mandir}/man1/mysqlslap.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