From 8631735a4660a747a484e33ffd50d8c46ec43323 Mon Sep 17 00:00:00 2001 From: Brian Stinson Date: Thu, 27 Apr 2023 18:12:00 -0500 Subject: [PATCH] resync Signed-off-by: Brian Stinson --- .gitignore | 15 +++- cmake_paths.patch | 34 ++++---- galera-python3.patch | 4 +- galera.spec | 201 ++++++++++++++++++++++++------------------- gating.yaml | 6 -- sources | 2 +- 6 files changed, 146 insertions(+), 116 deletions(-) delete mode 100644 gating.yaml diff --git a/.gitignore b/.gitignore index 8b5fed5..e7a5601 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,13 @@ -SOURCES/galera-26.4.6.tar.gz -/galera-26.4.6.tar.gz +/galera-25.3.5-src.tar.gz +/galera-3-25.3.10.tar.gz +/galera-3-25.3.12.tar.gz +/galera-3-25.3.16.tar.gz +/galera-25.3.22.tar.gz +/galera-25.3.23.tar.gz +/galera-25.3.26.tar.gz +/galera-25.3.28.tar.gz +/galera-25.3.29.tar.gz +/galera-25.3.31.tar.gz +/galera-25.3.32.tar.gz +/galera-25.3.34.tar.gz +/galera-25.3.35.tar.gz diff --git a/cmake_paths.patch b/cmake_paths.patch index ec4f06a..ba12300 100644 --- a/cmake_paths.patch +++ b/cmake_paths.patch @@ -1,18 +1,12 @@ -This patch has been offered upstream with slight typo fixes: - https://github.com/codership/galera/pull/614 -on 21/02/2022 - -#---------------------- - - 1) Documentation files ---- galera-26.4.11/CMakeLists.txt 2022-02-20 03:35:32.039968825 +0100 -+++ galera-26.4.11/CMakeLists.txt_patched 2022-02-20 03:34:57.710641631 +0100 -@@ -109,14 +109,19 @@ add_subdirectory(galera) +--- galera-26.4.8/CMakeLists.txt 2021-04-08 08:05:44.000000000 +0200 ++++ galera-26.4.8/CMakeLists.txt_patched 2021-06-10 01:40:26.886770832 +0200 +@@ -106,17 +106,23 @@ add_subdirectory(scripts/packages) add_subdirectory(wsrep/tests) - + ++ +# Make the intall destination for documentation files configurable +if(NOT DEFINED INSTALL_DOCDIR) + set(INSTALL_DOCDIR "doc" CACHE STRING "path to install documentaion to") @@ -20,17 +14,21 @@ on 21/02/2022 + if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD") install(FILES - ${PROJECT_SOURCE_DIR}/AUTHORS - ${PROJECT_SOURCE_DIR}/COPYING - ${PROJECT_SOURCE_DIR}/README + ${CMAKE_SOURCE_DIR}/AUTHORS + ${CMAKE_SOURCE_DIR}/COPYING + ${CMAKE_SOURCE_DIR}/README - DESTINATION doc) -+ DESTINATION ${INSTALL_DOCDIR} ) - install(FILES ${PROJECT_SOURCE_DIR}/asio/LICENSE_1_0.txt ++ DESTINATION ${INSTALL_DOCDIR}) + install(FILES ${CMAKE_SOURCE_DIR}/asio/LICENSE_1_0.txt - DESTINATION doc + DESTINATION ${INSTALL_DOCDIR} RENAME LICENSE.asio) + install(FILES ${CMAKE_SOURCE_DIR}/chromium/LICENSE +- DESTINATION doc ++ DESTINATION ${INSTALL_DOCDIR} + RENAME LICENSE.chromium) endif() - + 2) Configuration file @@ -90,7 +88,7 @@ on 21/02/2022 + endif() + install(FILES - ${PROJECT_SOURCE_DIR}/man/garbd.8 + ${CMAKE_SOURCE_DIR}/man/garbd.8 - DESTINATION man/man8) + DESTINATION ${INSTALL_MANPAGE}) + diff --git a/galera-python3.patch b/galera-python3.patch index 59bb4f1..0543fc4 100644 --- a/galera-python3.patch +++ b/galera-python3.patch @@ -2,8 +2,8 @@ Upstream PR: https://github.com/codership/galera/pull/512 diff -up galera-25.3.23/SConstruct.bak galera-25.3.23/SConstruct ---- galera-25.3.23/SConstruct.bak 2018-07-13 15:14:49.059835554 +0200 -+++ galera-25.3.23/SConstruct 2018-07-13 15:19:07.717967794 +0200 +--- galera-25.3.26/SConstruct.bak 2018-07-13 15:14:49.059835554 +0200 ++++ galera-25.3.26/SConstruct 2018-07-13 15:19:07.717967794 +0200 @@ -194,8 +194,8 @@ if link != 'default': env.Replace(LINK = link) diff --git a/galera.spec b/galera.spec index 6858dd0..eb700d8 100644 --- a/galera.spec +++ b/galera.spec @@ -1,6 +1,6 @@ Name: galera -Version: 26.4.6 -Release: 2%{?dist} +Version: 25.3.35 +Release: 1%{?dist} Summary: Synchronous multi-master wsrep provider (replication engine) License: GPLv2 @@ -8,19 +8,24 @@ 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.4.11/galera-26.4.3/src/galera-26.4.3.tar.gz +# https://archive.mariadb.org/mariadb-10.3.32/galera-25.3.34/src/galera-25.3.34.tar.gz Source0: http://releases.galeracluster.com/source/%{name}-%{version}.tar.gz Source1: garbd.service Source2: garbd-wrapper -Patch0: galera-python3.patch +Patch0: cmake_paths.patch -BuildRequires: boost-devel check-devel openssl-devel python3-scons systemd gcc-c++ asio-devel +BuildRequires: boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel +Requires(pre): /usr/sbin/useradd Requires: nmap-ncat +Requires: procps-ng -%{?systemd_requires} + +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd %description @@ -37,38 +42,77 @@ replication engine see http://www.codership.com. %build %{set_build_flags} -# Print help: -# scons-3 --help -# scons-3 -H +%cmake . \ + -DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_RULE_MESSAGES:BOOL=OFF \ + \ + -DBUILD_SHARED_LIBS:BOOL=OFF \ + \ + -DINSTALL_DOCDIR="share/doc/%{name}/" \ + -DINSTALL_GARBD="sbin" \ + -DINSTALL_GARBD-SYSTEMD="share/doc/galera" \ + -DINSTALL_CONFIGURATION="/etc/sysconfig/" \ + -DINSTALL_SYSTEMD_SERVICE="share/doc/galera" \ + -DINSTALL_LIBDIR="%{_lib}/galera" \ + -DINSTALL_MANPAGE="share/man/man8" -# Possibly usefull arguments: -# --debug=findlibs -# --debug=stacktrace -# --warn=all -# debug=0 +cmake -B %_vpath_builddir -LAH + +%cmake_build -# Workaround for FTBFS on F33+ -# https://bugzilla.redhat.com/show_bug.cgi?id=1863592 -# Reported upstream: -# https://github.com/codership/galera/issues/577 -# Update for 26.4.6: The strict_build_flags still FTBFS on armv7hl and i686 -%if 0%{?fedora} >= 33 || 0%{?rhel} >= 8 -scons-3 %{?_smp_mflags} strict_build_flags=0 -%else -scons-3 %{?_smp_mflags} strict_build_flags=1 -%endif %install +%cmake_install + +# PATCH 1: +# Change the Systemd service name from "garb" to "garbd" +# +# The Galera upstream uses name "garb" for the service while providing "garbd" alias +# Fedora downstream packaging historically used "garbd" name for the service. +# +# Let's stick with the Fedora legacy naming, AND provide an alias to the Galera upstream name +mv %{buildroot}/usr/share/doc/galera/garb.service %{buildroot}/usr/share/doc/galera/garbd.service +sed -i 's/Alias=garbd.service/Alias=garb.service/g' %{buildroot}/usr/share/doc/galera/garbd.service + +# PATCH 2: +# Fix the hardcoded paths +# In the Systemd service file: +sed -i 's;/usr/bin/garb-systemd;/usr/sbin/garb-systemd;g' %{buildroot}/usr/share/doc/galera/garbd.service +# In the wrapper script: +sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/share/doc/galera/garb-systemd + +# PATCH 4: +# Use a dedicated user for the Systemd service +# To fix an security issue reported by Systemd: +# +## systemd[1]: /usr/lib/systemd/system/garb.service:14: Special user nobody configured, this is not safe! +## Subject: Special user nobody configured, this is not safe! +## Defined-By: systemd +## Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel +## Documentation: https://systemd.io/UIDS-GIDS +## +## The unit garb.service is configured to use User=nobody. +## +## This is not safe. The nobody user's main purpose on Linux-based +## operating systems is to be the owner of files that otherwise cannot be mapped +## to any local user. It's used by the NFS client and Linux user namespacing, +## among others. By running a unit's processes under the identity of this user +## they might possibly get read and even write access to such files that cannot +## otherwise be mapped. +## +## It is strongly recommended to avoid running services under this user identity, +## in particular on systems using NFS or running containers. Allocate a user ID +## specific to this service, either statically via systemd-sysusers or dynamically +## via the DynamicUser= service setting. +sed -i 's/User=nobody/User=garb/g' %{buildroot}/usr/share/doc/galera/garbd.service + +# Install old service and wrapper to maintain compatibility install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/garbd.service install -D -m 755 %{SOURCE2} %{buildroot}%{_sbindir}/garbd-wrapper -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 +%pre +/usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || : %post /sbin/ldconfig @@ -84,81 +128,64 @@ install -D -m 644 scripts/packages/README-MySQL %{buildroot}%{_docdir}/galera/RE %files %config(noreplace,missingok) %{_sysconfdir}/sysconfig/garb + %dir %{_docdir}/galera %dir %{_libdir}/galera + %{_sbindir}/garbd %{_sbindir}/garbd-wrapper + +# PATCH 3: +# Make sure the wrapper script is executable +%attr(755, -, -) %{_docdir}/galera/garb-systemd + +%{_mandir}/man8/garbd.8* + %{_unitdir}/garbd.service +%{_docdir}/galera/garbd.service + %{_libdir}/galera/libgalera_smm.so + +%doc %{_docdir}/galera/AUTHORS %doc %{_docdir}/galera/COPYING %doc %{_docdir}/galera/LICENSE.asio +%doc %{_docdir}/galera/LICENSE.chromium %doc %{_docdir}/galera/README -%doc %{_docdir}/galera/README-MySQL +#%doc %{_docdir}/galera/README-MySQL %changelog -* Mon Dec 07 2020 Honza Horak - 26.4.6-2 -- Do not use scrict flags on RHEL-8, it does not find check.h that way - Related: #1855781 +* Fri Jul 01 2022 Zuzana Miklankova - 25.3.35-1 +- Rebase to 25.3.35 -* Wed Nov 04 2020 Michal Schorm - 26.4.6-1 -- Rebase to 26.4.6 +* Thu Feb 03 2022 Lukas Javorsky - 25.3.34-4 +- Explicitly require the 'procps-ng' package +- Otherwise it will not require it in the lightweight systems (e.g. containers) +- and Galera won't work properly -* Thu Sep 17 2020 Michal Schorm - 26.4.5-2 -- Extend the workaround also to ELN +* Fri Jan 28 2022 Lukas Javorsky - 25.3.34-3 +- Use downstream garbd-wrapper and garbd.service to ensure compatibility +- Add upstream versions of garbd-wrapper (called garbd-systemd) and garbd.service + in case user want's to use them -* Wed Sep 16 2020 Michal Schorm - 26.4.5-1 -- Rebase to 26.4.5 +* Wed Jan 19 2022 Michal Schorm - 25.3.34-2 +- Switch from SCONS build tooling to CMAKE build tooling -* Wed Sep 16 2020 Michal Schorm - 26.4.4-5 -- Apply workaround for FTBFS on F33+ +* Wed Jan 19 2022 Zuzana Miklankova - 25.3.34-1 +- Rebase to 25.3.34 + Resolves: #2042298 + +* Tue Mar 23 2021 Michal Schorm - 25.3.32-1 +- Rebase to 25.3.32 -* Sat Aug 01 2020 Fedora Release Engineering - 26.4.4-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* Tue Nov 10 2020 Michal Schorm - 25.3.31-1 +- Rebase to 25.3.31 + Resolves: #1731289, #1856812 -* Mon Jul 27 2020 Fedora Release Engineering - 26.4.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jun 08 2020 Michal Schorm - 26.4.4-2 -- Second rebuild for Boost 1.73 - -* Fri Jun 05 2020 Michal Schorm - 26.4.4-1 -- Rebase to 26.4.4 - Resolves: rhbz#1546787 - -* Thu May 28 2020 Jonathan Wakely - 26.4.3-4 -- Rebuilt for Boost 1.73 - -* Tue Jan 28 2020 Fedora Release Engineering - 26.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jan 18 2020 Michal Schorm - 26.4.3-2 -- Rebase to 26.4.3 - -* Wed Nov 06 2019 Michal Schorm - 25.3.28-1 -- Rebase to 25.3.28 - -* Thu Aug 01 2019 Michal Schorm - 25.3.26-3 -- Fix for #1735233 and #1737108 - -* Thu Jul 25 2019 Fedora Release Engineering - 25.3.26-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Jul 19 2019 Michal Schorm - 25.3.26-1 +* Thu Jul 18 2019 Michal Schorm - 25.3.26-1 - Rebase to 25.3.26 - -* Fri Jul 19 2019 Michal Schorm - 25.3.25-4 -- Use macro for setting up the compiler flags - -* 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 + Resolves: #1687879 + Resolves: #1657220 * Mon Jul 16 2018 Honza Horak - 25.3.23-5 - Require asio also on rhel diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index c190bde..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-9 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/sources b/sources index 3933c95..fd455d8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (galera-26.4.6.tar.gz) = 512b6f226ae0a4da9b02df6edd22a41eb126b89b1ef5757c25c5815e4c9fca6ae5b7297a6c27ba1a14e88ccc70a5f513c18c750e3fa46f79b221bb77e269729e +SHA512 (galera-25.3.35.tar.gz) = ca7d7616182f691be3aa54f8f94d792e79079af8c5e5501791e37932e6641409f48cb53af83d9107057b458ded47b2cecb061017f835b094f50189d23d9bcefc