%bcond_with systemd %bcond_with python3 %bcond_without cmake %define mariadb_version 10.6.7 %if %{with python3} %global scons scons-3 %else %global scons scons %endif Summary: Synchronous multi-master wsrep provider (replication engine) Name: galera Version: 26.4.11 Release: 1%{?_dist_release}%{?with_systemd:.systemd} %global galera_api_version %(echo %{version} | cut -d . -f 1,2) Group: servers Vendor: Project Vine Distribution: Vine Linux License: GPLv2 URL: http://galeracluster.com/ # Actually, the truth is, we do use galera source tarball provided by MariaDB on # following URL (without macros): # https://mirror.vpsfree.cz/mariadb/mariadb-10.2.13/galera-25.3.23/src/galera-25.3.23.tar.gz Source0: https://downloads.mariadb.com/MariaDB/mariadb-%{mariadb_version}/galera-%{version}/src/%{name}-%{version}.tar.gz Source1: garbd.service Source2: garbd-wrapper Source3: garbd.init Patch0: galera-python3.patch BuildRequires: libboost-devel libboost-filesystem libboost-program-options BuildRequires: check-devel openssl-devel gcc-c++ asio-devel %if %{with cmake} BuildRequires: cmake ninja %else BuildRequires: scons %endif %if %{with systemd} BuildRequires: systemd %endif Requires: nmap Provides: galera(%{galera_api_version}) %if %{with systemd} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %else Requires(post): chkconfig Requires(preun): chkconfig initscripts %endif %description Galera is a fast synchronous multi-master wsrep provider (replication engine) for transactional databases and similar applications. For more information about wsrep API see http://launchpad.net/wsrep. For a description of Galera replication engine see http://www.codership.com. %debug_package %prep %setup -q %if ! %{with cmake} %if %{with python3} %patch0 -p1 %endif %endif %build %if %{with cmake} %global build_ldflags %(echo %{build_ldflags} | sed -e 's/-Wl,--as-needed//') %endif %{set_build_flags} # Workaround for version 26.4.7 export CXXFLAGS="$CXXFLAGS -Wno-error=format-extra-args" # ... and for 32 bit arches export CXXFLAGS="$CXXFLAGS -Wno-error=format" export CFLAGS="$CFLAGS -Wno-error=format-extra-args -Wno-error=format" # end of workaroound %if %{with cmake} %cmake \ -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_SKIP_RPATH:BOOL=ON %cmake_build %else %{scons} %{?_smp_mflags} strict_build_flags=0 %endif %install %if %{with systemd} install -Dpm644 %{SOURCE1} %{buildroot}%{_unitdir}/garbd.service install -Dpm755 %{SOURCE2} %{buildroot}%{_sbindir}/garbd-wrapper %else install -Dpm644 %{SOURCE3} %{buildroot}%{_initdir}/garbd %endif %if %{with cmake} %cmake_install pushd %{_vpath_builddir} mkdir -p %{buildroot}%{_libdir}/galera mv -f %{buildroot}/usr/lib/libgalera_smm.so %{buildroot}%{_libdir}/galera/ for f in \ galera/src/libgalera_smm_static.so galera/src/libgalera.so \ gcs/src/libgcs4garb.so gcs/src/libgcs.so \ gcache/src/libgcache.so \ gcomm/src/libgcomm.so \ %ifarch x86_64 galerautils/src/libgalerautils_hw_crc32c.so \ %endif galerautils/src/libgalerautilsxx.so galerautils/src/libgalerautils.so do install -Dpm755 $f %{buildroot}%{_libdir}/galera/ done popd mkdir -p %{buildroot}%{_sbindir} mv -f %{buildroot}%{_bindir}/* %{buildroot}%{_sbindir}/ mv -f %{buildroot}%{_datadir}/* %{buildroot}/usr/doc/ mv -f %{buildroot}/usr/man %{buildroot}%{_mandir} rm -rf rpmdoc mv -f %{buildroot}/usr/doc ./rpmdoc install -D -m 644 garb/files/garb.cnf %{buildroot}%{_sysconfdir}/sysconfig/garb mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d cat < %{buildroot}%{_sysconfdir}/ld.so.conf.d/galera.conf %{_libdir}/galera EOF %else install -D -m 755 garb/garbd %{buildroot}%{_sbindir}/garbd install -D -m 755 libgalera_smm.so %{buildroot}%{_libdir}/galera/libgalera_smm.so install -D -m 644 garb/files/garb.cnf %{buildroot}%{_sysconfdir}/sysconfig/garb install -D -m 644 COPYING %{buildroot}%{_docdir}/galera/COPYING install -D -m 644 asio/LICENSE_1_0.txt %{buildroot}%{_docdir}/galera/LICENSE.asio install -D -m 644 scripts/packages/README %{buildroot}%{_docdir}/galera/README install -D -m 644 scripts/packages/README-MySQL %{buildroot}%{_docdir}/galera/README-MySQL %endif %if %{with cmake} %check export LD_LIBRARY_PATH=%{buildroot}%{_libdir}/galera %ctest %endif %post %if %{with systemd} %systemd_post garbd.service %else /sbin/chkconfig --add garbd %endif %preun %if %{with systemd} %systemd_preun garbd.service %else if [ $1 = 0 -o -x /bin/systemctl ]; then /sbin/service garbd stop >/dev/null 2>/dev/null ||: /sbin/chkconfig --del garbd fi %endif %postun %if %{with systemd} %systemd_postun_with_restart garbd.service %endif %files %license rpmdoc/COPYING %license rpmdoc/LICENSE.asio %doc rpmdoc/AUTHORS rpmdoc/README rpmdoc/garb* %config(noreplace,missingok) %{_sysconfdir}/sysconfig/garb %{_sysconfdir}/ld.so.conf.d/galera.conf %dir %{_libdir}/galera %{_libdir}/galera/* %{_sbindir}/garbd %{_mandir}/man8/* %if %{with systemd} %{_sbindir}/garbd-wrapper %{_unitdir}/garbd.service %else %{_initdir}/garbd %endif %changelog * Sun Feb 13 2022 Tomohiro "Tomo-p" KATO 26.4.11-1 - new upstream release. * Sat Aug 07 2021 Tomohiro "Tomo-p" KATO 26.4.9-1 - new upstream release. * Sat May 08 2021 Tomohiro "Tomo-p" KATO 26.4.8-1 - new upstream release. - dropped ldconfig scriptlets. - switched buildsystem to cmake and ninja. * Tue Feb 23 2021 Tomohiro "Tomo-p" KATO 26.4.7-1 - new upstream release. * Sat Feb 20 2021 Tomohiro "Tomo-p" KATO 26.4.6-1 - new upstream release. * Wed Aug 12 2020 Tomohiro "Tomo-p" KATO 26.4.5-1 - new upstream release. * Thu May 14 2020 Tomohiro "Tomo-p" KATO 26.4.4-1 - new upstream release. * Sat Apr 25 2020 Tomohiro "Tomo-p" KATO 26.4.3-2 - rebuilt with boost-1.72.0. * Wed Nov 06 2019 Tomohiro "Tomo-p" KATO 26.4.3-1 - new upstream release. * Fri Aug 30 2019 Tomohiro "Tomo-p" KATO 26.4.2-1 - updated to 26.4.2 for MariaDB-10.4. * Sun May 05 2019 Tomohiro "Tomo-p" KATO 25.3.25-4 - initial build for Vine Linux. * Thu Jan 31 2019 Fedora Release Engineering - 25.3.25-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Jan 29 2019 Jonathan Wakely - 25.3.25-2 - Rebuilt for Boost 1.69 * Tue Jan 01 2019 Michal Schorm - 25.3.25-1 - Rebase to 25.3.25 * Mon Jul 16 2018 Honza Horak - 25.3.23-5 - Require asio also on rhel * Fri Jul 13 2018 Honza Horak - 25.3.23-4 - Add explicit gcc-c++ BR - Use python3-scons * Fri Jul 13 2018 Honza Horak - 25.3.23-3 - Do not require asio on rhel * Fri Jul 13 2018 Fedora Release Engineering - 25.3.23-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Fri Feb 16 2018 Michal Schorm - 25.3.23-1 - Update to 25.3.23 * Wed Feb 07 2018 Fedora Release Engineering - 25.3.22-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Nov 24 2017 Honza Horak - 25.3.22-1 - Update to 25.3.22 * Wed Aug 02 2017 Fedora Release Engineering - 25.3.16-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 25.3.16-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Jul 03 2017 Jonathan Wakely - 25.3.16-4 - Rebuilt for Boost 1.64 * Mon May 15 2017 Fedora Release Engineering - 25.3.16-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Sat Feb 18 2017 Jonathan Wakely - 25.3.16-2 - Use asio-devel instead of bundled asio library * Fri Feb 10 2017 Fedora Release Engineering - 25.3.16-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Jun 22 2016 Mike Bayer - 25.3.16-1 - Update to 25.3.16 * Wed Feb 03 2016 Fedora Release Engineering - 25.3.12-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Jan 15 2016 Jonathan Wakely - 25.3.12-3 - Rebuilt for Boost 1.60 * Wed Sep 30 2015 Marcin Juszkiewicz - 25.3.12-2 - Remove use of -mtune=native which breaks build on secondary architectures * Fri Sep 25 2015 Richard W.M. Jones - 25.3.12-1 - Update to 25.3.12. - Should fix the build on 32 bit ARM (RHBZ#1241164). - Remove ExcludeArch (should have read the BZ more closely). * Thu Aug 27 2015 Jonathan Wakely - 25.3.10-5 - Rebuilt for Boost 1.59 * Wed Jul 29 2015 Fedora Release Engineering - 25.3.10-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 * Wed Jul 22 2015 David Tardon - 25.3.10-3 - rebuild for Boost 1.58 * Wed Jul 08 2015 Ryan O'Hara - 25.3.10-2 - Disable ARM builds (#1241164, #1239516) * Mon Jul 06 2015 Ryan O'Hara - 25.3.10-1 - Update to version 25.3.10 * Wed Jun 17 2015 Fedora Release Engineering - 25.3.5-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Jan 26 2015 Petr Machata - 25.3.5-10 - Rebuild for boost 1.57.0 * Thu Nov 27 2014 Richard W.M. Jones - 25.3.5-9 - Add aarch64 support. * Sat Aug 16 2014 Fedora Release Engineering - 25.3.5-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 25.3.5-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri May 23 2014 Petr Machata - 25.3.5-6 - Rebuild for boost 1.55.0 * Wed Apr 30 2014 Dan HorĂ¡k - 25.3.5-5 - set ExclusiveArch * Thu Apr 24 2014 Ryan O'Hara - 25.3.5-4 - Use strict_build_flags=0 to avoid -Werror - Remove unnecessary clean section * Thu Apr 24 2014 Ryan O'Hara - 25.3.5-3 - Include galera directories in file list - Set CPPFLAGS to optflags * Wed Apr 23 2014 Ryan O'Hara - 25.3.5-2 - Fix client certificate verification (#1090604) * Thu Mar 27 2014 Ryan O'Hara - 25.3.5-1 - Update to version 25.3.5 * Mon Mar 24 2014 Ryan O'Hara - 25.3.3-2 - Add systemd service * Sun Mar 09 2014 Ryan O'Hara - 25.3.3-1 - Initial build