Compare commits

..

No commits in common. "rawhide" and "f32" have entirely different histories.

9 changed files with 43 additions and 267 deletions

View file

@ -1 +0,0 @@
1

View file

@ -1,27 +0,0 @@
# no-documentation is fine for booth-arbitrator and booth (virtual package) and debug packages
addFilter(r'booth-arbitrator\.[^:]+: W: no-documentation')
addFilter(r'booth\.[^:]+: W: no-documentation')
addFilter(r'booth-debugsource\.[^:]+: W: no-documentation')
# permissions for chroot
addFilter(r'booth-core\.[^:]+: (E|W): non-standard-dir-perm /var/lib/booth 750')
addFilter(r'booth-core\.[^:]+: (E|W): non-standard-dir-perm /var/lib/booth/cores 750')
# booth is just metapackage
addFilter(r'booth\.[^:]+: (W|E): no-binary')
# pc should be in devel but it is not really devel file
addFilter(r'booth\.[^:]+: W: devel-file-in-non-devel-package /usr/share/pkgconfig/booth.pc')
# booth-(site|test) installs just scripts in /usr/lib
addFilter(r'booth-(site|test)\.[^:]+: (W|E): only-non-binary-in-usr-lib')
# dangling symlink is ok for geostore and boothd (they actually points to booth binary)
addFilter(r'booth-site\.[^:]+: (W|E): dangling-symlink /usr/sbin/geostore /usr/sbin/boothd')
addFilter(r'booth-test\.[^:]+: (W|E): dangling-symlink /usr/share/booth/tests/src/boothd /usr/sbin/boothd')
# Ignore all errors in debuginfo packages
addFilter(r'booth-core-debuginfo\.[^:]+: (W|E):')
# booth-arbitrator contains just unit files
addFilter(r'booth-arbitrator\.[^:]+: (W|E): only-non-binary-in-usr-lib')

View file

