import booth-1.0-6.ac1d34c.git.el8.2
This commit is contained in:
commit
6f9243f907
1
.booth.metadata
Normal file
1
.booth.metadata
Normal file
@ -0,0 +1 @@
|
||||
4813ede4a6bb517564a3b9f6fe523164a7362c5b SOURCES/booth-ac1d34c.tar.gz
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/booth-ac1d34c.tar.gz
|
33
SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch
Normal file
33
SOURCES/0001-build-Do-not-link-with-pcmk-libraries.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 2f944ea46b1b39113a34ca586cd8e3cd8f0d1d70 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Friesse <jfriesse@redhat.com>
|
||||
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 <jfriesse@redhat.com>
|
||||
---
|
||||
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
|
||||
|
357
SPECS/booth.spec
Normal file
357
SPECS/booth.spec
Normal file
@ -0,0 +1,357 @@
|
||||
# RPMs are split as follows:
|
||||
# * booth:
|
||||
# - envelope package serving as a syntactic shortcut to install
|
||||
# booth-site (with architecture reliably preserved)
|
||||
# * booth-core:
|
||||
# - package serving as a base for booth-{arbitrator,site},
|
||||
# carrying also basic documentation, license, etc.
|
||||
# * booth-arbitrator:
|
||||
# - package to be installed at a machine accessible within HA cluster(s),
|
||||
# but not (necessarily) a member of any, hence no dependency
|
||||
# on anything from cluster stack is required
|
||||
# * booth-site:
|
||||
# - package to be installed at a cluster member node
|
||||
# (requires working cluster environment to be useful)
|
||||
# * booth-test:
|
||||
# - files for testing booth
|
||||
#
|
||||
# TODO:
|
||||
# wireshark-dissector.lua currently of no use (rhbz#1259623), but if/when
|
||||
# this no longer persists, add -wireshark package (akin to libvirt-wireshark)
|
||||
|
||||
%bcond_with html_man
|
||||
%bcond_with glue
|
||||
|
||||
## 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 6
|
||||
%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 ac1d34ce172678a8f5ba415e976cf2366d45e15e
|
||||
%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}
|
||||
|
||||
%global test_path %{_datadir}/booth/tests
|
||||
|
||||
Name: booth
|
||||
Version: %{boothver}
|
||||
Release: %{boothrel}%{?dist}.2
|
||||
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
|
||||
|
||||
# direct build process dependencies
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: make
|
||||
## ./autogen.sh
|
||||
BuildRequires: /bin/sh
|
||||
# general build dependencies
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: gcc
|
||||
BuildRequires: pkgconfig
|
||||
# linking dependencies
|
||||
BuildRequires: libgcrypt-devel
|
||||
BuildRequires: libxml2-devel
|
||||
## just for <pacemaker/crm/services.h> include
|
||||
BuildRequires: pacemaker-libs-devel
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: zlib-devel
|
||||
## logging provider
|
||||
BuildRequires: pkgconfig(libqb)
|
||||
## random2range provider
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
## nametag provider
|
||||
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
|
||||
# check scriptlet (for perl and netstat)
|
||||
BuildRequires: perl-interpreter net-tools
|
||||
|
||||
# this is for a composite-requiring-its-components arranged
|
||||
# as an empty package (empty files section) requiring subpackages
|
||||
# (_isa so as to preserve the architecture)
|
||||
Requires: %{name}-core%{?_isa}
|
||||
Requires: %{name}-site
|
||||
%files
|
||||
# intentionally empty
|
||||
|
||||
%description
|
||||
Booth manages tickets which authorize cluster sites located
|
||||
in geographically dispersed locations to run resources.
|
||||
It facilitates support of geographically distributed
|
||||
clustering in Pacemaker.
|
||||
|
||||
# SUBPACKAGES #
|
||||
|
||||
%package core
|
||||
Summary: Booth core files (executables, etc.)
|
||||
# for booth-keygen (chown, dd)
|
||||
Requires: coreutils
|
||||
# deal with pre-split arrangement
|
||||
Conflicts: %{name} < 1.0-1
|
||||
|
||||
%description core
|
||||
Core files (executables, etc.) for Booth, ticket manager for
|
||||
multi-site clusters.
|
||||
|
||||
%package arbitrator
|
||||
Summary: Booth support for running as an arbitrator
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-core = %{version}-%{release}
|
||||
%{?systemd_requires}
|
||||
# deal with pre-split arrangement
|
||||
Conflicts: %{name} < 1.0-1
|
||||
|
||||
%description arbitrator
|
||||
Support for running Booth, ticket manager for multi-site clusters,
|
||||
as an arbitrator.
|
||||
|
||||
%post arbitrator
|
||||
%systemd_post booth@.service booth-arbitrator.service
|
||||
|
||||
%preun arbitrator
|
||||
%systemd_preun booth@.service booth-arbitrator.service
|
||||
|
||||
%postun arbitrator
|
||||
%systemd_postun_with_restart booth@.service booth-arbitrator.service
|
||||
|
||||
%package site
|
||||
Summary: Booth support for running as a full-fledged site
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-core = %{version}-%{release}
|
||||
# for crm_{resource,simulate,ticket} utilities
|
||||
Requires: pacemaker >= 1.1.8
|
||||
# for ocf-shellfuncs and other parts of OCF shell-based environment
|
||||
Requires: resource-agents
|
||||
# deal with pre-split arrangement
|
||||
Conflicts: %{name} < 1.0-1
|
||||
|
||||
%description site
|
||||
Support for running Booth, ticket manager for multi-site clusters,
|
||||
as a full-fledged site.
|
||||
|
||||
%package test
|
||||
Summary: Test scripts for Booth
|
||||
BuildArch: noarch
|
||||
# runtests.py suite (for hostname and killall respectively)
|
||||
Requires: hostname psmisc
|
||||
# any of the following internal dependencies will pull -core package
|
||||
## for booth@booth.service
|
||||
Requires: %{name}-arbitrator = %{version}-%{release}
|
||||
## for booth-site and service-runnable scripts
|
||||
## (and /usr/lib/ocf/resource.d/booth)
|
||||
Requires: %{name}-site = %{version}-%{release}
|
||||
Requires: gdb
|
||||
Requires: %{__python3}
|
||||
Requires: python3-pexpect
|
||||
# runtests.py suite (for perl and netstat)
|
||||
Requires: perl-interpreter net-tools
|
||||
|
||||
%description test
|
||||
Automated tests for running Booth, ticket manager for multi-site clusters.
|
||||
|
||||
# BUILD #
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{commit} -S git_am
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
%{configure} \
|
||||
--with-initddir=%{_initrddir} \
|
||||
--docdir=%{_pkgdocdir} \
|
||||
--enable-user-flags \
|
||||
%{!?with_html_man:--without-html_man} \
|
||||
%{!?with_glue:--without-glue} \
|
||||
PYTHON=%{__python3}
|
||||
%{make_build}
|
||||
|
||||
%install
|
||||
%{make_install}
|
||||
mkdir -p %{buildroot}/%{_unitdir}
|
||||
cp -a -t %{buildroot}/%{_unitdir} \
|
||||
-- conf/booth@.service conf/booth-arbitrator.service
|
||||
install -D -m 644 -t %{buildroot}/%{_mandir}/man8 \
|
||||
-- docs/boothd.8
|
||||
ln -s boothd.8 %{buildroot}/%{_mandir}/man8/booth.8
|
||||
cp -a -t %{buildroot}/%{_pkgdocdir} \
|
||||
-- ChangeLog README-testing conf/booth.conf.example
|
||||
# drop what we don't package anyway (COPYING added via tarball-relative path)
|
||||
rm -rf %{buildroot}/%{_initrddir}/booth-arbitrator
|
||||
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 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
|
||||
VERBOSE=1 make check
|
||||
|
||||
%files core
|
||||
%license COPYING
|
||||
%doc %{_pkgdocdir}/AUTHORS
|
||||
%doc %{_pkgdocdir}/ChangeLog
|
||||
%doc %{_pkgdocdir}/README
|
||||
%doc %{_pkgdocdir}/booth.conf.example
|
||||
# core command(s) + man pages
|
||||
%{_sbindir}/booth*
|
||||
%{_mandir}/man8/booth*.8*
|
||||
# configuration
|
||||
%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
|
||||
|
||||
%files arbitrator
|
||||
%{_unitdir}/booth@.service
|
||||
%{_unitdir}/booth-arbitrator.service
|
||||
|
||||
%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
|
||||
# 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
|
||||
# helper (possibly used in the configuration hook)
|
||||
%dir %{_datadir}/booth
|
||||
%{_datadir}/booth/service-runnable
|
||||
|
||||
%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
|
||||
|
||||
%changelog
|
||||
* Wed Jun 3 2020 Jan Friesse <jfriesse@redhat.com> - 1.0-6.ac1d34c.git.2
|
||||
- Related: rhbz#1835831
|
||||
|
||||
- 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.1
|
||||
- Resolves: rhbz#1602455
|
||||
- Resolves: rhbz#1682122
|
||||
- Resolves: rhbz#1768369
|
||||
- Resolves: rhbz#1835831
|
||||
|
||||
- Update to current snapshot (commit ac1d34c) to fix test suite,
|
||||
build warnings and build with gcc10
|
||||
- Fix hardcoded-library-path
|
||||
- Package /var/lib/booth where booth can chroot
|
||||
- Add '?dist' macro to release field
|
||||
- Pass full path of Python3 to configure
|
||||
- Add CI tests
|
||||
- Enable gating
|
||||
|
||||
* Wed Sep 19 2018 Tomas Orsava <torsava@redhat.com> - 1.0-5.f2d38ce.git
|
||||
- Require the Python interpreter directly instead of using the package name
|
||||
- Related: rhbz#1619153
|
||||
|
||||
* Thu Jul 19 2018 Jan Pokorný <jpokorny+rpm-booth@redhat.com> - 1.0-4.f2d38ce.git
|
||||
- revert back to using asciidoc instead of asciidoctor for generating man pages
|
||||
(rhbz#1603119)
|
||||
- fix some issues in the shell scripts (rhbz#1602455)
|
||||
|
||||
* Mon Jul 16 2018 Jan Pokorný <jpokorny+rpm-booth@redhat.com> - 1.0-3.f2d38ce.git
|
||||
- update for another, current snapshot beyond booth-1.0
|
||||
(commit f2d38ce), including:
|
||||
. support for solely manually managed tickets (9a365f9)
|
||||
. use asciidoctor instead of asciidoc for generating man pages (65e6a6b)
|
||||
- switch to using Python 3 for the tests instead of Python 2
|
||||
(behind unversioned "python" references; rhbz#1590856)
|
||||
|
||||
* Thu Jun 21 2018 Troy Dawson <tdawson@redhat.com> - 1.0-2.570876d.git.3
|
||||
- Fix python shebangs (#1580601)
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-2.570876d.git.2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-2.570876d.git.1
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed May 25 2016 Jan Pokorný <jpokorny+rpm-booth@fedoraproject.org> - 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ý <jpokorny+rpm-booth@fedoraproject.org> - 1.0-2.eb4256a.git
|
||||
- update a subset of out-of-tree patches per
|
||||
https://github.com/ClusterLabs/booth/pull/22#issuecomment-216936987
|
||||
- pre-inclusion cleanups in the spec (apply systemd scriptlet operations
|
||||
with booth-arbitrator, avoid overloading file implicitly considered %%doc
|
||||
as %%license)
|
||||
Resolves: rhbz#1314865
|
||||
Related: rhbz#1333509
|
||||
|
||||
* Thu Apr 28 2016 Jan Pokorný <jpokorny+rpm-booth@fedoraproject.org> - 1.0-1.eb4256a.git
|
||||
- initial build
|
Loading…
Reference in New Issue
Block a user