diff --git a/.gitignore b/.gitignore index 2bca05f..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 @@ -12,3 +13,19 @@ results_beaker /beaker-25.5.tar.xz /beaker-25.6.tar.xz /beaker-26.0.tar.xz +/beaker-26.3.tar.xz +/beaker-26.5.tar.xz +/beaker-26.5-49-g97e14daec.tar.gz +/beaker-26.6-66-g03e169493.tar.gz +/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 db51732..0000000 --- a/0001_dont_build_server.diff +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/Makefile b/Makefile -index 4297c8d..c463c0b 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..33411d0 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 ab0695e..61bda66 100644 --- a/beaker.spec +++ b/beaker.spec @@ -1,54 +1,49 @@ -# 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 +# No sphinxcontrib-httpdomain rpm on EPEL10 +%bcond docs %[ 0%{?fedora} || 0%{?rhel} < 10 ] Name: %{upstream_name} -Version: 26.0 -Release: 1%{?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: python2-setuptools -BuildRequires: python2-nose -BuildRequires: python2-unittest2 -BuildRequires: python2-mock -BuildRequires: python2-devel -BuildRequires: python2-docutils -BuildRequires: python2-sphinx -BuildRequires: python2-sphinxcontrib-httpdomain +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: python2-krbv -BuildRequires: python2-lxml -BuildRequires: python2-libxslt -BuildRequires: python2-prettytable -Requires: python2-setuptools -Requires: python2-krbv -Requires: python2-lxml -Requires: python2-requests -Requires: python2-libxslt -Requires: python2-libxml2 -Requires: python2-prettytable -Requires: python2-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 @@ -65,52 +60,193 @@ 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 -rm -r Server documentation/server-api IntegrationTests LabController +rm -r Server IntegrationTests LabController #documentation/server-api %build +export BKR_PY3=1 make %install +export BKR_PY3=1 DESTDIR=%{buildroot} make install rm -rf %{buildroot}%{_datadir}/beaker-integration-tests/ -rm -rf %{buildroot}%{python2_sitelib}/bkr/inttest -rm -rf %{buildroot}%{python2_sitelib}/beaker_integration_tests* +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 +%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 + * Fri Nov 02 2018 Greg Hellings - 26.0-1 - New upstream 26.0 diff --git a/sources b/sources index 739d95c..76ca63f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (beaker-26.0.tar.xz) = c880a88a1d383e643cf5b6dda4b757e74c886e44ea2adad38abffda2bb8988b57e5bbe1d1b38fa347ea1ddfa1aba85f355ab8f609d7ca439edad80bb9f5b5847 +SHA512 (beaker-29.2.tar.xz) = a004ab1cb3fe2f9ceb370bb8f307a4afdd972e0715cf81cf7832860721c834bfe2d9b1bc26ae4c3d58ef6506afd176779a166774fbd311b0354444a9f0b8c3f9