diff --git a/.gitignore b/.gitignore index 56d91c9..6a37616 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.src.rpm .*.swp +beaker-checkout results_beaker /beaker-24.1.tar.xz /beaker-24.2.tar.xz @@ -16,4 +17,15 @@ results_beaker /beaker-26.5.tar.xz /beaker-26.5-49-g97e14daec.tar.gz /beaker-26.6-66-g03e169493.tar.gz -/beaker-26.6.tar.xz +/beaker-27.0.tar.xz +/beaker-27.1.tar.xz +/beaker-27.2.tar.xz +/beaker-27.3.tar.xz +/beaker-27.4.tar.xz +/beaker-28.0.tar.xz +/beaker-28.1.tar.xz +/beaker-28.2.tar.xz +/beaker-28.3.tar.xz +/beaker-29.0.tar.xz +/beaker-29.1.tar.xz +/beaker-29.2.tar.xz diff --git a/0001_dont_build_server.diff b/0001_dont_build_server.diff deleted file mode 100644 index a4604db..0000000 --- a/0001_dont_build_server.diff +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/Makefile b/Makefile -index 4297c8d..c1d172e 100644 ---- a/Makefile -+++ b/Makefile -@@ -6,7 +6,7 @@ - - DEPCMD := $(shell if [ -f /usr/bin/dnf ]; then echo "dnf builddep"; else echo "yum-builddep"; fi) - --SUBDIRS := Common Client documentation Server LabController IntegrationTests -+SUBDIRS := Common Client documentation - - .PHONY: build - build: -diff --git a/documentation/Makefile b/documentation/Makefile -index 60cf807..3d449d3 100644 ---- a/documentation/Makefile -+++ b/documentation/Makefile -@@ -2,7 +2,7 @@ - # - - SHELL = /bin/bash --export PYTHONPATH=../Common:../Server:../Client/src -+export PYTHONPATH=../Common:../Client/src - SPHINXBUILD ?= $(firstword $(shell command -v sphinx-1.0-build sphinx-build)) - - # This Makefile contains some frustrating hacks, centering around the fact that -@@ -30,7 +30,7 @@ SPHINXREQUIRES = "Sphinx >= 1.0", - ifeq (0,$(shell python2 -c '__requires__ = ["CherryPy < 3.0"]; import pkg_resources' &>/dev/null ; echo $$?)) - SPHINXREQUIRES += "CherryPy < 3.0", - endif --BKR_PATH_INJECTED = "../Common/bkr", "../Server/bkr", "../Client/src/bkr" -+BKR_PATH_INJECTED = "../Common/bkr", "../Client/src/bkr" - - # You can set these variables from the command line. - SPHINXOPTS = diff --git a/beaker-snapshot.sh b/beaker-snapshot.sh new file mode 100755 index 0000000..190dcff --- /dev/null +++ b/beaker-snapshot.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e +set -o pipefail + +if [ ! -d beaker-checkout ]; then + git clone git://git.beaker-project.org/beaker beaker-checkout + cd beaker-checkout +else + cd beaker-checkout + git pull +fi +NAME="$(git describe)" +git archive --prefix="${NAME}/" -o ../"${NAME}".tar.gz origin/develop +echo "${NAME}" diff --git a/beaker.spec b/beaker.spec index db19a1f..61bda66 100644 --- a/beaker.spec +++ b/beaker.spec @@ -1,71 +1,49 @@ -# The server, lab controller, and integration test subpackages can be conditionally built. -# Use rpmbuild --without to override. -%global _lc_services beaker-proxy beaker-provision beaker-watchdog beaker-transfer -%global with_systemd 1 - -# This will not necessarily match the RPM Version if the real version number is -# not representable in RPM. For example, a release candidate might be 0.15.0rc1 -# but that is not usable for the RPM Version because it sorts higher than -# 0.15.0, so the RPM will have Version 0.15.0 and Release 0.rc1 in that case. %global upstream_name beaker -%global with_docs 1 -%global git_version 26.6-66-g03e169493 +# No sphinxcontrib-httpdomain rpm on EPEL10 +%bcond docs %[ 0%{?fedora} || 0%{?rhel} < 10 ] Name: %{upstream_name} -Version: 26.6 -Release: 1.git.66.g03e169493%{?dist} +Version: 29.2 +Release: 4%{?dist} Summary: Full-stack software and hardware integration testing system -Group: Applications/Internet -License: GPLv2+ and BSD +License: GPL-2.0-or-later URL: https://beaker-project.org/ +# To generate git snapshot, see beaker-snapshot.sh Source0: https://beaker-project.org/releases/%{upstream_name}-%{version}.tar.xz -# Explicitly remove building server from the Makefiles -Patch1: 0001_dont_build_server.diff BuildArch: noarch -BuildRequires: python-setuptools -BuildRequires: python-nose >= 0.10 -BuildRequires: python-unittest2 -BuildRequires: python-mock -BuildRequires: python-setuptools -BuildRequires: python2-devel -BuildRequires: python-docutils >= 0.6 -BuildRequires: python-sphinx >= 1.0 -BuildRequires: python-sphinxcontrib-httpdomain -BuildRequires: pkgconfig(systemd) -# some client commands use requests, they are unsupported on RHEL5 -BuildRequires: python-requests -# As above, these client dependencies are needed in build because of sphinx -BuildRequires: python-krbV -BuildRequires: python-lxml -BuildRequires: libxslt-python - +BuildRequires: python3-setuptools +BuildRequires: python3-pytest +BuildRequires: python3-devel +%if %{with docs} +BuildRequires: python3-docutils +BuildRequires: python3-sphinx +BuildRequires: python3-sphinxcontrib-httpdomain +%endif %package common Summary: Common components for Beaker packages -Group: Applications/Internet Provides: %{name} = %{version}-%{release} Obsoletes: %{name} < 0.17.0-1 %package client Summary: Command-line client for interacting with Beaker -Group: Applications/Internet Requires: %{name}-common = %{version}-%{release} BuildRequires: pkgconfig(bash-completion) -BuildRequires: python-krbV -BuildRequires: python-lxml -BuildRequires: libxslt-python -BuildRequires: python-prettytable -Requires: python -Requires: python-setuptools -Requires: python-krbV -Requires: python-lxml -Requires: python-requests -Requires: libxslt-python -Requires: libxml2-python -Requires: python-prettytable -Requires: python-jinja2 +BuildRequires: python3-gssapi +BuildRequires: python3-lxml +BuildRequires: python3-prettytable +BuildRequires: python3-libxml2 +BuildRequires: make +Requires: python3-six +Requires: python3-setuptools +Requires: python3-gssapi +Requires: python3-lxml +Requires: python3-requests +Requires: python3-libxml2 +Requires: python3-prettytable +Requires: python3-jinja2 # beaker-wizard was moved from rhts-devel to here in 4.52 Conflicts: rhts-devel < 4.52 @@ -82,54 +60,190 @@ can use it to submit Beaker jobs, fetch results, and perform many other tasks. %prep %setup -q -n %{upstream_name}-%{version} -%patch1 -p1 +%if %{without docs} +rm -rf documentation +sed -i '/SUBDIRS.*:=/s/\s*documentation\s*/ /g' Makefile +%endif # The server relies on a great many packages which are intended to be bundled # source, and its documentation greatly inflates the number of BR packages # required. Until those are packaged separately, building those subpackages is -# unnnecessary. LabController and IntegrationTests are specifically designed to -# be used as part of the server setup. They also get removed -rm -r Server documentation/server-api LabController IntegrationTests +# unnnecessary +rm -r Server IntegrationTests LabController #documentation/server-api %build +export BKR_PY3=1 make %install +export BKR_PY3=1 DESTDIR=%{buildroot} make install -# Integration tests are to be used on the server to ensure it's setup properly rm -rf %{buildroot}%{_datadir}/beaker-integration-tests/ -rm -rf %{buildroot}%{python2_sitelib}/bkr/inttest -rm -rf %{buildroot}%{python2_sitelib}/beaker_integration_tests* -# These man pages are for server/lab-controller stuff that we're not packaging +rm -rf %{buildroot}%{python3_sitelib}/bkr/inttest +rm -rf %{buildroot}%{python3_sitelib}/beaker_integration_tests* +# These are for lab-controller stuff, which depends on server rm -rf %{buildroot}%{_mandir}/man8/ %check -make check +export BKR_PY3=1 +#make check +# Running the checks generates some .pyc files - burn them! +find %{buildroot} -name '__pycache__' | xargs rm -rf %files common %doc README.md %license COPYING -%dir %{python2_sitelib}/bkr/ -%{python2_sitelib}/bkr/__init__.py* -%{python2_sitelib}/bkr/timeout_xmlrpclib.py* -%{python2_sitelib}/bkr/common/ -%{python2_sitelib}/bkr/log.py* -%{python2_sitelib}/%{name}_common-%{version}-py2.7.egg-info/ +%dir %{python3_sitelib}/bkr/ +%{python3_sitelib}/bkr/__init__.py* +%{python3_sitelib}/bkr/common/ +%{python3_sitelib}/bkr/log.py* +%{python3_sitelib}/%{name}_common-%{version}-py%{python3_version}.egg-info/ %files client %dir %{_sysconfdir}/%{name} %doc Client/client.conf.example -%{python2_sitelib}/bkr/client/ -%{python2_sitelib}/%{name}_client-%{version}-py2.7-nspkg.pth -%{python2_sitelib}/%{name}_client-%{version}-py2.7.egg-info/ +%{python3_sitelib}/bkr/client/ +%{python3_sitelib}/%{name}_client-%{version}-py%{python3_version}-nspkg.pth +%{python3_sitelib}/%{name}_client-%{version}-py%{python3_version}.egg-info/ %{_bindir}/%{name}-wizard %{_bindir}/bkr -%{_mandir}/man1/%{name}-wizard.1.gz +%if %{with docs} +%{_mandir}/man1/beaker-wizard.1.gz %{_mandir}/man1/bkr.1.gz %{_mandir}/man1/bkr-*.1.gz +%endif %{_datadir}/bash-completion %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 29.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 29.2-3 +- Rebuilt for Python 3.14 + +* Mon May 26 2025 Martin Styk - 29.2-2 +- Drop BSD license reference from License tag + The file LabController/src/bkr/labcontroller/tback.py, originally from Django + and licensed under the 3-clause BSD license, was removed. This file is no longer + part of the LabController source tree. + +* Mon May 26 2025 Martin Styk - 29.2-1 +- Release 29.2 (#2368611) + +* Thu Jan 16 2025 Fedora Release Engineering - 29.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Aug 28 2024 Miroslav Suchý - 29.1-4 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 29.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 29.1-2 +- Rebuilt for Python 3.13 + +* Sun Feb 11 2024 Martin Styk - 29.1-1 +- Update to 29.1 (#2263782) + +* Tue Jan 23 2024 Fedora Release Engineering - 29.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 29.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 18 2024 Martin Styk - 29.0-1 +- Update to 29.0 (#2258990) + +* Fri Nov 17 2023 Martin Styk - 28.3-8 +- Backport patch to fix SSL usage on Python 3.12 + +* Wed Jul 26 2023 Martin Styk - 28.3-7 +- Disable tests +- Fix incompatibility with Sphinx 6+ + +* Wed Jul 19 2023 Fedora Release Engineering - 28.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 14 2023 Python Maint - 28.3-5 +- Rebuilt for Python 3.12 + +* Wed Jan 18 2023 Fedora Release Engineering - 28.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 28.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 28.3-2 +- Rebuilt for Python 3.11 + +* Sat May 21 2022 Martin Styk - 28.3-1 +- Update to 28.3 (#2088909) + +* Wed Jan 19 2022 Fedora Release Engineering - 28.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 28.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 28.2-2 +- Rebuilt for Python 3.10 + +* Wed Feb 17 2021 Martin Styk - 28.2-1 +- Update to 28.2 (#1929311) + +* Thu Jan 28 2021 Martin Styk - 28.1-1 +- Update to 28.1 (#1901445) + +* Tue Jan 26 2021 Fedora Release Engineering - 28.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Aug 25 2020 Martin Styk - 28.0-1 +- Update to 28.0 (#1871982) +* Mon Jul 27 2020 Fedora Release Engineering - 27.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 27.4-2 +- Rebuilt for Python 3.9 + +* Mon Mar 30 2020 Martin Styk - 27.4-1: +- Update to 27.4 (#1818717) + +* Wed Mar 18 2020 Martin Styk - 27.3-1: +- Update to 27.3 (#1814828) + +* Thu Feb 27 2020 Martin Styk - 27.2-1 +- Update to 27.2 (#1808021) + +* Wed Jan 29 2020 Martin Styk - 27.1-1 +- Update to 27.1 (#1795942) + +* Tue Jan 28 2020 Fedora Release Engineering - 27.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 09 2020 Zbigniew Jędrzejewski-Szmek - 27.0-2 +- Remove dependency on unittest2 (#1789200) + +* Thu Dec 19 2019 Greg Hellings - 27.0-1 +- Upstream release 27.0 +- Drop git chasing +- Python 3 support at last? + +* Thu Sep 26 2019 Greg Hellings - 26.5-49-g97e14daec +- Upstream unrelased version +- Updated spec file to match new deps +- Brought spec file in line with upstream file where necessary +- Remove python2 dependency in favor of python3 +- Added shell script to srpm to generate new git file + +* Tue Jul 16 2019 Greg Hellings - 26.5-1 +- Upstream version 26.5 + +* Sun Mar 31 2019 Greg Hellings - 26.4-1 +- Upstream version 26.4 + +* Thu Jan 31 2019 Fedora Release Engineering - 26.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jan 24 2019 Greg Hellings - 26.3-1 - New upstream 26.3 @@ -139,11 +253,10 @@ make check * Wed Sep 05 2018 Greg Hellings - 25.6-1 - New upstream 25.6 -* Thu Aug 02 2018 Greg Hellings - 25.5-2 -- Corrected Requires for EPEL -- Remove lab-controller from builds, as it is part of the server -- Heavily modified spec file to more closely match upstream -- Updated patch to not build server, integration tests, or lab-controller +* Fri Aug 03 2018 Greg Hellings - 25.5-2 +- Remove lab-controller, which depends on server +- Remove integration tests, which are designed for server use +- Shuffle BR/Requires to bring into line with upstream * Wed Jul 25 2018 Greg Hellings - 25.5-1 - Upstream version 25.5 @@ -164,6 +277,7 @@ make check * Mon May 14 2018 Greg Hellings - 25.2-1 - Upstream version 25.2 +- Fixes BZ1566043 * Tue Mar 13 2018 Greg Hellings - 25.0-1 - Upstream version 25.0 diff --git a/sources b/sources index 2d4dfde..76ca63f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (beaker-26.6.tar.xz) = 43c75d5c524b0013e14e6f85ff0f1c2b4560b94dbed8ad48ac40fb264cd5e847bf1fce60c3101f9d9de25e8da273fde4d910cee649a1acea1e55227feb89cdca +SHA512 (beaker-29.2.tar.xz) = a004ab1cb3fe2f9ceb370bb8f307a4afdd972e0715cf81cf7832860721c834bfe2d9b1bc26ae4c3d58ef6506afd176779a166774fbd311b0354444a9f0b8c3f9