diff --git a/.gitignore b/.gitignore index 6a37616..d359410 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 @@ -9,23 +8,3 @@ results_beaker /beaker-24.5.tar.xz /beaker-25.0.tar.xz /beaker-25.2.tar.xz -/beaker-25.4.tar.xz -/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/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..ac3fb03 100644 --- a/beaker.spec +++ b/beaker.spec @@ -1,49 +1,102 @@ +%if 0%{?rhel} && 0%{?rhel} <= 6 +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%endif + +# 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 +# systemd? +%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +%global with_systemd 1 +%else +%global with_systemd 0 +%endif + +# 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: 29.2 -Release: 4%{?dist} +Version: 25.2 +Release: 1%{?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 BuildArch: noarch -BuildRequires: python3-setuptools -BuildRequires: python3-pytest -BuildRequires: python3-devel -%if %{with docs} -BuildRequires: python3-docutils -BuildRequires: python3-sphinx -BuildRequires: python3-sphinxcontrib-httpdomain +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 +# These are needed just to build the server manpages +#BuildRequires: python-sqlalchemy +#BuildRequires: TurboGears +#BuildRequires: python-flask +#BuildRequires: python2-decorator +#BuildRequires: python-webassets +#BuildRequires: python-netaddr +#BuildRequires: python-ldap +#BuildRequires: cracklib-python +#BuildRequires: python2-passlib +#BuildRequires: rpm-python +%if 0%{?rhel} == 5 || 0%{?rhel} == 6 +BuildRequires: python-sphinx10 +%else +BuildRequires: python-sphinx >= 1.0 %endif +BuildRequires: python-sphinxcontrib-httpdomain +BuildRequires: python-prettytable +# setup.py uses pkg-config to find the right installation paths +%if 0%{?fedora} || 0%{?rhel} >= 7 +BuildRequires: pkgconfig(bash-completion) +%endif +%if %{with_systemd} +BuildRequires: pkgconfig(systemd) +%endif +%if 0%{?rhel} >= 6 || 0%{?fedora} +# some client commands use requests, they are unsupported on RHEL5 +BuildRequires: python-requests +%endif + +# 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 -Provides: %{name} = %{version}-%{release} -Obsoletes: %{name} < 0.17.0-1 +Group: Applications/Internet +Provides: %{upstream_name} = %{version}-%{release} + %package client Summary: Command-line client for interacting with Beaker -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 +Group: Applications/Internet +Requires: python-setuptools +Requires: %{upstream_name}-common = %{version}-%{release} +Requires: python-krbV +Requires: python-lxml +%if 0%{?rhel} >= 6 || 0%{?fedora} +# some client commands use requests, they are unsupported on RHEL5 +Requires: python-requests +%endif +Requires: libxslt-python +%if !(0%{?rhel} >= 6 || 0%{?fedora} >= 14) +Requires: python-simplejson +%endif +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,221 +113,55 @@ 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 # 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 +rm -r Server 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}%{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 -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}/%{upstream_name}_common-%{version}-py2.7.egg-info/ +%{_mandir}/man8/%{upstream_name}-import.8.gz +%exclude %{_mandir}/man8/%{upstream_name}-create-ipxe-image.8.gz +%exclude %{_mandir}/man8/%{upstream_name}-create-kickstart.8.gz +%exclude %{_mandir}/man8/%{upstream_name}-init.8.gz +%exclude %{_mandir}/man8/%{upstream_name}-repo-update.8.gz +%exclude %{_mandir}/man8/%{upstream_name}-usage-reminder.8.gz %files client -%dir %{_sysconfdir}/%{name} +%dir %{_sysconfdir}/%{upstream_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/ -%{_bindir}/%{name}-wizard +%{python2_sitelib}/bkr/client/ +%{python2_sitelib}/%{upstream_name}_client-%{version}-py2.7-nspkg.pth +%{python2_sitelib}/%{upstream_name}_client-%{version}-py2.7.egg-info/ +%{_bindir}/%{upstream_name}-wizard %{_bindir}/bkr -%if %{with docs} %{_mandir}/man1/beaker-wizard.1.gz %{_mandir}/man1/bkr.1.gz %{_mandir}/man1/bkr-*.1.gz -%endif +%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %{_datadir}/bash-completion +%else +%{_sysconfdir}/bash_completion.d +%endif %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 - -* 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 - -* Wed Jul 25 2018 Greg Hellings - 25.5-1 -- Upstream version 25.5 -- Fixes BZ1607380 -- Added deps for gevent and werkzeug -- Added labcontroller subpackage - -* Fri Jul 13 2018 Dan Callaghan - 25.4-3 -- Explicitly invoke python2 instead of python: - https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package - -* Thu Jul 12 2018 Fedora Release Engineering - 25.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri May 25 2018 Greg Hellings - 25.4-1 -- Upstream version 25.4 -- Fixes BZ 1579575 - * Mon May 14 2018 Greg Hellings - 25.2-1 - Upstream version 25.2 - Fixes BZ1566043 diff --git a/sources b/sources index 76ca63f..c82c53c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (beaker-29.2.tar.xz) = a004ab1cb3fe2f9ceb370bb8f307a4afdd972e0715cf81cf7832860721c834bfe2d9b1bc26ae4c3d58ef6506afd176779a166774fbd311b0354444a9f0b8c3f9 +SHA512 (beaker-25.2.tar.xz) = 9740e2478bd9997760323a5f3688c8d3ce6fd0995e1aa17d5e4764c7a357dcf3ceaf7f7df633e573c9ff46d5ae396bd7c1bb277cf219f246ac253ced437aabc2