From 1f5de3828b23a8e4c74f065e19387aec0821a084 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jun 2019 16:37:44 +0200 Subject: [PATCH] Update after F28 EOL Remove Cassandra SE; it is no longer developed: https://mariadb.com/kb/en/library/cassandra-storage-engine-overview Fix typos Remove unnecessary -fPIC; it is already applied by cmake SECURITY_HARDENED option Update dead hypertext links Stop providing "mariadb-galera" Remove comments after %endif to comply with RPM syntax --- mariadb.spec | 95 +++++++++++++++++----------------------------------- 1 file changed, 31 insertions(+), 64 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e95dda6..5271c6c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -36,23 +36,17 @@ # Current version in MariaDB, 7.07, only supports the x86_64 # Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html # RocksDB engine -# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ -# RocksB engine is available only for x86_64 +# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ +# RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -# Cassandra engine -# Experimental version of the Cassandra storage engine -# The tests needs running cassandra server -# Do not build it for now %if %_arch == x86_64 && 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb -%bcond_with cassandra %else %bcond_with tokudb %bcond_with mroonga %bcond_with rocksdb -%bcond_with cassandra %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing @@ -69,6 +63,7 @@ %bcond_with connect %bcond_with sphinx %endif + %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude @@ -95,7 +90,7 @@ # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues -%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_with config %else %bcond_without config @@ -158,7 +153,7 @@ Name: mariadb Version: 10.3.12 -Release: 14%{?with_debug:.debug}%{?dist} +Release: 15%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -229,6 +224,8 @@ BuildRequires: systemtap-sdt-devel # Bison SQL parser; needed also for wsrep API BuildRequires: bison bison-devel +%{?with_debug:BuildRequires: valgrind-devel} + # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -284,10 +281,7 @@ Suggests: %{name}-server%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?with_conflicts:Conflicts: community-mysql} -# obsoletion of mariadb-galera -Provides: mariadb-galera = %{sameevr} - -# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ @@ -309,14 +303,14 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -%endif # mysql_names +%endif %description libs The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. -%endif #clibrary +%endif # At least main config file /etc/my.cnf is shared for client and server part @@ -417,7 +411,6 @@ Recommends: %{name}-backup%{?_isa} = %{sameevr} %{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} %{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} %{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} -%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -563,16 +556,6 @@ Requires: sphinx libsphinxclient The Sphinx storage engine for MariaDB. %endif -%if %{with cassandra} -%package cassandra-engine -Summary: The Cassandra storage engine for MariaDB - EXPERIMENTAL VERSION -Requires: %{name}-server%{?_isa} = %{sameevr} -BuildRequires: cassandra thrift-devel - -%description cassandra-engine -The Cassandra storage engine for MariaDB. EXPERIMENTAL VERSION! -%endif - %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications @@ -765,7 +748,7 @@ if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] then echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" fi -%endif # PCRE +%endif %if %{without rocksdb} @@ -790,8 +773,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py %endif CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" # Override all optimization flags when making a debug build %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} @@ -854,7 +835,6 @@ export CFLAGS CXXFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ - -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ @@ -929,7 +909,7 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. # Rename sysusers and tmpfiles config files, they should be named after the software they belong to mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf -# remove SysV init script and a symlink to that, we pack our very own +# remove SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup @@ -941,7 +921,7 @@ rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif #pid +%endif # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir @@ -984,7 +964,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance -# Shipped as a standalona package in Fedora +# Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be @@ -1012,9 +992,6 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 -chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf - # Disable plugins %if %{with gssapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf @@ -1062,8 +1039,8 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_libdir}/libmariadb*.so unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so -%endif # clibrary -%endif # devel +%endif +%endif %if %{without client} rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ @@ -1082,6 +1059,7 @@ rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else %if 0%{?fedora} || 0%{?rhel} > 7 # Move the upstream file to the correct location +mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d mv %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif %endif @@ -1105,20 +1083,16 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi} %endif -%if %{without bench} -rm -r %{buildroot}%{_datadir}/sql-bench -%endif - %if %{without test} %if %{with embedded} rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* -%endif # embedded +%endif rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -%endif # test +%endif %if %{without galera} rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf @@ -1128,6 +1102,13 @@ rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif +%if %{without bench} +rm -r %{buildroot}%{_datadir}/sql-bench +%else +# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 +chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf +%endif + %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* %endif @@ -1199,16 +1180,6 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_scriptlets libs -%endif - -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_scriptlets embedded -%endif - %if %{with galera} %post server-galera # Do what README at support-files/policy/selinux/README and upstream page @@ -1291,8 +1262,8 @@ fi %if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif # clibrary -%endif # common +%endif +%endif %if %{with errmsg} %files errmsg @@ -1383,7 +1354,6 @@ fi %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} -%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} %if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so @@ -1525,12 +1495,6 @@ fi %{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif -%if %{with cassandra} -%files cassandra-engine -%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf -%{_libdir}/%{pkg_name}/plugin/ha_cassandra.so -%endif - %files server-utils # Perl utilities %{_bindir}/mysql_convert_table_format @@ -1604,6 +1568,9 @@ fi %endif %changelog +* Tue Jun 11 2019 Michal Schorm - 10.3.12-15 +- Remove Cassandra subpackage; it is no longer developed + * Thu Mar 21 2019 Michal Schorm - 10.3.12-14 - Fix building of TokuDB with Jemalloc 5 - Fix building with / without lz4