Compare commits

...

1 Commits

Author SHA1 Message Date
AlmaLinux RelEng Bot
084f9a0331 import CS galera-26.4.25-1.el10 2026-05-19 15:07:30 -04:00
11 changed files with 501 additions and 392 deletions

View File

@ -1 +0,0 @@
5146c0d2a899cefaf537925d52382069d007b973 SOURCES/galera-25.3.37.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/galera-25.3.37.tar.gz
galera-26.4.25.tar.gz

View File

@ -1,16 +0,0 @@
This is an upstream patch for https://github.com/codership/galera/pull/617
"remove duplicate va_end call" that originates from BZ #2051849 covscan
results. The upstream has not addressed the issue for over a year so this
is the reason to cover it as separate patch here.
--- galera-25.3.37/galerautils/src/gu_dbug.c 2022-05-31 17:05:23.000000000 +0200
+++ ../../galera-25.3.37/galerautils/src/gu_dbug.c 2023-07-10 17:09:58.969599380 +0200
@@ -1040,7 +1040,6 @@ _gu_db_doprnt_(const char *format, ...)
}
(void) fprintf(_gu_db_fp_, "%s: ", state->u_keyword);
(void) vfprintf(_gu_db_fp_, format, args);
- va_end(args);
(void) fputc('\n', _gu_db_fp_);
dbug_flush(state);
errno = save_errno;

View File

@ -1,38 +0,0 @@
#!/usr/bin/sh
# This script is simple wrapper around garbd, that parses startup configuration.
# Its main purpose is to bridge the differences between initscript and systemd unit file.
CONFIG_FILE=/etc/sysconfig/garb
source $CONFIG_FILE
# Check that node addresses and group name are configured
if [ -z "$GALERA_NODES" ]; then
echo "List of GALERA_NODES is not configured" >&2
exit 1
fi
if [ -z "$GALERA_GROUP" ]; then
echo "GALERA_GROUP name is not configured" >&2
exit 1
fi
GALERA_PORT=${GALERA_PORT:-4567}
# Find a working node
for ADDRESS in ${GALERA_NODES} 0; do
HOST=$(echo $ADDRESS | cut -d \: -f 1)
PORT=$(echo $ADDRESS | cut -s -d \: -f 2)
PORT=${PORT:-$GALERA_PORT}
ncat --send-only --recv-only $HOST $PORT >/dev/null && break
done
if [ ${ADDRESS} == "0" ]; then
echo "None of the nodes in GALERA_NODES is accessible" >&2
exit 1
fi
OPTIONS="-a gcomm://$ADDRESS"
[ -n "$GALERA_GROUP" ] && OPTIONS="$OPTIONS -g $GALERA_GROUP"
[ -n "$GALERA_OPTIONS" ] && OPTIONS="$OPTIONS -o $GALERA_OPTIONS"
[ -n "$LOG_FILE" ] && OPTIONS="$OPTIONS -l $LOG_FILE"
exec /usr/sbin/garbd $OPTIONS

View File

