public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/pacemaker] f44: * Tue Sep 08 2026 Klaus Wenninger <kwenning@redhat.com> - 3.0.3-1
@ 2026-09-17 20:17 Klaus Wenninger
  0 siblings, 0 replies; only message in thread
From: Klaus Wenninger @ 2026-09-17 20:17 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/pacemaker
            Branch : f44
            Commit : 559f0c1221a66b7ab23f19972992e9d7202eb130
            Author : Klaus Wenninger <klaus.wenninger@aon.at>
            Date   : 2026-09-17T13:31:15+02:00
            Stats  : +51/-362 in 8 file(s)
            URL    : https://src.fedoraproject.org/rpms/pacemaker/c/559f0c1221a66b7ab23f19972992e9d7202eb130?branch=f44

            Log:
            * Tue Sep 08 2026 Klaus Wenninger <kwenning@redhat.com> - 3.0.3-1
- Update for new upstream release tarball: Pacemaker-3.0.3,
  for full details, see included ChangeLog.md file or
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-3.0.3
- move from deprecated py3_build & py3_install to
  pyproject_wheel & pyproject_install
- adapt python-package files to the new tooling
- disable "-Waggregate-return" in cmocka files

---
diff --git a/0001-Med-libcrmcommon-Fix-checks-in-localized_remote_head.patch b/0001-Med-libcrmcommon-Fix-checks-in-localized_remote_head.patch
deleted file mode 100644
index 72d1479..0000000
--- a/0001-Med-libcrmcommon-Fix-checks-in-localized_remote_head.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 8e667ef87ac4bc66ab8c64599334b521655925f7 Mon Sep 17 00:00:00 2001
-From: Chris Lumens <clumens@redhat.com>
-Date: Thu, 14 May 2026 12:57:17 -0400
-Subject: [PATCH 1/5] Med: libcrmcommon: Fix checks in localized_remote_header.
-
-The size_total check is incorrect.  The expectation here is that it will
-be equal to the size of the amount of data that was received over the
-network - that is, the size of the header plus the size of the payload.
-If the payload is compressed, we need that size.
-
-Previously, there was an unwritten assumption in this check that one of
-payload_compressed or payload_uncompressed would be 0, but that's not
-true in the compressed case.  If the payload is compressed,
-payload_uncompressed is still set because we need to know how big of a
-buffer to allocate to decompress the payload.
-
-Additionally, improve the error messages and prevent an integer overflow
-when adding these sizes together before comparing.
-
-These checks haven't failed in the past because nothing is using the
-compressed payload code.
----
- lib/common/remote.c | 34 ++++++++++++++++++++++++++++++----
- 1 file changed, 30 insertions(+), 4 deletions(-)
-
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index a9ce088f3f..f428c4ceda 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -24,7 +24,7 @@
- #include <netdb.h>
- #include <stdlib.h>
- #include <errno.h>
--#include <inttypes.h>   // PRIx32
-+#include <inttypes.h>   // PRIu32, PRIx32
- 
- #include <glib.h>
- #include <bzlib.h>
-@@ -66,6 +66,7 @@ static struct remote_header_v0 *
- localized_remote_header(pcmk__remote_t *remote)
- {
-     struct remote_header_v0 *header = NULL;
-+    size_t expected_size = 0;
- 
-     if ((remote == NULL) || (remote->buffer == NULL)
-         || (remote->buffer_offset < sizeof(struct remote_header_v0))) {
-@@ -100,11 +101,36 @@ localized_remote_header(pcmk__remote_t *remote)
- 
-     // Sanity checks
-     if (header->payload_offset != sizeof(struct remote_header_v0)) {
-+        pcmk__err("Header payload offset %" PRIu32 " does not have expected "
-+                  "size %zu", header->payload_offset,
-+                  sizeof(struct remote_header_v0));
-         return NULL;
-     }
--    if ((header->payload_offset
--         + header->payload_compressed
--         + header->payload_uncompressed) != header->size_total) {
-+
-+    if (header->payload_compressed != 0) {
-+        if (header->payload_compressed > (SIZE_MAX - header->payload_offset)) {
-+            pcmk__err("Header compressed size %" PRIu32 " is too large",
-+                      header->payload_compressed);
-+            return NULL;
-+        }
-+
-+        expected_size = (size_t) header->payload_offset
-+                        + header->payload_compressed;
-+
-+    } else {
-+        if (header->payload_uncompressed > (SIZE_MAX - header->payload_offset)) {
-+            pcmk__err("Header uncompressed size %" PRIu32 " is too large",
-+                      header->payload_uncompressed);
-+            return NULL;
-+        }
-+
-+        expected_size = (size_t) header->payload_offset
-+                        + header->payload_uncompressed;
-+    }
-+
-+    if (expected_size != header->size_total) {
-+        pcmk__err("Header total size %" PRIu32 " does not match calculated "
-+                  "size %zu", header->size_total, expected_size);
-         return NULL;
-     }
- 
--- 
-2.54.0
-

diff --git a/0001-pacemaker_mock_aggregate_return.patch b/0001-pacemaker_mock_aggregate_return.patch
new file mode 100644
index 0000000..5178e26
--- /dev/null
+++ b/0001-pacemaker_mock_aggregate_return.patch
@@ -0,0 +1,22 @@
+From: Klaus Wenninger <kwenning@redhat.com>
+Date: Tue, 8 Sep 2026 00:00:00 +0000
+Subject: [PATCH] Fix -Waggregate-return build error in mock.c
+
+--- a/lib/common/Makefile.am
++++ b/lib/common/Makefile.am
+@@ -124,6 +124,7 @@ libcrmcommon_test_la_SOURCES	+= unittest.c
+ libcrmcommon_test_la_LDFLAGS = $(libcrmcommon_la_LDFLAGS)
+ libcrmcommon_test_la_LDFLAGS += -rpath $(libdir)
+ libcrmcommon_test_la_LDFLAGS += $(LDFLAGS_WRAP)
++libcrmcommon_test_la_LDFLAGS += -Wno-error=aggregate-return
+ 
+ # If GCC emits a builtin function in place of something we've mocked up, that will
+ # get used instead of the mocked version which leads to unexpected test results.  So
+@@ -134,6 +135,7 @@ libcrmcommon_test_la_CFLAGS = $(libcrmcommon_la_CFLAGS)
+ libcrmcommon_test_la_CFLAGS += -DPCMK__UNIT_TESTING
+ libcrmcommon_test_la_CFLAGS += -fno-builtin
+ libcrmcommon_test_la_CFLAGS += -fno-inline
++libcrmcommon_test_la_CFLAGS += -Wno-error=aggregate-return
+ 
+ # If -fno-builtin is used, -lm also needs to be added.  See the comment at
+ # BUILD_PROFILING above.

diff --git a/0002-High-libcrmcommon-Fix-integer-overflow-in-remote-mes.patch b/0002-High-libcrmcommon-Fix-integer-overflow-in-remote-mes.patch
deleted file mode 100644
index fe230df..0000000
--- a/0002-High-libcrmcommon-Fix-integer-overflow-in-remote-mes.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 1e1825bf2c28a349c576521fbda4393455297987 Mon Sep 17 00:00:00 2001
-From: Chris Lumens <clumens@redhat.com>
-Date: Thu, 14 May 2026 13:06:57 -0400
-Subject: [PATCH 2/5] High: libcrmcommon: Fix integer overflow in remote
- message code.
-
-It's possible for a client to send a specifically constructed header
-packet that will cause our size checks in pcmk__remote_message_xml to
-overflow, which could result in crashes (potentially leading to a node
-being fenced) or memory corruption problems.
-
-Such a header would have to indicate that the payload is compressed,
-which nothing in pacemaker is doing.  In fact, we haven't used any of
-the remote message compression code since it was introduced in 2013
-which explains why we haven't seen any problems with it.  Thus, it would
-require a malicious client to cause this to happen.
-
-It would also require remote CIB administration to be enabled via
-remote-clear-port or remote-tls-port, which we do not do by default.
-Additionally, if remote-tls-port is in use, it requires the client to
-complete the gnutls handshake procedure (pcmk__remote_message_xml is
-only called in cib_remote_msg after the handshake but before the client
-has authenticated).
-
-Co-Authored-By: Reid Wahl <nrwahl@protonmail.com>
----
- lib/common/remote.c | 49 ++++++++++++++++++++++++++++++++++++++-------
- 1 file changed, 42 insertions(+), 7 deletions(-)
-
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index f428c4ceda..d15f980f62 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -315,16 +315,51 @@ pcmk__remote_message_xml(pcmk__remote_t *remote)
-     }
- 
-     /* Support compression on the receiving end now, in case we ever want to add it later */
--    if (header->payload_compressed) {
-+    if (header->payload_compressed != 0) {
-         int rc = 0;
--        unsigned int size_u = 1 + header->payload_uncompressed;
--        char *uncompressed =
--            pcmk__assert_alloc(header->payload_offset + size_u, sizeof(char));
-+        unsigned int size_u = 0;
-+        char *uncompressed = NULL;
-+
-+#if (UINT32_MAX < UINT_MAX)
-+        if (header->payload_uncompressed >= UINT_MAX) {
-+            pcmk__err("Couldn't decompress message because uncompressed "
-+                      "payload size (%" PRIu32 ") is greater than UINT_MAX "
-+                      "(%u)", header->payload_uncompressed, UINT_MAX);
-+            return NULL;
-+        }
-+#endif
-+
-+        /* @TODO Is the extra byte for the null terminator?
-+         * pcmk__remote_send_xml() also adds one byte to the iov length.
-+         * (However, we do need to account for the possibility of receiving a
-+         * message from an untrusted sender.)
-+         */
-+        size_u = 1 + header->payload_uncompressed;
-+
-+        /* Header and uncompressed payload must fit in the destination buffer.
-+         * We do not need to separately check the header size here since
-+         * localized_remote_header will return NULL if it's incorrect.
-+         */
-+#if (UINT_MAX >= SIZE_MAX)
-+        if ((size_u >= SIZE_MAX)
-+            || (header->payload_offset > (SIZE_MAX - size_u))) {
-+#else
-+        if (header->payload_offset > (SIZE_MAX - size_u)) {
-+#endif
-+            pcmk__err("Couldn't decompress message because the required buffer "
-+                      "size (%" PRIu32 " + %u) is greater than SIZE_MAX (%zu)",
-+                      header->payload_offset, size_u, SIZE_MAX);
-+            return NULL;
-+        }
-+
-+        pcmk__trace("Decompressing message data %" PRIu32 " bytes into %u "
-+                    "bytes", header->payload_compressed, size_u);
- 
--        pcmk__trace("Decompressing message data %d bytes into %d bytes",
--                    header->payload_compressed, size_u);
-+        uncompressed = pcmk__assert_alloc(header->payload_offset + size_u,
-+                                          sizeof(char));
- 
--        rc = BZ2_bzBuffToBuffDecompress(uncompressed + header->payload_offset, &size_u,
-+        rc = BZ2_bzBuffToBuffDecompress(uncompressed + header->payload_offset,
-+                                        &size_u,
-                                         remote->buffer + header->payload_offset,
-                                         header->payload_compressed, 1, 0);
-         rc = pcmk__bzlib2rc(rc);
--- 
-2.54.0
-

diff --git a/0003-High-libcrmcommon-Limit-the-max-size-of-a-remote-mes.patch b/0003-High-libcrmcommon-Limit-the-max-size-of-a-remote-mes.patch
deleted file mode 100644
index 3fd679e..0000000
--- a/0003-High-libcrmcommon-Limit-the-max-size-of-a-remote-mes.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From bb37829e00c782071906305d2cf50247179f0fd7 Mon Sep 17 00:00:00 2001
-From: Chris Lumens <clumens@redhat.com>
-Date: Thu, 14 May 2026 13:26:07 -0400
-Subject: [PATCH 3/5] High: libcrmcommon: Limit the max size of a remote
- message.
-
-Previously, we were just taking the sizes straight from the message
-header and allocating however much memory was asked for without
-checking.  It's possible for a malicious client to ask for a very large
-amount of memory (say, 4 GB since that'll fit in the uint32_t value for
-header->size_total).
-
-In that case, due to the use of pcmk__assert_alloc, we'll crash due to
-an out of memory error and the node could potentially be fenced.
-
-The fix is to simply check that the client isn't asking for too much
-memory.  This does unfortunately impose a size restriction on the
-message.  It's doubly unfortunate given how much work we've recently put
-into removing restrictions on IPC messages allowing for much larger
-clusters.
-
-I think the biggest thing these messages will ever contain is a CIB, so
-for now I'm going with a limit of 20 MB.  It is not my intention that
-this become a tuneable parameter that is exposed to the user.
----
- include/crm/common/remote_internal.h |  3 +++
- lib/common/remote.c                  | 17 +++++++++++++++--
- 2 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/include/crm/common/remote_internal.h b/include/crm/common/remote_internal.h
-index 2fad3a79f4..5f200272de 100644
---- a/include/crm/common/remote_internal.h
-+++ b/include/crm/common/remote_internal.h
-@@ -29,6 +29,9 @@
- extern "C" {
- #endif
- 
-+// The maximum payload size for a remote message (in bytes)
-+#define PCMK__REMOTE_MSG_MAX_SIZE (20 * 1024 * 1024)
-+
- // internal functions from remote.c
- 
- typedef struct {
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index d15f980f62..9f36827c5b 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -319,6 +319,7 @@ pcmk__remote_message_xml(pcmk__remote_t *remote)
-         int rc = 0;
-         unsigned int size_u = 0;
-         char *uncompressed = NULL;
-+        size_t buffer_size = 0;
- 
- #if (UINT32_MAX < UINT_MAX)
-         if (header->payload_uncompressed >= UINT_MAX) {
-@@ -352,11 +353,17 @@ pcmk__remote_message_xml(pcmk__remote_t *remote)
-             return NULL;
-         }
- 
-+        buffer_size = (size_t) header->payload_offset + size_u;
-+        if (buffer_size > PCMK__REMOTE_MSG_MAX_SIZE) {
-+            pcmk__err("Message size %zu is larger than max allowed %u bytes",
-+                      buffer_size, PCMK__REMOTE_MSG_MAX_SIZE);
-+            return NULL;
-+        }
-+
-         pcmk__trace("Decompressing message data %" PRIu32 " bytes into %u "
-                     "bytes", header->payload_compressed, size_u);
- 
--        uncompressed = pcmk__assert_alloc(header->payload_offset + size_u,
--                                          sizeof(char));
-+        uncompressed = pcmk__assert_alloc(buffer_size, sizeof(char));
- 
-         rc = BZ2_bzBuffToBuffDecompress(uncompressed + header->payload_offset,
-                                         &size_u,
-@@ -510,6 +517,12 @@ pcmk__read_available_remote_data(pcmk__remote_t *remote)
-         read_len = header->size_total;
-     }
- 
-+    if (read_len > PCMK__REMOTE_MSG_MAX_SIZE) {
-+        pcmk__err("Message size %zu is larger than max allowed %u bytes",
-+                  read_len, PCMK__REMOTE_MSG_MAX_SIZE);
-+        return EINVAL;
-+    }
-+
-     /* automatically grow the buffer when needed */
-     if(remote->buffer_size < read_len) {
-         remote->buffer_size = 2 * read_len;
--- 
-2.54.0
-

diff --git a/0004-High-libcrmcommon-Fix-an-integer-overflow-in-pcmk__r.patch b/0004-High-libcrmcommon-Fix-an-integer-overflow-in-pcmk__r.patch
deleted file mode 100644
index 33a1254..0000000
--- a/0004-High-libcrmcommon-Fix-an-integer-overflow-in-pcmk__r.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6dd7ce8e656b6c629d3268038d6606041460fae7 Mon Sep 17 00:00:00 2001
-From: Chris Lumens <clumens@redhat.com>
-Date: Fri, 15 May 2026 10:19:33 -0400
-Subject: [PATCH 4/5] High: libcrmcommon: Fix an integer overflow in
- pcmk__remote_send_xml.
-
-iov[0].iov_len is a size_t.  iov[1].iov_len is also a size_t (which
-comes from the length of a GString, which is a gsize, which is also a
-size_t).  We're adding those together and storing them in a uint32_t, so
-make sure the result will fit.
-
-Fixes RHEL-181155
----
- lib/common/remote.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index 9f36827c5b..cf093b0db1 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -280,6 +280,13 @@ pcmk__remote_send_xml(pcmk__remote_t *remote, const xmlNode *msg)
-     header->version = REMOTE_MSG_VERSION;
-     header->payload_offset = iov[0].iov_len;
-     header->payload_uncompressed = iov[1].iov_len;
-+
-+    if ((UINT32_MAX - iov[0].iov_len) < iov[1].iov_len) {
-+        pcmk__err("Remote message size %zu + %zu exceeds maximum of %" PRIu32,
-+                  iov[0].iov_len, iov[1].iov_len, UINT32_MAX);
-+        goto done;
-+    }
-+
-     header->size_total = iov[0].iov_len + iov[1].iov_len;
- 
-     rc = remote_send_iovs(remote, iov, 2);
-@@ -288,6 +295,7 @@ pcmk__remote_send_xml(pcmk__remote_t *remote, const xmlNode *msg)
-                   pcmk_rc_str(rc), rc);
-     }
- 
-+done:
-     free(iov[0].iov_base);
-     g_free((gchar *) iov[1].iov_base);
-     return rc;
--- 
-2.54.0
-

diff --git a/0005-Refactor-libcib-Remove-an-unnecessary-coverity-suppr.patch b/0005-Refactor-libcib-Remove-an-unnecessary-coverity-suppr.patch
deleted file mode 100644
index 499b3a6..0000000
--- a/0005-Refactor-libcib-Remove-an-unnecessary-coverity-suppr.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c49b26cb1e11bb160198a28ac5567b0154b49121 Mon Sep 17 00:00:00 2001
-From: Chris Lumens <clumens@redhat.com>
-Date: Thu, 28 May 2026 12:56:57 -0400
-Subject: [PATCH 5/5] Refactor: libcib: Remove an unnecessary coverity
- suppression.
-
-With all the previous changes, this suppression is no longer necessary
-and can be removed.
----
- lib/cib/cib_remote.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/lib/cib/cib_remote.c b/lib/cib/cib_remote.c
-index 8ba9bb8909..b9eb393afa 100644
---- a/lib/cib/cib_remote.c
-+++ b/lib/cib/cib_remote.c
-@@ -258,7 +258,6 @@ cib_remote_callback_dispatch(void *user_data)
-             return -1;
-     }
- 
--    // coverity[tainted_data] This can't easily be changed right now
-     msg = pcmk__remote_message_xml(&private->callback);
-     if (msg == NULL) {
-         private->start_time = 0;
--- 
-2.54.0
-

diff --git a/pacemaker.spec b/pacemaker.spec
index 54d4e91..ae21721 100644
--- a/pacemaker.spec
+++ b/pacemaker.spec
@@ -40,11 +40,11 @@
 ## Upstream pacemaker version, and its package version (baserelease
 ## can be incremented to build packages reliably considered "newer"
 ## than previously built packages with the same pcmkversion)
-%global pcmkversion 3.0.2
-%global baserelease 3 
+%global pcmkversion 3.0.3
+%global baserelease 1
 
 ## Upstream commit (full commit ID, abbreviated commit ID, or tag) to build
-%global commit c75e25851c05c6b0ff48caeaa15854d5868ce428
+%global commit 7052efa194a519292349a0634fd08e1b653d0ab6
 
 ## Since git v2.11, the extent of abbreviation is autoscaled by default
 ## (used to be constant of 7), so we need to convey it for non-tags, too.
@@ -192,12 +192,8 @@ Url:           https://www.clusterlabs.org/
 Source0:       https://codeload.github.com/%{github_owner}/%{name}/tar.gz/%{archive_github_url}
 Source1:       pacemaker.sysusers
 
-# upstream commits
-Patch0:        0001-Med-libcrmcommon-Fix-checks-in-localized_remote_head.patch
-Patch1:        0002-High-libcrmcommon-Fix-integer-overflow-in-remote-mes.patch
-Patch2:        0003-High-libcrmcommon-Limit-the-max-size-of-a-remote-mes.patch
-Patch3:        0004-High-libcrmcommon-Fix-an-integer-overflow-in-pcmk__r.patch
-Patch4:        0005-Refactor-libcib-Remove-an-unnecessary-coverity-suppr.patch
+# patches needed to get fedora 46 builds to work
+Patch0:        0001-pacemaker_mock_aggregate_return.patch
 
 Requires:      resource-agents
 Requires:      %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release}
@@ -207,7 +203,13 @@ Requires:      %{name}-cli = %{version}-%{release}
 
 Requires:      %{python_path}
 BuildRequires: %{python_name}-devel
+# as setup.py isn't yet built from setup.py.in when
+# pyproject_buildrequires is run use it with -N option
+# and require the tools manually for now
+BuildRequires: %{python_name}-wheel
+BuildRequires: %{python_name}-pip
 BuildRequires: %{python_name}-setuptools
+BuildRequires: pyproject-rpm-macros
 
 # Pacemaker requires a minimum libqb functionality
 Requires:      libqb >= 1.0.1
@@ -440,6 +442,9 @@ manager.
 # as configure.ac is checking for support
 sed -i configure.ac -e "s/-Wall/-Wall -Wno-format-truncation/"
 
+%generate_buildrequires
+%pyproject_buildrequires -N
+
 %build
 
 export systemdsystemunitdir=%{?_unitdir}
@@ -478,7 +483,7 @@ export LDFLAGS_HARDENED_LIB="%{?_hardening_ldflags}"
 make %{_smp_mflags} V=1
 
 pushd python
-%py3_build
+%pyproject_wheel
 popd
 
 %check
@@ -499,7 +504,9 @@ make install \
   %{?_python_bytecompile_extra:%{?py_byte_compile:am__py_compile=true}}
 
 pushd python
-%py3_install
+%pyproject_install
+# take care of the license-files manually for now
+%pyproject_save_files -L "*"
 popd
 
 mkdir -p %{buildroot}%{_datadir}/pacemaker/nagios/plugins-metadata
@@ -707,9 +714,7 @@ fi
 %doc COPYING
 %doc ChangeLog.md
 
-%files -n %{python_name}-%{name}
-%{python3_sitelib}/pacemaker/
-%{python3_sitelib}/pacemaker-*.egg-info
+%files -n %{python_name}-%{name} -f %{pyproject_files}
 %exclude %{python3_sitelib}/pacemaker/_cts/
 %license licenses/LGPLv2.1
 %doc COPYING
@@ -769,6 +774,15 @@ fi
 %{_datadir}/pkgconfig/pacemaker-schemas.pc
 
 %changelog
+* Tue Sep 08 2026 Klaus Wenninger <kwenning@redhat.com> - 3.0.3-1
+- Update for new upstream release tarball: Pacemaker-3.0.3,
+  for full details, see included ChangeLog.md file or
+  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-3.0.3
+- move from deprecated py3_build & py3_install to
+  pyproject_wheel & pyproject_install
+- adapt python-package files to the new tooling
+- disable "-Waggregate-return" in cmocka files
+
 * Wed Jun 17 2026 Klaus Wenninger <klaus.wenninger@aon.at> - 3.0.2-3
 - fix CVE-2026-10649: Fix integer overflows in remote message code
 

diff --git a/sources b/sources
index d7cf2bd..bc31938 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pacemaker-c75e25851.tar.gz) = ca24cbb39ba5ba4393c6064462069612ea6888ca089da277ab3d5714526fa0bb7b194747b5f5541abc32305c868473e95860ccef4a51ad71e6eb1d68a9f3dd47
+SHA512 (pacemaker-7052efa19.tar.gz) = 48eb29599517102c3142f0f5d04a672d4a57b15bce6f14bb6c08feb23649d6710ff12e7d6a6915f470beb1ddee58ee54673071d8f2b15d92fcc7bd647f554eb0

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-17 20:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-17 20:17 [rpms/pacemaker] f44: * Tue Sep 08 2026 Klaus Wenninger <kwenning@redhat.com> - 3.0.3-1 Klaus Wenninger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox