diff --git a/0002-test-Add-compatibility-with-iproute-ss-command.patch b/0002-test-Add-compatibility-with-iproute-ss-command.patch new file mode 100644 index 0000000..27e2125 --- /dev/null +++ b/0002-test-Add-compatibility-with-iproute-ss-command.patch @@ -0,0 +1,41 @@ +From eda7abe337e5e37ef8d1d8ff7abdce334fa9bd21 Mon Sep 17 00:00:00 2001 +From: Jan Friesse +Date: Tue, 29 Sep 2020 14:22:30 +0200 +Subject: [PATCH] test: Add compatibility with iproute ss command + +ensure_boothd_not_running is now exectured only when single instance is +used, but if so, it requires netstat command. Netstat is deprecated for +some time and it is slowly disappearing from distributions, so add +support for iproute ss command. + +Parameters for both ss and netstat are same, but sadly output differs so +both netstat and ss output is matched. + +Signed-off-by: Jan Friesse +--- + test/boothtestenv.py.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/test/boothtestenv.py.in b/test/boothtestenv.py.in +index 26a40cb..8a23615 100644 +--- a/test/boothtestenv.py.in ++++ b/test/boothtestenv.py.in +@@ -31,11 +31,13 @@ class BoothTestEnvironment(unittest.TestCase, BoothAssertions): + + def ensure_boothd_not_running(self): + # Need to redirect STDERR in case we're not root, in which +- # case netstat's -p option causes a warning. However we only ++ # case netstat's -p option causes a warning (ss doesn't). However we only + # want to kill boothd processes which we own; -p will list the + # pid for those and only those, which is exactly what we want + # here. +- subprocess.call("netstat -tpln 2>&1 | perl -lne 'm,LISTEN\s+(\d+)/boothd, and kill 15, $1'", shell=True) ++ subprocess.call("(netstat -tlnp || ss -tlnp) 2>&1 | " + ++ "perl -lne '(m,LISTEN\s+(\d+)/boothd, || /\"boothd\".*pid=(\d+)/) and kill 15, $1'", ++ shell=True) + + def get_tempfile(self, identity): + tf = tempfile.NamedTemporaryFile( +-- +2.18.2 + diff --git a/booth.spec b/booth.spec index 853c327..e416b77 100644 --- a/booth.spec +++ b/booth.spec @@ -21,6 +21,7 @@ %bcond_with html_man %bcond_with glue +%bcond_with run_build_tests ## User and group to use for nonprivileged services (should be in sync with pacemaker) %global uname hacluster @@ -61,12 +62,13 @@ Name: booth Version: %{boothver} -Release: %{boothrel}%{?dist}.4 +Release: %{boothrel}%{?dist}.5 Summary: Ticket Manager for Multi-site Clusters License: GPLv2+ Url: https://github.com/%{github_owner}/%{name} Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Patch0: 0001-build-Do-not-link-with-pcmk-libraries.patch +Patch1: 0002-test-Add-compatibility-with-iproute-ss-command.patch # direct build process dependencies BuildRequires: autoconf @@ -102,8 +104,10 @@ BuildRequires: sed BuildRequires: systemd ## for autosetup BuildRequires: git -# check scriptlet (for perl and netstat) -BuildRequires: perl-interpreter net-tools +%if 0%{?with_run_build_tests} +# check scriptlet (for perl and ss) +BuildRequires: perl-interpreter iproute +%endif # this is for a composite-requiring-its-components arranged # as an empty package (empty files section) requiring subpackages @@ -182,8 +186,8 @@ Requires: %{name}-site = %{version}-%{release} Requires: gdb Requires: %{__python3} Requires: python3-pexpect -# runtests.py suite (for perl and netstat) -Requires: perl-interpreter net-tools +# runtests.py suite (for perl and ss) +Requires: perl-interpreter iproute %description test Automated tests for running Booth, ticket manager for multi-site clusters. @@ -246,7 +250,9 @@ sed -e 's#PYTHON_SHEBANG#%{__python3} -Es#g' \ %check # alternatively: test/runtests.py +%if 0%{?with_run_build_tests} VERBOSE=1 make check +%endif %files core %license COPYING @@ -292,6 +298,10 @@ VERBOSE=1 make check %{_usr}/lib/ocf/resource.d/booth/sharedrsc %changelog +* Tue Sep 29 2020 Jan Friesse - 1.0-6.ac1d34c.git.5 +- Remove net-tools (netstat) dependency and replace it with iproute (ss) +- Disable running tests during build by default (conditional run_build_tests) + * Mon Jul 27 2020 Fedora Release Engineering - 1.0-6.ac1d34c.git.4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild