diff --git a/0001-Feature-offer-alternatives-to-libraries-from-cluster.patch b/0001-Feature-offer-alternatives-to-libraries-from-cluster.patch index e5f2ecd..9df799a 100644 --- a/0001-Feature-offer-alternatives-to-libraries-from-cluster.patch +++ b/0001-Feature-offer-alternatives-to-libraries-from-cluster.patch @@ -1,4 +1,4 @@ -From bd7a1383a8d514b24197c902991c39ec5fe032f8 Mon Sep 17 00:00:00 2001 +From d44c03a264dc10715c197b1160a7fcdaf7b52a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Tue, 26 Apr 2016 16:43:50 +0200 Subject: [PATCH 1/6] Feature: offer alternatives to libraries from @@ -8,7 +8,7 @@ This revision is a preparation work establishing --without-glue switch to configure that will eventually allow non-glue alternatives. The analogous conditional is added to the spec file, based on premise -that cluster-glue will not be re-introduced into Fedora, RHEL, atc. +that cluster-glue will not be re-introduced into Fedora, RHEL, etc. --- booth.spec | 20 +++++++++++++++++--- configure.ac | 5 +++++ @@ -69,12 +69,12 @@ index cd54ab1..f73d2d8 100644 make diff --git a/configure.ac b/configure.ac -index 872ec50..f8fb3cc 100644 +index ab2ad43..1a8ed4c 100644 --- a/configure.ac +++ b/configure.ac -@@ -213,6 +213,11 @@ AC_ARG_WITH([build-version], - AC_ARG_WITH([html_man], - [ --without-html_man : Avoid generating man pages in HTML.]) +@@ -215,6 +215,11 @@ AC_ARG_WITH([html_man], + [], + [with_html_man=yes]) +AC_ARG_WITH([glue], + [ --without-glue : Avoid libraries from (cluster-)glue project.], diff --git a/0002-Feature-alternative-logging-provider-libqb.patch b/0002-Feature-alternative-logging-provider-libqb.patch index 37d5f74..e856625 100644 --- a/0002-Feature-alternative-logging-provider-libqb.patch +++ b/0002-Feature-alternative-logging-provider-libqb.patch @@ -1,4 +1,4 @@ -From 78d087328bc73c53380ae9de1412f1f5f949ad1b Mon Sep 17 00:00:00 2001 +From c1211c0d47fb510fbd659d9165dc584a9181ec22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Tue, 26 Apr 2016 16:44:48 +0200 Subject: [PATCH 2/6] Feature: alternative logging provider: libqb @@ -30,7 +30,7 @@ index f73d2d8..cc73af2 100644 BuildRequires: libxml2-devel BuildRequires: zlib-devel diff --git a/configure.ac b/configure.ac -index f8fb3cc..2495e0b 100644 +index 1a8ed4c..32a7dd1 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ AC_PREREQ([2.61]) @@ -42,7 +42,7 @@ index f8fb3cc..2495e0b 100644 AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADER([src/b_config.h src/booth_config.h]) -@@ -218,6 +218,31 @@ AC_ARG_WITH([glue], +@@ -220,6 +220,31 @@ AC_ARG_WITH([glue], [], [with_glue=yes]) @@ -74,7 +74,7 @@ index f8fb3cc..2495e0b 100644 # OS detection # THIS SECTION MUST DIE! CP=cp -@@ -446,6 +471,7 @@ AC_MSG_RESULT([ System init.d directory = ${INITDDIR}]) +@@ -448,6 +473,7 @@ AC_MSG_RESULT([ System init.d directory = ${INITDDIR}]) AC_MSG_RESULT([ booth config dir = ${BOOTHSYSCONFDIR}]) AC_MSG_RESULT([ SOCKETDIR = ${SOCKETDIR}]) AC_MSG_RESULT([ Features = ${PACKAGE_FEATURES}]) @@ -314,10 +314,10 @@ index 0be4066..e570a8d 100644 tk->name, state_to_string(tk->state), tk->current_term, term_time_left(tk), \ ##args) diff --git a/src/main.c b/src/main.c -index c23c121..6f53475 100644 +index c377392..498718b 100644 --- a/src/main.c +++ b/src/main.c -@@ -1540,6 +1540,9 @@ int main(int argc, char *argv[], char *envp[]) +@@ -1536,6 +1536,9 @@ int main(int argc, char *argv[], char *envp[]) { int rv; const char *cp; @@ -327,7 +327,7 @@ index c23c121..6f53475 100644 init_set_proc_title(argc, argv, envp); get_time(&start_time); -@@ -1550,15 +1553,25 @@ int main(int argc, char *argv[], char *envp[]) +@@ -1546,15 +1549,25 @@ int main(int argc, char *argv[], char *envp[]) cl.lockfile[0] = 0; debug_level = 0; @@ -358,7 +358,7 @@ index c23c121..6f53475 100644 rv = read_arguments(argc, argv); if (rv < 0) goto out; -@@ -1585,6 +1598,9 @@ int main(int argc, char *argv[], char *envp[]) +@@ -1581,6 +1594,9 @@ int main(int argc, char *argv[], char *envp[]) } out: diff --git a/0003-Feature-alternative-range2random-provider-glib.patch b/0003-Feature-alternative-range2random-provider-glib.patch index e0fd893..c342a96 100644 --- a/0003-Feature-alternative-range2random-provider-glib.patch +++ b/0003-Feature-alternative-range2random-provider-glib.patch @@ -1,4 +1,4 @@ -From 4fb8dfa9a8c32eb92004cb9deb6248908a25d81a Mon Sep 17 00:00:00 2001 +From cd8c7245e4f50269ec62b36cb56ef21e659c7578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Wed, 24 Feb 2016 02:12:34 +0100 Subject: [PATCH 3/6] Feature: alternative range2random provider: glib @@ -30,10 +30,10 @@ index cc73af2..b88ff4c 100644 BuildRequires: libxml2-devel BuildRequires: zlib-devel diff --git a/configure.ac b/configure.ac -index 2495e0b..b3df2d9 100644 +index 32a7dd1..10e131d 100644 --- a/configure.ac +++ b/configure.ac -@@ -243,6 +243,29 @@ libqb) +@@ -245,6 +245,29 @@ libqb) esac AM_CONDITIONAL([LOGGING_LIBQB], [test "x$logging_provider" = "xlibqb"]) @@ -63,7 +63,7 @@ index 2495e0b..b3df2d9 100644 # OS detection # THIS SECTION MUST DIE! CP=cp -@@ -472,6 +495,7 @@ AC_MSG_RESULT([ booth config dir = ${BOOTHSYSCONFDIR}]) +@@ -474,6 +497,7 @@ AC_MSG_RESULT([ booth config dir = ${BOOTHSYSCONFDIR}]) AC_MSG_RESULT([ SOCKETDIR = ${SOCKETDIR}]) AC_MSG_RESULT([ Features = ${PACKAGE_FEATURES}]) AC_MSG_RESULT([ Logging provider = ${logging_provider}]) @@ -157,7 +157,7 @@ index 0000000..4b87c46 +#define cl_rand_from_interval(from, to) \ + alt_glib_rand_from_interval(from, to) diff --git a/src/ticket.c b/src/ticket.c -index f0ba74b..d76b4d4 100644 +index 09743f7..8d4cc12 100644 --- a/src/ticket.c +++ b/src/ticket.c @@ -25,8 +25,12 @@ diff --git a/0004-Feature-alternative-nametag-provider-libsystemd.patch b/0004-Feature-alternative-nametag-provider-libsystemd.patch index f04388b..0abe4db 100644 --- a/0004-Feature-alternative-nametag-provider-libsystemd.patch +++ b/0004-Feature-alternative-nametag-provider-libsystemd.patch @@ -1,4 +1,4 @@ -From 11626be181e6d27484e908f00b0cb896568aad03 Mon Sep 17 00:00:00 2001 +From 6b9e9cd87e41bc07cfbfd5a607a739cfebb2e2ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Wed, 24 Feb 2016 02:15:47 +0100 Subject: [PATCH 4/6] Feature: alternative "nametag" provider: libsystemd @@ -28,10 +28,10 @@ index b88ff4c..18387f7 100644 BuildRequires: libxml2-devel BuildRequires: zlib-devel diff --git a/configure.ac b/configure.ac -index b3df2d9..c8502c6 100644 +index 10e131d..bb2e3a8 100644 --- a/configure.ac +++ b/configure.ac -@@ -266,6 +266,27 @@ glib) +@@ -268,6 +268,27 @@ glib) esac AM_CONDITIONAL([RANGE2RANDOM_GLIB], [test "x$range2random_provider" = "xglib"]) @@ -59,7 +59,7 @@ index b3df2d9..c8502c6 100644 # OS detection # THIS SECTION MUST DIE! CP=cp -@@ -496,6 +517,7 @@ AC_MSG_RESULT([ SOCKETDIR = ${SOCKETDIR}]) +@@ -498,6 +519,7 @@ AC_MSG_RESULT([ SOCKETDIR = ${SOCKETDIR}]) AC_MSG_RESULT([ Features = ${PACKAGE_FEATURES}]) AC_MSG_RESULT([ Logging provider = ${logging_provider}]) AC_MSG_RESULT([ Range2random provider = ${range2random_provider}]) @@ -211,7 +211,7 @@ index 0000000..2c1dc1e +#define init_set_proc_title(c, a, e) /* omitted */ +#define set_proc_title sd_notify_wrapper diff --git a/src/main.c b/src/main.c -index 6f53475..c5f5b66 100644 +index 498718b..27d285c 100644 --- a/src/main.c +++ b/src/main.c @@ -34,7 +34,6 @@ diff --git a/0005-Feature-allow-skipping-coredump-nursing-phase.patch b/0005-Feature-allow-skipping-coredump-nursing-phase.patch index d2227ce..e160628 100644 --- a/0005-Feature-allow-skipping-coredump-nursing-phase.patch +++ b/0005-Feature-allow-skipping-coredump-nursing-phase.patch @@ -1,4 +1,4 @@ -From 3426f311a24f9f09645cedf6c30675c95dbb137d Mon Sep 17 00:00:00 2001 +From b0eee73d593b0d8c884b01d5691857506f24daba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Tue, 26 Apr 2016 16:50:50 +0200 Subject: [PATCH 5/6] Feature: allow skipping "coredump nursing" phase @@ -11,10 +11,10 @@ This effectively eliminates the last dependency on glue libraries. 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index c8502c6..937f563 100644 +index bb2e3a8..cb4eeb1 100644 --- a/configure.ac +++ b/configure.ac -@@ -287,6 +287,16 @@ libsystemd) +@@ -289,6 +289,16 @@ libsystemd) esac AM_CONDITIONAL([NAMETAG_LIBSYSTEMD], [test "x$nametag_provider" = "xlibsystemd"]) @@ -31,7 +31,7 @@ index c8502c6..937f563 100644 # OS detection # THIS SECTION MUST DIE! CP=cp -@@ -518,6 +528,7 @@ AC_MSG_RESULT([ Features = ${PACKAGE_FEATURES}]) +@@ -520,6 +530,7 @@ AC_MSG_RESULT([ Features = ${PACKAGE_FEATURES}]) AC_MSG_RESULT([ Logging provider = ${logging_provider}]) AC_MSG_RESULT([ Range2random provider = ${range2random_provider}]) AC_MSG_RESULT([ Nametag provider = ${nametag_provider}]) @@ -63,7 +63,7 @@ index 69b7b48..2a985ae 100644 lint: -splint $(INCLUDES) $(LINT_FLAGS) $(CFLAGS) *.c diff --git a/src/main.c b/src/main.c -index c5f5b66..7f173c9 100644 +index 27d285c..0693f18 100644 --- a/src/main.c +++ b/src/main.c @@ -33,9 +33,6 @@ @@ -96,7 +96,7 @@ index c5f5b66..7f173c9 100644 #include "log.h" #include "booth.h" #include "config.h" -@@ -1461,11 +1465,13 @@ static int do_server(int type) +@@ -1457,11 +1461,13 @@ static int do_server(int type) if (rv) return rv; diff --git a/0006-Feature-alternative-logger-in-service-runnable-scrip.patch b/0006-Feature-alternative-logger-in-service-runnable-scrip.patch index eecc105..2ad95bd 100644 --- a/0006-Feature-alternative-logger-in-service-runnable-scrip.patch +++ b/0006-Feature-alternative-logger-in-service-runnable-scrip.patch @@ -1,4 +1,4 @@ -From da326b0fc4d97eb8ef5dad0469933c1b63e0a0c9 Mon Sep 17 00:00:00 2001 +From 2531e70e3014ae80d1799478b1cd95aa2076a484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Wed, 2 Mar 2016 19:38:46 +0100 Subject: [PATCH 6/6] Feature: alternative logger (in service-runnable script) @@ -6,15 +6,15 @@ Subject: [PATCH 6/6] Feature: alternative logger (in service-runnable script) This effectively eliminates the last dependency on glue project as such. --- Makefile.am | 2 +- - configure.ac | 2 ++ + configure.ac | 5 ++++ script/service-runnable | 62 ---------------------------------------------- script/service-runnable.in | 61 +++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 64 insertions(+), 63 deletions(-) + 4 files changed, 67 insertions(+), 63 deletions(-) delete mode 100755 script/service-runnable create mode 100755 script/service-runnable.in diff --git a/Makefile.am b/Makefile.am -index 5f360c4..3ab326b 100644 +index 5f360c4..076d461 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,7 +66,7 @@ bootharbitrator_SCRIPTS = script/lsb/booth-arbitrator @@ -22,12 +22,12 @@ index 5f360c4..3ab326b 100644 boothnoarchdir = $(datadir)/$(PACKAGE_NAME) -boothnoarch_SCRIPTS = script/service-runnable -+nodist_boothnoarch_SCRIPTS = script/service-runnable ++nodist_boothnoarch_SCRIPTS = script/service-runnable sbin_SCRIPTS = script/booth-keygen diff --git a/configure.ac b/configure.ac -index 937f563..c50c553 100644 +index cb4eeb1..f67c972 100644 --- a/configure.ac +++ b/configure.ac @@ -147,6 +147,8 @@ AC_CONFIG_FILES([Makefile @@ -39,6 +39,29 @@ index 937f563..c50c553 100644 # =============================================== # Helpers # =============================================== +@@ -230,6 +232,7 @@ if test "x$logging_provider" = "x" && test "x$with_glue" = "xno"; then + fi + case "$logging_provider" in + libplumb) ++ LOGGER="ha_logger" + ;; + libqb) + PKG_CHECK_MODULES([LIBQB], [libqb]) +@@ -238,12 +241,14 @@ libqb) + [AC_DEFINE([LOGGING_LIBQB_MAJOR], [1], + [libqb major version lower bound])], + [AC_MSG_WARN([[syslog identifier will not get changed]])]) ++ LOGGER="logger -t booth-script" + ;; + *) + AC_MSG_ERROR([logging provider required (libplumb, or libqb when --without-glue)]) + ;; + esac + AM_CONDITIONAL([LOGGING_LIBQB], [test "x$logging_provider" = "xlibqb"]) ++AC_SUBST([LOGGER]) + + # figure out range2random provider + range2random_provider="" diff --git a/script/service-runnable b/script/service-runnable deleted file mode 100755 index ed90c5e..0000000 diff --git a/0007-test-fix-failing-test_a_few_trailing_whitespaces.patch b/0007-test-fix-failing-test_a_few_trailing_whitespaces.patch deleted file mode 100644 index 9a97357..0000000 --- a/0007-test-fix-failing-test_a_few_trailing_whitespaces.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e6846aa10a64fdfb7f6c2b3a3dc63ccebb91a45d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= -Date: Wed, 27 Apr 2016 12:12:08 +0200 -Subject: [PATCH] test: fix failing test_a_few_trailing_whitespaces - -Original assertion tested the exact opposite to what is expected -(when daemon gets killed, lock/pid file should no longer exist). ---- - test/serverenv.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/serverenv.py b/test/serverenv.py -index bbe7ff3..2e662cb 100755 ---- a/test/serverenv.py -+++ b/test/serverenv.py -@@ -143,7 +143,7 @@ def check_daemon_handling(self, runner, expected_daemon): - self.kill_pid(int(daemon_pid)) - time.sleep(1) - daemon_pid = self.get_daemon_pid_from_lock_file(runner.lock_file) -- self.assertTrue(daemon_pid is not None, -+ self.assertTrue(daemon_pid is None, - 'bnc#749763: lock file should vanish after daemon is killed') - - def get_daemon_pid_from_lock_file(self, lock_file): --- -2.4.11 - diff --git a/0008-test-adapt-to-libqb-based-logging-with-lowercased-pr.patch b/0008-test-adapt-to-libqb-based-logging-with-lowercased-pr.patch deleted file mode 100644 index bcabae8..0000000 --- a/0008-test-adapt-to-libqb-based-logging-with-lowercased-pr.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 14c17a4c675a616b089400c935f74c27d15f5ee3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= -Date: Wed, 27 Apr 2016 19:39:21 +0200 -Subject: [PATCH] test: adapt to libqb-based logging with lowercased priorities - ---- - test/assertions.py | 2 +- - test/servertests.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/assertions.py b/test/assertions.py -index ea242b7..4396ab7 100755 ---- a/test/assertions.py -+++ b/test/assertions.py -@@ -8,7 +8,7 @@ def configFileMissingMyIP(self, config_file=None, lock_file=None): - self.run_booth(config_file=config_file, lock_file=lock_file, - expected_exitcode=1, expected_daemon=False) - -- expected_error = "ERROR: Cannot find myself in the configuration" -+ expected_error = "(ERROR|error): Cannot find myself in the configuration" - self.assertRegexpMatches(stderr, expected_error) - - def assertLockFileError(self, config_file=None, config_text=None, -diff --git a/test/servertests.py b/test/servertests.py -index 3742ed6..290bce2 100755 ---- a/test/servertests.py -+++ b/test/servertests.py -@@ -79,7 +79,7 @@ def test_missing_quotes(self): - if line_contains_IP: - self.assertRegexpMatches( - self.read_log(), -- "ERROR: invalid config file format: unquoted '.'", -+ "(ERROR|error): invalid config file format: unquoted '.'", - 'IP addresses need to be quoted' - ) - --- -2.4.11 - diff --git a/0009-test-booth-cannot-cope-with-address-device-IPv6-addr.patch b/0009-test-booth-cannot-cope-with-address-device-IPv6-addr.patch deleted file mode 100644 index 7b3c3e0..0000000 --- a/0009-test-booth-cannot-cope-with-address-device-IPv6-addr.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4754bd5a62283359caa0867c4e6a463d2c62193c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= -Date: Wed, 27 Apr 2016 20:58:33 +0200 -Subject: [PATCH] test: booth cannot cope with
% IPv6 - addresses - -...at least for the time being. So craft ::1 address in that case -as a substitute. ---- - test/utils.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/test/utils.py b/test/utils.py -index cbbd8d4..ceeef98 100755 ---- a/test/utils.py -+++ b/test/utils.py -@@ -12,5 +12,7 @@ def get_IP(): - (stdout, stderr, returncode) = run_cmd(['hostname', '-i']) - if returncode != 0: - raise RuntimeError, "Failed to run hostname -i:\n" + stderr -- # in case multiple IP addresses are returned, use only the first. -- return re.sub(r'\s.*', '', stdout) -+ # in case multiple IP addresses are returned, use only the first -+ # and also strip '%' part possibly present with IPv6 address -+ ret = re.sub(r'\s.*', '', stdout) -+ return "::1" if '%' in ret else ret --- -2.4.11 - diff --git a/booth.spec b/booth.spec index 9414c75..c879f72 100644 --- a/booth.spec +++ b/booth.spec @@ -26,7 +26,7 @@ %global boothver 1.0 # set following to the actual commit or, for final release, concatenate # "boothver" macro to "v" (will yield a tag per the convention) -%global commit eb4256a64b559a7c5a03a7ce76c103f6069c7eb7 +%global commit 570876d74c47a93bcdededd1c192a13610eb1d18 %global lparen ( %global rparen ) %global shortcommit %(c=%{commit}; case ${c} in @@ -66,9 +66,6 @@ Patch2: 0003-Feature-alternative-range2random-provider-glib.patch Patch3: 0004-Feature-alternative-nametag-provider-libsystemd.patch Patch4: 0005-Feature-allow-skipping-coredump-nursing-phase.patch Patch5: 0006-Feature-alternative-logger-in-service-runnable-scrip.patch -Patch6: 0007-test-fix-failing-test_a_few_trailing_whitespaces.patch -Patch7: 0008-test-adapt-to-libqb-based-logging-with-lowercased-pr.patch -Patch8: 0009-test-booth-cannot-cope-with-address-device-IPv6-addr.patch # direct build process dependencies BuildRequires: autoconf @@ -270,6 +267,11 @@ VERBOSE=1 make check /usr/lib/ocf/resource.d/booth/sharedrsc %changelog +* Wed May 25 2016 Jan Pokorný - 1.0-3.570876d.git +- update per the changesets recently accepted by the upstream + (memory/resource leaks fixes, patches previously attached separately + that make unit test pass, internal cleanups, etc.) + * Thu May 05 2016 Jan Pokorný - 1.0-2.eb4256a.git - update a subset of out-of-tree patches per https://github.com/ClusterLabs/booth/pull/22#issuecomment-216936987 diff --git a/sources b/sources index c7868bb..a6c1b1e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e6ac10c38a8e181306316150861c8923 booth-eb4256a.tar.gz +ac33d4fff4d578a2eedf4624b89f2fbd booth-570876d.tar.gz