mjw pushed to elfutils (f31). "0.179-2 - Add
elfutils-0.179-debug-client-alt-link.patch"
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:17:44 UTC
From a02de956406198d33feeb5d24182ee2b540dc8bd Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw(a)fedoraproject.org>
Date: Apr 30 2020 22:15:04 +0000
Subject: 0.179-2 - Add elfutils-0.179-debug-client-alt-link.patch
---
diff --git a/elfutils-0.179-debug-client-alt-link.patch b/elfutils-0.179-debug-client-alt-link.patch
new file mode 100644
index 0000000..bb84954
--- /dev/null
+++ b/elfutils-0.179-debug-client-alt-link.patch
@@ -0,0 +1,60 @@
+From b1d2404cc6ca0d9ce786e229a87c24db49163cfe Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mark(a)klomp.org>
+Date: Thu, 30 Apr 2020 23:57:26 +0200
+Subject: [PATCH] libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
+
+When we fall back to the debuginfod client then we need to do the
+same trick we do for local lookups in dwfl_build_id_find_debuginfo.
+If the debug file (dw) is already set, then we must be looking for
+the altfile. But we cannot use the actual file/path name given as
+hint. We'll have to lookup the alt file "build-id". Because the
+debuginfod client only handles build-ids.
+
+Previously we would use the build-id of the main file which meant
+the debuginfod client would give us another copy of the debug file,
+which would then be set as its own altfile. This caused lots of
+confusion...
+
+Signed-off-by: Mark Wielaard <mark(a)klomp.org>
+---
+ libdwfl/ChangeLog | 5 +++++
+ libdwfl/find-debuginfo.c | 23 +++++++++++++++++++++--
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
+index 2dd11c48..4cfd0b8b 100644
+--- a/libdwfl/find-debuginfo.c
++++ b/libdwfl/find-debuginfo.c
+@@ -398,8 +398,27 @@ dwfl_standard_find_debuginfo (Dwfl_Module *mod,
+ free (canon);
+ }
+
+- if (fd < 0 && bits_len > 0)
+- fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
++ /* Still nothing? Try if we can use the debuginfod client.
++ But note that we might be looking for the alt file.
++ We use the same trick as dwfl_build_id_find_debuginfo.
++ If the debug file (dw) is already set, then we must be
++ looking for the altfile. But we cannot use the actual
++ file/path name given as hint. We'll have to lookup the
++ alt file "build-id". Because the debuginfod client only
++ handles build-ids. */
++ if (fd < 0)
++ {
++ if (mod->dw != NULL)
++ {
++ const char *altname;
++ bits_len = INTUSE(dwelf_dwarf_gnu_debugaltlink) (mod->dw, &altname,
++ (const void **)
++ &bits);
++ }
++
++ if (bits_len > 0)
++ fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
++ }
+
+ return fd;
+ }
+--
+2.18.2
+
diff --git a/elfutils.spec b/elfutils.spec
index 7e59ae4..aed7cf2 100644
--- a/elfutils.spec
+++ b/elfutils.spec
@@ -1,6 +1,6 @@
Name: elfutils
Version: 0.179
-%global baserelease 1
+%global baserelease 2
Release: %{baserelease}%{?dist}
URL: http://elfutils.org/
%global source_url ftp://sourceware.org/pub/elfutils/%{version}/
@@ -55,6 +55,7 @@ BuildRequires: curl
%endif
# Patches
+Patch1: elfutils-0.179-debug-client-alt-link.patch
%description
Elfutils is a collection of utilities, including stack (to show
@@ -246,6 +247,7 @@ such servers to download those files on demand.
%setup -q
# Apply patches
+%patch1 -p1 -b .debug-client-alt
# In case the above patches added any new test scripts, make sure they
# are executable.
@@ -423,6 +425,9 @@ exit 0
%systemd_postun_with_restart debuginfod.service
%changelog
+* Thu Apr 30 2020 Mark Wielaard <mjw(a)fedoraproject.org> - 0.179-2
+- Add elfutils-0.179-debug-client-alt-link.patch
+
* Mon Mar 30 2020 Mark Wielaard <mjw(a)fedoraproject.org> - 0.179-1
- New upstream release.
debuginfod-client:
https://src.fedoraproject.org/rpms/elfutils/c/a02de956406198d33feeb5d2418...
2Â years, 9Â months
vascom pushed to python-pymediainfo (f32). "Update to 4.2.1."
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:17:24 UTC
From 86c29f10cf7030491c8c162bbf4997465c08a297 Mon Sep 17 00:00:00 2001
From: vascom <vascom2(a)gmail.com>
Date: Apr 30 2020 23:12:04 +0000
Subject: Update to 4.2.1.
---
diff --git a/.gitignore b/.gitignore
index c7e2341..3802d9a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/pymediainfo-3.2.1.tar.gz
/pymediainfo-4.0.tar.gz
/pymediainfo-4.1.tar.gz
+/pymediainfo-4.2.1.tar.gz
diff --git a/python-pymediainfo.spec b/python-pymediainfo.spec
index ffe8b20..415e108 100644
--- a/python-pymediainfo.spec
+++ b/python-pymediainfo.spec
@@ -1,8 +1,8 @@
%global srcname pymediainfo
Name: python-%{srcname}
-Version: 4.1
-Release: 2%{?dist}
+Version: 4.2.1
+Release: 1%{?dist}
Summary: Python wrapper around the MediaInfo library
License: MIT
@@ -54,6 +54,9 @@ PYTEST_ADDOPTS='-k "not test_parse_url"' %{__python3} setup.py test
%changelog
+* Fri May 01 2020 Vasiliy N. Glazov <vascom2(a)gmail.com> - 4.2.1-1
+- Update to 4.2.1
+
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/sources b/sources
index f90c0f6..45fbc38 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pymediainfo-4.1.tar.gz) = 08ffca0c3179aa6dff5b3007faaec1f1a2f372b2995824039021f41b2c772a2a13370c1dbd37d2408d023be497cff71dd6f46b09c8989f168976d75723cd7722
+SHA512 (pymediainfo-4.2.1.tar.gz) = 33343838312ce240a23fa3856d808bf4b1346a1c65ed99c0405664aceaf452df610144114c228ad43e525f7abc9609420071bc6960f92b68ed7abe5dae8764aa
https://src.fedoraproject.org/rpms/python-pymediainfo/c/86c29f10cf7030491...
2Â years, 9Â months
vascom pushed to python-pymediainfo (master). "Update to 4.2.1."
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:12:33 UTC
From 86c29f10cf7030491c8c162bbf4997465c08a297 Mon Sep 17 00:00:00 2001
From: vascom <vascom2(a)gmail.com>
Date: Apr 30 2020 23:12:04 +0000
Subject: Update to 4.2.1.
---
diff --git a/.gitignore b/.gitignore
index c7e2341..3802d9a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/pymediainfo-3.2.1.tar.gz
/pymediainfo-4.0.tar.gz
/pymediainfo-4.1.tar.gz
+/pymediainfo-4.2.1.tar.gz
diff --git a/python-pymediainfo.spec b/python-pymediainfo.spec
index ffe8b20..415e108 100644
--- a/python-pymediainfo.spec
+++ b/python-pymediainfo.spec
@@ -1,8 +1,8 @@
%global srcname pymediainfo
Name: python-%{srcname}
-Version: 4.1
-Release: 2%{?dist}
+Version: 4.2.1
+Release: 1%{?dist}
Summary: Python wrapper around the MediaInfo library
License: MIT
@@ -54,6 +54,9 @@ PYTEST_ADDOPTS='-k "not test_parse_url"' %{__python3} setup.py test
%changelog
+* Fri May 01 2020 Vasiliy N. Glazov <vascom2(a)gmail.com> - 4.2.1-1
+- Update to 4.2.1
+
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/sources b/sources
index f90c0f6..45fbc38 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pymediainfo-4.1.tar.gz) = 08ffca0c3179aa6dff5b3007faaec1f1a2f372b2995824039021f41b2c772a2a13370c1dbd37d2408d023be497cff71dd6f46b09c8989f168976d75723cd7722
+SHA512 (pymediainfo-4.2.1.tar.gz) = 33343838312ce240a23fa3856d808bf4b1346a1c65ed99c0405664aceaf452df610144114c228ad43e525f7abc9609420071bc6960f92b68ed7abe5dae8764aa
https://src.fedoraproject.org/rpms/python-pymediainfo/c/86c29f10cf7030491...
2Â years, 9Â months
mjw pushed to elfutils (f32). "0.179-2 - Add
elfutils-0.179-debug-client-alt-link.patch"
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:05:26 UTC
From a02de956406198d33feeb5d24182ee2b540dc8bd Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw(a)fedoraproject.org>
Date: Apr 30 2020 22:15:04 +0000
Subject: 0.179-2 - Add elfutils-0.179-debug-client-alt-link.patch
---
diff --git a/elfutils-0.179-debug-client-alt-link.patch b/elfutils-0.179-debug-client-alt-link.patch
new file mode 100644
index 0000000..bb84954
--- /dev/null
+++ b/elfutils-0.179-debug-client-alt-link.patch
@@ -0,0 +1,60 @@
+From b1d2404cc6ca0d9ce786e229a87c24db49163cfe Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mark(a)klomp.org>
+Date: Thu, 30 Apr 2020 23:57:26 +0200
+Subject: [PATCH] libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
+
+When we fall back to the debuginfod client then we need to do the
+same trick we do for local lookups in dwfl_build_id_find_debuginfo.
+If the debug file (dw) is already set, then we must be looking for
+the altfile. But we cannot use the actual file/path name given as
+hint. We'll have to lookup the alt file "build-id". Because the
+debuginfod client only handles build-ids.
+
+Previously we would use the build-id of the main file which meant
+the debuginfod client would give us another copy of the debug file,
+which would then be set as its own altfile. This caused lots of
+confusion...
+
+Signed-off-by: Mark Wielaard <mark(a)klomp.org>
+---
+ libdwfl/ChangeLog | 5 +++++
+ libdwfl/find-debuginfo.c | 23 +++++++++++++++++++++--
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
+index 2dd11c48..4cfd0b8b 100644
+--- a/libdwfl/find-debuginfo.c
++++ b/libdwfl/find-debuginfo.c
+@@ -398,8 +398,27 @@ dwfl_standard_find_debuginfo (Dwfl_Module *mod,
+ free (canon);
+ }
+
+- if (fd < 0 && bits_len > 0)
+- fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
++ /* Still nothing? Try if we can use the debuginfod client.
++ But note that we might be looking for the alt file.
++ We use the same trick as dwfl_build_id_find_debuginfo.
++ If the debug file (dw) is already set, then we must be
++ looking for the altfile. But we cannot use the actual
++ file/path name given as hint. We'll have to lookup the
++ alt file "build-id". Because the debuginfod client only
++ handles build-ids. */
++ if (fd < 0)
++ {
++ if (mod->dw != NULL)
++ {
++ const char *altname;
++ bits_len = INTUSE(dwelf_dwarf_gnu_debugaltlink) (mod->dw, &altname,
++ (const void **)
++ &bits);
++ }
++
++ if (bits_len > 0)
++ fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
++ }
+
+ return fd;
+ }
+--
+2.18.2
+
diff --git a/elfutils.spec b/elfutils.spec
index 7e59ae4..aed7cf2 100644
--- a/elfutils.spec
+++ b/elfutils.spec
@@ -1,6 +1,6 @@
Name: elfutils
Version: 0.179
-%global baserelease 1
+%global baserelease 2
Release: %{baserelease}%{?dist}
URL: http://elfutils.org/
%global source_url ftp://sourceware.org/pub/elfutils/%{version}/
@@ -55,6 +55,7 @@ BuildRequires: curl
%endif
# Patches
+Patch1: elfutils-0.179-debug-client-alt-link.patch
%description
Elfutils is a collection of utilities, including stack (to show
@@ -246,6 +247,7 @@ such servers to download those files on demand.
%setup -q
# Apply patches
+%patch1 -p1 -b .debug-client-alt
# In case the above patches added any new test scripts, make sure they
# are executable.
@@ -423,6 +425,9 @@ exit 0
%systemd_postun_with_restart debuginfod.service
%changelog
+* Thu Apr 30 2020 Mark Wielaard <mjw(a)fedoraproject.org> - 0.179-2
+- Add elfutils-0.179-debug-client-alt-link.patch
+
* Mon Mar 30 2020 Mark Wielaard <mjw(a)fedoraproject.org> - 0.179-1
- New upstream release.
debuginfod-client:
https://src.fedoraproject.org/rpms/elfutils/c/a02de956406198d33feeb5d2418...
2Â years, 9Â months
adamwill pushed to os-autoinst (master). "Bump to latest git,
resync spec"
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:04:22 UTC
From a8acb78683822dada8a11445decd51d9093a215c Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam(a)redhat.com>
Date: Apr 30 2020 23:03:30 +0000
Subject: Bump to latest git, resync spec
---
diff --git a/.gitignore b/.gitignore
index 49b2e14..387d823 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,4 @@
/os-autoinst-d693abe082d6559721e5053d8fd6151753c73020.tar.gz
/os-autoinst-63af2f4f91cfad88712bd0773e0a236d6e3853ea.tar.gz
/os-autoinst-50464d4e81fcac9dd36785ba88f69b489e4e99e7.tar.gz
+/os-autoinst-85fa4f12c1fb5bed7295791801085d32a69d4586.tar.gz
diff --git a/os-autoinst.spec b/os-autoinst.spec
index 788c3a8..849f30a 100644
--- a/os-autoinst.spec
+++ b/os-autoinst.spec
@@ -28,35 +28,52 @@
%global github_owner os-autoinst
%global github_name os-autoinst
%global github_version 4.6
-%global github_commit 50464d4e81fcac9dd36785ba88f69b489e4e99e7
+%global github_commit 85fa4f12c1fb5bed7295791801085d32a69d4586
# if set, will be a post-release snapshot build, otherwise a 'normal' build
-%global github_date 20200414
+%global github_date 20200430
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
Name: os-autoinst
Version: %{github_version}
-Release: 11%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
+Release: 12%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
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...
-# diff from SUSE: added perl(ExtUtils::MakeMaker) and perl(ExtUtils::Embed)
-# which I've found necessary before
-%define build_requires autoconf automake gcc-c++ libtool pkgconfig(opencv) pkg-config perl(ExtUtils::MakeMaker) perl(ExtUtils::Embed) perl(Module::CPANfile) pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc) make
-# diff from SUSE: dropped perl-base which does not exist in Fedora, we have
-# the perl(:MODULE_COMPAT) require below
-# also a bunch of stuff ppisar added
-%define requires perl(base) perl(B::Deparse) perl(Carp) perl(Cwd) perl(English) perl(Errno) perl(Fcntl) perl(File::Temp) perl(integer) perl(Mojolicious) >= 7.92, perl(Mojo::IOLoop::ReadWriteProcess) >= 0.23, perl(Mojo::JSON) perl(Mojo::Log) perl(Carp::Always) perl(Data::Dump) perl(Data::Dumper) perl(Crypt::DES) perl(JSON) perl(autodie) perl(Class::Accessor::Fast) perl(Exception::Class) perl(File::Touch) perl(File::Which) perl(IPC::Run::Debug) perl(Net::DBus) perl(Net::SNMP) perl(Net::IP) perl(IPC::System::Simple) perl(Net::SSH2) perl(POSIX) perl(strict) perl(Time::HiRes) perl(warnings) perl(XML::LibXML) perl(XML::SemanticDiff) perl(JSON::XS) perl(List::MoreUtils) perl(Mojo::IOLoop::ReadWriteProcess) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Cpanel::JSON::XS) perl(IO::Scalar) perl(Try::Tiny)
+# 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
+# cross-comparison
+%define opencv_require pkgconfig(opencv)
+# this is stuff we added to build_requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. TODO: submit
+# these upstream, at least ones that make sense for SUSE too.
+%define build_requires_additional perl(ExtUtils::MakeMaker) perl(ExtUtils::Embed)
+# diff from SUSE: added build_requires_additional
+%define build_requires %build_requires_additional %opencv_require autoconf automake gcc-c++ libtool make perl(Module::CPANfile) pkg-config pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc)
+# this is stuff we added to requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. These are all
+# things ppisar added in afeb766c. TODO: submit these upstream, at
+# least ones that make sense for SUSE too.
+%define requires_additional perl(base) perl(Carp) perl(Cwd) perl(English) perl(Errno) perl(Fcntl) perl(File::Temp) perl(integer) perl(Mojo::JSON) perl(Mojo::Log) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(strict) perl(Time::HiRes) perl(warnings)
+# diff from SUSE: added requires_additional, dropped perl-base which
+# does not exist in Fedora - we have perl(base) in requires_additional
+# and the perl(:MODULE_COMPAT) require below
+%define requires %requires_additional perl(B::Deparse) perl(Carp::Always) perl(Class::Accessor::Fast) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Data::Dumper) perl(Exception::Class) perl(File::Touch) perl(File::Which) perl(IO::Scalar) perl(IO::Socket::INET) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(List::MoreUtils) perl(Mojolicious) >= 7.92 perl(Mojo::IOLoop::ReadWriteProcess) >= 0.23 perl(Net::DBus) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(Socket::MsgHdr) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(autodie)
%define requires_not_needed_in_tests git-core
+# this is stuff we added to test_requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. FindBin is one
+# ppisar added in afeb766c, Test::Mojo and Test::More are just things
+# the test suite uses which I added, we add qemu-system-i386 because
+# the fullstack and qemu-options tests use it - we run them in Koji
+# but SUSE disables them as they cannot run in OBS, so they don't have
+# the requirement either. TODO: submit relevant changes upstream
+%define test_requires_additional perl(FindBin) perl(Test::Mojo) perl(Test::More) /usr/bin/qemu-system-i386
# all requirements needed by the tests, do not require on this in the package
# itself or any sub-packages
-# diff from SUSE: added perl(Test::Mojo) and perl(Test::More), replaced
-# qemu-tools with qemu-img, added /usr/bin/qemu-system-i386 which
-# 'fullstack' and 'qemu-options' tests use on all arches (SUSE has
-# these disabled as qemu can't run in OBS apparently), dropped spell
-# check requirement stuff as this isn't needed in package builds IMO
-# perl(Test::Strict) added, upstream should have this too
-%define test_requires %build_requires %requires perl(Perl::Tidy) perl(Test::Compile) >= 1.1.0, perl(Test::Exception) perl(Test::Mojo) perl(Test::More) perl(Test::Output) perl(Test::Fatal) perl(Test::Warnings) perl(Test::Strict) perl(Pod::Coverage) perl(Test::Pod) perl(Test::MockModule) perl(Test::MockObject) perl(Devel::Cover) perl(Test::Mock::Time) perl(FindBin) /usr/bin/qemu-img /usr/bin/qemu-system-i386
+# diff from SUSE: added test_requires_additional, replaced qemu-tools
+# with qemu-img, dropped spell check requirement stuff as this isn't
+# needed in package builds IMO
+%define test_requires %test_requires_additional %build_requires %requires perl(Devel::Cover) perl(Perl::Tidy) perl(Pod::Coverage) perl(Test::Exception) perl(Test::Fatal) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mock::Time) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) /usr/bin/qemu-img
%define devel_requires %test_requires %requires_not_needed_in_tests
BuildRequires: perl-devel
@@ -209,6 +226,10 @@ make check test VERBOSE=1 CHECK_DOC=0
%files devel
%changelog
+* Thu Apr 30 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-12.20200430git85fa4f12
+- Bump to latest git
+- Resync spec with upstream, tweak dependency macro implementation
+
* Fri Apr 17 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-11.20200414git50464d4e
- Rearrange the dependencies ppisar added
diff --git a/sources b/sources
index cfafc25..3ad082c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (os-autoinst-50464d4e81fcac9dd36785ba88f69b489e4e99e7.tar.gz) = 05402eaeff36d6a7ffefa306c7f1b9146d0227a87850a56a4c0b9f3e731e34a2222f51e78b6afb00637ab460dd281fba6bcdd3ce7c2625916226d6695569545e
+SHA512 (os-autoinst-85fa4f12c1fb5bed7295791801085d32a69d4586.tar.gz) = d7c6cb7f6f7c3cf923e76a1f9e887abf451a68412bda2dfef05d510cc625ea758669510dd33ab736b30674ca6fb34f9f95be69e0334c3b683627e95ee67d39d9
https://src.fedoraproject.org/rpms/os-autoinst/c/a8acb78683822dada8a11445...
2Â years, 9Â months
adamwill pushed to os-autoinst (f32). "Bump to latest git,
resync spec"
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:04:06 UTC
From a8acb78683822dada8a11445decd51d9093a215c Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam(a)redhat.com>
Date: Apr 30 2020 23:03:30 +0000
Subject: Bump to latest git, resync spec
---
diff --git a/.gitignore b/.gitignore
index 49b2e14..387d823 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,4 @@
/os-autoinst-d693abe082d6559721e5053d8fd6151753c73020.tar.gz
/os-autoinst-63af2f4f91cfad88712bd0773e0a236d6e3853ea.tar.gz
/os-autoinst-50464d4e81fcac9dd36785ba88f69b489e4e99e7.tar.gz
+/os-autoinst-85fa4f12c1fb5bed7295791801085d32a69d4586.tar.gz
diff --git a/os-autoinst.spec b/os-autoinst.spec
index 788c3a8..849f30a 100644
--- a/os-autoinst.spec
+++ b/os-autoinst.spec
@@ -28,35 +28,52 @@
%global github_owner os-autoinst
%global github_name os-autoinst
%global github_version 4.6
-%global github_commit 50464d4e81fcac9dd36785ba88f69b489e4e99e7
+%global github_commit 85fa4f12c1fb5bed7295791801085d32a69d4586
# if set, will be a post-release snapshot build, otherwise a 'normal' build
-%global github_date 20200414
+%global github_date 20200430
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
Name: os-autoinst
Version: %{github_version}
-Release: 11%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
+Release: 12%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
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...
-# diff from SUSE: added perl(ExtUtils::MakeMaker) and perl(ExtUtils::Embed)
-# which I've found necessary before
-%define build_requires autoconf automake gcc-c++ libtool pkgconfig(opencv) pkg-config perl(ExtUtils::MakeMaker) perl(ExtUtils::Embed) perl(Module::CPANfile) pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc) make
-# diff from SUSE: dropped perl-base which does not exist in Fedora, we have
-# the perl(:MODULE_COMPAT) require below
-# also a bunch of stuff ppisar added
-%define requires perl(base) perl(B::Deparse) perl(Carp) perl(Cwd) perl(English) perl(Errno) perl(Fcntl) perl(File::Temp) perl(integer) perl(Mojolicious) >= 7.92, perl(Mojo::IOLoop::ReadWriteProcess) >= 0.23, perl(Mojo::JSON) perl(Mojo::Log) perl(Carp::Always) perl(Data::Dump) perl(Data::Dumper) perl(Crypt::DES) perl(JSON) perl(autodie) perl(Class::Accessor::Fast) perl(Exception::Class) perl(File::Touch) perl(File::Which) perl(IPC::Run::Debug) perl(Net::DBus) perl(Net::SNMP) perl(Net::IP) perl(IPC::System::Simple) perl(Net::SSH2) perl(POSIX) perl(strict) perl(Time::HiRes) perl(warnings) perl(XML::LibXML) perl(XML::SemanticDiff) perl(JSON::XS) perl(List::MoreUtils) perl(Mojo::IOLoop::ReadWriteProcess) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Cpanel::JSON::XS) perl(IO::Scalar) perl(Try::Tiny)
+# 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
+# cross-comparison
+%define opencv_require pkgconfig(opencv)
+# this is stuff we added to build_requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. TODO: submit
+# these upstream, at least ones that make sense for SUSE too.
+%define build_requires_additional perl(ExtUtils::MakeMaker) perl(ExtUtils::Embed)
+# diff from SUSE: added build_requires_additional
+%define build_requires %build_requires_additional %opencv_require autoconf automake gcc-c++ libtool make perl(Module::CPANfile) pkg-config pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc)
+# this is stuff we added to requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. These are all
+# things ppisar added in afeb766c. TODO: submit these upstream, at
+# least ones that make sense for SUSE too.
+%define requires_additional perl(base) perl(Carp) perl(Cwd) perl(English) perl(Errno) perl(Fcntl) perl(File::Temp) perl(integer) perl(Mojo::JSON) perl(Mojo::Log) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(strict) perl(Time::HiRes) perl(warnings)
+# diff from SUSE: added requires_additional, dropped perl-base which
+# does not exist in Fedora - we have perl(base) in requires_additional
+# and the perl(:MODULE_COMPAT) require below
+%define requires %requires_additional perl(B::Deparse) perl(Carp::Always) perl(Class::Accessor::Fast) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Data::Dumper) perl(Exception::Class) perl(File::Touch) perl(File::Which) perl(IO::Scalar) perl(IO::Socket::INET) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(List::MoreUtils) perl(Mojolicious) >= 7.92 perl(Mojo::IOLoop::ReadWriteProcess) >= 0.23 perl(Net::DBus) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(Socket::MsgHdr) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(autodie)
%define requires_not_needed_in_tests git-core
+# this is stuff we added to test_requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. FindBin is one
+# ppisar added in afeb766c, Test::Mojo and Test::More are just things
+# the test suite uses which I added, we add qemu-system-i386 because
+# the fullstack and qemu-options tests use it - we run them in Koji
+# but SUSE disables them as they cannot run in OBS, so they don't have
+# the requirement either. TODO: submit relevant changes upstream
+%define test_requires_additional perl(FindBin) perl(Test::Mojo) perl(Test::More) /usr/bin/qemu-system-i386
# all requirements needed by the tests, do not require on this in the package
# itself or any sub-packages
-# diff from SUSE: added perl(Test::Mojo) and perl(Test::More), replaced
-# qemu-tools with qemu-img, added /usr/bin/qemu-system-i386 which
-# 'fullstack' and 'qemu-options' tests use on all arches (SUSE has
-# these disabled as qemu can't run in OBS apparently), dropped spell
-# check requirement stuff as this isn't needed in package builds IMO
-# perl(Test::Strict) added, upstream should have this too
-%define test_requires %build_requires %requires perl(Perl::Tidy) perl(Test::Compile) >= 1.1.0, perl(Test::Exception) perl(Test::Mojo) perl(Test::More) perl(Test::Output) perl(Test::Fatal) perl(Test::Warnings) perl(Test::Strict) perl(Pod::Coverage) perl(Test::Pod) perl(Test::MockModule) perl(Test::MockObject) perl(Devel::Cover) perl(Test::Mock::Time) perl(FindBin) /usr/bin/qemu-img /usr/bin/qemu-system-i386
+# diff from SUSE: added test_requires_additional, replaced qemu-tools
+# with qemu-img, dropped spell check requirement stuff as this isn't
+# needed in package builds IMO
+%define test_requires %test_requires_additional %build_requires %requires perl(Devel::Cover) perl(Perl::Tidy) perl(Pod::Coverage) perl(Test::Exception) perl(Test::Fatal) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mock::Time) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) /usr/bin/qemu-img
%define devel_requires %test_requires %requires_not_needed_in_tests
BuildRequires: perl-devel
@@ -209,6 +226,10 @@ make check test VERBOSE=1 CHECK_DOC=0
%files devel
%changelog
+* Thu Apr 30 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-12.20200430git85fa4f12
+- Bump to latest git
+- Resync spec with upstream, tweak dependency macro implementation
+
* Fri Apr 17 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-11.20200414git50464d4e
- Rearrange the dependencies ppisar added
diff --git a/sources b/sources
index cfafc25..3ad082c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (os-autoinst-50464d4e81fcac9dd36785ba88f69b489e4e99e7.tar.gz) = 05402eaeff36d6a7ffefa306c7f1b9146d0227a87850a56a4c0b9f3e731e34a2222f51e78b6afb00637ab460dd281fba6bcdd3ce7c2625916226d6695569545e
+SHA512 (os-autoinst-85fa4f12c1fb5bed7295791801085d32a69d4586.tar.gz) = d7c6cb7f6f7c3cf923e76a1f9e887abf451a68412bda2dfef05d510cc625ea758669510dd33ab736b30674ca6fb34f9f95be69e0334c3b683627e95ee67d39d9
https://src.fedoraproject.org/rpms/os-autoinst/c/a8acb78683822dada8a11445...
2Â years, 9Â months
adamwill pushed to os-autoinst (f31). "Bump to latest git,
resync spec"
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 23:03:52 UTC
From a8acb78683822dada8a11445decd51d9093a215c Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam(a)redhat.com>
Date: Apr 30 2020 23:03:30 +0000
Subject: Bump to latest git, resync spec
---
diff --git a/.gitignore b/.gitignore
index 49b2e14..387d823 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,4 @@
/os-autoinst-d693abe082d6559721e5053d8fd6151753c73020.tar.gz
/os-autoinst-63af2f4f91cfad88712bd0773e0a236d6e3853ea.tar.gz
/os-autoinst-50464d4e81fcac9dd36785ba88f69b489e4e99e7.tar.gz
+/os-autoinst-85fa4f12c1fb5bed7295791801085d32a69d4586.tar.gz
diff --git a/os-autoinst.spec b/os-autoinst.spec
index 788c3a8..849f30a 100644
--- a/os-autoinst.spec
+++ b/os-autoinst.spec
@@ -28,35 +28,52 @@
%global github_owner os-autoinst
%global github_name os-autoinst
%global github_version 4.6
-%global github_commit 50464d4e81fcac9dd36785ba88f69b489e4e99e7
+%global github_commit 85fa4f12c1fb5bed7295791801085d32a69d4586
# if set, will be a post-release snapshot build, otherwise a 'normal' build
-%global github_date 20200414
+%global github_date 20200430
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
Name: os-autoinst
Version: %{github_version}
-Release: 11%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
+Release: 12%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
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...
-# diff from SUSE: added perl(ExtUtils::MakeMaker) and perl(ExtUtils::Embed)
-# which I've found necessary before
-%define build_requires autoconf automake gcc-c++ libtool pkgconfig(opencv) pkg-config perl(ExtUtils::MakeMaker) perl(ExtUtils::Embed) perl(Module::CPANfile) pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc) make
-# diff from SUSE: dropped perl-base which does not exist in Fedora, we have
-# the perl(:MODULE_COMPAT) require below
-# also a bunch of stuff ppisar added
-%define requires perl(base) perl(B::Deparse) perl(Carp) perl(Cwd) perl(English) perl(Errno) perl(Fcntl) perl(File::Temp) perl(integer) perl(Mojolicious) >= 7.92, perl(Mojo::IOLoop::ReadWriteProcess) >= 0.23, perl(Mojo::JSON) perl(Mojo::Log) perl(Carp::Always) perl(Data::Dump) perl(Data::Dumper) perl(Crypt::DES) perl(JSON) perl(autodie) perl(Class::Accessor::Fast) perl(Exception::Class) perl(File::Touch) perl(File::Which) perl(IPC::Run::Debug) perl(Net::DBus) perl(Net::SNMP) perl(Net::IP) perl(IPC::System::Simple) perl(Net::SSH2) perl(POSIX) perl(strict) perl(Time::HiRes) perl(warnings) perl(XML::LibXML) perl(XML::SemanticDiff) perl(JSON::XS) perl(List::MoreUtils) perl(Mojo::IOLoop::ReadWriteProcess) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Cpanel::JSON::XS) perl(IO::Scalar) perl(Try::Tiny)
+# 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
+# cross-comparison
+%define opencv_require pkgconfig(opencv)
+# this is stuff we added to build_requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. TODO: submit
+# these upstream, at least ones that make sense for SUSE too.
+%define build_requires_additional perl(ExtUtils::MakeMaker) perl(ExtUtils::Embed)
+# diff from SUSE: added build_requires_additional
+%define build_requires %build_requires_additional %opencv_require autoconf automake gcc-c++ libtool make perl(Module::CPANfile) pkg-config pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc)
+# this is stuff we added to requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. These are all
+# things ppisar added in afeb766c. TODO: submit these upstream, at
+# least ones that make sense for SUSE too.
+%define requires_additional perl(base) perl(Carp) perl(Cwd) perl(English) perl(Errno) perl(Fcntl) perl(File::Temp) perl(integer) perl(Mojo::JSON) perl(Mojo::Log) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(strict) perl(Time::HiRes) perl(warnings)
+# diff from SUSE: added requires_additional, dropped perl-base which
+# does not exist in Fedora - we have perl(base) in requires_additional
+# and the perl(:MODULE_COMPAT) require below
+%define requires %requires_additional perl(B::Deparse) perl(Carp::Always) perl(Class::Accessor::Fast) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Data::Dumper) perl(Exception::Class) perl(File::Touch) perl(File::Which) perl(IO::Scalar) perl(IO::Socket::INET) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(List::MoreUtils) perl(Mojolicious) >= 7.92 perl(Mojo::IOLoop::ReadWriteProcess) >= 0.23 perl(Net::DBus) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(Socket::MsgHdr) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(autodie)
%define requires_not_needed_in_tests git-core
+# this is stuff we added to test_requires, we put it in its own macro
+# to make resyncing with upstream spec changes easier. FindBin is one
+# ppisar added in afeb766c, Test::Mojo and Test::More are just things
+# the test suite uses which I added, we add qemu-system-i386 because
+# the fullstack and qemu-options tests use it - we run them in Koji
+# but SUSE disables them as they cannot run in OBS, so they don't have
+# the requirement either. TODO: submit relevant changes upstream
+%define test_requires_additional perl(FindBin) perl(Test::Mojo) perl(Test::More) /usr/bin/qemu-system-i386
# all requirements needed by the tests, do not require on this in the package
# itself or any sub-packages
-# diff from SUSE: added perl(Test::Mojo) and perl(Test::More), replaced
-# qemu-tools with qemu-img, added /usr/bin/qemu-system-i386 which
-# 'fullstack' and 'qemu-options' tests use on all arches (SUSE has
-# these disabled as qemu can't run in OBS apparently), dropped spell
-# check requirement stuff as this isn't needed in package builds IMO
-# perl(Test::Strict) added, upstream should have this too
-%define test_requires %build_requires %requires perl(Perl::Tidy) perl(Test::Compile) >= 1.1.0, perl(Test::Exception) perl(Test::Mojo) perl(Test::More) perl(Test::Output) perl(Test::Fatal) perl(Test::Warnings) perl(Test::Strict) perl(Pod::Coverage) perl(Test::Pod) perl(Test::MockModule) perl(Test::MockObject) perl(Devel::Cover) perl(Test::Mock::Time) perl(FindBin) /usr/bin/qemu-img /usr/bin/qemu-system-i386
+# diff from SUSE: added test_requires_additional, replaced qemu-tools
+# with qemu-img, dropped spell check requirement stuff as this isn't
+# needed in package builds IMO
+%define test_requires %test_requires_additional %build_requires %requires perl(Devel::Cover) perl(Perl::Tidy) perl(Pod::Coverage) perl(Test::Exception) perl(Test::Fatal) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mock::Time) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) /usr/bin/qemu-img
%define devel_requires %test_requires %requires_not_needed_in_tests
BuildRequires: perl-devel
@@ -209,6 +226,10 @@ make check test VERBOSE=1 CHECK_DOC=0
%files devel
%changelog
+* Thu Apr 30 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-12.20200430git85fa4f12
+- Bump to latest git
+- Resync spec with upstream, tweak dependency macro implementation
+
* Fri Apr 17 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-11.20200414git50464d4e
- Rearrange the dependencies ppisar added
diff --git a/sources b/sources
index cfafc25..3ad082c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (os-autoinst-50464d4e81fcac9dd36785ba88f69b489e4e99e7.tar.gz) = 05402eaeff36d6a7ffefa306c7f1b9146d0227a87850a56a4c0b9f3e731e34a2222f51e78b6afb00637ab460dd281fba6bcdd3ce7c2625916226d6695569545e
+SHA512 (os-autoinst-85fa4f12c1fb5bed7295791801085d32a69d4586.tar.gz) = d7c6cb7f6f7c3cf923e76a1f9e887abf451a68412bda2dfef05d510cc625ea758669510dd33ab736b30674ca6fb34f9f95be69e0334c3b683627e95ee67d39d9
https://src.fedoraproject.org/rpms/os-autoinst/c/a8acb78683822dada8a11445...
2Â years, 9Â months
adamwill pushed to openqa (f32). "Bump to latest git again,
backport a PR, resync spec"
by notificationsï¼ fedoraproject.org
Notification time stamped 2020-04-30 22:59:16 UTC
From f13e41ed86059006cd386ce1e9cb47e19e785f08 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam(a)redhat.com>
Date: Apr 30 2020 22:58:20 +0000
Subject: Bump to latest git again, backport a PR, resync spec
---
diff --git a/.gitignore b/.gitignore
index 53d41ab..30f21f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -88,3 +88,5 @@
/openQA-12cea51da8e77ae1553de81741392e299cae4005.tar.gz
/openQA-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.gz
/assetcache-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.xz
+/openQA-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.gz
+/assetcache-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.xz
diff --git a/0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch b/0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
deleted file mode 100644
index 97f04c7..0000000
--- a/0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From edbef94836b6bfbc796819a0c3f59ae89de5f675 Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam(a)redhat.com>
-Date: Sat, 18 Apr 2020 11:38:37 -0700
-Subject: [PATCH] Fix load_templates --clean to wipe more than one entry per
- table
-
-1400d8a8dd inverted the logic here - instead of exiting the loop
-on a *failure* we now exit it on *success*. So each time --clean
-is run it will only wipe one entry per table. This obviously
-breaks things badly (the clean phase doesn't clean things right
-at all, so the subsequent load phase fails because we try to add
-entries that already exist, and you wind up with a mess).
-
-This flips the logic back, and adds a test.
-
-Signed-off-by: Adam Williamson <awilliam(a)redhat.com>
----
- script/load_templates | 2 +-
- t/01-compile-check-all.t | 3 ++-
- t/40-script_load_templates.t | 32 ++++++++++++++++++++++++-------
- t/data/40-templates-more.pl | 37 ++++++++++++++++++++++++++++++++++++
- 4 files changed, 65 insertions(+), 9 deletions(-)
- create mode 100644 t/data/40-templates-more.pl
-
-diff --git a/script/load_templates b/script/load_templates
-index 724a404f3..da089347c 100755
---- a/script/load_templates
-+++ b/script/load_templates
-@@ -241,7 +241,7 @@ if ($options{'clean'}) {
- my $id = $result->{$table}->[$i]->{id};
- my $table_url_id = $url->clone->path($options{'apibase'} . '/' . decamelize($table) . "/$id");
- $res = $client->delete($table_url_id)->res;
-- last if $res->is_success;
-+ last unless $res->is_success;
- }
- }
-
-diff --git a/t/01-compile-check-all.t b/t/01-compile-check-all.t
-index 5b620e3d5..b6cebd48e 100644
---- a/t/01-compile-check-all.t
-+++ b/t/01-compile-check-all.t
-@@ -27,8 +27,9 @@ $Test::Strict::TEST_WARNINGS = 1;
- $Test::Strict::TEST_SKIP = [
- # skip test module which would require test API from os-autoinst to be present
- 't/data/openqa/share/tests/opensuse/tests/installation/installer_timezone.pm',
-- # Skip data file which is supposed to resemble generated output which has no 'use' statements
-+ # Skip data files which are supposed to resemble generated output which has no 'use' statements
- 't/data/40-templates.pl',
-+ 't/data/40-templates-more.pl',
- 't/data/openqa-trigger-from-obs/Proj2::appliances/empty.txt',
- 't/data/openqa-trigger-from-obs/Proj3::standard/empty.txt',
- ];
-diff --git a/t/40-script_load_templates.t b/t/40-script_load_templates.t
-index 8be3e0c53..51f67e135 100644
---- a/t/40-script_load_templates.t
-+++ b/t/40-script_load_templates.t
-@@ -46,9 +46,10 @@ sub decode { Cpanel::JSON::XS->new->relaxed->decode(path(shift)->slurp); }
- test_once '--help', qr/Usage:/, 'help text shown', 1, 'load_templates with no arguments shows usage';
- test_once '--host', qr/Option host requires an argument/, 'host argument error shown', 1, 'required arguments missing';
-
--my $host = 'testhost:1234';
--my $filename = 't/data/40-templates.pl';
--my $args = "--host $host $filename";
-+my $host = 'testhost:1234';
-+my $filename = 't/data/40-templates.pl';
-+my $morefilename = 't/data/40-templates-more.pl';
-+my $args = "--host $host $filename";
- test_once $args, qr/unknown error code - host $host unreachable?/, 'invalid host error', 22, 'error on invalid host';
-
- $ENV{MOJO_LOG_LEVEL} = 'fatal';
-@@ -71,19 +72,36 @@ test_once $args, $expected, 'Admin may load templates', 0, 'successfully loaded
- test_once $args, qr/group with existing name/, 'Duplicate job group', 255, 'failed on duplicate job group';
-
- my $fh;
--($fh, $filename) = tempfile(UNLINK => 1, SUFFIX => '.json');
--$args = "--host $host --apikey $apikey --apisecret $apisecret --json > $filename";
-+my $tempfilename;
-+($fh, $tempfilename) = tempfile(UNLINK => 1, SUFFIX => '.json');
-+$args = "--host $host --apikey $apikey --apisecret $apisecret --json > $tempfilename";
- $expected = qr/^$/;
- dump_templates $args, $expected, 'dumped fixtures';
- # Clear the data in relevant tables
- $schema->resultset($_)->delete for qw(Machines TestSuites Products JobTemplates JobGroups);
--$args = "--host $host --apikey $apikey --apisecret $apisecret $filename";
-+$args = "--host $host --apikey $apikey --apisecret $apisecret $tempfilename";
- $expected = qr/JobGroups.+=> \{ added => 3, of => 3 \}/;
- test_once $args, $expected, 're-imported fixtures';
- my ($rh, $reference) = tempfile(UNLINK => 1, SUFFIX => '.json');
- $args = "--host $host --apikey $apikey --apisecret $apisecret --json > $reference";
- $expected = qr/^$/;
- dump_templates $args, $expected, 're-dumped fixtures';
--is_deeply decode($filename), decode($reference), 'both dumps match';
-+is_deeply decode($tempfilename), decode($reference), 'both dumps match';
-+
-+# Clear the data in relevant tables again
-+$schema->resultset($_)->delete for qw(Machines TestSuites Products JobTemplates JobGroups);
-+# load the templates file with 2 machines
-+$args = "--host $host --apikey $apikey --apisecret $apisecret $morefilename";
-+$expected = qr/Machines.+=> \{ added => 2, of => 2 \}/;
-+test_once $args, $expected, 'imported MOAR fixtures';
-+# wipe jobgroups manually as --clean explicitly skips it
-+$schema->resultset("JobGroups")->delete;
-+# now load the templates file with only 1 machine, with --clean
-+$args = "--host $host --apikey $apikey --apisecret $apisecret --clean $filename";
-+$expected = qr/Machines.+=> \{ added => 1, of => 1 \}/;
-+test_once $args, $expected, 'imported original fixtures';
-+is $schema->resultset('Machines')->count, 1, "only one machine is loaded";
-+my $machine = $schema->resultset('Machines')->first;
-+is $machine->name, "32bit", "correct machine is loaded";
-
- done_testing;
-diff --git a/t/data/40-templates-more.pl b/t/data/40-templates-more.pl
-new file mode 100644
-index 000000000..79f5fbb1e
---- /dev/null
-+++ b/t/data/40-templates-more.pl
-@@ -0,0 +1,37 @@
-+{
-+ JobGroups => [
-+ {
-+ group_name => "openSUSE Leap 42.3 Updates",
-+ template => "scenarios: {}\nproducts: {}\n",
-+ },
-+ ],
-+ JobTemplates => [],
-+ Machines => [
-+ {
-+ backend => "qemu",
-+ name => "32bit",
-+ settings => [],
-+ },
-+ {
-+ backend => "qemu",
-+ name => "64bit",
-+ settings => [],
-+ },
-+ ],
-+ Products => [
-+ {
-+ arch => "x86_64",
-+ distri => "opensuse",
-+ flavor => "DVD",
-+ settings => [],
-+ version => 42.2,
-+ },
-+ ],
-+ TestSuites => [
-+ {
-+ name => "uefi",
-+ settings =>
-+ [{key => "DESKTOP", value => "kde"}, {key => "INSTALLONLY", value => 1}, {key => "UEFI", value => 1},],
-+ },
-+ ],
-+}
---
-2.26.1
-
diff --git a/0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch b/0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
new file mode 100644
index 0000000..f27d9de
--- /dev/null
+++ b/0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
@@ -0,0 +1,53 @@
+From 4a09dedd5f1a09b2f5df817a3c097a968f8e1b5a Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam(a)redhat.com>
+Date: Wed, 29 Apr 2020 12:50:35 -0700
+Subject: [PATCH] Fix missing_assets to ignore repos, not 'hidden assets'
+
+As discussed in
+https://github.com/os-autoinst/openQA/pull/2676#issuecomment-615951653
+and follow-ups, this check misunderstands the "hidden" attribute.
+The code assumes that "hidden" assets are the same thing as
+"assets we don't really want to copy down when cloning jobs",
+but they are not. The "hidden" attribute was written (by me) to
+mean "asset types not to be shown for downloading in the web UI".
+
+For SUSE, it happens to be the case that ["repo"] would be the
+right array of both "not-to-be-shown-in-the-web-ui assets" and
+"non-clonable assets", so this bug wasn't apparent, as SUSE
+deployments leave the `hide_asset_types` config setting at its
+default value of just 'repo'. But on Fedora deployments, this
+setting is changed to 'repo iso hdd' (because we don't want to
+show those asset types for download in the web UI), so this code
+also ignored ISO and HDD assets when checking for "missing"
+assets, which we don't want.
+
+As discussed in the pull request we could potentially make this
+a configurable attribute and have the clone_job script use it
+too, but doing that is a bit harder, and I don't think for now
+anyone wants a different definition of "non-clonable assets", so
+it doesn't seem really necessary.
+
+Signed-off-by: Adam Williamson <awilliam(a)redhat.com>
+---
+ lib/OpenQA/Schema/Result/Jobs.pm | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/OpenQA/Schema/Result/Jobs.pm b/lib/OpenQA/Schema/Result/Jobs.pm
+index 8ae786659..5bbf0cb41 100644
+--- a/lib/OpenQA/Schema/Result/Jobs.pm
++++ b/lib/OpenQA/Schema/Result/Jobs.pm
+@@ -572,8 +572,10 @@ sub missing_assets {
+ delete $assets->{UEFI_PFLASH_VARS};
+
+ my $parent_job_ids = $self->_parent_job_ids;
++ # ignore repos, as they're not really clonable: see
++ # https://github.com/os-autoinst/openQA/pull/2676#issuecomment-616312026
+ my @relevant_assets
+- = grep { $_->{name} ne '' && !OpenQA::Schema::Result::Assets::is_type_hidden($_->{type}) } values %$assets;
++ = grep { $_->{name} ne '' && $_->{type} ne 'repo' } values %$assets;
+ my @assets_query = map {
+ {
+ type => $_->{type},
+--
+2.26.2
+
diff --git a/openqa.spec b/openqa.spec
index fc38091..4666a4b 100644
--- a/openqa.spec
+++ b/openqa.spec
@@ -23,9 +23,9 @@
%global github_owner os-autoinst
%global github_name openQA
%global github_version 4.6
-%global github_commit 7160d88d931d9706ba1e55d66fd9f0ea5d9377b0
+%global github_commit 46234f90c3852646b7f80b88dcb9d8e5dca07f10
# if set, will be a post-release snapshot build, otherwise a 'normal' build
-%global github_date 20200415
+%global github_date 20200429
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
# can't use linebreaks here!
@@ -39,34 +39,50 @@
%endif
%define python_scripts_requires python3-requests python3-future
-%define assetpack_requires perl(Mojolicious::Plugin::AssetPack) >= 2.01, perl(CSS::Minifier::XS) perl(JavaScript::Minifier::XS)
-%define common_requires perl(Archive::Extract) perl(Config::IniFiles) perl(Cpanel::JSON::XS) perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) perl(Getopt::Long) perl(Minion) >= 10.04, perl(Mojolicious) >= 8.24, perl(Try::Tiny) perl(Regexp::Common), perl(Storable)
+
+# The following line is generated from dependencies.yaml (upstream)
+%define assetpack_requires perl(CSS::Minifier::XS) >= 0.01 perl(JavaScript::Minifier::XS) >= 0.11 perl(Mojolicious::Plugin::AssetPack) >= 1.36
+# The following line is generated from dependencies.yaml (upstream)
+%define common_requires perl(Archive::Extract) > 0.7 perl(Config::IniFiles) perl(Cpanel::JSON::XS) perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) perl(Getopt::Long) perl(Minion) >= 10.04 perl(Mojolicious) >= 8.24 perl(Regexp::Common) perl(Storable) perl(Try::Tiny)
# runtime requirements for the main package that are not required by other sub-packages
-# diff from suse: we need perl(Time::Seconds) and perl(Time::Piece)
-# here, do not lose them when copying from suse
-%define main_requires %assetpack_requires git-core perl(Carp::Always) perl(Date::Format) perl(DateTime::Format::Pg) perl(DBD::Pg) >= 3.7.4, perl(DBI) >= 1.632, perl(DBIx::Class) >= 0.082801, perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) perl(DBIx::Class::OptimisticLocking) perl(File::Copy::Recursive) perl(Net::OpenID::Consumer) perl(Module::Pluggable) perl(aliased) perl(Config::Tiny) perl(Text::Diff) perl(CommonMark) perl(JSON::Validator) perl(IPC::Run) perl(Time::ParseDate) perl(Sort::Versions) perl(BSD::Resource) perl(Pod::POM) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) >= 0.2, perl(SQL::Translator) perl(YAML::PP) perl(YAML::XS) >= 0.67, perl(LWP::UserAgent) perl(Getopt::Long::Descriptive) perl(Time::Seconds) perl(Time::Piece)
-%define client_requires curl jq git-core perl(IO::Socket::SSL) >= 2.009, perl(JSON::Validator) perl(LWP::UserAgent) perl(LWP::Protocol::https) perl(IPC::Run) perl(YAML::PP) >= 0.020 perl(YAML::XS)
-%define worker_requires os-autoinst < 5, perl(Mojo::IOLoop::ReadWriteProcess) > 0.19, perl(Minion::Backend::SQLite) perl(Mojo::SQLite) openqa-client optipng
-%define build_requires rubygem(sass) %assetpack_requires
+# The following line is generated from dependencies.yaml (upstream)
+%define main_requires %assetpack_requires git-core perl(BSD::Resource) perl(Carp) perl(Carp::Always) perl(CommonMark) perl(Config::Tiny) perl(DBD::Pg) >= 3.7.4 perl(DBI) >= 1.632 perl(DBIx::Class) >= 0.082801 perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) perl(DBIx::Class::OptimisticLocking) perl(DBIx::Class::ResultClass::HashRefInflator) perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) perl(Date::Format) perl(DateTime) perl(DateTime::Duration) perl(DateTime::Format::Pg) perl(Exporter) perl(Fcntl) perl(File::Basename) perl(File::Copy) perl(File::Copy::Recursive) perl(File::Path) perl(File::Spec) perl(FindBin) perl(Getopt::Long::Descriptive) perl(IO::Handle) perl(IPC::Run) perl(JSON::Validator) perl(LWP::UserAgent) perl(Module::Load::Conditional) perl(Module::Pluggable) perl(Mojo::Base) perl(Mojo::ByteStream) perl(Mojo::IOLoop) perl(Mojo::JSON) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) >= 0.2 perl(Mojo::URL) perl(Mojo::Util) perl(Mojolicious::Commands) perl(Mojolicious::Plugin) perl(Mojolicious::Static) perl(Net::OpenID::Consumer) perl(POSIX) perl(Pod::POM) perl(SQL::Translator) perl(Scalar::Util) perl(Sort::Versions) perl(Text::Diff) perl(Time::HiRes) perl(Time::ParseDate) perl(Time::Piece) perl(Time::Seconds) perl(URI::Escape) perl(YAML::PP) >= 0.020 perl(YAML::XS) perl(aliased) perl(base) perl(constant) perl(diagnostics) perl(strict) perl(warnings)
+# The following line is generated from dependencies.yaml (upstream)
+%define client_requires curl git-core jq perl(IO::Socket::SSL) >= 2.009 perl(IPC::Run) perl(JSON::Validator) perl(LWP::Protocol::https) perl(LWP::UserAgent) perl(YAML::PP) >= 0.020 perl(YAML::XS)
+# diff from SUSE: case (they have openQA-client, we have openqa-client)
+# The following line is generated from dependencies.yaml (upstream)
+%define worker_requires openqa-client optipng os-autoinst < 5 perl(Minion::Backend::SQLite) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.20 perl(Mojo::SQLite)
+# The following line is generated from dependencies.yaml (upstream)
+%define build_requires %assetpack_requires rubygem(sass)
# All requirements needed by the tests executed during build-time.
# Do not require on this in individual sub-packages except for the devel
# package.
# Diff from SUSE: Selenium requirements dropped as not available in Fedora,
-# perl(Perl::Critic::Freenode) dropped as not available in Fedora (and
-# doesn't seem to hurt if it's missing)
-%define test_requires %common_requires %main_requires %python_scripts_requires %worker_requires perl(App::cpanminus) perl(Module::Load::Conditional) perl(Perl::Critic) perl(Test::Mojo) perl(Test::More) perl(Test::Strict) perl(Test::Fatal) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Output) perl(Test::Pod) perl(Test::Warnings) perl(Test::Exception) ShellCheck os-autoinst-devel postgresql-server curl jq
+# critic and (python) yamllint requirements dropped (except Perl::Critic
+# itself as the compile-check-all test fails on the in-tree critic module
+# if we leave that out) as we don't run those checks in our package build
+# (SUSE runs them in theirs), Test::MockObject and Test::Exception added as
+# upstream is missing them - https://github.com/os-autoinst/openQA/pull/3018
+# The following line is generated from dependencies.yaml (upstream)
+%define test_requires %common_requires %main_requires %python_scripts_requires %worker_requires ShellCheck curl jq os-autoinst-devel perl(App::cpanminus) perl(Perl::Critic) perl(Test::Exception) perl(Test::Fatal) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mojo) perl(Test::More) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) postgresql-server
+%ifarch x86_64
+%define qemu qemu qemu-kvm
+%else
+%define qemu qemu
+%endif
# diff from SUSE: perl(Devel::Cover::Report::Codecov) dropped because
# it's not in Fedora (this means you can't run 'make coverage-codecov')
# xorg-x11-fonts dropped because that binary package doesn't exist in
# Fedora (it exists as a source package generating multiple binary
# packages) and I can't find any particular reason for it
# chromedriver dropped as we don't package it
-%define devel_requires %build_requires %test_requires rsync curl postgresql-devel qemu qemu-kvm tar sudo perl(Devel::Cover) perl(Perl::Tidy)
+# The following line is generated from dependencies.yaml
+%define devel_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Perl::Tidy) postgresql-devel rsync sudo tar
Name: openqa
Version: %{github_version}
-Release: 48%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
+Release: 49%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
Summary: OS-level automated testing framework
License: GPLv2+
Url: http://os-autoinst.github.io/openQA/
@@ -88,9 +104,11 @@ Source3: FedoraMessaging.pm
# tests for the fedora-messaging publishing plugin
Source4: 23-fedora-messaging.t
-# https://github.com/os-autoinst/openQA/pull/2955
-# Fix a logic error in `load_templates --clean` that breaks it
-Patch0: 0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
+# https://github.com/os-autoinst/openQA/pull/3017
+# Missing asset check shouldn't use 'hidden' attribute as it doesn't
+# mean what the author thought it meant, made the check ignore most
+# assets on Fedora
+Patch0: 0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
BuildRequires: %{python_scripts_requires}
BuildRequires: perl-generators
@@ -305,6 +323,7 @@ ln -s %{_sysconfdir}/openqa/openqa.ini %{buildroot}%{_datadir}/openqa/etc/openqa
ln -s %{_sysconfdir}/openqa/database.ini %{buildroot}%{_datadir}/openqa/etc/openqa/database.ini
mkdir -p %{buildroot}%{_bindir}
ln -s %{_datadir}/openqa/script/client %{buildroot}%{_bindir}/openqa-client
+ln -s %{_datadir}/openqa/script/openqa-cli %{buildroot}%{_bindir}/openqa-cli
ln -s %{_datadir}/openqa/script/openqa-clone-job %{buildroot}%{_bindir}/openqa-clone-job
ln -s %{_datadir}/openqa/script/dump_templates %{buildroot}%{_bindir}/openqa-dump-templates
ln -s %{_datadir}/openqa/script/load_templates %{buildroot}%{_bindir}/openqa-load-templates
@@ -337,7 +356,10 @@ export LC_ALL=en_US.UTF-8
touch openqa-debug.log autoinst-log.txt
chmod a+w openqa-debug.log autoinst-log.txt
# we can't use 'unshare' in Fedora package build env
-sed -i -e 's,unshare -r -n ,,g' t/40-script_openqa-clone-custom-git-refspec.t t/40-openqa-clone-job.t
+sed -i -e 's,unshare -r -n ,,g' t/40-script_openqa-clone-custom-git-refspec.t t/40-openqa-clone-job.t t/32-openqa_client-script.t
+# this test expects a 'not connected' error that it gets with unshare
+# but with mock we get 'Connection refused', so just wipe it
+sed -i -e '/fails without network/d' t/32-openqa_client-script.t
# Skip tests not working currently, or flaky
rm t/25-cache-service.t t/17-labels_carry_over.t
@@ -436,7 +458,6 @@ fi
%{_datadir}/openqa/dbicdh
%{_datadir}/openqa/assets
%dir %{_datadir}/openqa/script
-%{_datadir}/openqa/script/check_dependencies
%{_datadir}/openqa/script/create_admin
%{_datadir}/openqa/script/fetchneedles
%{_datadir}/openqa/script/initdb
@@ -541,6 +562,7 @@ fi
%{_datadir}/openqa/script/clone_job.pl
%{_datadir}/openqa/script/dump_templates
%{_datadir}/openqa/script/load_templates
+%{_datadir}/openqa/script/openqa-cli
%{_datadir}/openqa/script/openqa-clone-job
%{_datadir}/openqa/script/openqa-clone-custom-git-refspec
%{_datadir}/openqa/script/openqa-validate-yaml
@@ -550,6 +572,7 @@ fi
%{_datadir}/openqa/lib/OpenQA/Client
%{_datadir}/openqa/lib/OpenQA/UserAgent.pm
%{_bindir}/openqa-client
+%{_bindir}/openqa-cli
%{_bindir}/openqa-clone-job
%{_bindir}/openqa-dump-templates
%{_bindir}/openqa-load-templates
@@ -579,6 +602,11 @@ fi
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraUpdateRestart.pm
%changelog
+* Wed Apr 29 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-49.20200429git46234f9
+- Bump to latest git
+- Resync spec with upstream
+- Backport PR #3017: missing asset check shouldn't use 'hidden' asset attribute
+
* Sat Apr 18 2020 Adam Williamson <awilliam(a)redhat.com> - 4.6-48.20200415git7160d88
- Backport PR #2955 to fix broken load_templates --clean
diff --git a/sources b/sources
index 7806994..04f7ca5 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (openQA-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.gz) = 55c75bbf148b0cc1360f1ec5cd3d7eeb520d171b79a47c31b5e943495dd5607ed0b4d72f694933f435b8c026a11083ff2f6ec229d4f45db77be3aa197d014f6c
-SHA512 (assetcache-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.xz) = 75711f1242f2bba05d3625f90c4403fd85e04265814b72e58db542875d5e4eecbd10a374f4d4f5f232ef05dec15ff7bd7436c132372119d49fed0a8e03bffda8
+SHA512 (openQA-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.gz) = 8674b1555f070596d3dc5a55388a212758c89627c9d1f037ca9845705ec3d419209c378d5dba880fc2c184c9877c4cbc67fba2e468f3b8fbad93e0d45c9b2086
+SHA512 (assetcache-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.xz) = 01d51e33c1eb59898fdc9b8e7dd52a11146a302af441b61512bafe03b4a80806d7224d22c663a1c9c2d13fd74f30430cb837de2584790dd12b5c9bf45a772503
https://src.fedoraproject.org/rpms/openqa/c/f13e41ed86059006cd386ce1e9cb4...
2Â years, 9Â months