Compare commits

..

1 commit

Author SHA1 Message Date
Miroslav Suchý
bd022e1c65 migrate license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2025-01-16 08:53:14 +01:00
4 changed files with 58 additions and 177 deletions

1
.gitignore vendored
View file

@ -32,4 +32,3 @@
/avocado-92.1.tar.gz
/avocado-92.1-python312.patch
/avocado-92.3.tar.gz
/avocado-112.0.tar.gz

View file

@ -9,10 +9,10 @@
%global gittar avocado-%{version}.tar.gz
%else
%if ! 0%{?commit:1}
%global commit e4ede79f097dcc1dbd30e43ffe3b7daf52d2204d
%global commit 5b21f030001d6eed69c0357cc45b6128c73dc860
%endif
%if ! 0%{?commit_date:1}
%global commit_date 20251010
%global commit_date 20240819
%endif
%global shortcommit %(c=%{commit};echo ${c:0:9})
%global gitrel .%{commit_date}git%{shortcommit}
@ -24,19 +24,17 @@
# the functional tests are time and resource sensitive and can
# cause race conditions and random build failures. They are
# enabled by default.
# You can disable them with rpmbuild ... --without tests
%bcond_without tests
%global with_tests 1
# Only Fedora 36 and later have a suitable python3-resutlsdb_api
# package
%if 0%{?fedora} >= 36
# resultsdb is not available for RHEL
%if ! 0%{?rhel}
%global with_resultsdb 1
%else
%global with_resultsdb 0
%endif
Name: python-avocado
Version: 112.0
Version: 92.3
Release: 1%{?gitrel}%{?dist}
Summary: Framework with tools and libraries for Automated Testing
# Found licenses:
@ -47,7 +45,7 @@ Summary: Framework with tools and libraries for Automated Testing
# optional_plugins/html/avocado_result_html/templates/bootstrap.min.js: MIT
# selftests/.data/jenkins-junit.xsd: MIT
# Other files: GPLv2 and GPLv2+
License: GPLv2+ and GPLv2 and MIT
License: GPL-2.0-or-later AND GPL-2.0-only AND MIT
URL: https://avocado-framework.github.io/
Source0: https://github.com/avocado-framework/avocado/archive/%{gitref}/%{gittar}
BuildArch: noarch
@ -60,35 +58,23 @@ BuildRequires: python3-jinja2
BuildRequires: python3-lxml
BuildRequires: python3-psutil
BuildRequires: python3-setuptools
%if ! 0%{?rhel}
BuildRequires: python-aexpect
%endif
%if %{with_resultsdb}
BuildRequires: python3-resultsdb_api
BuildRequires: python3-pycdlib
%endif
%if %{with tests}
BuildRequires: python3-jsonschema
%if ! 0%{?rhel} >= 9
%if 0%{?with_tests}
BuildRequires: genisoimage
%endif
BuildRequires: libcdio
BuildRequires: psmisc
%if ! 0%{?rhel}
BuildRequires: perl-Test-Harness
BuildRequires: python3-xmlschema
BuildRequires: ansible-core
%endif
BuildRequires: glibc-all-langpacks
BuildRequires: python3-netifaces
BuildRequires: python3-yaml
BuildRequires: nmap-ncat
BuildRequires: gcc
BuildRequires: gdb
BuildRequires: gdb-gdbserver
%endif
# with tests
# with_tests
%description
Avocado is a set of tools and libraries (what people call
@ -98,12 +84,12 @@ these days a framework) to perform automated testing.
%prep
%setup -q -n avocado-%{gitref}
%if 0%{?rhel}
sed -e 's/"PyYAML>=4.2b2"/"PyYAML>=3.12"/' -i optional_plugins/varianter_yaml_to_mux/setup.py
%endif
%if 0%{?fedora} >= 42
sed -e '/"markupsafe<3.0.0"/d' -i optional_plugins/html/setup.py
sed -e '/"markupsafe<3.0.0"/d' -i optional_plugins/ansible/setup.py
sed -e "s/'PyYAML>=4.2b2'/'PyYAML>=3.12'/" -i optional_plugins/varianter_yaml_to_mux/setup.py
%endif
# drop unnecessary install requirement
sed -e "s/'markupsafe<2.0.0', //" -i optional_plugins/html/setup.py
# loosen jinja2 version requirement
sed -e "s/'jinja2<3.0.0'/'jinja2'/" -i optional_plugins/html/setup.py
%build
%py3_build
@ -121,11 +107,6 @@ popd
pushd optional_plugins/golang
%py3_build
popd
%if ! 0%{?rhel}
pushd optional_plugins/ansible
%py3_build
popd
%endif
pushd optional_plugins/varianter_pict
%py3_build
popd
@ -135,33 +116,22 @@ popd
pushd optional_plugins/result_upload
%py3_build
popd
pushd optional_plugins/mail
%py3_build
popd
%if ! 0%{?rhel}
pushd optional_plugins/spawner_remote
%py3_build
popd
%endif
rst2man man/avocado.rst man/avocado.1
%install
%py3_install
for exe in \
avocado \
avocado-runner \
avocado-runner-noop \
avocado-runner-dry-run \
avocado-runner-exec-test \
avocado-runner-python-unittest \
avocado-runner-avocado-instrumented \
avocado-runner-tap \
avocado-runner-asset \
avocado-runner-package \
avocado-runner-pip \
avocado-runner-podman-image \
avocado-runner-requirement-asset \
avocado-runner-requirement-package \
avocado-runner-sysinfo \
avocado-runner-vmimage \
avocado-external-runner \
avocado-software-manager
do
mv %{buildroot}%{_bindir}/$exe %{buildroot}%{_bindir}/$exe-%{python3_version}
@ -173,6 +143,9 @@ done
rm -rf %{buildroot}%{python3_sitelib}/avocado/etc
# ditto for libexec files
rm -rf %{buildroot}%{python3_sitelib}/avocado/libexec
# adjust permissions for file containing shebang line needed for
# spawning tasks in podman containers
chmod -c +x %{buildroot}%{python3_sitelib}/avocado/core/nrunner.py
pushd optional_plugins/html
%py3_install
popd
@ -187,11 +160,6 @@ popd
pushd optional_plugins/golang
%py3_install
popd
%if ! 0%{?rhel}
pushd optional_plugins/ansible
%py3_install
popd
%endif
pushd optional_plugins/varianter_pict
%py3_install
popd
@ -201,14 +169,6 @@ popd
pushd optional_plugins/result_upload
%py3_install
popd
pushd optional_plugins/mail
%py3_install
popd
%if ! 0%{?rhel}
pushd optional_plugins/spawner_remote
%py3_install
popd
%endif
# cleanup plugin test cruft
rm -rf %{buildroot}%{python3_sitelib}/tests
mkdir -p %{buildroot}%{_sysconfdir}/avocado
@ -232,12 +192,12 @@ cp -r examples/plugins %{buildroot}%{_docdir}/avocado/plugins
cp -r examples/tests %{buildroot}%{_docdir}/avocado/tests
cp -r examples/varianter_cit %{buildroot}%{_docdir}/avocado/varianter_cit
cp -r examples/varianter_pict %{buildroot}%{_docdir}/avocado/varianter_pict
cp -r examples/wrappers %{buildroot}%{_docdir}/avocado/wrappers
cp -r examples/yaml_to_mux %{buildroot}%{_docdir}/avocado/yaml_to_mux
mkdir -p %{buildroot}%{_datarootdir}/avocado
mv %{buildroot}%{python3_sitelib}/avocado/schemas %{buildroot}%{_datarootdir}/avocado
find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec chmod -c -x {} ';'
%if %{with tests}
%if 0%{?with_tests}
%check
# LANG: to make the results predictable, we pin the language
# that is used during test execution.
@ -248,7 +208,9 @@ find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec chmod -c -x {} ';
PYTHONPATH=%{buildroot}%{python3_sitelib}:. \
LANG=en_US.UTF-8 \
AVOCADO_CHECK_LEVEL=0 \
%{python3} selftests/check.py --skip static-checks --disable-plugin-checks robot
%{python3} selftests/check.py --job-api --nrunner-interface \
--unit --jobs --functional --optional-plugins \
--disable-plugin-checks robot
%endif
@ -274,6 +236,9 @@ these days a framework) to perform automated testing.
%{_bindir}/avocado-%{python3_version}
%{_bindir}/avocado-3
%{_bindir}/avocado
%{_bindir}/avocado-runner-%{python3_version}
%{_bindir}/avocado-runner-3
%{_bindir}/avocado-runner
%{_bindir}/avocado-runner-noop-%{python3_version}
%{_bindir}/avocado-runner-noop-3
%{_bindir}/avocado-runner-noop
@ -292,35 +257,24 @@ these days a framework) to perform automated testing.
%{_bindir}/avocado-runner-tap-%{python3_version}
%{_bindir}/avocado-runner-tap-3
%{_bindir}/avocado-runner-tap
%{_bindir}/avocado-runner-asset-%{python3_version}
%{_bindir}/avocado-runner-asset-3
%{_bindir}/avocado-runner-asset
%{_bindir}/avocado-runner-package-%{python3_version}
%{_bindir}/avocado-runner-package-3
%{_bindir}/avocado-runner-package
%{_bindir}/avocado-runner-pip-%{python3_version}
%{_bindir}/avocado-runner-pip-3
%{_bindir}/avocado-runner-pip
%{_bindir}/avocado-runner-podman-image-%{python3_version}
%{_bindir}/avocado-runner-podman-image-3
%{_bindir}/avocado-runner-podman-image
%{_bindir}/avocado-runner-requirement-asset-%{python3_version}
%{_bindir}/avocado-runner-requirement-asset-3
%{_bindir}/avocado-runner-requirement-asset
%{_bindir}/avocado-runner-requirement-package-%{python3_version}
%{_bindir}/avocado-runner-requirement-package-3
%{_bindir}/avocado-runner-requirement-package
%{_bindir}/avocado-runner-sysinfo-%{python3_version}
%{_bindir}/avocado-runner-sysinfo-3
%{_bindir}/avocado-runner-sysinfo
%{_bindir}/avocado-runner-vmimage-%{python3_version}
%{_bindir}/avocado-runner-vmimage-3
%{_bindir}/avocado-runner-vmimage
%{_bindir}/avocado-software-manager-%{python3_version}
%{_bindir}/avocado-software-manager-3
%{_bindir}/avocado-software-manager
%{_bindir}/avocado-external-runner-%{python3_version}
%{_bindir}/avocado-external-runner-3
%{_bindir}/avocado-external-runner
%package -n python-avocado-common
Summary: Avocado common files
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
%description -n python-avocado-common
Common files (such as configuration) for the Avocado Testing Framework.
@ -336,10 +290,6 @@ Common files (such as configuration) for the Avocado Testing Framework.
%dir %{_sysconfdir}/avocado/scripts/job
%dir %{_sysconfdir}/avocado/scripts/job/pre.d
%dir %{_sysconfdir}/avocado/scripts/job/post.d
%dir %{_sharedstatedir}/avocado/data
%dir %{_datarootdir}/avocado
%dir %{_datarootdir}/avocado/schemas
%{_datarootdir}/avocado/schemas/*
%config(noreplace) %{_sysconfdir}/avocado/sysinfo/commands
%config(noreplace) %{_sysconfdir}/avocado/sysinfo/files
%config(noreplace) %{_sysconfdir}/avocado/sysinfo/profilers
@ -349,7 +299,7 @@ Common files (such as configuration) for the Avocado Testing Framework.
%package -n python3-avocado-plugins-output-html
Summary: Avocado HTML report plugin
License: GPLv2+ and MIT
License: GPL-2.0-or-later AND MIT
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-output-html
@ -365,7 +315,8 @@ arbitrary filesystem location.
%if %{with_resultsdb}
%package -n python3-avocado-plugins-resultsdb
Summary: Avocado plugin to propagate job results to ResultsDB
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-resultsdb
@ -381,7 +332,8 @@ server.
%package -n python3-avocado-plugins-varianter-yaml-to-mux
Summary: Avocado plugin to generate variants out of yaml files
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-varianter-yaml-to-mux
@ -395,7 +347,8 @@ defined in a yaml file(s).
%package -n python3-avocado-plugins-golang
Summary: Avocado plugin for execution of golang tests
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Requires: python3-avocado == %{version}-%{release}
Requires: golang
@ -409,27 +362,10 @@ also run them.
%{_bindir}/avocado-runner-golang
%if ! 0%{?rhel}
%package -n python3-avocado-plugins-ansible
Summary: Avocado Ansible Dependency plugin
License: GPLv2+
Requires: python3-avocado == %{version}-%{release}
Requires: ansible-core
%description -n python3-avocado-plugins-ansible
Adds to Avocado the ability to use ansible modules as dependecies for
tests.
%files -n python3-avocado-plugins-ansible
%{python3_sitelib}/avocado_ansible*
%{python3_sitelib}/avocado_framework_plugin_ansible*
%{_bindir}/avocado-runner-ansible-module
%endif
%package -n python3-avocado-plugins-varianter-pict
Summary: Varianter with combinatorial capabilities by PICT
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-varianter-pict
@ -443,7 +379,8 @@ Pair-Wise algorithms, also known as Combinatorial Independent Testing.
%package -n python3-avocado-plugins-varianter-cit
Summary: Varianter with Combinatorial Independent Testing capabilities
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-varianter-cit
@ -458,7 +395,8 @@ collaboration with CVUT Prague.
%package -n python3-avocado-plugins-result-upload
Summary: Avocado plugin propagate job results to a remote host
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-result-upload
@ -469,36 +407,11 @@ a dedicated sever.
%{python3_sitelib}/avocado_result_upload/
%{python3_sitelib}/avocado_framework_plugin_result_upload-%{version}-py%{python3_version}.egg-info
%package -n python3-avocado-plugins-result-mail
Summary: Avocado Mail Notification for Jobs
License: GPLv2+
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-result-mail
The Mail result plugin enables you to receive email notifications
for job start and completion events within the Avocado testing framework.
%files -n python3-avocado-plugins-result-mail
%{python3_sitelib}/avocado_result_mail*
%{python3_sitelib}/avocado_framework_plugin_result_mail*
%if ! 0%{?rhel}
%package -n python3-avocado-plugins-spawner-remote
Summary: Avocado Plugin to spawn tests on a remote host
License: GPLv2+
Requires: python3-avocado == %{version}-%{release}
%description -n python3-avocado-plugins-spawner-remote
This optional plugin is intended to spawn tests on a remote host.
%files -n python3-avocado-plugins-spawner-remote
%{python3_sitelib}/avocado_spawner_remote*
%{python3_sitelib}/avocado_framework_plugin_spawner_remote*
%endif
%package -n python-avocado-examples
Summary: Avocado Test Framework Example Tests
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
# documentation does not require main package, but needs to be in lock-step if present
Conflicts: python3-avocado < %{version}-%{release}, python3-avocado > %{version}-%{release}
@ -515,12 +428,13 @@ examples of how to write tests on your own.
%{_docdir}/avocado/tests
%{_docdir}/avocado/varianter_cit
%{_docdir}/avocado/varianter_pict
%{_docdir}/avocado/wrappers
%{_docdir}/avocado/yaml_to_mux
%package -n python-avocado-bash
Summary: Avocado Test Framework Bash Utilities
License: GPLv2+ and GPLv2
License: GPL-2.0-or-later AND GPL-2.0-only
Requires: python-avocado-common == %{version}-%{release}
%description -n python-avocado-bash
@ -538,34 +452,6 @@ Again Shell code (and possibly other similar shells).
%changelog
* Fri Oct 10 2025 Cleber Rosa <crosa@redhat.com> - 112.0-1
- Sync with upstream release 112.0
- Removed python3-elementpath build requirement
- Made the remote spawner a proper sub package
- Packaged JSON schema files
- Introduced new sub package for mail plugin
- Removed the pinning of markupsafe on Fedora 42 and later
- Packaged avocado-runner-pip
- Packaged avocado-runner-vmimage
- Provide requirements for running the functional test
nrunner.py:TaskRunStatusService.test_task_status_service_lost
- Require gcc, gdb and gdb-gdbserver for tests
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 92.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 92.3-5
- Rebuilt for Python 3.14
* Mon Jan 20 2025 Miro Hrončok <mhroncok@redhat.com> - 92.3-4
- Loosen the PyYAML version requirement in python3-avocado-plugins-varianter-yaml-to-mux
* Mon Jan 20 2025 Cleber Rosa <crosa@redhat.com> - 92.3-3
- convert remaining licenses to SPDX
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 92.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Aug 19 2024 Cleber Rosa <crosa@redhat.com> - 92.3-1
- Updated to 92.3
- Support building and running under Python 3.13 for F42

View file

@ -1 +1 @@
SHA512 (avocado-112.0.tar.gz) = 1872eda730f5cd28f0562732464ce14b2c7731cedb298fcc4b093a04235d26cc5e3db7f92c3ae3edcd6104ad2db4fce66fa7a6148da754e4bdb8120fa12a75a3
SHA512 (avocado-92.3.tar.gz) = 97a0c113bc826537a02ebf6efcd7cf49b505a93e5fd9686c3a4c7e70902f2d367f78eb2fb23ddf9253b97f45e27b2e328fd6bd1c420ecbeb59e25e991b29c262

View file

@ -3,8 +3,8 @@
- role: standard-test-avocado
tests:
- gdbtest.py:GdbTest.test_start_exit
- gdbtest.py:GdbTest.test_existing_commands
- gdbtest.py:GdbTest.test_existing_commands_raw
- gdbtest.py:GdbTest.test_existing_commands
- gdbtest.py:GdbTest.test_load_set_breakpoint_run_exit_raw
- gdbtest.py:GdbTest.test_load_set_breakpoint_run_exit
- gdbtest.py:GdbTest.test_generate_core
@ -15,13 +15,9 @@
- gdbtest.py:GdbTest.test_stream_messages
- gdbtest.py:GdbTest.test_connect_multiple_clients
- gdbtest.py:GdbTest.test_server_exit
- gdbtest.py:GdbTest.test_server_stdout
- gdbtest.py:GdbTest.test_server_stderr
- gdbtest.py:GdbTest.test_multiple_servers
- gdbtest.py:GdbTest.test_interactive
- gdbtest.py:GdbTest.test_interactive_args
- gdbtest.py:GdbTest.test_exit_status
- gdbtest.py:GdbTest.test_interactive_stdout
- gdbtest.py:GdbTest.test_server_stderr
- gdbtest.py:GdbTest.test_server_stdout
- gdbtest.py:GdbTest.test_remote
required_packages:
- gcc