@ -1,10 +0,0 @@
[Unit]
Description=Galera Arbitrator Daemon
Documentation=http://www.codership.com/wiki/doku.php?id=galera_arbitrator
[Service]
ExecStart=/usr/sbin/garbd-wrapper
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@ -1,306 +0,0 @@
Name: galera
Version: 25.3.37
Release: 1%{?dist}
Summary: Synchronous multi-master wsrep provider (replication engine)
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://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: cmake_paths.patch
Patch1: galera-va_end.patch
BuildRequires: boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel
Requires(pre): /usr/sbin/useradd
Requires: nmap-ncat
Requires: procps-ng
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%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.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%{set_build_flags}
%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"
cmake -B %_vpath_builddir -LAH
%cmake_build
%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
%pre
/usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || :
%post
/sbin/ldconfig
%systemd_post garbd.service
%preun
%systemd_preun garbd.service
%postun
/sbin/ldconfig
%systemd_postun_with_restart garbd.service
%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
%changelog
* Tue Jul 04 2023 Anton Bobrov <abobrov@redhat.com> - 25.3.37-1
- Rebase to 25.3.37
* Fri Jul 01 2022 Zuzana Miklankova <zmiklank@redhat.com> - 25.3.35-1
- Rebase to 25.3.35
* Thu Feb 03 2022 Lukas Javorsky <ljavorsk@redhat.com> - 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
* Fri Jan 28 2022 Lukas Javorsky <ljavorsk@redhat.com> - 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 Jan 19 2022 Michal Schorm <mschorm@redhat.com> - 25.3.34-2
- Switch from SCONS build tooling to CMAKE build tooling
* Wed Jan 19 2022 Zuzana Miklankova <zmiklank@redhat.com> - 25.3.34-1
- Rebase to 25.3.34
Resolves: #2042298
* Tue Mar 23 2021 Michal Schorm <mschorm@redhat.com> - 25.3.32-1
- Rebase to 25.3.32
* Tue Nov 10 2020 Michal Schorm <mschorm@redhat.com> - 25.3.31-1
- Rebase to 25.3.31
Resolves: #1731289, #1856812
* Thu Jul 18 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-1
- Rebase to 25.3.26
Resolves: #1687879
Resolves: #1657220
* Mon Jul 16 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-5
- Require asio also on rhel
* Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-4
- Add explicit gcc-c++ BR
- Use python3-scons
* Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-3
- Do not require asio on rhel
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 16 2018 Michal Schorm <mschorm@redhat.com> - 25.3.23-1
- Update to 25.3.23
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Nov 24 2017 Honza Horak <hhorak@redhat.com> - 25.3.22-1
- Update to 25.3.22
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-4
- Rebuilt for Boost 1.64
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Sat Feb 18 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-2
- Use asio-devel instead of bundled asio library
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jun 22 2016 Mike Bayer <mbayer@redhat.com> - 25.3.16-1
- Update to 25.3.16
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 25.3.12-3
- Rebuilt for Boost 1.60
* Wed Sep 30 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 25.3.12-2
- Remove use of -mtune=native which breaks build on secondary architectures
* Fri Sep 25 2015 Richard W.M. Jones <rjones@redhat.com> - 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 <jwakely@redhat.com> - 25.3.10-5
- Rebuilt for Boost 1.59
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.10-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 25.3.10-3
- rebuild for Boost 1.58
* Wed Jul 08 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-2
- Disable ARM builds (#1241164, #1239516)
* Mon Jul 06 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-1
- Update to version 25.3.10
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 25.3.5-10
- Rebuild for boost 1.57.0
* Thu Nov 27 2014 Richard W.M. Jones <rjones@redhat.com> - 25.3.5-9
- Add aarch64 support.
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 25.3.5-6
- Rebuild for boost 1.55.0
* Wed Apr 30 2014 Dan Horák <dan[at]danny.cz> - 25.3.5-5
- set ExclusiveArch
* Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-4
- Use strict_build_flags=0 to avoid -Werror
- Remove unnecessary clean section
* Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-3
- Include galera directories in file list
- Set CPPFLAGS to optflags
* Wed Apr 23 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-2
- Fix client certificate verification (#1090604)
* Thu Mar 27 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-1
- Update to version 25.3.5
* Mon Mar 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-2
- Add systemd service
* Sun Mar 09 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-1
- Initial build

View File

@ -1,12 +1,18 @@
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.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 @@
--- 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)
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")
@ -14,32 +20,28 @@
+
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD")
install(FILES
${CMAKE_SOURCE_DIR}/AUTHORS
${CMAKE_SOURCE_DIR}/COPYING
${CMAKE_SOURCE_DIR}/README
${PROJECT_SOURCE_DIR}/AUTHORS
${PROJECT_SOURCE_DIR}/COPYING
${PROJECT_SOURCE_DIR}/README
- DESTINATION doc)
+ DESTINATION ${INSTALL_DOCDIR})
install(FILES ${CMAKE_SOURCE_DIR}/asio/LICENSE_1_0.txt
+ DESTINATION ${INSTALL_DOCDIR} )
install(FILES ${PROJECT_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
3) Executable files
4) Systemd service file
--- galera-26.4.8/garb/CMakeLists.txt 2021-06-10 03:54:55.482520883 +0200
+++ galera-26.4.8/garb/CMakeLists.txt_patched 2021-06-10 03:54:41.070274710 +0200
@@ -31,14 +31,51 @@ target_compile_options(garbd
--- galera-26.4.23/garb/CMakeLists.txt 2025-07-15 07:34:42.000000000 +0200
+++ galera-26.4.23/garb/CMakeLists.txt_patched 2025-08-08 15:22:15.492953438 +0200
@@ -35,14 +35,51 @@ target_compile_options(garbd
target_link_libraries(garbd gcs4garb gcomm gcache
${Boost_PROGRAM_OPTIONS_LIBRARIES})
${Boost_PROGRAM_OPTIONS_LIBRARY})
-install(TARGETS garbd DESTINATION bin)
+# Make the install destination for garbd binary configurable
@ -88,7 +90,7 @@
+ endif()
+
install(FILES
${CMAKE_SOURCE_DIR}/man/garbd.8
${PROJECT_SOURCE_DIR}/man/garbd.8
- DESTINATION man/man8)
+ DESTINATION ${INSTALL_MANPAGE})
+

