Page MenuHomeClusterLabs Projects

No OneTemporary

diff --git a/Makefile.am b/Makefile.am
index 4c91feb..ed8122b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,216 +1,222 @@
# Copyright (c) 2009 Red Hat, Inc.
#
# Authors: Andrew Beekhof
# Steven Dake (sdake@redhat.com)
#
# This software licensed under BSD license, the text of which follows:
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# - Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# - Neither the name of the MontaVista Software, Inc. nor the names of its
# contributors may be used to endorse or promote products derived from this
# software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
SPEC = $(PACKAGE_NAME).spec
TARFILE = $(PACKAGE_NAME)-$(VERSION).tar.gz
EXTRA_DIST = autogen.sh conf/booth.conf.example \
script/booth-keygen script/lsb script/ocf script/service-runnable.in \
script/unit-test.py.in script/wireshark-dissector.lua \
test/arbtests.py test/assertions.py test/booth_path test/boothrunner.py \
test/boothtestenv.py.in test/clientenv.py test/clienttests.py test/live_test.sh \
test/runtests.py.in test/serverenv.py test/servertests.py test/sitetests.py \
test/utils.py \
unit-tests \
contrib \
$(SPEC).in booth-rpmlintrc \
.version build-aux/git-version-gen
AUTOMAKE_OPTIONS = foreign
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure depcomp \
config.guess config.sub missing install-sh \
autoheader automake autoconf test_lense.sh \
compile
dist_doc_DATA = AUTHORS README COPYING README.upgrade-from-v0.1 README-testing
boothconfdir = ${BOOTHSYSCONFDIR}
boothconf_DATA = conf/booth.conf.example
boothsitedir = $(ocfdir)/resource.d/pacemaker
boothsite_SCRIPTS = script/ocf/booth-site
boothocfdir = $(ocfdir)/resource.d/booth
boothocf_SCRIPTS = script/ocf/sharedrsc script/ocf/geostore
boothocflibdir = $(ocfdir)/lib/booth
boothocflib_DATA = script/ocf/geo_attr.sh
bootharbitratordir = ${INITDDIR}
bootharbitrator_SCRIPTS = script/lsb/booth-arbitrator
boothnoarchdir = $(datadir)/$(PACKAGE_NAME)
nodist_boothnoarch_SCRIPTS = script/service-runnable
sbin_SCRIPTS = script/booth-keygen
TESTS = test/runtests.py
SUBDIRS = src docs conf
coverity:
cov-build --dir=cov make
cov-analyze --dir cov --concurrency --wait-for-license
cov-format-errors --dir cov
install-exec-local:
$(INSTALL) -d $(DESTDIR)/${boothconfdir}
$(INSTALL) -d $(DESTDIR)/${bootharbitratordir}
$(INSTALL) -d $(DESTDIR)/${boothsitedir}
$(INSTALL) -d $(DESTDIR)/${boothocfdir}
$(INSTALL) -d $(DESTDIR)/${BOOTH_LIB_DIR} -m 750
-chown $(CRM_DAEMON_USER):$(CRM_DAEMON_GROUP) $(DESTDIR)/${BOOTH_LIB_DIR}
$(INSTALL) -d $(DESTDIR)/${BOOTH_CORE_DIR} -m 750
-chown $(CRM_DAEMON_USER):$(CRM_DAEMON_GROUP) $(DESTDIR)/${BOOTH_CORE_DIR}
install-exec-hook:
ln -sf ${sbindir}/boothd $(DESTDIR)/${sbindir}/booth
ln -sf ${sbindir}/boothd $(DESTDIR)/${sbindir}/geostore
uninstall-local:
rmdir $(DESTDIR)/${boothconfdir} || :;
rmdir $(DESTDIR)/${bootharbitratordir} || :;
rmdir $(DESTDIR)/${boothsitedir} || :;
rmdir $(DESTDIR)/${BOOTH_CORE_DIR} || :;
rmdir $(DESTDIR)/${BOOTH_LIB_DIR} || :;
test: check
lint:
for dir in src; do make -C $$dir lint; done
clean-local:
rm -rf test/*.pyc test/__pycache__ test/runtests.py test/boothtestenv.py cov* $(SPEC)
dist-clean-local:
rm -f autoconf automake autoheader
# release/versioning
BUILT_SOURCES = .version
.version:
echo $(VERSION) > $@-t && mv $@-t $@
dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
test/runtests.py: test/runtests.py.in test/boothtestenv.py
rm -f $@-t $@
mkdir -p ${abs_top_builddir}/test
sed \
-e 's#PYTHON_SHEBANG#${PYTHON_SHEBANG}#g' \
-e 's#TEST_SRC_DIR#${abs_top_srcdir}/test#g' \
-e 's#TEST_BUILD_DIR#${abs_top_builddir}/test#g' \
$< > $@-t;
chmod a-w $@-t
chmod u+x $@-t
mv $@-t $@
test/boothtestenv.py: test/boothtestenv.py.in
rm -f $@-t $@
mkdir -p ${abs_top_builddir}/test
sed \
-e 's#TEST_SRC_DIR#${abs_top_srcdir}/test#g' \
-e 's#TEST_BUILD_DIR#${abs_top_builddir}/test#g' \
$< > $@-t;
chmod a-w $@-t
mv $@-t $@
## make rpm/srpm section.
$(abs_builddir)/booth-rpmlintrc:
cat $(abs_srcdir)/booth-rpmlintrc > booth-rpmlintrc
$(SPEC): $(SPEC).in .version config.status $(abs_builddir)/booth-rpmlintrc
rm -f $@-t $@
date="$(shell LC_ALL=C date "+%a %b %d %Y")" && \
gvgver="`cd $(abs_srcdir); build-aux/git-version-gen --fallback $(VERSION) .tarball-version .gitarchivever`" && \
if [ "$$gvgver" == "`echo $$gvgver | sed 's/-/./'`" ];then \
rpmver="$$gvgver" && \
alphatag="" && \
dirty="" && \
numcomm="0"; \
else \
gitver="`echo $$gvgver | sed 's/\(.*\)\./\1-/'`" && \
rpmver=`echo $$gitver | sed 's/-.*//g'` && \
alphatag=`echo $$gvgver | sed 's/[^-]*-\([^-]*\).*/\1/'` && \
numcomm=`echo $$gitver | sed 's/[^-]*-\([^-]*\).*/\1/'` && \
dirty="" && \
if [ "`echo $$gitver | sed 's/^.*-dirty$$//g'`" == "" ];then \
dirty="dirty"; \
fi \
fi && \
if [ "$$numcomm" = "0" ]; then numcomm=""; fi && \
if [ -n "$$numcomm" ]; then numcomm="%global numcomm $$numcomm"; fi && \
if [ "$$alphatag" = "$$gitver" ]; then alphatag=""; fi && \
if [ -n "$$alphatag" ]; then alphatag="%global alphatag $$alphatag"; fi && \
if [ -n "$$dirty" ]; then dirty="%global dirty dirty"; fi && \
sed \
-e "s#@version@#$$rpmver#g" \
-e "s#@ALPHATAG@#$$alphatag#g" \
-e "s#@NUMCOMM@#$$numcomm#g" \
-e "s#@DIRTY@#$$dirty#g" \
-e "s#@date@#$$date#g" \
$(abs_srcdir)/$@.in > $@-t;
if BUILD_ASCIIDOC_HTML_MAN
sed -i -e "s#@bcond_html_man@#bcond_without#g" $@-t
else
sed -i -e "s#@bcond_html_man@#bcond_with#g" $@-t
endif
if IS_ASCIIDOC
sed -i -e "s#@asciidoc@#asciidoc#g" $@-t
else
sed -i -e "s#@asciidoc@#asciidoctor#g" $@-t
endif
+if LOGGING_LIBQB
+ sed -i -e "s#@bcond_glue@#bcond_with#g" $@-t
+else
+ sed -i -e "s#@bcond_glue@#bcond_without#g" $@-t
+endif
+
chmod a-w $@-t
mv $@-t $@
rm -f $@-t*
$(TARFILE):
$(MAKE) dist
RPMBUILDOPTS = --define "_sourcedir $(abs_builddir)" \
--define "_specdir $(abs_builddir)" \
--define "_builddir $(abs_builddir)" \
--define "_srcrpmdir $(abs_builddir)" \
--define "_rpmdir $(abs_builddir)"
srpm: clean
$(MAKE) $(SPEC) $(TARFILE)
rpmbuild $(RPMBUILDOPTS) --nodeps -bs $(SPEC)
rpm: clean
$(MAKE) $(SPEC) $(TARFILE)
rpmbuild $(RPMBUILDOPTS) -ba $(SPEC)
diff --git a/booth.spec.in b/booth.spec.in
index 0541b22..fab519c 100644
--- a/booth.spec.in
+++ b/booth.spec.in
@@ -1,245 +1,244 @@
# keep around ready for later user
@ALPHATAG@
@NUMCOMM@
@DIRTY@
%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
%global gittarver %{?numcomm:-%{numcomm}}%{?alphatag:-g%{alphatag}}%{?dirty:-%{dirty}}
%@bcond_html_man@ html_man
+%@bcond_glue@ glue
%if 0%{?fedora} > 18 || 0%{?centos} > 6 || 0%{?rhel} > 6
-%bcond_with glue
%if 0%{?fedora} > 26 || 0%{?centos} > 7 || 0%{?rhel} > 7
%bcond_without python3
%else
%bcond_with python3
%endif
%else
-%bcond_without glue
%bcond_with python3
%endif
%if 0%{?suse_version}
%global booth_docdir %{_defaultdocdir}/%{name}
%else
# newer fedora distros have _pkgdocdir, rely on that when
# available
%{!?_pkgdocdir: %global _pkgdocdir %%{_docdir}/%{name}-%{version}}
# Directory where we install documentation
%global booth_docdir %{_pkgdocdir}
%endif
%global test_path %{_datadir}/booth/tests
%if 0%{?suse_version}
%define _libexecdir %{_libdir}
%define _fwdefdir %{_libexecdir}/firewalld/services
%endif
%define with_extra_warnings 0
%define with_debugging 0
%define without_fatal_warnings 1
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
%define pkg_group System Environment/Daemons
%else
%define pkg_group Productivity/Clustering/HA
%endif
Name: booth
Url: https://github.com/ClusterLabs/booth
Summary: Ticket Manager for Multi-site Clusters
%if 0%{?suse_version}
License: GPL-2.0+
%else
License: GPLv2+
%endif
Group: %{pkg_group}
Version: @version@
Release: 1%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
Source: https://github.com/ClusterLabs/booth/archive/v%{version}%{?gittarver}/%{name}-%{version}%{?gitver}.tar.gz
Source1: %name-rpmlintrc
BuildRequires: @asciidoc@
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: pkgconfig
%if 0%{?suse_version}
BuildRequires: glib2-devel
# SuSEFirewall2 replaced by Firewalld (fate#323460)
BuildRequires: firewall-macros
%else
BuildRequires: pkgconfig(glib-2.0)
%endif
BuildRequires: libgcrypt-devel
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
BuildRequires: pacemaker-libs-devel
%else
BuildRequires: libpacemaker-devel
%endif
%if 0%{?with_glue}
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
BuildRequires: cluster-glue-libs-devel
%else
BuildRequires: libglue-devel
%endif
%else
# logging provider
BuildRequires: pkgconfig(libqb)
# random2range provider
BuildRequires: pkgconfig(glib-2.0)
# nametag provider
BuildRequires: pkgconfig(libsystemd)
%endif
BuildRequires: libxml2-devel
BuildRequires: zlib-devel
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
Requires: pacemaker >= 1.1.8
%if 0%{?with_glue}
Requires: cluster-glue-libs >= 1.0.6
%endif
%else
Requires: pacemaker-ticket-support >= 2.0
%endif
# for check scriptlet
%if 0%{?with_python3}
BuildRequires: python3-devel
%else
BuildRequires: python
%endif
%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.
%prep
%setup -q -n %{name}-%{version}%{?gitver}
%build
./autogen.sh
%configure \
--with-initddir=%{_initrddir} \
--docdir=%{booth_docdir} \
%{?with_html_man:--with-html_man} \
%{!?with_glue:--without-glue}
make
%install
make DESTDIR=$RPM_BUILD_ROOT install docdir=%{booth_docdir}
mkdir -p %{buildroot}/%{_mandir}/man8/
gzip < docs/boothd.8 > %{buildroot}/%{_mandir}/man8/booth.8.gz
ln %{buildroot}/%{_mandir}/man8/booth.8.gz %{buildroot}/%{_mandir}/man8/boothd.8.gz
%if %{defined _unitdir}
# systemd
mkdir -p %{buildroot}/%{_unitdir}
cp -a conf/booth@.service %{buildroot}/%{_unitdir}/booth@.service
cp -a conf/booth-arbitrator.service %{buildroot}/%{_unitdir}/booth-arbitrator.service
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcbooth-arbitrator
%else
# sysV init
ln -s ../../%{_initddir}/booth-arbitrator %{buildroot}%{_sbindir}/rcbooth-arbitrator
%endif
#install test-parts
mkdir -p %{buildroot}/%{test_path}/conf
cp -a unit-tests/ script/unit-test.py test %{buildroot}/%{test_path}/
cp -a conf/booth.conf.example %{buildroot}/%{test_path}/conf/
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 %{_sbindir}/boothd %{buildroot}/%{test_path}/src/
rm -f %{buildroot}/%{test_path}/test/*.pyc
%if 0%{?suse_version}
#Firewalld rule
mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir}
install -m 644 contrib/geo-cluster.firewalld.xml $RPM_BUILD_ROOT/%{_fwdefdir}/booth.xml
#install -m 644 %{S:2} $RPM_BUILD_ROOT/%{_fwdefdir}/booth
%post
%firewalld_reload
%endif
%check
%if 0%{?run_build_tests}
echo "%%run_build_tests set to %run_build_tests; including tests"
make check
%else
echo "%%run_build_tests set to %run_build_tests; skipping tests"
%endif
%files
%{_sbindir}/booth
%{_sbindir}/boothd
%{_sbindir}/booth-keygen
%{_sbindir}/geostore
%{_mandir}/man8/booth.8.gz
%{_mandir}/man8/boothd.8.gz
%{_mandir}/man8/booth-keygen.8.gz
%{_mandir}/man8/geostore.8.gz
%dir /usr/lib/ocf
%dir /usr/lib/ocf/resource.d
%dir /usr/lib/ocf/resource.d/pacemaker
%dir /usr/lib/ocf/resource.d/booth
%dir /usr/lib/ocf/lib
%dir /usr/lib/ocf/lib/booth
%dir %{_sysconfdir}/booth
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/booth/
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/booth/cores
%{_sbindir}/rcbooth-arbitrator
/usr/lib/ocf/resource.d/pacemaker/booth-site
/usr/lib/ocf/lib/booth/geo_attr.sh
/usr/lib/ocf/resource.d/booth/geostore
%config %{_sysconfdir}/booth/booth.conf.example
%if 0%{?suse_version}
%dir %{_libexecdir}/firewalld
%dir %{_fwdefdir}
%{_fwdefdir}/booth.xml
%endif
%if %{defined _unitdir}
%{_unitdir}/booth@.service
%{_unitdir}/booth-arbitrator.service
%exclude %{_initddir}/booth-arbitrator
%else
%{_initddir}/booth-arbitrator
%endif
%dir %{_datadir}/booth
%{_datadir}/booth/service-runnable
%doc AUTHORS README COPYING
%doc README.upgrade-from-v0.1
%package test
Summary: Test scripts for Booth
Group: %{pkg_group}
Requires: booth
Requires: gdb
%if 0%{?with_python3}
Requires: python3
Requires: python3-pexpect
%else
Requires: python
Requires: python-pexpect
%endif
%description test
This package contains automated tests for Booth,
the Cluster Ticket Manager for Pacemaker.
%files test
%doc %{booth_docdir}/README-testing
%{test_path}
%dir /usr/lib/ocf
%dir /usr/lib/ocf/resource.d
%dir /usr/lib/ocf/resource.d/booth
/usr/lib/ocf/resource.d/booth/sharedrsc
%changelog

File Metadata

Mime Type
text/x-diff
Expires
Wed, Jun 25, 5:27 AM (1 d, 6 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1952288
Default Alt Text
(14 KB)

Event Timeline