diff --git a/.gitignore b/.gitignore index eb1da25..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 @@ -7,3 +8,24 @@ results_beaker /beaker-24.4.tar.xz /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 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 f5d5783..61bda66 100644 --- a/beaker.spec +++ b/beaker.spec @@ -1,102 +1,49 @@ -%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: 25.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 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 -# 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 +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-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 -Group: Applications/Internet -Provides: %{upstream_name} = %{version}-%{release} - +Provides: %{name} = %{version}-%{release} +Obsoletes: %{name} < 0.17.0-1 %package client Summary: Command-line client for interacting with Beaker -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 +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 # beaker-wizard was moved from rhts-devel to here in 4.52 Conflicts: rhts-devel < 4.52 @@ -113,55 +60,225 @@ 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 documentation/server-api +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}%{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}/%{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 +%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}/%{upstream_name} +%dir %{_sysconfdir}/%{name} %doc Client/client.conf.example -%{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 +%{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 -%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 -%{_datadir}/bash-completion -%else -%{_sysconfdir}/bash_completion.d %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 + +* 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 + * Tue Mar 13 2018 Greg Hellings - 25.0-1 - Upstream version 25.0 diff --git a/sources b/sources index 294628b..76ca63f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (beaker-25.0.tar.xz) = 5c069fa8a969255c296aa686d7832870d2923dd9c15ed6f37fa441b62a743399d54468b83bdf85cbe938ecfeacd778c0da18fec4326e502d072fdf2ced7bbacd +SHA512 (beaker-29.2.tar.xz) = a004ab1cb3fe2f9ceb370bb8f307a4afdd972e0715cf81cf7832860721c834bfe2d9b1bc26ae4c3d58ef6506afd176779a166774fbd311b0354444a9f0b8c3f9