@ -21,17 +21,34 @@
%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
%global gname haclient
# Disable automatic compilation of Python files in extra directories
%global _python_bytecompile_extra 0
%global specver 4
%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 5d837d2b5bf1c240a5f1c5efe4e8d79f55727cca
%global lparen (
%global rparen )
%global shortcommit %(c=%{commit}; case ${c} in
v*%{rparen} echo ${c:1};;
*%{rparen} echo ${c:0:7};; esac)
%global pre_release %(s=%{shortcommit}; [ ${s: -3:2} != rc ]; echo $?)
%global post_release %([ %{commit} = v%{shortcommit} ]; echo $?)
%global github_owner ClusterLabs
%if 0%{pre_release}
%global boothrel 0.%{specver}.%(s=%{shortcommit}; echo ${s: -3})
%else
%if 0%{post_release}
%global boothrel %{specver}.%{shortcommit}.git
%else
%global boothrel %{specver}
%endif
%endif
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
# https://fedoraproject.org/wiki/EPEL:Packaging?rd=Packaging:EPEL#The_.25license_tag
%{!?_licensedir:%global license %doc}
@ -39,12 +56,12 @@
%global test_path %{_datadir}/booth/tests
Name: booth
Version: 1.2
Release: 6%{?dist}
Version: %{boothver}
Release: %{boothrel}%{dist}
Summary: Ticket Manager for Multi-site Clusters
License: GPL-2.0-or-later
License: GPLv2+
Url: https://github.com/%{github_owner}/%{name}
Source0: https://github.com/%{github_owner}/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
# direct build process dependencies
BuildRequires: autoconf
@ -58,7 +75,7 @@ BuildRequires: asciidoctor
BuildRequires: gcc
BuildRequires: pkgconfig
# linking dependencies
BuildRequires: gnutls-devel
BuildRequires: libgcrypt-devel
BuildRequires: libxml2-devel
## just for <pacemaker/crm/services.h> include
BuildRequires: pacemaker-libs-devel
@ -73,17 +90,11 @@ BuildRequires: pkgconfig(libsystemd)
# check scriptlet (for hostname and killall respectively)
BuildRequires: hostname psmisc
BuildRequires: python3-devel
# For generating tests
BuildRequires: sed
# spec file specifics
## for _unitdir, systemd_requires and specific scriptlet macros
BuildRequires: systemd
## for autosetup
BuildRequires: git
%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
@ -91,9 +102,7 @@ BuildRequires: perl-interpreter iproute
Requires: %{name}-core%{?_isa}
Requires: %{name}-site
%files
%license COPYING
%dir %{_datadir}/pkgconfig
%{_datadir}/pkgconfig/booth.pc
# intentionally empty
%description
Booth manages tickets which authorize cluster sites located
@ -127,13 +136,13 @@ Support for running Booth, ticket manager for multi-site clusters,
as an arbitrator.
%post arbitrator
%systemd_post booth-arbitrator.service
%systemd_post booth@.service booth-arbitrator.service
%preun arbitrator
%systemd_preun booth-arbitrator.service
%systemd_preun booth@.service booth-arbitrator.service
%postun arbitrator
%systemd_postun_with_restart booth-arbitrator.service
%systemd_postun_with_restart booth@.service booth-arbitrator.service
%package site
Summary: Booth support for running as a full-fledged site
@ -162,9 +171,8 @@ Requires: %{name}-arbitrator = %{version}-%{release}
## (and /usr/lib/ocf/resource.d/booth)
Requires: %{name}-site = %{version}-%{release}
Requires: gdb
Requires: %{__python3}
# runtests.py suite (for perl and ss)
Requires: perl-interpreter iproute
Requires: python3
Requires: python3-pexpect
%description test
Automated tests for running Booth, ticket manager for multi-site clusters.
@ -172,7 +180,7 @@ Automated tests for running Booth, ticket manager for multi-site clusters.
# BUILD #
%prep
%autosetup -n %{name}-%{version} -S git_am
%autosetup -n %{name}-%{commit} -S git_am
%build
./autogen.sh
@ -180,7 +188,7 @@ Automated tests for running Booth, ticket manager for multi-site clusters.
--with-initddir=%{_initrddir} \
--docdir=%{_pkgdocdir} \
--enable-user-flags \
%{?with_html_man:--with-html_man} \
%{!?with_html_man:--without-html_man} \
%{!?with_glue:--without-glue} \
PYTHON=%{__python3}
%{make_build}
@ -201,35 +209,20 @@ rm -rf %{buildroot}/%{_pkgdocdir}/README.upgrade-from-v0.1
rm -rf %{buildroot}/%{_pkgdocdir}/COPYING
# tests
mkdir -p %{buildroot}/%{test_path}
# Copy tests from tarball
cp -a -t %{buildroot}/%{test_path} \
-- conf test
-- conf test unit-tests script/unit-test.py
chmod +x %{buildroot}/%{test_path}/test/booth_path
chmod +x %{buildroot}/%{test_path}/test/live_test.sh
mkdir -p %{buildroot}/%{test_path}/src
ln -s -t %{buildroot}/%{test_path}/src \
-- %{_sbindir}/boothd
# Generate runtests.py and boothtestenv.py
sed -e 's#PYTHON_SHEBANG#%{__python3} -Es#g' \
-e 's#TEST_SRC_DIR#%{test_path}/test#g' \
-e 's#TEST_BUILD_DIR#%{test_path}/test#g' \
%{buildroot}/%{test_path}/test/runtests.py.in > %{buildroot}/%{test_path}/test/runtests.py
chmod +x %{buildroot}/%{test_path}/test/runtests.py
sed -e 's#PYTHON_SHEBANG#%{__python3} -Es#g' \
-e 's#TEST_SRC_DIR#%{test_path}/test#g' \
-e 's#TEST_BUILD_DIR#%{test_path}/test#g' \
%{buildroot}/%{test_path}/test/boothtestenv.py.in > %{buildroot}/%{test_path}/test/boothtestenv.py
# https://fedoraproject.org/wiki/Packaging:Python_Appendix#Manual_byte_compilation
%py_byte_compile %{__python3} %{buildroot}/%{test_path}
%check
# alternatively: test/runtests.py
%if 0%{?with_run_build_tests}
VERBOSE=1 make check
%endif
%files core
%license COPYING
@ -244,15 +237,6 @@ VERBOSE=1 make check
%dir %{_sysconfdir}/booth
%exclude %{_sysconfdir}/booth/booth.conf.example
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/booth/
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/booth/cores
# Generated html docs
%if 0%{?with_html_man}
%{_pkgdocdir}/booth-keygen.8.html
%{_pkgdocdir}/boothd.8.html
%endif
%files arbitrator
%{_unitdir}/booth@.service
%{_unitdir}/booth-arbitrator.service
@ -260,167 +244,27 @@ VERBOSE=1 make check
%files site
# OCF (agent + a helper)
## /usr/lib/ocf/resource.d/pacemaker provided by pacemaker
%{_usr}/lib/ocf/resource.d/pacemaker/booth-site
%dir %{_usr}/lib/ocf/lib/booth
%{_usr}/lib/ocf/lib/booth/geo_attr.sh
/usr/lib/ocf/resource.d/pacemaker/booth-site
%dir /usr/lib/ocf/lib/booth
/usr/lib/ocf/lib/booth/geo_attr.sh
# geostore (command + OCF agent)
%{_sbindir}/geostore
%{_mandir}/man8/geostore.8*
## /usr/lib/ocf/resource.d provided by resource-agents
%dir %{_usr}/lib/ocf/resource.d/booth
%{_usr}/lib/ocf/resource.d/booth/geostore
%dir /usr/lib/ocf/resource.d/booth
/usr/lib/ocf/resource.d/booth/geostore
# helper (possibly used in the configuration hook)
%dir %{_datadir}/booth
%{_datadir}/booth/service-runnable
# Generated html docs
%if 0%{?with_html_man}
%{_pkgdocdir}/geostore.8.html
%endif
%files test
%doc %{_pkgdocdir}/README-testing
# /usr/share/booth provided by -site
%{test_path}
# /usr/lib/ocf/resource.d/booth provided by -site
%{_usr}/lib/ocf/resource.d/booth/sharedrsc
/usr/lib/ocf/resource.d/booth/sharedrsc
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1.2-6
- Rebuilt for Python 3.14.0rc3 bytecode
* Thu Aug 21 2025 Cristian Le <git@lecris.dev>
- Convert STI tests to TMT (rhbz#2382867)
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1.2-5
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Jan Friesse <jfriesse@redhat.com> - 1.2-1
- New upstream release
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Oct 18 2023 Jan Friesse <jfriesse@redhat.com> - 1.1-1
- New upstream release
- Upstream releases should now be released regularly, so convert spec
to use them instead of git snapshots
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-283.4.9d4029a.git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 06 2023 Jan Friesse <jfriesse@redhat.com> - 1.0-283.3.9d4029a.git
- migrated to SPDX license
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-283.2.9d4029a.git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Nov 21 2022 Jan Friesse <jfriesse@redhat.com> - 1.0-283.1.9d4029a.git
- Rebase to newest upstream snapshot
* Fri Sep 30 2022 Jan Friesse <jfriesse@redhat.com> - 1.0-272.1.7acb757.git
- Rebase to newest upstream snapshot
* Thu Sep 29 2022 Jan Friesse <jfriesse@redhat.com> - 1.0-266.4.f288d59.git
- Remove Alias directive from booth@.service unit file
* Tue Aug 09 2022 Jan Friesse <jfriesse@redhat.com> - 1.0-266.3.f288d59.git
- Remove template unit from systemd_(post|preun|postun_with_restart) macro
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-266.2.f288d59.git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 20 2022 Jan Friesse <jfriesse@redhat.com> - 1.0-266.1.f288d59.git
- Rebase to newest upstream snapshot
- This version fixes a critical bug that caused the authfile directive
to be ignored. After installing the patched version, nodes may stop
communicating. Solution is to either remove authfile from configuration
file or update all other nodes.
* Thu May 19 2022 Jan Friesse <jfriesse@redhat.com> - 1.0-262.1.d0ac26c.git
- Rebase to newest upstream snapshot
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-251.3.bfb2f92.git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-251.2.bfb2f92.git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu May 20 2021 Jan Friesse <jfriesse@redhat.com> - 1.0-251.1.bfb2f92.git
- Rebase to newest upstream snapshot
* Tue May 18 2021 Jan Friesse <jfriesse@redhat.com> - 1.0-249.1.977726e.git
- Do not include unit-test by default
- Rebase to newest upstream snapshot
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-239.3.52ec255.git
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-239.2.52ec255.git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Nov 23 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-239.1.52ec255.git
- Rebase to newest upstream snapshot
* Thu Oct 15 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-237.2.dd88847.git
- Fix dist macro
* Thu Oct 15 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-237.1.dd88847.git
- Rebase to newest upstream snapshot
* Thu Oct 15 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-199.1.ac1d34c.git
- Implement new versioning scheme
* Tue Sep 29 2020 Jan Friesse <jfriesse@redhat.com> - 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 <releng@fedoraproject.org> - 1.0-6.ac1d34c.git.4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jun 3 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-6.ac1d34c.git.3
- Do not link with the pcmk libraries
- Generate runtests.py and boothtestenv.py with -Es as make check does
* Tue Jun 2 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-6.ac1d34c.git.2
- Require the Python interpreter directly instead of using the package name
* Tue Jun 2 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-6.ac1d34c.git.1
- Update to current snapshot (commit ac1d34c) to fix test suite
* Mon Jun 1 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-5.385cc25.git.3
- Add CI tests
- Enable gating
- Fix hardcoded-library-path
* Mon Jun 1 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-5.385cc25.git.2
- Package /var/lib/booth where booth can chroot
* Thu May 28 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-5.385cc25.git.1
- Fix test subpackage generating
* Wed May 27 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-5.385cc25.git
- Update to current snapshot (commit 385cc25) to fix build warnings
* Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-4.5d837d2.git.2
- Rebuild for the new libqb
* Mon May 4 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-4.5d837d2.git.1
- Add '?dist' macro to release field
* Mon May 4 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-4.5d837d2.git
- Update to current snapshot (commit 5d837d2) to build with gcc10
- Pass full path of Python3 to configure

View file

@ -1,15 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1,13 +0,0 @@
summary: Run all tests
discover:
how: fmf
prepare:
- name: Disable installing everything from srpm
how: install
exclude: ".*"
- name: Install the main test package
how: install
package:
- booth-test
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (booth-1.2.tar.gz) = b63217e561fd5e8ede1ba432ec6b4ef6efb73dc16a501814cf07b82f87a23c3f734ebf09c56a5d521668ee57ed02be48d257aabb1d2e3c4840f1219ef13d3fde
SHA512 (booth-5d837d2.tar.gz) = 3118dd43796415c603ad200247c7905ccb3bcb71cc705848f0762f3dfeb5dcb7d3b1a935d2cee70da81328f0555d7b776eda7587c4c755fc570496a7a1dd8c49

3
tests/.gitignore vendored
View file

@ -1,3 +0,0 @@
# Ignore tests runs/artefacts.
artifacts/**
**/*.retry

View file

@ -1,3 +0,0 @@
/upstream:
summary: Run upstream tests
test: ./upstream/runtest.sh

View file

@ -1,6 +0,0 @@
#!/bin/bash
set -xe
set -o pipefail
/usr/share/booth/tests/test/runtests.py --allow-root-user