From 28c63482e375e7fcdf8b63efd670d353483a1b00 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Sat, 18 Feb 2023 06:09:47 +0000 Subject: [PATCH] import booth-1.0-283.1.9d4029a.git.el8 --- .booth.metadata | 2 +- .gitignore | 2 +- ...uild-Do-not-link-with-pcmk-libraries.patch | 33 ----------- ...ndle-updated-exit-code-of-crm_ticket.patch | 57 ------------------- ...or-main-substitute-is_auth_req-macro.patch | 30 ---------- ...1-config-Add-enable-authfile-option.patch} | 20 +++---- SPECS/booth.spec | 33 +++++++---- 7 files changed, 34 insertions(+), 143 deletions(-) delete mode 100644 SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch delete mode 100644 SOURCES/0002-pacemaker-Handle-updated-exit-code-of-crm_ticket.patch delete mode 100644 SOURCES/bz2111668-1-Revert-Refactor-main-substitute-is_auth_req-macro.patch rename SOURCES/{bz2111668-2-config-Add-enable-authfile-option.patch => rhel-specific-0001-config-Add-enable-authfile-option.patch} (88%) diff --git a/.booth.metadata b/.booth.metadata index cd62c47..0abddfe 100644 --- a/.booth.metadata +++ b/.booth.metadata @@ -1 +1 @@ -4813ede4a6bb517564a3b9f6fe523164a7362c5b SOURCES/booth-1.0-199-ac1d34c.tar.gz +1fe5851af81995b4187b6c24ffbb9e8edead7060 SOURCES/booth-1.0-283-9d4029a.tar.gz diff --git a/.gitignore b/.gitignore index 5960d66..9cc4d95 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/booth-1.0-199-ac1d34c.tar.gz +SOURCES/booth-1.0-283-9d4029a.tar.gz diff --git a/SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch b/SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch deleted file mode 100644 index d731299..0000000 --- a/SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2f944ea46b1b39113a34ca586cd8e3cd8f0d1d70 Mon Sep 17 00:00:00 2001 -From: Jan Friesse -Date: Wed, 3 Jun 2020 15:04:56 +0200 -Subject: [PATCH] build: Do not link with pcmk libraries - -Patch 4205de05fe337d1b1127fae302e6e6c2f0613ccf introduced better way to -check for pacemaker headers but also usage of PCMK_LIBS when linking -boothd. - -This is not needed, because boothd uses just crm/services.h header file -for inclusion of OCF return codes, so patch removes the use of PCMK_LIBS. - -Signed-off-by: Jan Friesse ---- - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 8598725..4023791 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -23,7 +23,7 @@ boothd_SOURCES += auth.c - endif - - boothd_LDFLAGS = $(OS_DYFLAGS) -L./ --boothd_LDADD = -lm $(GLIB_LIBS) $(ZLIB_LIBS) $(PCMK_LIBS) -+boothd_LDADD = -lm $(GLIB_LIBS) $(ZLIB_LIBS) - boothd_CFLAGS = $(GLIB_CFLAGS) $(PCMK_CFLAGS) - - if !LOGGING_LIBQB --- -2.18.2 - diff --git a/SOURCES/0002-pacemaker-Handle-updated-exit-code-of-crm_ticket.patch b/SOURCES/0002-pacemaker-Handle-updated-exit-code-of-crm_ticket.patch deleted file mode 100644 index c72dabe..0000000 --- a/SOURCES/0002-pacemaker-Handle-updated-exit-code-of-crm_ticket.patch +++ /dev/null @@ -1,57 +0,0 @@ -From bb58699a47a7b9070d555490f980c33caa3066e9 Mon Sep 17 00:00:00 2001 -From: Jan Friesse -Date: Mon, 8 Jun 2020 15:38:06 +0200 -Subject: [PATCH] pacemaker: Handle updated exit code of crm_ticket - -crm_ticket included since Pacemaker version 2.0.0-rc2 doesn't return -EPERM (1) error code any longer when ticket is updated without using ---force. Instead new value CRM_EX_INSUFFICIENT_PRIV (4) is used. - -This return value is used in the test_atomicity function which is -failing with new enough Pacemaker. - -Solution is to check also for return code 4. - -Also previously when unexpected code is returned, log contained full -return value as returned by system call. This is not very readable so -use only exit status (WEXITSTATUS) instead. - -Signed-off-by: Jan Friesse ---- - src/pacemaker.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/pacemaker.c b/src/pacemaker.c -index 7e3f9e6..1582fa8 100644 ---- a/src/pacemaker.c -+++ b/src/pacemaker.c -@@ -59,6 +59,7 @@ enum atomic_ticket_supported atomicity = UNKNOWN; - * - the old version asks for "Y/N" via STDIN, and returns 0 - * when reading "no"; - * - the new version just reports an error without asking. -+ * Since 2.0.0-rc2 error code is changed from 1 (EPERM) to 4 (CRM_EX_INSUFFICIENT_PRIV) - */ - static void test_atomicity(void) - { -@@ -86,7 +87,8 @@ static void test_atomicity(void) - log_info("Old \"crm_ticket\" found, using non-atomic ticket updates."); - break; - -- case 1: -+ case 1: /* Pacemaker < 2.0.0-rc2 - EPERM */ -+ case 4: /* Pacemaker >= 2.0.0-rc2 - CRM_EX_INSUFFICIENT_PRIV */ - atomicity = YES; - log_info("New \"crm_ticket\" found, using atomic ticket updates."); - break; -@@ -94,7 +96,7 @@ static void test_atomicity(void) - default: - log_error("Unexpected return value from \"crm_ticket\" (%d), " - "falling back to non-atomic ticket updates.", -- rv); -+ WEXITSTATUS(rv)); - atomicity = NO; - } - --- -2.18.2 - diff --git a/SOURCES/bz2111668-1-Revert-Refactor-main-substitute-is_auth_req-macro.patch b/SOURCES/bz2111668-1-Revert-Refactor-main-substitute-is_auth_req-macro.patch deleted file mode 100644 index 3ab2586..0000000 --- a/SOURCES/bz2111668-1-Revert-Refactor-main-substitute-is_auth_req-macro.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 35bf0b7b048d715f671eb68974fb6b4af6528c67 Mon Sep 17 00:00:00 2001 -From: Jan Friesse -Date: Mon, 4 Jul 2022 09:39:47 +0200 -Subject: [PATCH] Revert "Refactor: main: substitute is_auth_req macro" - -This reverts commit da79b8ba28ad4837a0fee13e5f8fb6f89fe0e24c. - -authfile != authkey - -Signed-off-by: Jan Friesse ---- - src/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/main.c b/src/main.c -index b50a883..b4a174f 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -364,7 +364,7 @@ static int setup_config(int type) - if (rv < 0) - goto out; - -- if (is_auth_req()) { -+ if (booth_conf->authfile[0] != '\0') { - rv = read_authkey(); - if (rv < 0) - goto out; --- -2.37.1 - diff --git a/SOURCES/bz2111668-2-config-Add-enable-authfile-option.patch b/SOURCES/rhel-specific-0001-config-Add-enable-authfile-option.patch similarity index 88% rename from SOURCES/bz2111668-2-config-Add-enable-authfile-option.patch rename to SOURCES/rhel-specific-0001-config-Add-enable-authfile-option.patch index a3adc72..606f1fe 100644 --- a/SOURCES/bz2111668-2-config-Add-enable-authfile-option.patch +++ b/SOURCES/rhel-specific-0001-config-Add-enable-authfile-option.patch @@ -1,6 +1,6 @@ -From 466246c2fa8ea1bcc06593fbf7b900d0665606b1 Mon Sep 17 00:00:00 2001 +From 87c8545816cca03d19c2f3ef54031940f7e19d50 Mon Sep 17 00:00:00 2001 From: Jan Friesse -Date: Tue, 26 Jul 2022 18:39:38 +0200 +Date: Fri, 18 Nov 2022 11:57:46 +0100 Subject: [PATCH] config: Add enable-authfile option This option enables (or disables) usage of authfile. Can be 'yes' or 'no'. @@ -31,28 +31,28 @@ Signed-off-by: Jan Friesse 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/boothd.8.txt b/docs/boothd.8.txt -index f58f27e..12f66f9 100644 +index 0f3d2c1..c7a8413 100644 --- a/docs/boothd.8.txt +++ b/docs/boothd.8.txt @@ -230,6 +230,13 @@ will always bind and listen to both UDP and TCP ports. parameter to a higher value. The time skew test is performed only in concert with authentication. -+*'enable-authfile'*:: ++'enable-authfile':: + Enables (or disables) usage of authfile. Can be 'yes' or 'no'. + Default is 'no'. + This is non-upstream option used to allow use of authfile without + breaking compatibility for clusters consisting of mixed + versions of booth. + - *'site'*:: - Defines a site Raft member with the given IP. Sites can - acquire tickets. The sites' IP should be managed by the cluster. + 'debug':: + Specifies the debug output level. Alternative to + command line argument. Effective only for 'daemon' diff --git a/src/config.c b/src/config.c -index 8e41553..b9df3e3 100644 +index f0ca4aa..e1f25f0 100644 --- a/src/config.c +++ b/src/config.c -@@ -729,6 +729,23 @@ no_value: +@@ -732,6 +732,23 @@ no_value: booth_conf->maxtimeskew = atoi(val); continue; } @@ -102,5 +102,5 @@ index b4a174f..0fdb295 100644 if (rv < 0) goto out; -- -2.37.1 +2.27.0 diff --git a/SPECS/booth.spec b/SPECS/booth.spec index eae04f6..59d2baf 100644 --- a/SPECS/booth.spec +++ b/SPECS/booth.spec @@ -22,15 +22,16 @@ %bcond_with html_man %bcond_with glue %bcond_with run_build_tests +%bcond_without include_unit_test # set following to the result of `git describe --abbrev=128 $commit` # This will be used to fill booth_ver, booth_numcomm and booth_sha1. # It is important to keep abbrev to get full length sha1! When updating source use # `spectool -g booth.spec` to download source. -%global git_describe_str v1.0-199-gac1d34ce172678a8f5ba415e976cf2366d45e15e +%global git_describe_str v1.0-283-g9d4029aa14323a7f3b496215d25e40bd14f33632 # Set this to 1 when rebasing (changing git_describe_str) and increase otherwise -%global release 2 +%global release 1 # Run shell script to parse git_describe str into version, numcomm and sha1 hash %global booth_ver %(s=%{git_describe_str}; vver=${s%%%%-*}; echo ${vver:1}) @@ -61,10 +62,7 @@ Summary: Ticket Manager for Multi-site Clusters License: GPLv2+ Url: https://github.com/%{github_owner}/%{name} Source0: https://github.com/%{github_owner}/%{name}/archive/%{booth_short_sha1}/%{booth_archive_name}.tar.gz -Patch0: 0001-build-Do-not-link-with-pcmk-libraries.patch -Patch1: 0002-pacemaker-Handle-updated-exit-code-of-crm_ticket.patch -Patch2: bz2111668-1-Revert-Refactor-main-substitute-is_auth_req-macro.patch -Patch3: bz2111668-2-config-Add-enable-authfile-option.patch +Patch0: rhel-specific-0001-config-Add-enable-authfile-option.patch # direct build process dependencies BuildRequires: autoconf @@ -111,7 +109,9 @@ BuildRequires: perl-interpreter net-tools Requires: %{name}-core%{?_isa} Requires: %{name}-site %files -# intentionally empty +%license COPYING +%dir %{_datadir}/pkgconfig +%{_datadir}/pkgconfig/booth.pc %description Booth manages tickets which authorize cluster sites located @@ -145,13 +145,13 @@ Support for running Booth, ticket manager for multi-site clusters, as an arbitrator. %post arbitrator -%systemd_post booth@.service booth-arbitrator.service +%systemd_post booth-arbitrator.service %preun arbitrator -%systemd_preun booth@.service booth-arbitrator.service +%systemd_preun booth-arbitrator.service %postun arbitrator -%systemd_postun_with_restart booth@.service booth-arbitrator.service +%systemd_postun_with_restart booth-arbitrator.service %package site Summary: Booth support for running as a full-fledged site @@ -181,7 +181,9 @@ Requires: %{name}-arbitrator = %{version}-%{release} Requires: %{name}-site = %{version}-%{release} Requires: gdb Requires: %{__python3} +%if 0%{?with_include_unit_test} Requires: python3-pexpect +%endif # runtests.py suite (for perl and netstat) Requires: perl-interpreter net-tools @@ -222,7 +224,11 @@ rm -rf %{buildroot}/%{_pkgdocdir}/COPYING mkdir -p %{buildroot}/%{test_path} # Copy tests from tarball cp -a -t %{buildroot}/%{test_path} \ - -- conf test unit-tests script/unit-test.py + -- conf test +%if 0%{?with_include_unit_test} +cp -a -t %{buildroot}/%{test_path} \ + -- unit-tests script/unit-test.py +%endif chmod +x %{buildroot}/%{test_path}/test/booth_path chmod +x %{buildroot}/%{test_path}/test/live_test.sh mkdir -p %{buildroot}/%{test_path}/src @@ -305,6 +311,11 @@ VERBOSE=1 make check %{_usr}/lib/ocf/resource.d/booth/sharedrsc %changelog +* Mon Nov 21 2022 Jan Friesse - 1.0-283.1.9d4029a.git +- Resolves: rhbz#2135865 + +- Update to current snapshot (commit 9d4029a) (rhbz#2135865) + * Wed Aug 03 2022 Jan Friesse - 1.0-199.2.ac1d34c.git - Resolves: rhbz#2111668