Sync with upstream release 64.0.

Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
This commit is contained in:
Merlin Mathesius 2018-08-28 13:37:22 -05:00
commit f0e9dccf5c
6 changed files with 169 additions and 226 deletions

View file

@ -12,10 +12,10 @@
%global gittar %{srcname}-%{version}.tar.gz
%else
%if ! 0%{?commit:1}
%global commit ac8d94ee762f4e8ff71a5cae1ddf3019f46b0595
%global commit d969799cd6d9705133f09f85be4d5687ac85154e
%endif
%if ! 0%{?commit_date:1}
%global commit_date 20180717
%global commit_date 20180827
%endif
%global shortcommit %(c=%{commit};echo ${c:0:8})
%global gitrel .%{commit_date}git%{shortcommit}
@ -41,9 +41,16 @@
%bcond_with python3
%endif
# Python 3 version of Fabric package is new starting with Fedora 29
%if %{with python3} && 0%{?fedora} >= 29
%global with_python3_fabric 1
%else
%global with_python3_fabric 0
%endif
Name: python-%{pkgname}
Version: 63.0
Release: 2%{?gitrel}%{?dist}
Version: 64.0
Release: 1%{?gitrel}%{?dist}
Summary: Framework with tools and libraries for Automated Testing
Group: Development/Tools
# Found licenses:
@ -53,15 +60,6 @@ Group: Development/Tools
License: GPLv2 and MIT
URL: http://avocado-framework.github.io/
Source0: https://github.com/avocado-framework/%{srcname}/archive/%{gitref}.tar.gz#/%{gittar}
# Fix scripts to explicitly use proper version of Python
# From upstream commit d86a844a5fb92d9de6f224a7c44903ffb5cba5ca
Patch0: avocado-63.0-selftest-python-version.patch
# PEP479: do not raise StopIteration
# From upstream commit 023e3186f6577d3292941c4634ca04effef1e713
Patch1: avocado-63.0-pep479.patch
# Fix scripts to avoid using unversioned Python
# From upstream commit 9b2db940621dd8fa75b38db54a704be7a9ab0062
Patch2: avocado-63.0-selftest-python-version-2.patch
BuildArch: noarch
BuildRequires: procps-ng
@ -91,6 +89,7 @@ BuildRequires: fabric
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: python2-enum34
BuildRequires: python2-lxml
BuildRequires: python2-pycdlib
BuildRequires: python2-stevedore
%else
BuildRequires: python-enum34
@ -106,12 +105,17 @@ BuildRequires: python3-docutils
BuildRequires: python3-lxml
BuildRequires: python3-mock
BuildRequires: python3-psutil
BuildRequires: python3-pycdlib
BuildRequires: python3-pystache
BuildRequires: python3-requests
BuildRequires: python3-resultsdb_api
BuildRequires: python3-setuptools
BuildRequires: python3-six
BuildRequires: python3-sphinx
BuildRequires: python3-stevedore
%if %{with_python3_fabric}
BuildRequires: python3-fabric3
%endif
%endif
%if 0%{?with_tests}
@ -141,9 +145,6 @@ these days a framework) to perform automated testing.
%prep
%setup -q -n %{srcname}-%{gitref}
%patch0 -p1
%patch1 -p1
%patch2 -p1
# package plugins-runner-vm requires libvirt-python, but the RPM
# version of libvirt-python does not publish the egg info and this
# causes that dep to be attempted to be installed by pip
@ -169,24 +170,24 @@ pushd optional_plugins/runner_remote
%if %{with python2}
%py2_build
%endif
%if %{with python3}
# no runner_remote plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%py3_build
%endif
popd
pushd optional_plugins/runner_vm
%if %{with python2}
%py2_build
%endif
%if %{with python3}
# no runner_vm plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%py3_build
%endif
popd
pushd optional_plugins/runner_docker
%if %{with python2}
%py2_build
%endif
%if %{with python3}
# no runner_docker plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%py3_build
%endif
popd
pushd optional_plugins/resultsdb
@ -194,7 +195,7 @@ pushd optional_plugins/resultsdb
%py2_build
%endif
%if %{with python3}
# no resultsdb plugin on Python 3 due to missing resultsdb_api package
%py3_build
%endif
popd
pushd optional_plugins/varianter_yaml_to_mux
@ -229,6 +230,14 @@ pushd optional_plugins/varianter_pict
%py3_build
%endif
popd
pushd optional_plugins/varianter_cit
%if %{with python2}
%py2_build
%endif
%if %{with python3}
%py3_build
%endif
popd
pushd optional_plugins/result_upload
%if %{with python2}
%py2_build
@ -292,24 +301,24 @@ pushd optional_plugins/runner_remote
%if %{with python2}
%py2_install
%endif
%if %{with python3}
# no runner_remote plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%py3_install
%endif
popd
pushd optional_plugins/runner_vm
%if %{with python2}
%py2_install
%endif
%if %{with python3}
# no runner_vm plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%py3_install
%endif
popd
pushd optional_plugins/runner_docker
%if %{with python2}
%py2_install
%endif
%if %{with python3}
# no runner_docker plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%py3_install
%endif
popd
pushd optional_plugins/resultsdb
@ -317,7 +326,7 @@ pushd optional_plugins/resultsdb
%py2_install
%endif
%if %{with python3}
# no resultsdb plugin on Python 3 due to missing resultsdb_api package
%py3_install
%endif
popd
pushd optional_plugins/varianter_yaml_to_mux
@ -352,6 +361,14 @@ pushd optional_plugins/varianter_pict
%py3_install
%endif
popd
pushd optional_plugins/varianter_cit
%if %{with python2}
%py2_install
%endif
%if %{with python3}
%py3_install
%endif
popd
pushd optional_plugins/result_upload
%if %{with python2}
%py2_install
@ -395,6 +412,7 @@ popd
%{__cp} -r examples/gdb-prerun-scripts %{buildroot}%{_docdir}/avocado/gdb-prerun-scripts
%{__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
@ -433,6 +451,9 @@ find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec %{__chmod} -c -x
pushd optional_plugins/varianter_pict
%{__python2} setup.py develop --user
popd
pushd optional_plugins/varianter_cit
%{__python2} setup.py develop --user
popd
pushd optional_plugins/result_upload
%{__python2} setup.py develop --user
popd
@ -442,13 +463,14 @@ find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec %{__chmod} -c -x
# LANG: to make the results predictable, we pin the language
# that is used during test execution.
# AVOCADO_CHECK_LEVEL: package build environments have the least
# amount of resources we have observed so far. Let's avoid tests that
# amount of resources we have observed so far. Let's avoid tests that
# require too much resources or are time sensitive
# UNITTEST_AVOCADO_CMD: the "avocado" command to be run during
# unittests needs to be a Python specific one on Fedora >= 28. Let's
# unittests needs to be a Python specific one on Fedora >= 28. Let's
# use the one that was setup in the source tree by the "setup.py
# develop --user" step and is guaranteed to be version specific.
LANG=en_US.UTF-8 AVOCADO_CHECK_LEVEL=0 UNITTEST_AVOCADO_CMD=$HOME/.local/bin/avocado %{__python2} selftests/run
USER_BASE=`%{__python2} -m site --user-base`
LANG=en_US.UTF-8 AVOCADO_CHECK_LEVEL=0 UNITTEST_AVOCADO_CMD=$USER_BASE/bin/avocado %{__python2} selftests/run
%endif
%if %{with python3}
@ -456,17 +478,19 @@ find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec %{__chmod} -c -x
pushd optional_plugins/html
%{__python3} setup.py develop --user
popd
%if %{with_python3_fabric}
pushd optional_plugins/runner_remote
# no runner_remote plugin on Python 3 due to missing Fabric package
%{__python3} setup.py develop --user
popd
pushd optional_plugins/runner_vm
# no runner_vm plugin on Python 3 due to missing Fabric package
%{__python3} setup.py develop --user
popd
pushd optional_plugins/runner_docker
# no runner_docker plugin on Python 3 due to missing Fabric package
%{__python3} setup.py develop --user
popd
%endif
pushd optional_plugins/resultsdb
# no resultsdb plugin on Python 3 due to missing resultsdb_api package
%{__python3} setup.py develop --user
popd
pushd optional_plugins/varianter_yaml_to_mux
%{__python3} setup.py develop --user
@ -480,13 +504,17 @@ find %{buildroot}%{_docdir}/avocado -type f -name '*.py' -exec %{__chmod} -c -x
pushd optional_plugins/varianter_pict
%{__python3} setup.py develop --user
popd
pushd optional_plugins/varianter_cit
%{__python3} setup.py develop --user
popd
pushd optional_plugins/result_upload
%{__python3} setup.py develop --user
popd
pushd optional_plugins/glib
%{__python3} setup.py develop --user
popd
LANG=en_US.UTF-8 AVOCADO_CHECK_LEVEL=0 UNITTEST_AVOCADO_CMD=$HOME/.local/bin/avocado %{__python3} selftests/run
USER_BASE=`%{__python3} -m site --user-base`
LANG=en_US.UTF-8 AVOCADO_CHECK_LEVEL=0 UNITTEST_AVOCADO_CMD=$USER_BASE/bin/avocado %{__python3} selftests/run
%endif
%endif
@ -507,6 +535,7 @@ Requires: python2-setuptools
Requires: python2-six
%if 0%{?fedora} || 0%{?rhel} > 7
Requires: python2-enum34
Requires: python2-pycdlib
Requires: python2-stevedore
%else
Requires: python-enum34
@ -541,6 +570,7 @@ Requires: gdb-gdbserver
Requires: procps-ng
Requires: pyliblzma
Requires: python3
Requires: python3-pycdlib
Requires: python3-requests
Requires: python3-setuptools
Requires: python3-six
@ -654,9 +684,20 @@ connection. Avocado must be previously installed on the remote machine.
%{python2_sitelib}/avocado_framework_plugin_runner_remote-%{version}-py%{python2_version}.egg-info
%endif
%if %{with python3}
# no python3-%%{pkgname}-plugins-runner-remote package due to
# no runner_remote plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%package -n python3-%{pkgname}-plugins-runner-remote
Summary: Avocado Runner for Remote Execution
%{?python_provide:%python_provide python3-%{pkgname}-plugins-runner-remote}
Requires: python3-%{pkgname} == %{version}-%{release}
Requires: python3-fabric3
%description -n python3-%{pkgname}-plugins-runner-remote
Allows Avocado to run jobs on a remote machine, by means of an SSH
connection. Avocado must be previously installed on the remote machine.
%files -n python3-%{pkgname}-plugins-runner-remote
%{python3_sitelib}/avocado_runner_remote/
%{python3_sitelib}/avocado_framework_plugin_runner_remote-%{version}-py%{python3_version}.egg-info
%endif
@ -682,9 +723,22 @@ itself. Avocado must be previously installed on the VM.
%{python2_sitelib}/avocado_framework_plugin_runner_vm-%{version}-py%{python2_version}.egg-info
%endif
%if %{with python3}
# no python3-%%{pkgname}-plugins-runner-vm package due to
# no runner_vm plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%package -n python3-%{pkgname}-plugins-runner-vm
Summary: Avocado Runner for libvirt VM Execution
%{?python_provide:%python_provide python3-%{pkgname}-plugins-runner-vm}
Requires: python3-%{pkgname} == %{version}-%{release}
Requires: python3-%{pkgname}-plugins-runner-remote == %{version}-%{release}
Requires: python3-libvirt
%description -n python3-%{pkgname}-plugins-runner-vm
Allows Avocado to run jobs on a libvirt based VM, by means of
interaction with a libvirt daemon and an SSH connection to the VM
itself. Avocado must be previously installed on the VM.
%files -n python3-%{pkgname}-plugins-runner-vm
%{python3_sitelib}/avocado_runner_vm/
%{python3_sitelib}/avocado_framework_plugin_runner_vm-%{version}-py%{python3_version}.egg-info
%endif
@ -706,9 +760,22 @@ be previously installed on the container.
%{python2_sitelib}/avocado_framework_plugin_runner_docker-%{version}-py%{python2_version}.egg-info
%endif
%if %{with python3}
# no python3-%%{pkgname}-plugins-runner-docker package due to
# no runner_docker plugin on Python 3 due to missing Fabric package
%if %{with_python3_fabric}
%package -n python3-%{pkgname}-plugins-runner-docker
Summary: Avocado Runner for Execution on Docker Containers
%{?python_provide:%python_provide python3-%{pkgname}-plugins-runner-docker}
Requires: python3-%{pkgname} == %{version}-%{release}
Requires: python3-%{pkgname}-plugins-runner-remote == %{version}-%{release}
Requires: python3-aexpect
%description -n python3-%{pkgname}-plugins-runner-docker
Allows Avocado to run jobs on a Docker container by interacting with a
Docker daemon and attaching to the container itself. Avocado must
be previously installed on the container.
%files -n python3-%{pkgname}-plugins-runner-docker
%{python3_sitelib}/avocado_runner_docker/
%{python3_sitelib}/avocado_framework_plugin_runner_docker-%{version}-py%{python3_version}.egg-info
%endif
@ -730,8 +797,20 @@ server.
%endif
%if %{with python3}
# no python3-%%{pkgname}-plugins-resultsdb package due to
# no resultsdb plugin on Python 3 due to missing resultsdb_api package
%package -n python3-%{pkgname}-plugins-resultsdb
Summary: Avocado plugin to propagate job results to ResultsDB
%{?python_provide:%python_provide python3-%{pkgname}-plugins-resultsdb}
Requires: python3-%{pkgname} == %{version}-%{release}
Requires: python3-resultsdb_api
%description -n python3-%{pkgname}-plugins-resultsdb
Allows Avocado to send job results directly to a ResultsDB
server.
%files -n python3-%{pkgname}-plugins-resultsdb
%{python3_sitelib}/avocado_resultsdb/
%{python3_sitelib}/avocado_framework_plugin_resultsdb-%{version}-py%{python3_version}.egg-info
%config(noreplace) %{_sysconfdir}/avocado/conf.d/resultsdb.conf
%endif
@ -834,7 +913,7 @@ also run them.
%if %{with python2}
%package -n python2-%{pkgname}-plugins-varianter-pict
Summary: Avocado plugin to generate variants with combinatorial capabilities by PICT
Summary: Varianter with combinatorial capabilities by PICT
%{?python_provide:%python_provide python2-%{pkgname}-plugins-varianter-pict}
Requires: python2-%{pkgname} == %{version}-%{release}
@ -849,7 +928,7 @@ Pair-Wise algorithms, also known as Combinatorial Independent Testing.
%if %{with python3}
%package -n python3-%{pkgname}-plugins-varianter-pict
Summary: Avocado plugin to generate variants with combinatorial capabilities by PICT
Summary: Varianter with combinatorial capabilities by PICT
%{?python_provide:%python_provide python3-%{pkgname}-plugins-varianter-pict}
Requires: python3-%{pkgname} == %{version}-%{release}
@ -863,6 +942,39 @@ Pair-Wise algorithms, also known as Combinatorial Independent Testing.
%endif
%if %{with python2}
%package -n python2-%{pkgname}-plugins-varianter-cit
Summary: Varianter with Combinatorial Independent Testing capabilities
%{?python_provide:%python_provide python2-%{pkgname}-plugins-varianter-cit}
Requires: python2-%{pkgname} == %{version}-%{release}
%description -n python2-%{pkgname}-plugins-varianter-cit
A varianter plugin that generates variants using Combinatorial
Independent Testing (AKA Pair-Wise) algorithm developed in
collaboration with CVUT Prague.
%files -n python2-%{pkgname}-plugins-varianter-cit
%{python2_sitelib}/avocado_varianter_cit/
%{python2_sitelib}/avocado_framework_plugin_varianter_cit-%{version}-py%{python2_version}.egg-info
%endif
%if %{with python3}
%package -n python3-%{pkgname}-plugins-varianter-cit
Summary: Varianter with Combinatorial Independent Testing capabilities
%{?python_provide:%python_provide python3-%{pkgname}-plugins-varianter-cit}
Requires: python3-%{pkgname} == %{version}-%{release}
%description -n python3-%{pkgname}-plugins-varianter-cit
A varianter plugin that generates variants using Combinatorial
Independent Testing (AKA Pair-Wise) algorithm developed in
collaboration with CVUT Prague.
%files -n python3-%{pkgname}-plugins-varianter-cit
%{python3_sitelib}/avocado_varianter_cit/
%{python3_sitelib}/avocado_framework_plugin_varianter_cit-%{version}-py%{python3_version}.egg-info
%endif
%if %{with python2}
%package -n python2-%{pkgname}-plugins-result-upload
Summary: Avocado plugin propagate job results to a remote host
@ -943,6 +1055,7 @@ examples of how to write tests on your own.
%{_docdir}/avocado/gdb-prerun-scripts
%{_docdir}/avocado/plugins
%{_docdir}/avocado/tests
%{_docdir}/avocado/varianter_cit
%{_docdir}/avocado/varianter_pict
%{_docdir}/avocado/wrappers
%{_docdir}/avocado/yaml_to_mux
@ -967,6 +1080,9 @@ Again Shell code (and possibly other similar shells).
%changelog
* Tue Aug 28 2018 Merlin Mathesius <mmathesi@redhat.com> - 64.0-1
- Sync with upstream release 64.0.
* Thu Jul 26 2018 Merlin Mathesius <mmathesi@redhat.com> - 63.0-2
- Added missing python[2]-enum34 requirement.