Compare commits

...

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

10 changed files with 187 additions and 137 deletions

View File

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

4
.gitignore vendored
View File

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

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,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,19 +20,15 @@
+
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()
@ -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})
+

25
docs.patch Normal file
View File

@ -0,0 +1,25 @@
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,5 +1,8 @@
# To both save infrastrucutre resources and workaround for i686 FTBFS
ExcludeArch: %{ix86}
Name: galera
Version: 25.3.37
Version: 26.4.20
Release: 1%{?dist}
Summary: Synchronous multi-master wsrep provider (replication engine)
@ -8,43 +11,38 @@ 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
# 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
Source1: garbd.service
Source2: garbd-wrapper
Patch0: cmake_paths.patch
Patch1: galera-va_end.patch
Patch1: docs.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
%{?systemd_requires}
%description
Galera is a fast synchronous multi-master wsrep provider (replication engine)
Galera is a fast synchronous multimaster 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.
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
%patch0 -p1
%patch1 -p1
%patch -P0 -p1
%patch -P1 -p1
%build
%{set_build_flags}
%cmake . \
%cmake \
-DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \
-DINSTALL_LAYOUT=RPM \
-DCMAKE_RULE_MESSAGES:BOOL=OFF \
@ -53,9 +51,9 @@ replication engine see http://www.codership.com.
\
-DINSTALL_DOCDIR="share/doc/%{name}/" \
-DINSTALL_GARBD="sbin" \
-DINSTALL_GARBD-SYSTEMD="share/doc/galera" \
-DINSTALL_GARBD-SYSTEMD="sbin" \
-DINSTALL_CONFIGURATION="/etc/sysconfig/" \
-DINSTALL_SYSTEMD_SERVICE="share/doc/galera" \
-DINSTALL_SYSTEMD_SERVICE="lib/systemd/system" \
-DINSTALL_LIBDIR="%{_lib}/galera" \
-DINSTALL_MANPAGE="share/man/man8"
@ -74,15 +72,15 @@ cmake -B %_vpath_builddir -LAH
# 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
mv %{buildroot}%{_unitdir}/garb.service %{buildroot}%{_unitdir}/garbd.service
sed -i 's/Alias=garbd.service/Alias=garb.service/g' %{buildroot}%{_unitdir}/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
sed -i 's;/usr/bin/garb-systemd;/usr/sbin/garb-systemd;g' %{buildroot}%{_unitdir}/garbd.service
# In the wrapper script:
sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/share/doc/galera/garb-systemd
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
@ -107,11 +105,14 @@ sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/share/doc/galera/ga
## 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
sed -i 's/User=nobody/User=garb/g' %{buildroot}%{_unitdir}/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
/usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || :
@ -135,62 +136,140 @@ install -D -m 755 %{SOURCE2} %{buildroot}%{_sbindir}/garbd-wrapper
%dir %{_libdir}/galera
%{_sbindir}/garbd
%{_sbindir}/garbd-wrapper
# PATCH 3:
# Make sure the wrapper script is executable
%attr(755, -, -) %{_docdir}/galera/garb-systemd
%attr(755, -, -) %{_sbindir}/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
* Tue Jul 04 2023 Anton Bobrov <abobrov@redhat.com> - 25.3.37-1
- Rebase to 25.3.37
* Thu Nov 14 2024 Michal Schorm <mschorm@redhat.com> - 26.4.20-1
- Rebase to 26.4.20
* Fri Jul 01 2022 Zuzana Miklankova <zmiklank@redhat.com> - 25.3.35-1
- Rebase to 25.3.35
* Fri Oct 18 2024 Michal Schorm <mschorm@redhat.com> - 26.4.19-1
- Rebase to 26.4.19
* Thu Feb 03 2022 Lukas Javorsky <ljavorsk@redhat.com> - 25.3.34-4
* Fri Jun 07 2024 Michal Schorm <mschorm@redhat.com> - 26.4.18-1
- 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
- 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
* Tue Aug 17 2021 Michal Schorm <mschorm@redhat.com> - 26.4.9-1
- Rebase to 26.4.9
* Wed Jan 19 2022 Michal Schorm <mschorm@redhat.com> - 25.3.34-2
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
- 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
- Use upstream variants of Systemd service file and Systemd service file wrapper srcipt
* Wed Jan 19 2022 Zuzana Miklankova <zmiklank@redhat.com> - 25.3.34-1
- Rebase to 25.3.34
Resolves: #2042298
* Thu Jun 03 2021 Lukas Javorsky <ljavorsk@redhat.com> - 26.4.8-1
- Rebase to 26.4.8
* Tue Mar 23 2021 Michal Schorm <mschorm@redhat.com> - 25.3.32-1
- Rebase to 25.3.32
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 26.4.7-3
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Tue Nov 10 2020 Michal Schorm <mschorm@redhat.com> - 25.3.31-1
- Rebase to 25.3.31
Resolves: #1731289, #1856812
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 26.4.7-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Jul 18 2019 Michal Schorm <mschorm@redhat.com> - 25.3.26-1
* 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
Resolves: #1687879
Resolves: #1657220
* 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

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

1
sources Normal file
View File

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