Compare commits

...

No commits in common. "stream-mariadb-10.11-rhel-9.6.0" and "c8-stream-10.3" have entirely different histories.

10 changed files with 137 additions and 187 deletions

1
.galera.metadata Normal file
View File

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

4
.gitignore vendored
View File

@ -1,3 +1 @@
/*.tar.gz SOURCES/galera-25.3.37.tar.gz
/*.rpm
/*/*

View File

@ -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 1) Documentation files
--- galera-26.4.11/CMakeLists.txt 2022-02-20 03:35:32.039968825 +0100 --- galera-26.4.8/CMakeLists.txt 2021-04-08 08:05:44.000000000 +0200
+++ galera-26.4.11/CMakeLists.txt_patched 2022-02-20 03:34:57.710641631 +0100 +++ galera-26.4.8/CMakeLists.txt_patched 2021-06-10 01:40:26.886770832 +0200
@@ -109,14 +109,19 @@ add_subdirectory(galera) @@ -106,17 +106,23 @@
add_subdirectory(scripts/packages) add_subdirectory(scripts/packages)
add_subdirectory(wsrep/tests) add_subdirectory(wsrep/tests)
+
+# Make the intall destination for documentation files configurable +# Make the intall destination for documentation files configurable
+if(NOT DEFINED INSTALL_DOCDIR) +if(NOT DEFINED INSTALL_DOCDIR)
+ set(INSTALL_DOCDIR "doc" CACHE STRING "path to install documentaion to") + set(INSTALL_DOCDIR "doc" CACHE STRING "path to install documentaion to")
@ -20,15 +14,19 @@ on 21/02/2022
+ +
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD") if (NOT ${CMAKE_SYSTEM_NAME} MATCHES ".*BSD")
install(FILES install(FILES
${PROJECT_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/AUTHORS
${PROJECT_SOURCE_DIR}/COPYING ${CMAKE_SOURCE_DIR}/COPYING
${PROJECT_SOURCE_DIR}/README ${CMAKE_SOURCE_DIR}/README
- DESTINATION doc) - DESTINATION doc)
+ DESTINATION ${INSTALL_DOCDIR} ) + DESTINATION ${INSTALL_DOCDIR})
install(FILES ${PROJECT_SOURCE_DIR}/asio/LICENSE_1_0.txt install(FILES ${CMAKE_SOURCE_DIR}/asio/LICENSE_1_0.txt
- DESTINATION doc - DESTINATION doc
+ DESTINATION ${INSTALL_DOCDIR} + DESTINATION ${INSTALL_DOCDIR}
RENAME LICENSE.asio) RENAME LICENSE.asio)
install(FILES ${CMAKE_SOURCE_DIR}/chromium/LICENSE
- DESTINATION doc
+ DESTINATION ${INSTALL_DOCDIR}
RENAME LICENSE.chromium)
endif() endif()
@ -90,7 +88,7 @@ on 21/02/2022
+ endif() + endif()
+ +
install(FILES install(FILES
${PROJECT_SOURCE_DIR}/man/garbd.8 ${CMAKE_SOURCE_DIR}/man/garbd.8
- DESTINATION man/man8) - DESTINATION man/man8)
+ DESTINATION ${INSTALL_MANPAGE}) + DESTINATION ${INSTALL_MANPAGE})
+ +

View File

@ -0,0 +1,16 @@
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;

38
SOURCES/garbd-wrapper Executable file
View File

@ -0,0 +1,38 @@
#!/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

10
SOURCES/garbd.service Normal file
View File

