5 Star 0 Fork 4

OpenCloudOS Stream/booth

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
booth.spec 6.44 KB
一键复制 编辑 原始数据 按行查看 历史
%bcond_with glue
%bcond_with test
%global git_describe_str v1.1-283-g9d4029aa14323a7f3b496215d25e40bd14f33632
%global booth_ver %(s=%{git_describe_str}; vver=${s%%%%-*}; echo ${vver:1})
%global booth_numcomm %(s=%{git_describe_str}; t=${s#*-}; echo ${t%%%%-*})
%global booth_sha1 %(s=%{git_describe_str}; t=${s##*-}; echo ${t:1})
%global gitversion %(s=%{booth_sha1}; echo ${s:0:7})
%global booth_archive_name %{name}-%{booth_ver}-%{booth_numcomm}-%{gitversion}
%global _python_bytecompile_extra 0
%global test_path %{_datadir}/booth/tests
Summary: Ticket Manager for Multi-site Clusters
Name: booth
Version: %{booth_ver}
Release: 4git%{gitversion}%{?dist}
License: GPLv2+
Url: https://github.com/ClusterLabs/%{name}
Source0: %{url}/archive/%{gitversion}/%{booth_archive_name}.tar.gz
BuildRequires: autoconf automake coreutils
BuildRequires: make asciidoctor gcc pkgconfig libgcrypt-devel libxml2-devel pacemaker-libs-devel zlib-devel
BuildRequires: pkgconfig(libqb) pkgconfig(glib-2.0) pkgconfig(libsystemd) pkgconfig(glib-2.0)
BuildRequires: hostname psmisc python3-devel sed systemd git perl-interpreter iproute /bin/sh
Requires: %{name}-core %{name}-site
%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.
%package core
Summary: Booth core files (executables, etc.)
Requires: coreutils
%description core
Core files (executables, etc.) for Booth, ticket manager for multi-site clusters.
%package arbitrator
Summary: Booth support for running as an arbitrator
Requires: %{name}-core = %{version}-%{release}
BuildArch: noarch
%{?systemd_requires}
%description arbitrator
Support for running Booth, ticket manager for multi-site clusters, as an arbitrator.
%package site
Summary: Booth support for running as a full-fledged site
Requires: %{name}-core = %{version}-%{release} pacemaker resource-agents
BuildArch: noarch
%description site
Support for running Booth, ticket manager for multi-site clusters, as a full-fledged site.
%package test
Summary: Test scripts for Booth
Requires: hostname psmisc gdb %{__python3} perl-interpreter iproute python3-pexpect
Requires: %{name}-arbitrator = %{version}-%{release}
Requires: %{name}-site = %{version}-%{release}
BuildArch: noarch
%description test
Automated tests for running Booth, ticket manager for multi-site clusters.
%prep
%autosetup -n %{name}-%{booth_sha1} -S git_am
%build
./autogen.sh
%{configure} \
--with-initddir=%{_initrddir} \
--docdir=%{_pkgdocdir} \
--enable-user-flags \
%{!?with_glue:--without-glue} \
PYTHON=%{__python3}
%{make_build}
%install
%{make_install}
install -Dp conf/*.service -t %{buildroot}/%{_unitdir}
install -Dm 644 docs/boothd.8 -t %{buildroot}/%{_mandir}/man8
ln -s boothd.8 %{buildroot}/%{_mandir}/man8/booth.8
cp -a ChangeLog README-testing conf/booth.conf.example %{buildroot}/%{_pkgdocdir}
rm -rf %{buildroot}/%{_initrddir}/booth-arbitrator
rm -rf %{buildroot}/%{_pkgdocdir}/README.upgrade-from-v0.1
rm -rf %{buildroot}/%{_pkgdocdir}/COPYING
mkdir -p %{buildroot}%{test_path}
cp -a conf test %{buildroot}%{test_path}
cp -a unit-tests script/unit-test.py %{buildroot}%{test_path}
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
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
%py_byte_compile %{__python3} %{buildroot}%{test_path}
%if %{with test}
%check
VERBOSE=1 make check
%endif
%post arbitrator
%systemd_post booth-arbitrator.service
%preun arbitrator
%systemd_preun booth-arbitrator.service
%postun arbitrator
%systemd_postun_with_restart booth-arbitrator.service
%files
%license COPYING
%dir %{_datadir}/pkgconfig
%{_datadir}/pkgconfig/booth.pc
%files core
%license COPYING
%doc %{_pkgdocdir}/AUTHORS
%doc %{_pkgdocdir}/ChangeLog
%doc %{_pkgdocdir}/README
%doc %{_pkgdocdir}/booth.conf.example
%{_sbindir}/booth*
%dir %{_sysconfdir}/booth
%dir %attr (750, hacluster, haclient) %{_var}/lib/booth/
%dir %attr (750, hacluster, haclient) %{_var}/lib/booth/cores
%{_mandir}/man8/booth*.8*
%exclude %{_sysconfdir}/booth/booth.conf.example
%files arbitrator
%{_unitdir}/booth@.service
%{_unitdir}/booth-arbitrator.service
%files site
%{_usr}/lib/ocf/resource.d/pacemaker/booth-site
%dir %{_usr}/lib/ocf/lib/booth
%dir %{_usr}/lib/ocf/resource.d/booth
%dir %{_datadir}/booth
%{_usr}/lib/ocf/lib/booth/geo_attr.sh
%{_sbindir}/geostore
%{_usr}/lib/ocf/resource.d/booth/geostore
%{_datadir}/booth/service-runnable
%{_mandir}/man8/geostore.8*
%files test
%doc %{_pkgdocdir}/README-testing
%{test_path}
%{_usr}/lib/ocf/resource.d/booth/sharedrsc
%changelog
* Thu Sep 26 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 1.1-4git9d4029a
- Rebuilt for clarifying the packages requirement in BaseOS and AppStream
* Fri Sep 20 2024 cunshunxia <cunshunxia@tencent.com> - 1.1-3git9d4029a
- disable test which will fail in systemd-nspawn env.
* Fri Aug 16 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 1.1-2git9d4029a
- Rebuilt for loongarch release
* Thu Dec 21 2023 Upgrade Robot <upbot@opencloudos.org> - 1.1-1
- Upgrade to version 1.1
* Fri Sep 08 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 1.0-5.git9d4029a
- Rebuilt for OpenCloudOS Stream 23.09
* Mon Jul 17 2023 cunshunxia <cunshunxia@tencent.com> - 1.0-4.git9d4029a
- rebuild for pacemaker 2.1.6.
* Fri Apr 28 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 1.0-3.git9d4029a
- Rebuilt for OpenCloudOS Stream 23.05
* Fri Mar 31 2023 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 1.0-2.git9d4029a
- Rebuilt for OpenCloudOS Stream 23
* Fri Feb 24 2023 Shuo Wang <abushwang@tencent.com> - 1.0-1.git9d4029a
- initial build
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/opencloudos-stream/booth.git
git@gitee.com:opencloudos-stream/booth.git
opencloudos-stream
booth
booth
master

搜索帮助