From 2c503197d958f6f3c3a3d2613a58269b962cc20b Mon Sep 17 00:00:00 2001 From: Klaus Wenninger Date: Wed, 19 Apr 2023 15:34:52 +0200 Subject: [PATCH] * Wed Apr 19 2023 Klaus Wenninger - 2.1.6-0.1.rc1 - Update for new upstream tarball for release candidate: Pacemaker-2.1.6-rc1, for full details, see included ChangeLog file or https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-2.1.6-rc1 - Changed licenses to SPDX - Removed non-packet-specific wildcards from files-sections --- 0001-Build-rpm-convert-licenses-to-SPDX.patch | 105 +++++ ...e-enum-fenced_target_by-consistently.patch | 53 --- ...bare-wildcards-under-shared-director.patch | 66 +++ ...-Fix-problems-with-pcmk__output_and_.patch | 402 ------------------ pacemaker.spec | 100 ++++- sources | 2 +- 6 files changed, 254 insertions(+), 474 deletions(-) create mode 100644 0001-Build-rpm-convert-licenses-to-SPDX.patch delete mode 100644 0001-Fix-fenced-use-enum-fenced_target_by-consistently.patch create mode 100644 0002-Build-rpm-avoid-bare-wildcards-under-shared-director.patch delete mode 100644 0002-Low-libcrmcommon-Fix-problems-with-pcmk__output_and_.patch diff --git a/0001-Build-rpm-convert-licenses-to-SPDX.patch b/0001-Build-rpm-convert-licenses-to-SPDX.patch new file mode 100644 index 0000000..3a09610 --- /dev/null +++ b/0001-Build-rpm-convert-licenses-to-SPDX.patch @@ -0,0 +1,105 @@ +From f7d335922cd4abe847784d9e1825b1d1b8adc2d6 Mon Sep 17 00:00:00 2001 +From: Klaus Wenninger +Date: Fri, 17 Mar 2023 16:41:35 +0100 +Subject: [PATCH] Build: rpm: convert licenses to SPDX + +--- + rpm/pacemaker.spec.in | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/rpm/pacemaker.spec.in b/rpm/pacemaker.spec.in +index ff3bd0871..8741b1bb1 100644 +--- a/rpm/pacemaker.spec.in ++++ b/rpm/pacemaker.spec.in +@@ -267,10 +267,10 @@ Summary: Scalable High-Availability cluster resource manager + Version: %{pcmkversion} + Release: %{pcmk_release}%{?dist} + %if %{defined _unitdir} +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + %else + # initscript is Revised BSD +-License: GPLv2+ and LGPLv2+ and BSD ++License: GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause + %endif + Url: https://www.clusterlabs.org/ + +@@ -383,7 +383,7 @@ Available rpmbuild rebuild options: + stonithd upstart_job + + %package cli +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + Summary: Command line tools for controlling Pacemaker clusters + Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} + %if 0%{?supports_recommends} +@@ -406,7 +406,7 @@ to query and control the cluster from machines that may, or may not, + be part of the cluster. + + %package -n %{pkgname_pcmk_libs} +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + Summary: Core Pacemaker libraries + Requires(pre): %{pkgname_shadow_utils} + Requires: %{name}-schemas = %{version}-%{release} +@@ -421,7 +421,7 @@ The %{pkgname_pcmk_libs} package contains shared libraries needed for cluster + nodes and those just running the CLI tools. + + %package cluster-libs +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + Summary: Cluster Libraries used by Pacemaker + Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} + +@@ -433,7 +433,7 @@ The %{name}-cluster-libs package contains cluster-aware shared + libraries needed for nodes that will form part of the cluster nodes. + + %package -n %{python_name}-%{name} +-License: LGPLv2+ ++License: LGPL-2.1-or-later + Summary: Python libraries for Pacemaker + Requires: %{python_path} + Requires: %{pkgname_pcmk_libs} = %{version}-%{release} +@@ -448,10 +448,10 @@ to interface with Pacemaker. + + %package remote + %if %{defined _unitdir} +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + %else + # initscript is Revised BSD +-License: GPLv2+ and LGPLv2+ and BSD ++License: GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause + %endif + Summary: Pacemaker remote executor daemon for non-cluster nodes + Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} +@@ -474,7 +474,7 @@ which is capable of extending pacemaker functionality to remote + nodes not running the full corosync/cluster stack. + + %package -n %{pkgname_pcmk_libs}-devel +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + Summary: Pacemaker development package + Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} + Requires: %{name}-cluster-libs%{?_isa} = %{version}-%{release} +@@ -497,7 +497,7 @@ The %{pkgname_pcmk_libs}-devel package contains headers and shared libraries + for developing tools for Pacemaker. + + %package cts +-License: GPLv2+ and LGPLv2+ ++License: GPL-2.0-or-later AND LGPL-2.1-or-later + Summary: Test framework for cluster-related technologies like Pacemaker + Requires: %{python_path} + Requires: %{pkgname_pcmk_libs} = %{version}-%{release} +@@ -530,7 +530,7 @@ Pacemaker is an advanced, scalable High-Availability cluster resource + manager. + + %package schemas +-License: GPLv2+ ++License: GPL-2.0-or-later + Summary: Schemas and upgrade stylesheets for Pacemaker + BuildArch: noarch + +-- +2.39.0 + diff --git a/0001-Fix-fenced-use-enum-fenced_target_by-consistently.patch b/0001-Fix-fenced-use-enum-fenced_target_by-consistently.patch deleted file mode 100644 index 52b676a..0000000 --- a/0001-Fix-fenced-use-enum-fenced_target_by-consistently.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 404f80ecdb81b8caccc1d153b97555c9b19365bf Mon Sep 17 00:00:00 2001 -From: Klaus Wenninger -Date: Wed, 18 Jan 2023 14:10:26 +0100 -Subject: [PATCH] Fix: fenced: use enum fenced_target_by consistently - ---- - daemons/fenced/fenced_commands.c | 4 ++-- - daemons/fenced/pacemaker-fenced.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/daemons/fenced/fenced_commands.c b/daemons/fenced/fenced_commands.c -index d4b9a6fbc..82644bcdd 100644 ---- a/daemons/fenced/fenced_commands.c -+++ b/daemons/fenced/fenced_commands.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2009-2022 the Pacemaker project contributors -+ * Copyright 2009-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -1603,7 +1603,7 @@ stonith_level_key(const xmlNode *level, enum fenced_target_by mode) - * - * \return How to identify target of \p level - */ --static int -+static enum fenced_target_by - unpack_level_kind(const xmlNode *level) - { - if (crm_element_value(level, XML_ATTR_STONITH_TARGET) != NULL) { -diff --git a/daemons/fenced/pacemaker-fenced.h b/daemons/fenced/pacemaker-fenced.h -index 4852b9029..a3d2e17b5 100644 ---- a/daemons/fenced/pacemaker-fenced.h -+++ b/daemons/fenced/pacemaker-fenced.h -@@ -1,5 +1,5 @@ - /* -- * Copyright 2009-2022 the Pacemaker project contributors -+ * Copyright 2009-2023 the Pacemaker project contributors - * - * This source code is licensed under the GNU General Public License version 2 - * or later (GPLv2+) WITHOUT ANY WARRANTY. -@@ -223,7 +223,7 @@ int stonith_device_register(xmlNode *msg, gboolean from_cib); - - void stonith_device_remove(const char *id, bool from_cib); - --char *stonith_level_key(const xmlNode *msg, int mode); -+char *stonith_level_key(const xmlNode *msg, enum fenced_target_by); - void fenced_register_level(xmlNode *msg, char **desc, - pcmk__action_result_t *result); - void fenced_unregister_level(xmlNode *msg, char **desc, --- -2.39.0 - diff --git a/0002-Build-rpm-avoid-bare-wildcards-under-shared-director.patch b/0002-Build-rpm-avoid-bare-wildcards-under-shared-director.patch new file mode 100644 index 0000000..3ebbc62 --- /dev/null +++ b/0002-Build-rpm-avoid-bare-wildcards-under-shared-director.patch @@ -0,0 +1,66 @@ +From 9deb711c572ee2443e061f45da3780b6296d4f3d Mon Sep 17 00:00:00 2001 +From: Klaus Wenninger +Date: Mon, 20 Mar 2023 17:55:14 +0100 +Subject: [PATCH] Build: rpm: avoid bare wildcards under shared directories in + spec + +--- + rpm/pacemaker.spec.in | 27 ++++++++++++++++++--------- + 1 file changed, 18 insertions(+), 9 deletions(-) + +diff --git a/rpm/pacemaker.spec.in b/rpm/pacemaker.spec.in +index 8741b1bb1..7fb27e490 100644 +--- a/rpm/pacemaker.spec.in ++++ b/rpm/pacemaker.spec.in +@@ -857,21 +857,22 @@ exit 0 + %dir %{ocf_root}/resource.d + %{ocf_root}/resource.d/pacemaker + +-%doc %{_mandir}/man7/* ++%doc %{_mandir}/man7/*pacemaker* + %exclude %{_mandir}/man7/pacemaker-controld.* + %exclude %{_mandir}/man7/pacemaker-schedulerd.* + %exclude %{_mandir}/man7/pacemaker-fenced.* + %exclude %{_mandir}/man7/ocf_pacemaker_controld.* + %exclude %{_mandir}/man7/ocf_pacemaker_o2cb.* + %exclude %{_mandir}/man7/ocf_pacemaker_remote.* +-%doc %{_mandir}/man8/* ++%doc %{_mandir}/man8/crm*.8.gz + %exclude %{_mandir}/man8/crm_master.* +-%if %{with stonithd} +-%exclude %{_mandir}/man8/fence_legacy.* ++%doc %{_mandir}/man8/attrd_updater.* ++%doc %{_mandir}/man8/cibadmin.* ++%if %{with cibsecrets} ++ %doc %{_mandir}/man8/cibsecret.* + %endif +-%exclude %{_mandir}/man8/fence_watchdog.* +-%exclude %{_mandir}/man8/pacemakerd.* +-%exclude %{_mandir}/man8/pacemaker-remoted.* ++%doc %{_mandir}/man8/iso8601.* ++%doc %{_mandir}/man8/stonith_admin.* + + %license licenses/GPLv2 + %doc COPYING +@@ -947,8 +948,16 @@ exit 0 + + %files -n %{pkgname_pcmk_libs}-devel + %{_includedir}/pacemaker +-%{_libdir}/*.so +-%{_libdir}/pkgconfig/*.pc ++%{_libdir}/libcib.so ++%{_libdir}/liblrmd.so ++%{_libdir}/libcrmservice.so ++%{_libdir}/libcrmcommon.so ++%{_libdir}/libpe_status.so ++%{_libdir}/libpe_rules.so ++%{_libdir}/libpacemaker.so ++%{_libdir}/libstonithd.so ++%{_libdir}/libcrmcluster.so ++%{_libdir}/pkgconfig/*pacemaker*.pc + %license licenses/LGPLv2.1 + %doc COPYING + %doc ChangeLog +-- +2.39.0 + diff --git a/0002-Low-libcrmcommon-Fix-problems-with-pcmk__output_and_.patch b/0002-Low-libcrmcommon-Fix-problems-with-pcmk__output_and_.patch deleted file mode 100644 index b6dbf4a..0000000 --- a/0002-Low-libcrmcommon-Fix-problems-with-pcmk__output_and_.patch +++ /dev/null @@ -1,402 +0,0 @@ -From c5b6a64cde5d460e1349e952db6a33831009ecd0 Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Mon, 20 Feb 2023 16:12:19 -0500 -Subject: [PATCH] Low: libcrmcommon: Fix problems with - pcmk__output_and_clear_error. - -First, it should take a GError ** so that doing anything in the function -modifies the error object that was passed to it. Second, the test case -should assert that the error is NULL, not that some element of it is -NULL. - -Backported to 2.1.5 - -diff --git a/daemons/fenced/cts-fence-helper.c b/daemons/fenced/cts-fence-helper.c -index a9260e5c0..e18a1f497 100644 ---- a/daemons/fenced/cts-fence-helper.c -+++ b/daemons/fenced/cts-fence-helper.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2009-2022 the Pacemaker project contributors -+ * Copyright 2009-2023 the Pacemaker project contributors - * - * This source code is licensed under the GNU General Public License version 2 - * or later (GPLv2+) WITHOUT ANY WARRANTY. -@@ -676,6 +676,6 @@ done: - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - crm_exit(exit_code); - } -diff --git a/daemons/pacemakerd/pacemakerd.c b/daemons/pacemakerd/pacemakerd.c -index 20ba9ce3c..cc55a6af1 100644 ---- a/daemons/pacemakerd/pacemakerd.c -+++ b/daemons/pacemakerd/pacemakerd.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2010-2022 the Pacemaker project contributors -+ * Copyright 2010-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -449,7 +449,7 @@ done: - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/daemons/schedulerd/pacemaker-schedulerd.c b/daemons/schedulerd/pacemaker-schedulerd.c -index bbe253566..3f2a3e861 100644 ---- a/daemons/schedulerd/pacemaker-schedulerd.c -+++ b/daemons/schedulerd/pacemaker-schedulerd.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2004-2022 the Pacemaker project contributors -+ * Copyright 2004-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -151,7 +151,7 @@ done: - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - pengine_shutdown(0); - } - -diff --git a/include/crm/common/output_internal.h b/include/crm/common/output_internal.h -index 26cd8c42f..e357d9a68 100644 ---- a/include/crm/common/output_internal.h -+++ b/include/crm/common/output_internal.h -@@ -911,7 +911,7 @@ G_GNUC_NULL_TERMINATED; - * \param[in,out] out The output functions structure. If NULL, any errors - * will simply be printed to stderr. - */ --void pcmk__output_and_clear_error(GError *error, pcmk__output_t *out); -+void pcmk__output_and_clear_error(GError **error, pcmk__output_t *out); - - int pcmk__xml_output_new(pcmk__output_t **out, xmlNodePtr *xml); - void pcmk__xml_output_finish(pcmk__output_t *out, xmlNodePtr *xml); -diff --git a/lib/common/output.c b/lib/common/output.c -index e8d512497..266a14af7 100644 ---- a/lib/common/output.c -+++ b/lib/common/output.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2019-2022 the Pacemaker project contributors -+ * Copyright 2019-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -169,19 +169,19 @@ pcmk__register_messages(pcmk__output_t *out, const pcmk__message_entry_t *table) - } - - void --pcmk__output_and_clear_error(GError *error, pcmk__output_t *out) -+pcmk__output_and_clear_error(GError **error, pcmk__output_t *out) - { -- if (error == NULL) { -+ if (error == NULL || *error == NULL) { - return; - } - - if (out != NULL) { -- out->err(out, "%s: %s", g_get_prgname(), error->message); -+ out->err(out, "%s: %s", g_get_prgname(), (*error)->message); - } else { -- fprintf(stderr, "%s: %s\n", g_get_prgname(), error->message); -+ fprintf(stderr, "%s: %s\n", g_get_prgname(), (*error)->message); - } - -- g_clear_error(&error); -+ g_clear_error(error); - } - - /*! -diff --git a/lib/common/tests/output/pcmk__output_and_clear_error_test.c b/lib/common/tests/output/pcmk__output_and_clear_error_test.c -index 182ea9bba..f54ed8a58 100644 ---- a/lib/common/tests/output/pcmk__output_and_clear_error_test.c -+++ b/lib/common/tests/output/pcmk__output_and_clear_error_test.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2022 the Pacemaker project contributors -+ * Copyright 2022-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -72,10 +72,10 @@ standard_usage(void **state) { - "some error message"); - - expect_function_call(fake_text_err); -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - pcmk__output_free(out); -- assert_null(error->message); -+ assert_null(error); - } - - PCMK__UNIT_TEST(NULL, NULL, -diff --git a/tools/attrd_updater.c b/tools/attrd_updater.c -index 16483823a..60e4cc7c5 100644 ---- a/tools/attrd_updater.c -+++ b/tools/attrd_updater.c -@@ -369,7 +369,7 @@ done: - g_free(options.attr_set); - free(options.attr_value); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/tools/crm_attribute.c b/tools/crm_attribute.c -index 21d8f3ae7..358b15039 100644 ---- a/tools/crm_attribute.c -+++ b/tools/crm_attribute.c -@@ -871,7 +871,7 @@ done: - - cib__clean_up_connection(&the_cib); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/tools/crm_diff.c b/tools/crm_diff.c -index 6eeb83b5a..2a973d083 100644 ---- a/tools/crm_diff.c -+++ b/tools/crm_diff.c -@@ -381,6 +381,6 @@ done: - free_xml(object_1); - free_xml(object_2); - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - crm_exit(exit_code); - } -diff --git a/tools/crm_error.c b/tools/crm_error.c -index 9686e4ba6..8911eae1b 100644 ---- a/tools/crm_error.c -+++ b/tools/crm_error.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2012-2022 the Pacemaker project contributors -+ * Copyright 2012-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -164,7 +164,7 @@ main(int argc, char **argv) - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/tools/crm_node.c b/tools/crm_node.c -index f4e671f05..ac2a19022 100644 ---- a/tools/crm_node.c -+++ b/tools/crm_node.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2004-2022 the Pacemaker project contributors -+ * Copyright 2004-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -596,6 +596,6 @@ done: - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - return crm_exit(exit_code); - } -diff --git a/tools/crm_resource.c b/tools/crm_resource.c -index 4a89c647d..0134d5629 100644 ---- a/tools/crm_resource.c -+++ b/tools/crm_resource.c -@@ -200,7 +200,7 @@ static pcmk__supported_format_t formats[] = { - static crm_exit_t - bye(crm_exit_t ec) - { -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, ec, true, NULL); -diff --git a/tools/crm_rule.c b/tools/crm_rule.c -index 5d9cb5148..5cdc118c5 100644 ---- a/tools/crm_rule.c -+++ b/tools/crm_rule.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2019-2022 the Pacemaker project contributors -+ * Copyright 2019-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -215,7 +215,7 @@ done: - crm_time_free(rule_date); - free_xml(input); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c -index ff2b6f40b..932c5bd22 100644 ---- a/tools/crm_simulate.c -+++ b/tools/crm_simulate.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2009-2022 the Pacemaker project contributors -+ * Copyright 2009-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -547,7 +547,7 @@ main(int argc, char **argv) - options.dot_file); - - done: -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - - /* There sure is a lot to free in options. */ - free(options.dot_file); -diff --git a/tools/crm_ticket.c b/tools/crm_ticket.c -index 15b615c6c..d768818e1 100644 ---- a/tools/crm_ticket.c -+++ b/tools/crm_ticket.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2012-2022 the Pacemaker project contributors -+ * Copyright 2012-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -1005,7 +1005,7 @@ main(int argc, char **argv) - g_free(options.ticket_id); - g_free(options.xml_file); - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - - crm_exit(exit_code); - } -diff --git a/tools/crm_verify.c b/tools/crm_verify.c -index 357cba888..43b09da4b 100644 ---- a/tools/crm_verify.c -+++ b/tools/crm_verify.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2004-2022 the Pacemaker project contributors -+ * Copyright 2004-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -273,7 +273,7 @@ main(int argc, char **argv) - exit_code = pcmk_rc2exitc(rc); - } - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/tools/crmadmin.c b/tools/crmadmin.c -index 577e94155..0b400ae6c 100644 ---- a/tools/crmadmin.c -+++ b/tools/crmadmin.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2004-2022 the Pacemaker project contributors -+ * Copyright 2004-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -264,7 +264,7 @@ done: - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); -diff --git a/tools/iso8601.c b/tools/iso8601.c -index 002eb5ad0..e53bca021 100644 ---- a/tools/iso8601.c -+++ b/tools/iso8601.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2005-2022 the Pacemaker project contributors -+ * Copyright 2005-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -277,6 +277,6 @@ done: - g_free(options.expected_s); - g_free(options.period_s); - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - crm_exit(exit_code); - } -diff --git a/tools/stonith_admin.c b/tools/stonith_admin.c -index b676200db..1077de770 100644 ---- a/tools/stonith_admin.c -+++ b/tools/stonith_admin.c -@@ -1,5 +1,5 @@ - /* -- * Copyright 2009-2022 the Pacemaker project contributors -+ * Copyright 2009-2023 the Pacemaker project contributors - * - * The version control history for this file may have further details. - * -@@ -655,7 +655,7 @@ main(int argc, char **argv) - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, exit_code, true, NULL); --- -2.39.0 - -diff --git a/daemons/attrd/pacemaker-attrd.c b/daemons/attrd/pacemaker-attrd.c -index 2100db43b..7cbc26ca4 100644 ---- a/daemons/attrd/pacemaker-attrd.c -+++ b/daemons/attrd/pacemaker-attrd.c -@@ -306,7 +306,7 @@ main(int argc, char **argv) - g_strfreev(processed_args); - pcmk__free_arg_context(context); - -- pcmk__output_and_clear_error(error, out); -+ pcmk__output_and_clear_error(&error, out); - - if (out != NULL) { - out->finish(out, attrd_exit_status, true, NULL); -diff --git a/daemons/execd/cts-exec-helper.c b/daemons/execd/cts-exec-helper.c -index cba388fe1..82492b937 100644 ---- a/daemons/execd/cts-exec-helper.c -+++ b/daemons/execd/cts-exec-helper.c -@@ -620,6 +620,6 @@ done: - free(key); - free(val); - -- pcmk__output_and_clear_error(error, NULL); -+ pcmk__output_and_clear_error(&error, NULL); - return test_exit(exit_code); - } diff --git a/pacemaker.spec b/pacemaker.spec index fa61f98..7ad0323 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -1,3 +1,12 @@ +# +# Copyright 2008-2023 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. +# + # User-configurable globals and defines to control package behavior # (these should not test {with X} values, which are declared later) @@ -31,11 +40,11 @@ ## 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.1.5 -%global specversion 5 +%global pcmkversion 2.1.6 +%global specversion 1.rc1 ## Upstream commit (full commit ID, abbreviated commit ID, or tag) to build -%global commit a3f44794f94e1571c6ba0042915ade369b4ce4b1 +%global commit 095c09eee68f65ae3a3e0348fe868da43f47bab2 ## 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. @@ -79,7 +88,7 @@ ## Add option to prefix package version with "0." ## (so later "official" packages will be considered updates) -%bcond_with pre_release +%bcond_without pre_release ## NOTE: skip --with upstart_job @@ -192,7 +201,7 @@ Name: pacemaker Summary: Scalable High-Availability cluster resource manager Version: %{pcmkversion} Release: %{pcmk_release}%{?dist} -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Url: https://www.clusterlabs.org/ # Example: https://codeload.github.com/ClusterLabs/pacemaker/tar.gz/e91769e @@ -207,8 +216,8 @@ Source0: https://codeload.github.com/%{github_owner}/%{name}/tar.gz/%{arch Source1: https://codeload.github.com/%{github_owner}/%{nagios_name}/tar.gz/%{nagios_archive_github_url} # upstream commits -Patch0: 0001-Fix-fenced-use-enum-fenced_target_by-consistently.patch -Patch1: 0002-Low-libcrmcommon-Fix-problems-with-pcmk__output_and_.patch +Patch0: 0001-Build-rpm-convert-licenses-to-SPDX.patch +Patch1: 0002-Build-rpm-avoid-bare-wildcards-under-shared-director.patch Requires: resource-agents Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} @@ -226,6 +235,7 @@ ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 Requires: %{python_path} BuildRequires: %{python_name}-devel +BuildRequires: %{python_name}-setuptools # Pacemaker requires a minimum libqb functionality Requires: libqb >= 0.17.0 @@ -310,7 +320,7 @@ Available rpmbuild rebuild options: --with(out) : cibsecrets hardening nls pre_release profiling stonithd %package cli -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Command line tools for controlling Pacemaker clusters Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} Recommends: pcmk-cluster-manager = %{version}-%{release} @@ -332,7 +342,7 @@ to query and control the cluster from machines that may, or may not, be part of the cluster. %package -n %{pkgname_pcmk_libs} -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Core Pacemaker libraries Requires(pre): %{pkgname_shadow_utils} Requires: %{name}-schemas = %{version}-%{release} @@ -351,7 +361,7 @@ The %{pkgname_pcmk_libs} package contains shared libraries needed for cluster nodes and those just running the CLI tools. %package cluster-libs -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Cluster Libraries used by Pacemaker Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} @@ -362,11 +372,26 @@ manager. The %{name}-cluster-libs package contains cluster-aware shared libraries needed for nodes that will form part of the cluster nodes. +%package -n %{python_name}-%{name} +License: LGPL-2.1-or-later +Summary: Python libraries for Pacemaker +Requires: %{python_path} +Requires: %{pkgname_pcmk_libs} = %{version}-%{release} +BuildArch: noarch + +%description -n %{python_name}-%{name} +Pacemaker is an advanced, scalable High-Availability cluster resource +manager. + +The %{python_name}-%{name} package contains a Python library that can be used +to interface with Pacemaker. + %package remote -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Pacemaker remote executor daemon for non-cluster nodes Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release} +Requires: %{python_name}-%{name} = %{version}-%{release} Requires: resource-agents # -remote can be fully independent of systemd %{?systemd_ordering}%{!?systemd_ordering:%{?systemd_requires}} @@ -382,7 +407,7 @@ which is capable of extending pacemaker functionality to remote nodes not running the full corosync/cluster stack. %package -n %{pkgname_pcmk_libs}-devel -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Pacemaker development package Requires: %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release} Requires: %{name}-cluster-libs%{?_isa} = %{version}-%{release} @@ -405,7 +430,7 @@ The %{pkgname_pcmk_libs}-devel package contains headers and shared libraries for developing tools for Pacemaker. %package cts -License: GPLv2+ and LGPLv2+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Test framework for cluster-related technologies like Pacemaker Requires: %{python_path} Requires: %{pkgname_pcmk_libs} = %{version}-%{release} @@ -438,7 +463,7 @@ Pacemaker is an advanced, scalable High-Availability cluster resource manager. %package schemas -License: GPLv2+ +License: GPL-2.0-or-later Summary: Schemas and upgrade stylesheets for Pacemaker BuildArch: noarch @@ -513,6 +538,10 @@ export LDFLAGS_HARDENED_LIB="%{?_hardening_ldflags}" make %{_smp_mflags} V=1 +pushd python +%py3_build +popd + %check make %{_smp_mflags} check { cts/cts-scheduler --run load-stopped-loop \ @@ -530,6 +559,10 @@ make install \ DESTDIR=%{buildroot} V=1 docdir=%{pcmk_docdir} \ %{?_python_bytecompile_extra:%{?py_byte_compile:am__py_compile=true}} +pushd python +%py3_install +popd + mkdir -p %{buildroot}%{_datadir}/pacemaker/nagios/plugins-metadata for file in $(find %{nagios_name}-%{nagios_hash}/metadata -type f); do install -m 644 $file %{buildroot}%{_datadir}/pacemaker/nagios/plugins-metadata @@ -704,18 +737,25 @@ exit 0 %dir %{ocf_root}/resource.d %{ocf_root}/resource.d/pacemaker -%doc %{_mandir}/man7/* +%doc %{_mandir}/man7/*pacemaker* %exclude %{_mandir}/man7/pacemaker-controld.* %exclude %{_mandir}/man7/pacemaker-schedulerd.* %exclude %{_mandir}/man7/pacemaker-fenced.* %exclude %{_mandir}/man7/ocf_pacemaker_controld.* %exclude %{_mandir}/man7/ocf_pacemaker_o2cb.* %exclude %{_mandir}/man7/ocf_pacemaker_remote.* -%doc %{_mandir}/man8/* +%doc %{_mandir}/man8/crm*.8.gz %exclude %{_mandir}/man8/crm_master.* +%doc %{_mandir}/man8/attrd_updater.* +%doc %{_mandir}/man8/cibadmin.* +%if %{with cibsecrets} + %doc %{_mandir}/man8/cibsecret.* +%endif %exclude %{_mandir}/man8/fence_watchdog.* %exclude %{_mandir}/man8/pacemakerd.* %exclude %{_mandir}/man8/pacemaker-remoted.* +%doc %{_mandir}/man8/iso8601.* +%doc %{_mandir}/man8/stonith_admin.* %license licenses/GPLv2 %doc COPYING @@ -746,6 +786,14 @@ exit 0 %doc COPYING %doc ChangeLog +%files -n %{python_name}-%{name} +%{python3_sitelib}/pacemaker/ +%{python3_sitelib}/pacemaker-*.egg-info +%exclude %{python3_sitelib}/pacemaker/_cts/ +%license licenses/LGPLv2.1 +%doc COPYING +%doc ChangeLog + %files remote %config(noreplace) %{_sysconfdir}/sysconfig/pacemaker # state directory is shared between the subpackets @@ -767,6 +815,7 @@ exit 0 %files cts %{python_site}/cts +%{python3_sitelib}/pacemaker/_cts/ %{_datadir}/pacemaker/tests %{_libexecdir}/pacemaker/cts-log-watcher @@ -778,8 +827,16 @@ exit 0 %files -n %{pkgname_pcmk_libs}-devel %{_includedir}/pacemaker -%{_libdir}/*.so -%{_libdir}/pkgconfig/*.pc +%{_libdir}/libcib.so +%{_libdir}/liblrmd.so +%{_libdir}/libcrmservice.so +%{_libdir}/libcrmcommon.so +%{_libdir}/libpe_status.so +%{_libdir}/libpe_rules.so +%{_libdir}/libpacemaker.so +%{_libdir}/libstonithd.so +%{_libdir}/libcrmcluster.so +%{_libdir}/pkgconfig/*pacemaker*.pc %license licenses/LGPLv2.1 %doc COPYING %doc ChangeLog @@ -800,6 +857,13 @@ exit 0 %license %{nagios_name}-%{nagios_hash}/COPYING %changelog +* Wed Apr 19 2023 Klaus Wenninger - 2.1.6-0.1.rc1 +- Update for new upstream tarball for release candidate: Pacemaker-2.1.6-rc1, + for full details, see included ChangeLog file or + https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-2.1.6-rc1 +- Changed licenses to SPDX +- Removed non-packet-specific wildcards from files-sections + * Wed Mar 1 2023 Klaus Wenninger - 2.1.5-5 - fix pcmk__output_and_clear_error diff --git a/sources b/sources index 70aed1f..eb2ddc6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (nagios-agents-metadata-105ab8a7b2c16b9a29cf1c1596b80136eeef332b.tar.gz) = 11ddeb48a4929e7642b6dfa9c7962aa1d7a1af1c569830f55ed6cd6773abac13377317327bc1db8411c8077884f83f81cc54d746c834b63a99fa6dc219b5caad -SHA512 (pacemaker-a3f44794f.tar.gz) = 554f4c47fcf2f5be61afe9b1485a6bb19de1bdfc0ec8d9be44eba31d77d0df1c6f07b29590299c4664e676a5c90e9c5fdb8a84921665151211df92d8f549dbc9 +SHA512 (pacemaker-095c09eee.tar.gz) = 177aba975d7424a187fc7cdc2ad9ad83e5c4c2a75775fc2f419f66ed2cad0f27fa8056c3a401f640cdb6dd53a1fcc2a0380ffa104dc8033ad42155b1c8544f93