diff --git a/greatsql.spec b/greatsql.spec index b330e46a6ff917e7113d50fe7a8516e1b6e40eae..95f428b8aad2b9163d62fb52a6824cbad6ef65ef 100644 --- a/greatsql.spec +++ b/greatsql.spec @@ -32,7 +32,7 @@ %global greatsql_version 27 %global revision aa66a385910 %global tokudb_backup_version %{mysql_version}-%{greatsql_version} -%global rpm_release 3 +%global rpm_release 4 %global release %{greatsql_version}.%{rpm_release}%{?dist} @@ -110,9 +110,7 @@ SOURCE10: https://archives.boost.io/release/1.77.0/source/boost_1_77_0.tar SOURCE11: mysqld.cnf SOURCE12: mysql_config.sh Patch0: mysql-5.7-sharedlib-rename.patch -%ifarch riscv64 Patch1: add-riscv64-support.patch -%endif BuildRequires: cmake >= 2.8.2 BuildRequires: make BuildRequires: gcc @@ -208,8 +206,12 @@ BuildRequires: zlib BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +Conflicts: community-mysql mysql-community +Conflicts: mariadb +Conflicts: Percona-Server + # For rpm => 4.9 only: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%global __requires_exclude ^perl\\((GD|hostnames|lib::mtr|lib::v1|mtr_|My::|Lmo|Lmo::Meta|Lmo::Object|Lmo::Types|Lmo::Utils|Percona::Toolkit|Quoter|Transformers) +%global __requires_exclude ^perl\\(GD|hostnames|lib::mtr|lib::v1|mtr_|My::|Lmo|Lmo::Meta|Lmo::Object|Lmo::Types|Lmo::Utils|Percona::Toolkit|Quoter|Transformers) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so|%{_bindir}/mysql.*|%{_sbindir}/mysqld.*)$ %global _privatelibs lib(protobuf|mysqlclient|mysqlharness|mysqlrouter|mysqlclient|daemon|fnv|memcached|murmur|test)*\\.so* @@ -234,8 +236,9 @@ Requires(pre): greatsql-shared Requires: greatsql-client Requires: greatsql-icu-data-files Requires: openssl -Conflicts: Percona-SQL-server-50 Percona-Server-server-51 Percona-Server-server-55 Percona-Server-server-56 Percona-Server-server-57 - +Conflicts: mysql-server mysql-community-server +Conflicts: mariadb-server mariadb-galera-server mariadb-connector-c-config +Conflicts: Percona-SQL-server-50 Percona-Server-server-51 Percona-Server-server-55 Percona-Server-server-56 Percona-Server-server-57 Percona-Server-server %if 0%{?systemd} Requires(post): systemd Requires(preun): systemd @@ -246,8 +249,6 @@ Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service %endif -Conflicts: mariadb-connector-c-config - %description -n greatsql-server GreatSQL: a high performance, highly reliable, easy to use, and high security database that can be used to replace MySQL or Percona Server. @@ -257,7 +258,9 @@ For a description of GreatSQL see https://greatsql.cn Summary: GreatSQL - Client Group: Applications/Databases Requires: greatsql-shared -Conflicts: Percona-SQL-client-50 Percona-Server-client-51 Percona-Server-client-55 Percona-Server-client-56 Percona-Server-client-57 +Conflicts: mysql-client mysql-community-client +Conflicts: mariadb-client +Conflicts: Percona-SQL-client-50 Percona-Server-client-51 Percona-Server-client-55 Percona-Server-client-56 Percona-Server-client-57 Percona-Server-client %description -n greatsql-client This package contains the standard GreatSQL client and administration tools. @@ -296,10 +299,9 @@ Requires: perl(Sys::Hostname) Requires: perl(Time::HiRes) Requires: perl(Time::localtime) Requires(pre): greatsql-shared greatsql-client greatsql-server -Conflicts: MySQL-test -Conflicts: mysql-test +Conflicts: mysql-test mysql-community-test Conflicts: mariadb-test -Conflicts: Percona-SQL-test-50 Percona-Server-test-51 Percona-Server-test-55 Percona-Server-test-56 Percona-Server-test-57 +Conflicts: Percona-SQL-test-50 Percona-Server-test-51 Percona-Server-test-55 Percona-Server-test-56 Percona-Server-test-57 Percona-Server-test %description -n greatsql-test This package contains the GreatSQL regression test suite. @@ -309,9 +311,9 @@ For a description of GreatSQL see https://greatsql.cn %package -n greatsql-devel Summary: GreatSQL - Development header files and libraries Group: Applications/Databases -Conflicts: Percona-SQL-devel-50 Percona-Server-devel-51 Percona-Server-devel-55 Percona-Server-devel-56 Percona-Server-devel-57 -Conflicts: mariadb-connector-c-devel -Conflicts: mariadb-devel +Conflicts: mysql-devel mysql-community-devel +Conflicts: mariadb-devel mariadb-connector-c-devel +Conflicts: Percona-SQL-devel-50 Percona-Server-devel-51 Percona-Server-devel-55 Percona-Server-devel-56 Percona-Server-devel-57 Percona-Server-devel %description -n greatsql-devel This package contains the development header files and libraries necessary @@ -322,7 +324,9 @@ For a description of GreatSQL see https://greatsql.cn %package -n greatsql-shared Summary: GreatSQL - Shared libraries Group: Applications/Databases -Conflicts: mysql-libs < %{version}-%{release} +Conflicts: mysql-libs mysql-community-libs mysql-libs < %{version}-%{release} +Conflicts: mariadb-libs +Conflicts: Percona-Server-shared-51 Percona-Server-shared-55 Percona-Server-shared-55 Percona-Server-shared-56 Percona-Server-shared-57 Percona-Server-shared %description -n greatsql-shared This package contains the shared libraries (*.so*) which certain languages @@ -330,24 +334,6 @@ and applications need to dynamically load and use GreatSQL. For a description of GreatSQL see https://greatsql.cn -%if 0%{?compatlib} -%package -n greatsql-shared-compat -Summary: Shared compat libraries for GreatSQL %{compatver}-%{percona_compatver} database client applications -Group: Applications/Databases - -Conflicts: mysql-libs - -Conflicts: Percona-Server-shared-51 -Conflicts: Percona-Server-shared-55 -Conflicts: Percona-Server-shared-55 -Conflicts: Percona-Server-shared-56 -Conflicts: Percona-Server-shared-57 - -%description -n greatsql-shared-compat -This package contains the shared compat libraries for GreatSQL %{compatver}-%{percona_compatver} client -applications. -%endif - %if 0%{?tokudb} %package -n greatsql-tokudb Summary: GreatSQL - TokuDB package @@ -356,6 +342,7 @@ Requires: greatsql-server = %{version}-%{release} Requires: greatsql-shared = %{version}-%{release} Requires: greatsql-client = %{version}-%{release} Requires: jemalloc >= 3.3.0 +Conflicts: Percona-server-tokudb %description -n greatsql-tokudb This package contains the TokuDB plugin for GreatSQL %{version}-%{release} @@ -368,6 +355,7 @@ Group: Applications/Databases Requires: greatsql-server = %{version}-%{release} Requires: greatsql-shared = %{version}-%{release} Requires: greatsql-client = %{version}-%{release} +Conflicts: Percona-server-rocksdb %description -n greatsql-rocksdb This package contains the RocksDB plugin for GreatSQL %{version}-%{release} @@ -380,6 +368,8 @@ Summary: GreatSQL MySQL Router Group: Applications/Databases Provides: greatsql-mysql-router = %{version}-%{release} Obsoletes: greatsql-mysql-router < %{version}-%{release} +Conflicts: mysql-router mysql-router-community +Conflicts: percona-mysql-router %description -n greatsql-mysql-router The GreatSQL MySQL Router software delivers a fast, multi-threaded way of @@ -392,6 +382,7 @@ Summary: Development header files and libraries for GreatSQL MySQL Router Group: Applications/Databases Provides: greatsql-mysql-router-devel = %{version}-%{release} Conflicts: mysql-router-devel +Conflicts: percona-mysql-router-devel %description -n greatsql-mysql-router-devel This package contains the development header files and libraries @@ -399,16 +390,6 @@ necessary to develop GreatSQL MySQL Router applications. For a description of GreatSQL see https://greatsql.cn -%package -n greatsql-mysql-config -Summary: GreatSQL config -Provides: greatsql-mysql-config = %{version}-%{release} -Conflicts: mysql-config - -%description -n greatsql-mysql-config -This package contains my.cnf for GreatSQL. - -For a description of GreatSQL see https://greatsql.cn - %package -n greatsql-icu-data-files Summary: GreatSQL packaging of ICU data files @@ -421,9 +402,7 @@ For a description of GreatSQL see https://greatsql.cn %setup -q -T -a 0 -a 10 -c -n %{src_dir} pushd %{src_dir} %patch -P0 -p0 -%ifarch riscv64 %patch -P1 -p1 -%endif cp %{SOURCE11} scripts %build @@ -557,9 +536,6 @@ install -D -p -m 0755 packaging/rpm-common/mysqlrouter.init %{buildroot}%{_sysco %endif install -D -p -m 0644 packaging/rpm-common/mysqlrouter.conf %{buildroot}%{_sysconfdir}/mysqlrouter/mysqlrouter.conf -# set rpath for plugin to use private/libfido2.so -#patchelf --debug --set-rpath '$ORIGIN/../private' %{buildroot}/%{_libdir}/mysql/plugin/authentication_fido.so - # Remove files pages we explicitly do not want to package rm -rf %{buildroot}%{_infodir}/mysql.info* rm -rf %{buildroot}%{_datadir}/greatsql/mysql.server @@ -573,17 +549,6 @@ rm -rf %{buildroot}/usr/include/kmip.h rm -rf %{buildroot}/usr/include/kmippp.h rm -rf %{buildroot}/usr/lib/libkmip.a rm -rf %{buildroot}/usr/lib/libkmippp.a -#%if 0%{?tokudb} -# rm -f %{buildroot}%{_prefix}/README.md -# rm -f %{buildroot}%{_prefix}/COPYING.GPLv2 -# rm -f %{buildroot}%{_prefix}/PATENTS -#%endif - -# Remove upcoming man pages, to avoid breakage when they materialize -# Keep this comment as a placeholder for future cases -# rm -f %{buildroot}%{_mandir}/man1/.1 - -# Remove removed manpages here until they are removed from the docs repo %check %if 0%{?runselftest} @@ -629,7 +594,7 @@ datadir=$(/usr/bin/my_print_defaults server mysqld | grep '^--datadir=' | sed -n if [ ! -e /var/log/mysqld.log ]; then /usr/bin/install -m0640 -omysql -gmysql /dev/null /var/log/mysqld.log fi -#/bin/touch /var/log/mysqld.log >/dev/null 2>&1 || : + %if 0%{?systemd} %systemd_post mysqld.service if [ $1 == 1 ]; then @@ -706,17 +671,6 @@ fi %postun -n greatsql-shared -#%if 0%{?tokudb} -#%post -n greatsql-tokudb -#if [ $1 -eq 1 ] ; then -# echo -e "\n\n * This release of GreatSQL is distributed with TokuDB storage engine." -# echo -e " * Run the following script to enable the TokuDB storage engine in Percona Server:\n" -# echo -e "\tps-admin --enable-tokudb -u -p[mysql_admin_pass] [-S ] [-h -P ]\n" -# echo -e " * See http://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_installation.html for more installation details\n" -# echo -e " * See http://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_intro.html for an introduction to TokuDB\n\n" -#fi -#%endif -# %if 0%{?rocksdb} %post -n greatsql-rocksdb if [ $1 -eq 1 ] ; then @@ -773,18 +727,10 @@ fi %attr(644, root, root) %{_mandir}/man1/myisamlog.1* %attr(644, root, root) %{_mandir}/man1/myisampack.1* %attr(644, root, root) %{_mandir}/man8/mysqld.8* -#%if 0%{?systemd} -#%exclude %{_mandir}/man1/mysqld_multi.1* -#%exclude %{_mandir}/man1/mysqld_safe.1* -#%else -#%attr(644, root, root) %{_mandir}/man1/mysqld_multi.1* -#%attr(644, root, root) %{_mandir}/man1/mysqld_safe.1* -#%endif %attr(644, root, root) %{_mandir}/man1/mysqldumpslow.1* %attr(644, root, root) %{_mandir}/man1/mysql_secure_installation.1* %attr(644, root, root) %{_mandir}/man1/mysql_upgrade.1* %attr(644, root, root) %{_mandir}/man1/mysqlman.1* -#%attr(644, root, root) %{_mandir}/man1/mysql.server.1* %attr(644, root, root) %{_mandir}/man1/mysql_tzinfo_to_sql.1* %attr(644, root, root) %{_mandir}/man1/perror.1* %attr(644, root, root) %{_mandir}/man1/mysql_ssl_rsa_setup.1* @@ -895,31 +841,14 @@ fi # Percona plugins %attr(755, root, root) %{_libdir}/mysql/plugin/audit_log.so %attr(755, root, root) %{_libdir}/mysql/plugin/audit_login_messages.so -#%attr(644, root, root) %{_datadir}/mysql-*/audit_log_filter_linux_install.sql -#%attr(755, root, root) %{_libdir}/mysql/plugin/authentication_pam.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/keyring_okv.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/keyring_encrypted_file.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/thread_pool.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/openssl_udf.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/firewall.so -#%attr(644, root, root) %{_datadir}/mysql-*/linux_install_firewall.sql -#%attr(755, root, root) %{_libdir}/mysql/plugin/scalability_metrics.so %attr(755, root, root) %{_libdir}/mysql/plugin/auth_pam.so %attr(755, root, root) %{_libdir}/mysql/plugin/auth_pam_compat.so %attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.* %attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.* %attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.* %attr(755, root, root) %{_libdir}/mysql/plugin/dialog.so -#%attr(755, root, root) %{_libdir}/mysql/plugin/query_response_time.so %attr(755, root, root) %{_libdir}/mysql/plugin/keyring_vault.so -# -#%attr(644, root, root) %{_datadir}/greatsql/fill_help_tables.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_sys_schema.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_system_tables.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_system_tables_data.sql -#%attr(644, root, root) %{_datadir}/greatsql/mysql_test_data_timezone.sql %attr(644, root, root) %{_datadir}/greatsql/mysql-log-rotate -#%attr(644, root, root) %{_datadir}/greatsql/mysql_security_commands.sql %attr(644, root, root) %{_datadir}/greatsql/dictionary.txt %attr(644, root, root) %{_datadir}/greatsql/innodb_memcached_config.sql %attr(644, root, root) %{_datadir}/greatsql/install_rewriter.sql @@ -968,7 +897,6 @@ fi %attr(755, root, root) %{_datadir}/greatsql/spanish/ %attr(755, root, root) %{_datadir}/greatsql/swedish/ %attr(755, root, root) %{_datadir}/greatsql/ukrainian/ -#%attr(755, root, root) %{_datadir}/greatsql/mysql_system_users.sql %files -n greatsql-client %defattr(-, root, root, -) @@ -1021,16 +949,6 @@ fi %attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf %{_libdir}/mysql/lib%{shared_lib_pri_name}.so.21* -#%if 0%{?compatlib} -#%files -n greatsql-shared-compat -#%defattr(-, root, root, -) -#%doc %{?license_files_server} -#%dir %attr(755, root, root) %{_libdir}/mysql -#%attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf -#%{_libdir}/mysql/libmysqlclient.so.%{compatlib}.* -#%{_libdir}/mysql/libmysqlclient_r.so.%{compatlib}.* -#%endif - %files -n greatsql-test %defattr(-, root, root, -) %doc %{?license_files_server} @@ -1114,17 +1032,6 @@ fi %attr(755, root, root) %{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so %attr(755, root, root) %{_libdir}/mysql/plugin/libtest_sql_reset_connection.so -#%if 0%{?tokudb} -#%files -n percona-server-tokudb -#%attr(-, root, root) -#%{_bindir}/tokuftdump -#%{_libdir}/mysql/plugin/ha_tokudb.so -#%attr(755, root, root) %{_bindir}/tokuft_logprint -#%attr(755, root, root) %{_libdir}/mysql/plugin/tokudb_backup.so -#%attr(755, root, root) %{_libdir}/mysql/libHotBackup.so -#%{_includedir}/backup.h -#%endif - %if 0%{?rocksdb} %files -n greatsql-rocksdb %attr(-, root, root) @@ -1173,6 +1080,10 @@ fi %{_libdir}/mysql/private/icudt69l/brkitr %changelog +* Tue Apr 1 2025 GreatSQL - 8.0.32-27.4 +- Remove greatsql-mysql-config, greatsql-shared-compat +- Clearly declare the conflicts list + * Fri Mar 28 2025 Funda Wang - 8.0.32-27.3 - fix requires_exclude