@ -0,0 +1,10 @@
[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,8 +1,5 @@
# To both save infrastrucutre resources and workaround for i686 FTBFS
ExcludeArch: %{ix86}
Name: galera Name: galera
Version: 26.4.20 Version: 25.3.37
Release: 1%{?dist} Release: 1%{?dist}
Summary: Synchronous multi-master wsrep provider (replication engine) Summary: Synchronous multi-master wsrep provider (replication engine)
@ -11,38 +8,43 @@ URL: http://galeracluster.com/
# Actually, the truth is, we do use galera source tarball provided by MariaDB on # Actually, the truth is, we do use galera source tarball provided by MariaDB on
# following URL (without macros): # following URL (without macros):
# https://archive.mariadb.org/mariadb-10.4.16/galera-26.4.6/src/galera-26.4.6.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 Source0: http://releases.galeracluster.com/source/%{name}-%{version}.tar.gz
Source1: garbd.service
Source2: garbd-wrapper
Patch0: cmake_paths.patch Patch0: cmake_paths.patch
Patch1: docs.patch Patch1: galera-va_end.patch
BuildRequires: boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel BuildRequires: boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel
Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/useradd
Requires: nmap-ncat Requires: nmap-ncat
Requires: procps-ng Requires: procps-ng
%{?systemd_requires}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description %description
Galera is a fast synchronous multimaster wsrep provider (replication engine) Galera is a fast synchronous multi-master wsrep provider (replication engine)
for transactional databases and similar applications. For more information for transactional databases and similar applications. For more information
about wsrep API see https://github.com/codership/wsrep-API repository. For a about wsrep API see http://launchpad.net/wsrep. For a description of Galera
description of Galera replication engine see https://www.galeracluster.com web. replication engine see http://www.codership.com.
%prep %prep
%setup -q %setup -q
%patch -P0 -p1 %patch0 -p1
%patch -P1 -p1 %patch1 -p1
%build %build
%{set_build_flags} %{set_build_flags}
%cmake . \
%cmake \
-DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \ -DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \
-DINSTALL_LAYOUT=RPM \ -DINSTALL_LAYOUT=RPM \
-DCMAKE_RULE_MESSAGES:BOOL=OFF \ -DCMAKE_RULE_MESSAGES:BOOL=OFF \
@ -51,9 +53,9 @@ description of Galera replication engine see https://www.galeracluster.com web.
\ \
-DINSTALL_DOCDIR="share/doc/%{name}/" \ -DINSTALL_DOCDIR="share/doc/%{name}/" \
-DINSTALL_GARBD="sbin" \ -DINSTALL_GARBD="sbin" \
-DINSTALL_GARBD-SYSTEMD="sbin" \ -DINSTALL_GARBD-SYSTEMD="share/doc/galera" \
-DINSTALL_CONFIGURATION="/etc/sysconfig/" \ -DINSTALL_CONFIGURATION="/etc/sysconfig/" \
-DINSTALL_SYSTEMD_SERVICE="lib/systemd/system" \ -DINSTALL_SYSTEMD_SERVICE="share/doc/galera" \
-DINSTALL_LIBDIR="%{_lib}/galera" \ -DINSTALL_LIBDIR="%{_lib}/galera" \
-DINSTALL_MANPAGE="share/man/man8" -DINSTALL_MANPAGE="share/man/man8"
@ -72,15 +74,15 @@ cmake -B %_vpath_builddir -LAH
# Fedora downstream packaging historically used "garbd" name for the service. # 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 # Let's stick with the Fedora legacy naming, AND provide an alias to the Galera upstream name
mv %{buildroot}%{_unitdir}/garb.service %{buildroot}%{_unitdir}/garbd.service 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}%{_unitdir}/garbd.service sed -i 's/Alias=garbd.service/Alias=garb.service/g' %{buildroot}/usr/share/doc/galera/garbd.service
# PATCH 2: # PATCH 2:
# Fix the hardcoded paths # Fix the hardcoded paths
# In the Systemd service file: # In the Systemd service file:
sed -i 's;/usr/bin/garb-systemd;/usr/sbin/garb-systemd;g' %{buildroot}%{_unitdir}/garbd.service sed -i 's;/usr/bin/garb-systemd;/usr/sbin/garb-systemd;g' %{buildroot}/usr/share/doc/galera/garbd.service
# In the wrapper script: # In the wrapper script:
sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/sbin/garb-systemd sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/share/doc/galera/garb-systemd
# PATCH 4: # PATCH 4:
# Use a dedicated user for the Systemd service # Use a dedicated user for the Systemd service
@ -105,14 +107,11 @@ sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/sbin/garb-systemd
## in particular on systems using NFS or running containers. Allocate a user ID ## in particular on systems using NFS or running containers. Allocate a user ID
## specific to this service, either statically via systemd-sysusers or dynamically ## specific to this service, either statically via systemd-sysusers or dynamically
## via the DynamicUser= service setting. ## via the DynamicUser= service setting.
sed -i 's/User=nobody/User=garb/g' %{buildroot}%{_unitdir}/garbd.service sed -i 's/User=nobody/User=garb/g' %{buildroot}/usr/share/doc/galera/garbd.service
# Maintainers from other distributions also tries to resolve it on the upstream:
# https://github.com/codership/galera/pull/633
%check
%ctest
# 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 %pre
/usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || : /usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || :
@ -136,140 +135,62 @@ sed -i 's/User=nobody/User=garb/g' %{buildroot}%{_unitdir}/garbd.service
%dir %{_libdir}/galera %dir %{_libdir}/galera
%{_sbindir}/garbd %{_sbindir}/garbd
%{_sbindir}/garbd-wrapper
# PATCH 3: # PATCH 3:
# Make sure the wrapper script is executable # Make sure the wrapper script is executable
%attr(755, -, -) %{_sbindir}/garb-systemd %attr(755, -, -) %{_docdir}/galera/garb-systemd
%{_mandir}/man8/garbd.8* %{_mandir}/man8/garbd.8*
%{_unitdir}/garbd.service %{_unitdir}/garbd.service
%{_docdir}/galera/garbd.service
%{_libdir}/galera/libgalera_smm.so %{_libdir}/galera/libgalera_smm.so
%doc %{_docdir}/galera/AUTHORS
%doc %{_docdir}/galera/COPYING %doc %{_docdir}/galera/COPYING
%doc %{_docdir}/galera/LICENSE.asio %doc %{_docdir}/galera/LICENSE.asio
%doc %{_docdir}/galera/README-MySQL %doc %{_docdir}/galera/LICENSE.chromium
%doc %{_docdir}/galera/README
#%doc %{_docdir}/galera/README-MySQL
%changelog %changelog
* Thu Nov 14 2024 Michal Schorm <mschorm@redhat.com> - 26.4.20-1 * Tue Jul 04 2023 Anton Bobrov <abobrov@redhat.com> - 25.3.37-1
- Rebase to 26.4.20 - Rebase to 25.3.37
* Fri Oct 18 2024 Michal Schorm <mschorm@redhat.com> - 26.4.19-1 * Fri Jul 01 2022 Zuzana Miklankova <zmiklank@redhat.com> - 25.3.35-1
- Rebase to 26.4.19 - Rebase to 25.3.35
* Fri Jun 07 2024 Michal Schorm <mschorm@redhat.com> - 26.4.18-1 * Thu Feb 03 2022 Lukas Javorsky <ljavorsk@redhat.com> - 25.3.34-4
- Rebase to 26.4.18
* Fri Nov 17 2023 Michal Schorm <mschorm@redhat.com> - 26.4.16-1
- Rebase to 26.4.16
* Sat Apr 29 2023 Michal Schorm <mschorm@redhat.com> - 26.4.14-1
- Rebase to 26.4.14
* 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
* Sun Feb 20 2022 Michal Schorm <mschorm@redhat.com> - 26.4.11-1
- Rebase to 26.4.11
* Fri Nov 19 2021 Lukas Javorsky <ljavorsk@redhat.com> - 26.4.9-2
- Explicitly require the 'procps-ng' package - Explicitly require the 'procps-ng' package
- Otherwise it will not require it in the lightweight systems (e.g. containers) - Otherwise it will not require it in the lightweight systems (e.g. containers)
- and Galera won't work properly - and Galera won't work properly
* Tue Aug 17 2021 Michal Schorm <mschorm@redhat.com> - 26.4.9-1 * Fri Jan 28 2022 Lukas Javorsky <ljavorsk@redhat.com> - 25.3.34-3
- Rebase to 26.4.9 - 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
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> * Wed Jan 19 2022 Michal Schorm <mschorm@redhat.com> - 25.3.34-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jul 15 2021 Michal Schorm <mschorm@redhat.com> - 26.4.8-2
- Switch from SCONS build tooling to CMAKE build tooling - 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 * Wed Jan 19 2022 Zuzana Miklankova <zmiklank@redhat.com> - 25.3.34-1
- Rebase to 26.4.8 - Rebase to 25.3.34
Resolves: #2042298
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 26.4.7-3 * Tue Mar 23 2021 Michal Schorm <mschorm@redhat.com> - 25.3.32-1
- Rebuilt for RHEL 9 BETA for openssl 3.0 - Rebase to 25.3.32
Related: rhbz#1971065
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 26.4.7-2 * Tue Nov 10 2020 Michal Schorm <mschorm@redhat.com> - 25.3.31-1
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Rebase to 25.3.31
Resolves: #1731289, #1856812
* Tue Feb 23 2021 Michal Schorm <mschorm@redhat.com> - 26.4.7-1 * Thu Jul 18 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-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 - Rebase to 25.3.26
Resolves: #1687879
* Fri Jul 19 2019 Michal Schorm <mschorm@redhat.com> - 25.3.25-4 Resolves: #1657220
- 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 * Mon Jul 16 2018 Honza Horak <hhorak@redhat.com> - 25.3.23-5
- Require asio also on rhel - Require asio also on rhel

View File

@ -1,25 +0,0 @@
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.
Offered upstream:
https://github.com/codership/galera/pull/666
https://groups.google.com/g/codership-team/c/Cn4UO3MkNQs
--- 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}

View File

@ -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}

View File

@ -1 +0,0 @@
SHA512 (galera-26.4.20.tar.gz) = d23332f8111b1d39327d50ad2374813fd8c9688a26899c6c30a9426490f1d012f25cc21f4e10c71ae2bfda963f4e656c1b9dd0d7931b00bb14ee9a754772cfa6