21
docs.patch Normal file
View File

@ -0,0 +1,21 @@
The CMake prepares file AUTHORS for packing.
It only contains one line, and isn't packed in any upstream-produced packagess.
I don't find it useful and since upstream doesn't pack it either, stop packing it here.
The README file contains infromation on how to build the project from sources, and thus isn't useful for the end users.
On the other hand, the README-MySQL isn't prepared for packing by CMake, but contains useful information about the software usage and it is package in upstream-produced packages.
--- galera-26.4.18/CMakeLists.txt 2024-06-09 04:54:56.281408893 +0200
+++ galera-26.4.18/CMakeLists.txt_patched 2024-06-09 06:52:58.093217968 +0200
@@ -118,9 +118,8 @@ endif()
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD")
install(FILES
- ${PROJECT_SOURCE_DIR}/AUTHORS
${PROJECT_SOURCE_DIR}/COPYING
- ${PROJECT_SOURCE_DIR}/README
+ ${PROJECT_SOURCE_DIR}/scripts/packages/README-MySQL
DESTINATION ${INSTALL_DOCDIR} )
install(FILES ${PROJECT_SOURCE_DIR}/asio/LICENSE_1_0.txt
DESTINATION ${INSTALL_DOCDIR}

441
galera.spec Normal file
View File

@ -0,0 +1,441 @@
# To both save infrastructure resources and workaround for i686 FTBFS
ExcludeArch: %{ix86}
Name: galera
Version: 26.4.25
Release: 1%{?dist}
Summary: Synchronous multi-master wsrep provider (replication engine)
License: GPL-2.0-only
URL: http://galeracluster.com/
# Actually, the truth is, we do use galera source tarball provided by MariaDB on
# following URL (without macros):
# https://archive.mariadb.org/mariadb-10.4.16/galera-26.4.6/src/galera-26.4.6.tar.gz
Source0: http://releases.galeracluster.com/source/%{name}-%{version}.tar.gz
Patch0: cmake_paths.patch
Patch1: docs.patch
Patch2: network.patch
BuildRequires: boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel
Requires: nmap-ncat
Requires: procps-ng
%{?systemd_requires}
%description
Galera is a fast synchronous multimaster wsrep provider (replication engine)
for transactional databases and similar applications. For more information
about wsrep API see https://github.com/codership/wsrep-API repository. For a
description of Galera replication engine see https://www.galeracluster.com web.
%prep
%setup -q
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
# Create a sysusers.d config file
cat >galera.sysusers.conf <<EOF
u garb - 'Galera Arbitrator Daemon' /dev/null -
EOF
%build
%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="sbin" \
-DINSTALL_CONFIGURATION="/etc/sysconfig/" \
-DINSTALL_SYSTEMD_SERVICE="lib/systemd/system" \
-DINSTALL_LIBDIR="%{_lib}/galera" \
-DINSTALL_MANPAGE="share/man/man8"
cmake -B %_vpath_builddir -N -LAH
%cmake_build
%install
%cmake_install
# PATCH 2:
# Fix the hardcoded paths
# In the Systemd service file:
sed -i 's;/usr/bin/garb-systemd;/usr/sbin/garb-systemd;g' %{buildroot}%{_unitdir}/garb.service
# In the wrapper script:
sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/sbin/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}%{_unitdir}/garb.service
install -m0644 -D galera.sysusers.conf %{buildroot}%{_sysusersdir}/galera.conf
%check
%ctest
%pre
# Fixup after upgrading on system before systemd unit rename
unlink /etc/systemd/system/garb.service || :
%post
/sbin/ldconfig
%systemd_post garb.service
%preun
%systemd_preun garb.service
%postun
/sbin/ldconfig
%systemd_postun_with_restart garb.service
%files
%config(noreplace,missingok) %{_sysconfdir}/sysconfig/garb
%dir %{_docdir}/galera
%dir %{_libdir}/galera
%{_sbindir}/garbd
# PATCH 3:
# Make sure the wrapper script is executable
%attr(755, -, -) %{_sbindir}/garb-systemd
%{_mandir}/man8/garbd.8*
%{_unitdir}/garb.service
%{_libdir}/galera/libgalera_smm.so
%doc %{_docdir}/galera/COPYING
%doc %{_docdir}/galera/LICENSE.asio
%doc %{_docdir}/galera/README-MySQL
%{_sysusersdir}/galera.conf
%changelog
* Sun Feb 08 2026 Michal Schorm <mschorm@redhat.com> - 26.4.25-1
- Rebased to 26.4.25
* Tue Jan 06 2026 Michal Schorm <mschorm@redhat.com> - 26.4.24-1
- Rebase to 26.4.24
* Fri Aug 08 2025 Michal Schorm <mschorm@redhat.com> - 26.4.23-1
- Rebase to 26.4.23
* Wed Jul 30 2025 Michal Schorm <mschorm@redhat.com> - 26.4.22-1
- Rebase to 26.4.22
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 26.4.21-2
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Wed Feb 05 2025 Michal Schorm <mschorm@redhat.com> - 26.4.21-1
- Rebase to 26.4.21
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 26.4.19-2
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Aug 19 2024 Michal Schorm <mschorm@redhat.com> - 26.4.19-1
- Rebase to 26.4.19
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.18-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jun 09 2024 Michal Schorm <mschorm@redhat.com> - 26.4.18-3
- Bump release for package rebuild
* Sun Jun 09 2024 Michal Schorm <mschorm@redhat.com> - 26.4.18-2
- Bump release for package rebuild
* Fri Jun 07 2024 Michal Schorm <mschorm@redhat.com> - 26.4.18-1
- Rebase to 26.4.18
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 26.4.16-5
- Bump release for June 2024 mass rebuild
* Wed Jan 24 2024 Michal Schorm <mschorm@redhat.com> - 26.4.16-4
- Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 18 2024 Jonathan Wakely <jwakely@redhat.com> - 26.4.16-2
- Rebuilt for Boost 1.83
* Fri Nov 17 2023 Michal Schorm <mschorm@redhat.com> - 26.4.16-1
- Rebase to 26.4.16
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Apr 29 2023 Michal Schorm <mschorm@redhat.com> - 26.4.14-1
- Rebase to 26.4.14
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 26.4.13-3
- Rebuilt for Boost 1.81
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Nov 15 2022 Michal Schorm <mschorm@redhat.com> - 26.4.13-1
- Rebase to 26.4.13
* Wed Aug 24 2022 Michal Schorm <mschorm@redhat.com> - 26.4.12-1
- Rebase to 26.4.12
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 26.4.11-2
- Rebuilt for Boost 1.78
* Sun Feb 20 2022 Michal Schorm <mschorm@redhat.com> - 26.4.11-1
- Rebase to 26.4.11
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Nov 19 2021 Lukas Javorsky <ljavorsk@redhat.com> - 26.4.9-3
- 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
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 26.4.9-2
- Rebuilt with OpenSSL 3.0.0
* Sat Aug 07 2021 Michal Schorm <mschorm@redhat.com> - 26.4.9-1
- Rebase to 26.4.9
* Fri Aug 06 2021 Jonathan Wakely <jwakely@redhat.com> - 26.4.8-4
- Rebuilt for Boost 1.76
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jul 15 2021 Michal Schorm <mschorm@redhat.com> - 26.4.8-2
- Switch from SCONS build tooling to CMAKE build tooling
- Use upstream variants of Systemd service file and Systemd service file wrapper srcipt
* Thu Jun 03 2021 Lukas Javorsky <ljavorsk@redhat.com> - 26.4.8-1
- Rebase to 26.4.8
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 26.4.7-2
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Feb 23 2021 Michal Schorm <mschorm@redhat.com> - 26.4.7-1
- Rebase to 26.4.7
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 26.4.6-2
- Rebuilt for Boost 1.75
* Wed Nov 04 2020 Michal Schorm <mschorm@redhat.com> - 26.4.6-1
- Rebase to 26.4.6
* Thu Sep 17 2020 Michal Schorm <mschorm@redhat.com> - 26.4.5-2
- Extend the workaround also to ELN
* Wed Sep 16 2020 Michal Schorm <mschorm@redhat.com> - 26.4.5-1
- Rebase to 26.4.5
* Wed Sep 16 2020 Michal Schorm <mschorm@redhat.com> - 26.4.4-5
- Apply workaround for FTBFS on F33+
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.4-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 08 2020 Michal Schorm <mschorm@redhat.com> - 26.4.4-2
- Second rebuild for Boost 1.73
* Fri Jun 05 2020 Michal Schorm <mschorm@redhat.com> - 26.4.4-1
- Rebase to 26.4.4
Resolves: rhbz#1546787
* Thu May 28 2020 Jonathan Wakely <jwakely@redhat.com> - 26.4.3-4
- Rebuilt for Boost 1.73
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 18 2020 Michal Schorm <mschorm@redhat.com> - 26.4.3-2
- Rebase to 26.4.3
* Wed Nov 06 2019 Michal Schorm <mschorm@redhat.com> - 25.3.28-1
- Rebase to 25.3.28
* Thu Aug 01 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-3
- Fix for #1735233 and #1737108
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.26-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jul 19 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-1
- Rebase to 25.3.26
* Fri Jul 19 2019 Michal Schorm <mschorm@redhat.com> - 25.3.25-4
- Use macro for setting up the compiler flags
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.25-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jan 29 2019 Jonathan Wakely <jwakely@redhat.com> - 25.3.25-2
- Rebuilt for Boost 1.69
* Tue Jan 01 2019 Michal Schorm <mschorm@redhat.com> - 25.3.25-1
- Rebase to 25.3.25
* Mon Jul 16 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-5
- Require asio also on rhel
* Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-4
- Add explicit gcc-c++ BR
- Use python3-scons
* Fri Jul 13 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-3
- Do not require asio on rhel
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 16 2018 Michal Schorm <mschorm@redhat.com> - 25.3.23-1
- Update to 25.3.23
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Nov 24 2017 Honza Horak <hhorak@redhat.com> - 25.3.22-1
- Update to 25.3.22
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-4
- Rebuilt for Boost 1.64
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Sat Feb 18 2017 Jonathan Wakely <jwakely@redhat.com> - 25.3.16-2
- Use asio-devel instead of bundled asio library
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jun 22 2016 Mike Bayer <mbayer@redhat.com> - 25.3.16-1
- Update to 25.3.16
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 25.3.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 25.3.12-3
- Rebuilt for Boost 1.60
* Wed Sep 30 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 25.3.12-2
- Remove use of -mtune=native which breaks build on secondary architectures
* Fri Sep 25 2015 Richard W.M. Jones <rjones@redhat.com> - 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 <jwakely@redhat.com> - 25.3.10-5
- Rebuilt for Boost 1.59
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.10-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 25.3.10-3
- rebuild for Boost 1.58
* Wed Jul 08 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-2
- Disable ARM builds (#1241164, #1239516)
* Mon Jul 06 2015 Ryan O'Hara <rohara@redhat.com> - 25.3.10-1
- Update to version 25.3.10
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 25.3.5-10
- Rebuild for boost 1.57.0
* Thu Nov 27 2014 Richard W.M. Jones <rjones@redhat.com> - 25.3.5-9
- Add aarch64 support.
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 25.3.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 25.3.5-6
- Rebuild for boost 1.55.0
* Wed Apr 30 2014 Dan Horák <dan[at]danny.cz> - 25.3.5-5
- set ExclusiveArch
* Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-4
- Use strict_build_flags=0 to avoid -Werror
- Remove unnecessary clean section
* Thu Apr 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-3
- Include galera directories in file list
- Set CPPFLAGS to optflags
* Wed Apr 23 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-2
- Fix client certificate verification (#1090604)
* Thu Mar 27 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.5-1
- Update to version 25.3.5
* Mon Mar 24 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-2
- Add systemd service
* Sun Mar 09 2014 Ryan O'Hara <rohara@redhat.com> - 25.3.3-1
- Initial build

15
network.patch Normal file
View File

@ -0,0 +1,15 @@
Make sure the network is actually up at the moment of the service startup:
https://systemd.io/NETWORK_ONLINE/
--- galera-26.4.18/garb/files/garb.service 2024-04-17 19:39:35.000000000 +0200
+++ galera-26.4.18/garb/files/garb.service_patched 2024-06-09 07:47:19.245480639 +0200
@@ -4,7 +4,8 @@
Description=Galera Arbitrator Daemon
Documentation=man:garbd(8)
Documentation=https://galeracluster.com/library/documentation/arbitrator.html
-After=network.target
+After=network-online.target
+Wants=network-online.target
[Install]
WantedBy=multi-user.target

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (galera-26.4.25.tar.gz) = 40f320be461e1588ff2e50aee1912e1d9544b5d3ec95d3603c391a76abeaa54f3d7e3b975d0269370664e04935674a3a06823e3e7ee9ea9eb9a4879db97a3a61