diff --git a/.gitignore b/.gitignore index 830a1e7..21b508a 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ /os-autoinst-627473ea5222dd4ad4cb0bfe82f0d5b5bcbe23c8.tar.gz /os-autoinst-fdd1a2d8bdc9fdf9b23ae8f01b42b5092e6343dd.tar.gz /os-autoinst-ab6013d738344791507525e45cbd9f972a444968.tar.gz +/os-autoinst-8a7a14fa5175e3ce1dbd0f59c2c2ec2d73c572d6.tar.gz diff --git a/os-autoinst.spec b/os-autoinst.spec index aef8d81..464c5b6 100644 --- a/os-autoinst.spec +++ b/os-autoinst.spec @@ -30,9 +30,9 @@ %global github_owner os-autoinst %global github_name os-autoinst %global github_version 4.6 -%global github_commit ab6013d738344791507525e45cbd9f972a444968 +%global github_commit 8a7a14fa5175e3ce1dbd0f59c2c2ec2d73c572d6 # if set, will be a post-release snapshot build, otherwise a 'normal' build -%global github_date 20220201 +%global github_date 20220530 %global shortcommit %(c=%{github_commit}; echo ${c:0:7}) Name: os-autoinst @@ -42,13 +42,12 @@ Summary: OS-level test automation License: GPLv2+ URL: https://os-autoinst.github.io/openQA/ Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{github_name}-%{github_commit}.tar.gz -# Disable some stdout/stderr checks that are unreliable in package -# build environments for unknown reasons: -# https://progress.opensuse.org/issues/60755 -# https://progress.opensuse.org/issues/105061 -# SUSE just wipes the test files entirely, but it seems nicer to -# have the benefit of the rest of the checks -Patch0: 0001-NOT-UPSTREAMABLE-Disable-unreliable-stdout-stderr-ch.patch +# Disable some unsafe checks in 18-qemu-options.t: +# https://progress.opensuse.org/issues/111602 +Patch1: 0001-18-qemu-options.t-drop-some-fragile-and-unnecessary-.patch +# Disable some checks that fail on s390x: +# https://progress.opensuse.org/issues/111608 +Patch2: 0002-NOT-UPSTREAMABLE-disable-test-that-fails-on-s390x.patch # on SUSE this is conditional, for us it doesn't have to be but we # still use a macro just to keep build_requires similar for ease of @@ -67,7 +66,7 @@ Patch0: 0001-NOT-UPSTREAMABLE-Disable-unreliable-stdout-stderr-ch.patch # which does not exist in Fedora - we have perl(base) in # main_requires_additional and the perl(:MODULE_COMPAT) require below # The following line is generated from dependencies.yaml (upstream) -%define main_requires %main_requires_additional git-core perl(B::Deparse) perl(Carp) perl(Carp::Always) perl(Class::Accessor::Fast) perl(Config) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Cwd) perl(Data::Dumper) perl(Digest::MD5) perl(DynaLoader) perl(English) perl(Errno) perl(Exception::Class) perl(Exporter) perl(ExtUtils::testlib) perl(Fcntl) perl(File::Basename) perl(File::Find) perl(File::Path) perl(File::Temp) perl(File::Touch) perl(File::Which) perl(File::chdir) perl(IO::Handle) perl(IO::Scalar) perl(IO::Select) perl(IO::Socket) perl(IO::Socket::INET) perl(IO::Socket::UNIX) perl(IPC::Open3) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(List::MoreUtils) perl(List::Util) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::JSON) perl(Mojo::Log) perl(Mojo::URL) perl(Mojo::UserAgent) perl(Mojolicious) >= 8.42 perl(Mojolicious::Lite) perl(Net::DBus) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Term::ANSIColor) perl(Thread::Queue) perl(Time::HiRes) perl(Time::Moment) perl(Time::Seconds) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(autodie) perl(base) perl(constant) perl(integer) perl(strict) perl(version) perl(warnings) +%define main_requires %main_requires_additional git-core perl(B::Deparse) perl(Carp) perl(Carp::Always) perl(Config) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Cwd) perl(Data::Dumper) perl(Digest::MD5) perl(DynaLoader) perl(English) perl(Errno) perl(Exception::Class) perl(Exporter) perl(ExtUtils::testlib) perl(Fcntl) perl(File::Basename) perl(File::Find) perl(File::Path) perl(File::Temp) perl(File::Touch) perl(File::Which) perl(File::chdir) perl(IO::Handle) perl(IO::Scalar) perl(IO::Select) perl(IO::Socket) perl(IO::Socket::INET) perl(IO::Socket::UNIX) perl(IPC::Open3) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(List::MoreUtils) perl(List::Util) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::JSON) perl(Mojo::Log) perl(Mojo::URL) perl(Mojo::UserAgent) perl(Mojolicious) >= 8.42 perl(Mojolicious::Lite) perl(Net::DBus) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Term::ANSIColor) perl(Thread::Queue) perl(Time::HiRes) perl(Time::Moment) perl(Time::Seconds) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(autodie) perl(base) perl(constant) perl(integer) perl(strict) perl(version) perl(warnings) # diff from SUSE: SUSE has python3-yamllint, Fedora has just yamllint # The following line is generated from dependencies.yaml (upstream) %define yamllint_requires yamllint @@ -81,13 +80,13 @@ Patch0: 0001-NOT-UPSTREAMABLE-Disable-unreliable-stdout-stderr-ch.patch %define test_base_requires %main_requires cpio icewm perl(Benchmark) perl(Devel::Cover) perl(FindBin) perl(Pod::Coverage) perl(Test::Fatal) perl(Test::Mock::Time) perl(Test::MockModule) perl(Test::MockObject) perl(Test::MockRandom) perl(Test::Mojo) perl(Test::Most) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) >= 0.029 procps python3-setuptools qemu-kvm /usr/bin/qemu-img /usr/bin/qemu-system-i386 tigervnc-server-minimal xterm xterm-console # The following line is generated from dependencies.yaml (upstream) %define test_version_only_requires perl(Mojo::IOLoop::ReadWriteProcess) >= 0.28 +# diff from SUSE: it's python3-pillow-tk, not python3-Pillow-tk # The following line is generated from dependencies.yaml (upstream) -# The following line is generated from dependencies.yaml (upstream) -%define test_requires %build_requires %test_base_requires %yamllint_requires perl(Inline::Python) perl(YAML::PP) +%define test_requires %build_requires %test_base_requires %yamllint_requires perl(Inline::Python) perl(YAML::PP) python3-pillow-tk # diff from SUSE: dropped perl(Devel::Cover::Report::Codecov) as it's # not currently packaged for Fedora # The following line is generated from dependencies.yaml (upstream) -%define devel_requires %test_requires ShellCheck perl(Code::TidyAll) perl(Devel::Cover) perl(Perl::Tidy) +%define devel_requires %test_requires ShellCheck perl(Code::TidyAll) perl(Devel::Cover) perl(Perl::Tidy) perl(Template::Toolkit) BuildRequires: perl-devel BuildRequires: perl-generators @@ -102,6 +101,8 @@ Recommends: tesseract Recommends: qemu >= 4.0.0 Recommends: qemu-kvm Recommends: /usr/bin/qemu-img +# Optional dependency for Python test API support +Recommends: perl(Inline::Python) BuildRequires: %test_requires %test_version_only_requires Requires: %main_requires Requires(pre): %{_bindir}/getent @@ -136,9 +137,11 @@ BuildRequires: systemd This package contains Open vSwitch support for os-autoinst. %prep -%autosetup -n %{github_name}-%{github_commit} -p1 -# Replace version number from git to what's reported by the package -sed -i 's/ my $thisversion = qx{git.*rev-parse HEAD}.*;/ my $thisversion = "%{version}";/' isotovideo +%setup -n %{github_name}-%{github_commit} -q +%patch1 -p1 +%ifarch s390x +%patch2 -p1 +%endif %if 0%{?no_fullstack} rm -f t/99-full-stack.t @@ -159,7 +162,11 @@ rm xt/00-tidy.t rm xt/30-make.t %build -%cmake -DOS_AUTOINST_DOC_DIR:STRING=%{_docdir}/%{name} -DSYSTEMD_SERVICE_DIR:STRING="%{_unitdir}" -GNinja +%cmake \ + -DOS_AUTOINST_DOC_DIR:STRING="%{_docdir}/%{name}" \ + -DOS_AUTOINST_VERSION:STRING="%{github_version}" \ + -DSYSTEMD_SERVICE_DIR:STRING="%{_unitdir}" \ + -GNinja %ninja_build -C %{__cmake_builddir} %install @@ -167,9 +174,6 @@ rm xt/30-make.t # we don't really need to ship this in the package, usually the web UI # is much better for needle editing rm %{buildroot}%{_prefix}/lib/os-autoinst/crop.py* -# ...and this thing is just, uh, a little crazy? see: -# https://github.com/os-autoinst/os-autoinst/pull/1558 -rm %{buildroot}%{_prefix}/lib/os-autoinst/testapi.py* # we're going to %%license this rm %{buildroot}%{_pkgdocdir}/COPYING ls -lR %buildroot @@ -190,6 +194,10 @@ export PROVE_ARGS="--timer -v" # 00-compile-check-all.t fails if this is present and Perl::Critic is # not installed rm tools/lib/perlcritic/Perl/Critic/Policy/*.pm +# patch the version code in the in-tree copy of isotovideo the same +# way the build process does for the installed version +# https://progress.opensuse.org/issues/111605 +sed -i -e "s,my\ \$thisversion\ =\ \(.*\);,my\ \$thisversion\ =\ '4.6';," isotovideo %ninja_build -C %{__cmake_builddir} check-pkg-build %post openvswitch @@ -229,6 +237,7 @@ rm tools/lib/perlcritic/Perl/Critic/Policy/*.pm %{_prefix}/lib/os-autoinst/OpenQA %{_prefix}/lib/os-autoinst/consoles %{_prefix}/lib/os-autoinst/autotest.pm +%{_prefix}/lib/os-autoinst/*.py %{_prefix}/lib/os-autoinst/check_qemu_oom %{_bindir}/isotovideo %{_bindir}/debugviewer @@ -242,6 +251,10 @@ rm tools/lib/perlcritic/Perl/Critic/Policy/*.pm %files devel %changelog +* Wed May 25 2022 Adam Williamson - 4.6^20220530git8a7a14f-1 +- Update to latest git, resync spec +- Include Python test support + * Wed Feb 02 2022 Adam Williamson - 4.6^20220201gitab6013d-1 - Update to latest git, resync spec - Switch to newer caret-based snapshot versioning scheme diff --git a/sources b/sources index d6c70ba..9842d9f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (os-autoinst-ab6013d738344791507525e45cbd9f972a444968.tar.gz) = 9f4f3621b8dfcada319edc26465cc575cc0f7aa992653951e2cc9cb2bda3c17c3354e3ee44aa53180e9595bce2e81a925a936c318a319a359b7a2faccfe64093 +SHA512 (os-autoinst-8a7a14fa5175e3ce1dbd0f59c2c2ec2d73c572d6.tar.gz) = 4dc085f0cdef6e419b85818572c982e62c7c2ff1312f011efa6c1696b93735807cfff8893fc11004b47353bccb9bfca84e1c7de03d9b07949c66deef55512970