diff --git a/.gitignore b/.gitignore index 6a37616..56d91c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ *.src.rpm .*.swp -beaker-checkout results_beaker /beaker-24.1.tar.xz /beaker-24.2.tar.xz @@ -17,15 +16,4 @@ results_beaker /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 +/beaker-26.6.tar.xz diff --git a/0001_dont_build_server.diff b/0001_dont_build_server.diff new file mode 100644 index 0000000..a4604db --- /dev/null +++ b/0001_dont_build_server.diff @@ -0,0 +1,35 @@ +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 deleted file mode 100755 index 190dcff..0000000 --- a/beaker-snapshot.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/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 61bda66..db19a1f 100644 --- a/beaker.spec +++ b/beaker.spec @@ -1,49 +1,71 @@ +# 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 -# No sphinxcontrib-httpdomain rpm on EPEL10 -%bcond docs %[ 0%{?fedora} || 0%{?rhel} < 10 ] +%global with_docs 1 +%global git_version 26.6-66-g03e169493 Name: %{upstream_name} -Version: 29.2 -Release: 4%{?dist} +Version: 26.6 +Release: 1.git.66.g03e169493%{?dist} Summary: Full-stack software and hardware integration testing system -License: GPL-2.0-or-later +Group: Applications/Internet +License: GPLv2+ and BSD 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: python3-setuptools -BuildRequires: python3-pytest -BuildRequires: python3-devel -%if %{with docs} -BuildRequires: python3-docutils -BuildRequires: python3-sphinx -BuildRequires: python3-sphinxcontrib-httpdomain -%endif +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 + %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: 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 +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 # beaker-wizard was moved from rhts-devel to here in 4.52 Conflicts: rhts-devel < 4.52 @@ -60,190 +82,54 @@ can use it to submit Beaker jobs, fetch results, and perform many other tasks. %prep %setup -q -n %{upstream_name}-%{version} -%if %{without docs} -rm -rf documentation -sed -i '/SUBDIRS.*:=/s/\s*documentation\s*/ /g' Makefile -%endif +%patch1 -p1 # 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 IntegrationTests LabController #documentation/server-api +# 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 %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}%{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}%{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}%{_mandir}/man8/ %check -export BKR_PY3=1 -#make check -# Running the checks generates some .pyc files - burn them! -find %{buildroot} -name '__pycache__' | xargs rm -rf +make check %files common %doc README.md %license COPYING -%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/ +%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/ %files client %dir %{_sysconfdir}/%{name} %doc Client/client.conf.example -%{python3_sitelib}/bkr/client/ -%{python3_sitelib}/%{name}_client-%{version}-py%{python3_version}-nspkg.pth -%{python3_sitelib}/%{name}_client-%{version}-py%{python3_version}.egg-info/ +%{python2_sitelib}/bkr/client/ +%{python2_sitelib}/%{name}_client-%{version}-py2.7-nspkg.pth +%{python2_sitelib}/%{name}_client-%{version}-py2.7.egg-info/ %{_bindir}/%{name}-wizard %{_bindir}/bkr -%if %{with docs} -%{_mandir}/man1/beaker-wizard.1.gz +%{_mandir}/man1/%{name}-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 @@ -253,10 +139,11 @@ find %{buildroot} -name '__pycache__' | xargs rm -rf * Wed Sep 05 2018 Greg Hellings - 25.6-1 - New upstream 25.6 -* 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 +* 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 * Wed Jul 25 2018 Greg Hellings - 25.5-1 - Upstream version 25.5 @@ -277,7 +164,6 @@ find %{buildroot} -name '__pycache__' | xargs rm -rf * 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 76ca63f..2d4dfde 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (beaker-29.2.tar.xz) = a004ab1cb3fe2f9ceb370bb8f307a4afdd972e0715cf81cf7832860721c834bfe2d9b1bc26ae4c3d58ef6506afd176779a166774fbd311b0354444a9f0b8c3f9 +SHA512 (beaker-26.6.tar.xz) = 43c75d5c524b0013e14e6f85ff0f1c2b4560b94dbed8ad48ac40fb264cd5e847bf1fce60c3101f9d9de25e8da273fde4d910cee649a1acea1e55227feb89cdca