2.0.4-rc1 - Update for new upstream tarball

...for release candidate: Pacemaker-2.0.4-rc1,
for full details, see included ChangeLog file or
https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-2.0.4-rc1
This commit is contained in:
Chris Lumens 2020-05-04 12:50:37 -04:00
parent 2957abde8a
commit b0259b4f9d
6 changed files with 9 additions and 243 deletions

View File

@ -1,94 +0,0 @@
From 9acf1f9b3d42ce48044568230cb4eba6a52b2e27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
Date: Wed, 4 Mar 2020 23:42:33 +0100
Subject: [PATCH] Build: fix compilation -Werror compilation issue with GCC 10
with s390x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Curiously, this possible NULL propagation:
> In file included from ../../include/crm_internal.h:21,
> from utils.c:10:
> In function pe_action_set_reason,
> inlined from custom_action at utils.c:605:13:
> ../../include/crm/common/logging.h:235:13: error: %s directive argument is null [-Werror=format-overflow=]
> 235 | qb_log_from_external_source(__func__, __FILE__, fmt, level, \
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 236 | __LINE__, converted_tag , ##args); \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./../include/crm/pengine/internal.h:19:43: note: in expansion of macro crm_log_tag
> 19 | # define pe_rsc_trace(rsc, fmt, args...) crm_log_tag(LOG_TRACE, rsc ? rsc->id : "<NULL>", fmt, ##args)
> | ^~~~~~~~~~~
> utils.c:2502:9: note: in expansion of macro pe_rsc_trace
> 2502 | pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'", action->uuid, action->reason, reason);
> | ^~~~~~~~~~~~
> tils.c: In function custom_action:
> tils.c:2502:69: note: format string is defined here
> 2502 | pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'", action->uuid, action->reason, reason);
> | ^~
was not observed with other architectures with a Rawhide rebuild.
There are various hypotheses behind that, currently concentrated
around a suspicion that "-fPIC" vs. building lacking that, which
is what libtool performs sequentially both unless the project is
configured with --disable-static (current stopgap solution for
said Rawhide/s390x problem) will mean that under some additional
circumstances, more interprocedural (or even cross-file?) data
flow analysis can be made and hence more problematic situations
discovered. To add insult into injury, libtool would purposefully
(and perhaps mistakenly) hide any outputs of possibly failing
second compilation pass per above when the former succeeded.
[Due to resorting to said --disable-static, further occurrences
of "new" problems are not being pursued at this time.]
Special thanks to Dan Horák for providing an instant feedback
based on some Fedora automatic notification triggers:
https://bugzilla.redhat.com/show_bug.cgi?id=1799842#c11
Also of interest, reduce double message to single one only
in one particular combination.
---
lib/pengine/utils.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
index 81f91215f3..6c82105f61 100644
--- a/lib/pengine/utils.c
+++ b/lib/pengine/utils.c
@@ -2551,18 +2551,22 @@ void pe_action_set_flag_reason(const char *function, long line,
void pe_action_set_reason(pe_action_t *action, const char *reason, bool overwrite)
{
- if(action->reason && overwrite) {
- pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'", action->uuid, action->reason, reason);
+ if (action->reason != NULL && overwrite) {
+ pe_rsc_trace(action->rsc, "Changing %s reason from '%s' to '%s'",
+ action->uuid, action->reason, crm_str(reason));
free(action->reason);
- action->reason = NULL;
+ } else if (action->reason == NULL) {
+ pe_rsc_trace(action->rsc, "Set %s reason to '%s'",
+ action->uuid, crm_str(reason));
+ } else {
+ // crm_assert(action->reason != NULL && !overwrite);
+ return;
}
- if(action->reason == NULL) {
- if(reason) {
- pe_rsc_trace(action->rsc, "Set %s reason to '%s'", action->uuid, reason);
- action->reason = strdup(reason);
- } else {
- action->reason = NULL;
- }
+
+ if (reason != NULL) {
+ action->reason = strdup(reason);
+ } else {
+ action->reason = NULL;
}
}

View File

@ -1,44 +0,0 @@
From 47ecd21b9acb108eb4e024c51cdefadac2d74a64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
Date: Tue, 26 Nov 2019 20:07:36 +0100
Subject: [PATCH] Build: fix unability to build with Inkscape 1.0 beta
version(s)
...and possibly beyond.
References:
https://gitlab.com/inkscape/inbox/issues/1244
---
doc/Makefile.am | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 257f5cdf5..d8c846830 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -84,14 +84,19 @@ PNGS = $(PNGS_ORIGINAL) $(PNGS_GENERATED)
graphics: $(PNGS)
+
+# two-phased attempts for Inkscape pre-1.0 and 1.0+ (upcoming) discrepancy
%.png: %.svg
- $(AM_V_GEN)$(INKSCAPE) --file=$< --export-dpi=90 -C --export-png=$@ $(PCMK_quiet)
+ $(AM_V_GEN) { $(INKSCAPE) --export-dpi=90 -C --export-png=$@ $< \
+ || $(INKSCAPE) --export-dpi=90 -C --export-file=$@ $<; } $(PCMK_quiet)
%-small.png: %.svg
- $(AM_V_GEN)$(INKSCAPE) --file=$< --export-dpi=45 -C --export-png=$@ $(PCMK_quiet)
+ $(AM_V_GEN) { $(INKSCAPE) --export-dpi=45 -C --export-png=$@ $< \
+ || $(INKSCAPE) --export-dpi=45 -C --export-file=$@ $<; } $(PCMK_quiet)
%-large.png: %.svg
- $(AM_V_GEN)$(INKSCAPE) --file=$< --export-dpi=180 -C --export-png=$@ $(PCMK_quiet)
+ $(AM_V_GEN) { $(INKSCAPE) --export-dpi=180 -C --export-png=$@ $< \
+ || $(INKSCAPE) --export-dpi=180 -C --export-file=$@ $<; } $(PCMK_quiet)
if IS_ASCIIDOC
ASCIIDOC_HTML_ARGS = --unsafe --backend=xhtml11
--
2.24.0

View File

@ -1,62 +0,0 @@
From 898d369f3bc770c0db2ad3973c204e6d11ec0e0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
Date: Tue, 21 Jan 2020 18:24:44 +0100
Subject: [PATCH] Build: get ready for implicit -fno-common with upcoming GCC
10
Currently, -fno-common yields (and only yields, slightly restructured):
> /usr/bin/ld:
> pacemaker_execd-execd_commands.o:
> pcmk/daemons/execd/pacemaker-execd.h:23:
> multiple definition of `rsc_list';
> + pacemaker_execd-pacemaker-execd.o:
> pcmk/daemons/execd/pacemaker-execd.h:23:
> first defined here
>
> pacemaker_execd-execd_alerts.o:
> pcmk/daemons/execd/pacemaker-execd.h:23:
> multiple definition of `rsc_list';
> + pacemaker_execd-pacemaker-execd.o:
> pcmk/daemons/execd/pacemaker-execd.h:23:
> first defined here
>
> collect2: error: ld returned 1 exit status
The problem is that a global (with external linkage) variable without
explicit "extern" stands for "tentative definition" (as opposed to mere
reference to existing object with external linkage otherwise),
and these won't get automagically merged in -fno-common case (which
is going to be a default in upcoming GCC 10).
Solution is to explicitly add "extern" storage-class specifiers
at what's indeed meant as non-tentative reference in the header
files that are going to be included from various translation
units that will end up in the same link.
No more attempts at finding these was performed, just the only instance
that got hit in practice (see above) receives this treatment, since
manual work simply doesn't scale. Either a static analysis can be
employed to mark other potential show-stoppers, or we'll just deal
with the issues on case-by-case basis (with the gargantuan assistence
of CI systems).
References:
https://gcc.gnu.org/gcc-10/porting_to.html#common
---
daemons/execd/pacemaker-execd.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/daemons/execd/pacemaker-execd.h b/daemons/execd/pacemaker-execd.h
index 4a52d91834..dab3ccdbee 100644
--- a/daemons/execd/pacemaker-execd.h
+++ b/daemons/execd/pacemaker-execd.h
@@ -20,7 +20,7 @@
# include <gnutls/gnutls.h>
# endif
-GHashTable *rsc_list;
+extern GHashTable *rsc_list;
typedef struct lrmd_rsc_s {
char *rsc_id;

View File

@ -1,35 +0,0 @@
From 77a79358cc72174cbba0dd44e313f6d06d96dbf4 Mon Sep 17 00:00:00 2001
From: Ken Gaillot <kgaillot@redhat.com>
Date: Thu, 2 Jan 2020 09:51:52 -0600
Subject: [PATCH] Refactor: attrd: properly declare global variables as extern
in header
Restores buildability with GCC 10
---
daemons/attrd/pacemaker-attrd.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/daemons/attrd/pacemaker-attrd.h b/daemons/attrd/pacemaker-attrd.h
index cc8e29ee1e..7b5ba03388 100644
--- a/daemons/attrd/pacemaker-attrd.h
+++ b/daemons/attrd/pacemaker-attrd.h
@@ -1,5 +1,7 @@
/*
- * Copyright 2013-2018 Andrew Beekhof <andrew@beekhof.net>
+ * Copyright 2013-2020 the Pacemaker project contributors
+ *
+ * The version control history for this file may have further details.
*
* This source code is licensed under the GNU General Public License version 2
* or later (GPLv2+) WITHOUT ANY WARRANTY.
@@ -106,8 +108,8 @@ typedef struct attribute_value_s {
gboolean seen;
} attribute_value_t;
-crm_cluster_t *attrd_cluster;
-GHashTable *attributes;
+extern crm_cluster_t *attrd_cluster;
+extern GHashTable *attributes;
#define attrd_send_ack(client, id, flags) \
crm_ipcs_send_ack((client), (id), (flags), "ack", __FUNCTION__, __LINE__)

View File

@ -13,12 +13,12 @@
## Upstream pacemaker version, and its package version (specversion
## can be incremented to build packages reliably considered "newer"
## than previously built packages with the same pcmkversion)
%global pcmkversion 2.0.3
%global specversion 4
%global pcmkversion 2.0.4
%global specversion 1
## Upstream commit (or git tag, such as "Pacemaker-" plus the
## {pcmkversion} macro for an official release) to use for this package
%global commit Pacemaker-2.0.3
%global commit Pacemaker-2.0.4-rc1
## 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.
%global commit_abbrev 9
@ -143,10 +143,6 @@ Url: http://www.clusterlabs.org
Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
Source1: https://github.com/%{github_owner}/%{nagios_name}/archive/%{nagios_hash}/%{nagios_name}-%{nagios_hash}.tar.gz
# ---
Patch0: Build-fix-unability-to-build-with-Inkscape-1.0-beta-.patch
Patch1: https://github.com/ClusterLabs/pacemaker/commit/898d369f3bc770c0db2ad3973c204e6d11ec0e0f.patch#/Build-get-ready-for-implicit-fno-common-with-GCC10.patch
Patch2: https://github.com/ClusterLabs/pacemaker/commit/77a79358cc72174cbba0dd44e313f6d06d96dbf4.patch#/Refactor-attrd-properly-declare-global-variables.patch
Patch3: https://github.com/ClusterLabs/pacemaker/commit/9acf1f9b3d42ce48044568230cb4eba6a52b2e27.patch#/Build-fix-compilation-Werror-compilation-issue.patch
Requires: resource-agents
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@ -717,6 +713,11 @@ exit 0
%license %{nagios_name}-%{nagios_hash}/COPYING
%changelog
* Mon May 04 2020 Chris Lumens <clumens@redhat.com> - 2.0.4-0.1.rc1
- Update for new upstream tarball for release candidate: Pacemaker-2.0.4-rc1,
for full details, see included ChangeLog file or
https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-2.0.4-rc1
* Fri Mar 06 2020 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 2.0.3-4
- return back to building also for s390x architecture, previous obstacle
was identified and interim fix (way to build along with one actual bugfix

View File

@ -1,2 +1,2 @@
SHA512 (pacemaker-2.0.3.tar.gz) = 957af652c07019cdd1bffaf6c5550de0dc6148c9cb2ef485e091c40bed8f60be86c0950917903d2b44c251a87f170258d0c79a2cf2d989cc1a47ddd5c79be9c2
SHA512 (nagios-agents-metadata-105ab8a7b2c16b9a29cf1c1596b80136eeef332b.tar.gz) = 11ddeb48a4929e7642b6dfa9c7962aa1d7a1af1c569830f55ed6cd6773abac13377317327bc1db8411c8077884f83f81cc54d746c834b63a99fa6dc219b5caad
SHA512 (pacemaker-2.0.4-rc1.tar.gz) = 9f769dd7acef3a2d52ad3fef58e0be6620821ce1b14cb0226d227306964346feadd4da9bb54b23ca9a6b8e9d4f2ecc3769644754cfb61afd0a2f27c1f687da75