Hello community,

here is the log from the commit of package openQA for openSUSE:Leap:15.2 
checked in at 2020-02-26 16:59:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/openQA (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Wed Feb 26 16:59:07 2020 rev:82 rq:779035 version:4.6.1582356603.73b75d1a4

Changes:
--------
New Changes file:

--- /dev/null   2019-12-19 10:12:34.003146842 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA-devel-test.changes    
2020-02-26 16:59:08.902842680 +0100
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Mon Oct 14 09:00:51 UTC 2019 - [email protected]
+
+- No changelog - see openQA.changes
--- /work/SRC/openSUSE:Leap:15.2/openQA/openQA-test.changes     2020-01-15 
15:36:29.618988574 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA-test.changes  
2020-02-26 16:59:08.954842783 +0100
@@ -2 +2 @@
-Wed Apr 17 14:34:07 UTC 2019 - [email protected]
+Mon Oct 14 09:00:51 UTC 2019 - [email protected]
@@ -4,1093 +4 @@
-- Update to version 4.6.1555478309.f6dfdd9b:
-  * Clone only the latest revision of the SLE needles (#2048)
-  * Revert "openQA.spec: multiline macros for services and dependencies" 
(#2051)
-  * Update architecture diagram in accordance with PR 2043
-  * Fix the remaining issues of deleting workers
-  * Get rid of a few warnings that make test results on Travis hard to read
-  * Be a little more strict about WebSocket server response codes
-  * There should be no need for AssetPack in the websocket server
-  * Trust connections from localhost to the websocket server to avoid complex 
config file requirements
-  * The websocket server is no longer a dbus service
-  * Clean up tests and remove a few connection warnings
-  * The websocket server is no longer a dbus service
-  * Move ws_send from dbus to HTTP
-  * Move ws_send_job from dbus to HTTP
-  * Remove ws_send_all dbus function, which was actually unused
-  * Remove first dbus function from the websocket server
-  * Add an HTTP API to the websocket server
-  * Don't return status 402 on worker deletion failure
-  * Fix indentation in admin_worker.js
-  * Make OpenQA::Events::emit_event a non-static member function
-  * Update AppArmor profile for usrMerge (boo#1132350)
-  * Add cacheservice as part of openqa-worker.target
-  * openQA.spec: multiline macros for services and dependencies
-
--------------------------------------------------------------------
-Sun Apr 14 17:57:10 UTC 2019 - [email protected]
-
-- Update to version 4.6.1554809752.3a77164a:
-  * Fix mock session logins to use only public Mojolicious APIs and create 
users with a proper resultset
-  * Prevent multiple limit_* tasks from running in parallel
-  * Allow deleting offline workers via API and web UI
-  * Don't duplicate settings in iso_create/cancel events
-  * Adapt product log test
-  * Add test for re-scheduling product
-  * Migrate 'iso_create' events to scheduled products
-  * Show scheduled products from new table in UI
-  * Test async flag for iso post route
-  * Move constants for job dependencies to their own file
-  * Add API route to query scheduled product
-  * Add async flag to ISO post route and table to keep track
-  * Cleanup scheduling functions
-
--------------------------------------------------------------------
-Sun Mar 31 17:49:35 UTC 2019 - [email protected]
-
-- Update to version 4.6.1553599469.57d6b3ca:
-  * Properly escape bug titles
-  * YAML output for job templates and schema validation (#1999)
-  * Make the websocket server testable as a normal Mojolicious application
-  * Add a model class to store worker state
-  * Move more functions into helpers
-  * Move dbus functions into helpers
-  * Add controllers to the websocket server application
-  * Install test distri deps on bootstrap
-  * Turn websocket server into a real Mojolicious app
-  * Use Mojo::Promise in enqueue_and_keep_track
-  * docker: Add IO::Scalar dependency
-  * doc: Reflect renaming virtio_screen.pm to serial_screen.pm
-  * worker: Upload serial_terminal.txt for svirt backend
-  * Unify schema access in OpenQA::WebAPI and fix the issue where the db 
helper was called on the application
-  * Use result_p to track Minion job instead of timers
-  * Improve logging non-scalar error info of GRU/Minion tasks
-  * Extract common code for saving and deleting needles
-  * Fix test for dependency graph
-  * Don't let needle-related tasks fail if the cause is uncritical
-  * Make needle deletion a Minion job
-  * Setting to not cancel parallel parents with still-pending children
-  * Add hints to fix dependencies when using devel
-
--------------------------------------------------------------------
-Fri Mar 15 05:22:32 UTC 2019 - [email protected]
-
-- Update to version 4.6.1552567428.80082fe5:
-  * Test create and delete events for job templates
-  * Unify schema access with a singleton method
-  * Use route placeholder types whenever possible for cleaner routes
-  * Add link to relevant documentation in the job group settings
-  * Cache result of OpenQA::..::JobGroup::load_properties
-  * Allow disabling bug carry over on job group level
-  * Remove dead validation code and replace it with route placeholder types
-  * Pass affected_rows correctly in openqa_jobtemplate_create
-
--------------------------------------------------------------------
-Tue Mar 12 21:22:25 UTC 2019 - [email protected]
-
-- Update to version 4.6.1552406543.b3e49dcb:
-  * Remove check for $OpenQA::Utils::app
-  * Move get_bug from Result::Bugs to ResultSet::Bugs
-  * Add bug to db already on comment create or update
-  * Add support for links to jira tickets
-  * Rename tmp_schema to search_path_for_tests, which is a little more 
descriptive
-  * Allow monitoring of Gru/Minion with a new public /admin/influxdb/minion 
API endpoint
-  * Log job group events via audit log
-  * Make openqa-webui.service depend on openqa-gru.service
-
--------------------------------------------------------------------
-Sun Mar 10 13:22:04 UTC 2019 - [email protected]
-
-- Update to version 4.6.1552078716.6b292c9a:
-  * Test deleting job from worker's job history
-  * Move another class into its own .pm file and do not use private 
functions/methods across modules/classes anymore
-  * Remove all uses of the enterprise operator and use a more consistent 
coding style in the affected classes
-  * Add loading indication when saving needle
-
--------------------------------------------------------------------
-Fri Mar 08 05:22:22 UTC 2019 - [email protected]
-
-- Update to version 4.6.1551963862.0a6b30be:
-  * Prevent deletion of worker when deleting its current job
-  * Prevent broken rendering of unknown result types
-  * Add unxz/xz to apparmor profile to fix poo#48743
-  * Don't hardcode remote and branch names for saving needles
-
--------------------------------------------------------------------
-Tue Mar 05 21:22:30 UTC 2019 - [email protected]
-
-- Update to version 4.6.1551797932.a5aadf24:
-  * Remove safe_call from OpenQA::Utils since it is no longer needed
-  * Cover more Gru special cases with tests
-  * Remove resource allocator from architecture diagram
-  * Mention the possible race condition in a comment
-  * Bypass Gru special cases for non-Gru tasks
-  * Use a completely new task for testing so we can replicate more edge cases 
in the future
-  * Be a little more defensive with removing Gru tasks
-  * Allow pure Minion jobs (without a Gru id) to bypass special case handling
-  * Do not delete Gru tasks if they are not finished in Minion yet
-
--------------------------------------------------------------------
-Sat Mar 02 17:37:11 UTC 2019 - [email protected]
-
-- Update to version 4.6.1551454083.e27d66d8:
-  * Extend apparmor profile for all Git commands we use
-  * Correct limit_assets task arguments
-  * Allow test vars for openqa-clone-custom-git-refs…
-  * Fix updating needle Git repository
-  * Fix uniform box widths of dependency graph in current Firefox
-  * Move JSON::Validator and YAML::XS to t_requires
-  * Drop the `cpanfile` changes
-  * Add YAML::XS and JSON::Validator dependencies
-  * worker: Skip announcing stop if isotovideo already exited
-  * worker: Fix "final status update"
-  * worker: Refactor _stop_job_kill_and_upload
-  * worker: Remove extra handling for dead children
-  * worker: Make API calls when stopping job non-critical
-  * worker: Treat upload failures as API failures
-  * Raise an exception if deploying the SQLite database fails and handle an 
existing database more gracefully
-  * Do not reset the job queue every time the cache service is restarted
-  * Test cache service migrations
-  * Use Mojo::SQLite migrations to handle schema upgrades in the cache service 
gracefully
-  * Remove unused imports and IPC objects
-  * Remove the resource allocator
-  * Move barrier handling out of the resource allocator
-  * Move mutex handling out of the resource allocator
-  * Remove first dbus method and use OpenQA::Schema directly
-  * Declare the DBIx::Class dependency properly
-  * Move OpenQA::Resource::Jobs handling from the resource allocator to the 
webapi
-
--------------------------------------------------------------------
-Tue Feb 26 21:22:42 UTC 2019 - [email protected]
-
-- Update to version 4.6.1551101052.7f891940:
-  * Use well-defined worker config for fullstack test(s)
-  * Adapt tests to default WORKER_CLASS
-  * Assign default WORKER_CLASS when posting job
-  * Assign default WORKER_CLASS when scheduling ISO
-
--------------------------------------------------------------------
-Sat Feb 23 17:39:53 UTC 2019 - [email protected]
-
-- Update to version 4.6.1550673294.3fb7464e:
-  * worker: Log error returned by JSON API
-  * Render error in all cases in create_artefact
-
--------------------------------------------------------------------
-Tue Feb 19 14:11:16 UTC 2019 - [email protected]
-
-- Update to version 4.6.1550584043.5098c32d:
-  * Log isotovideo startup more detailed
-
--------------------------------------------------------------------
-Tue Feb 12 21:22:24 UTC 2019 - [email protected]
-
-- Update to version 4.6.1549966436.c3938033:
-  * Revert support for ASSET_\d+_URL
-  * openqa-clone-custom-git-refspec: make use of GROUP var
-  * Improve error handling when changing priority
-
--------------------------------------------------------------------
-Sun Feb 10 13:22:09 UTC 2019 - [email protected]
-
-- Update to version 4.6.1549799415.315b994a:
-  * Fix modules filter wrong results while using comma
-  * Show bug reporting links also on text results
-  * Prevent download tasks for the same asset running in parallel
++++ 900 more lines (skipped)
++++ between /work/SRC/openSUSE:Leap:15.2/openQA/openQA-test.changes
++++ and /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA-test.changes
New Changes file:

--- /dev/null   2019-12-19 10:12:34.003146842 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA-worker-test.changes   
2020-02-26 16:59:08.990842854 +0100
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Mon Oct 14 09:00:51 UTC 2019 - [email protected]
+
+- No changelog - see openQA.changes
--- /work/SRC/openSUSE:Leap:15.2/openQA/openQA.changes  2020-01-15 
15:36:29.666988607 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA.changes       
2020-02-26 16:59:09.082843036 +0100
@@ -1,0 +2,1282 @@
+Mon Feb 24 03:03:49 UTC 2020 - [email protected]
+
+- Update to version 4.6.1582356603.73b75d1a4:
+  * Dependency cron 200222
+
+-------------------------------------------------------------------
+Fri Feb 21 19:03:45 UTC 2020 - [email protected]
+
+- Update to version 4.6.1582309642.4cf93ee9f:
+  * Add merge key example to inline help
+  * Add docs for merge keys
+  * JobTemplates: Add tests with merge keys
+  * Use YAML::PP for JobTemplates
+  * worker: Add explicit test for last error of web UI connection
+  * Avoid redundant code in worker job test
+  * worker: Handle job duplication failures
+  * Show warnings when restarting job and assets are missing
+  * Add function to determine whether a job misses assets
+  * Move check for hidden asset types into its own function
+
+-------------------------------------------------------------------
+Fri Feb 21 10:39:15 UTC 2020 - [email protected]
+
+- Update to version 4.6.1582278168.345f257f6:
+  * Use unique git hash from vars.json for src links when possible
+  * docs: Add hint about importance of using the same filesystem for cache+pool
+  * Fix source code remote path for optional .git github links
+  * Fix missing dependency 'perl(Archive::Extract)' for worker since e86f68b08
+  * Silence a warning in 24-worker-overall.t
+  * docs: Replace dated styling/Mark systemctl command
+  * Handle the case where there are no screenshots more gracefully (avoiding 
warnings in tests)
+  * Redirect to remote code location for source view when using CASEDIR
+  * Flatten the download conditions a bit
+  * Do not capture and store all job output as a note
+  * Log all download errors
+  * Fail the job instead of throwing an exception
+  * Add tests for OpenQA::Downloader
+  * Use OpenQA::Downloader in download_asset task
+  * Add downloader module and use it for the cache service
+  * Use preferred explicit rendering in "src" method
+  * Simplify "src" method showing source code of test modules
+  * t: Fix and re-enable ui/03-source.t
+
+-------------------------------------------------------------------
+Tue Feb 18 23:34:01 UTC 2020 - [email protected]
+
+- Update to version 4.6.1582068800.bb5602a1e:
+  * Simplify bugref counting with map
+  * Add GRU task "limit_bugs" to cleanup orphaned bugs
+  * worker: Simplify '->stop' call slightly
+  * Remove redundant timestamp output in worker log
+  * Fix custom variables escaping on clone_custom_git_refspec
+  * Fix random failures in t/api/08-jobtemplates.t
+  * Tweak Build regexp in ObsRsync
+
+-------------------------------------------------------------------
+Fri Feb 14 10:38:11 UTC 2020 - [email protected]
+
+- Update to version 4.6.1581660411.10959f77b:
+  * Dependency cron 200214
+
+-------------------------------------------------------------------
+Wed Feb 12 02:38:18 UTC 2020 - [email protected]
+
+- Update to version 4.6.1581352297.ca1cecd07:
+  * Revert "Have openqa-clone-custom-git-refspec parse PR for test URLs"
+  * Dependency cron 200210
+
+-------------------------------------------------------------------
+Sun Feb 09 18:38:37 UTC 2020 - [email protected]
+
+- Update to version 4.6.1581075098.818ddb190:
+  * Make test for worker registration error less specific
+  * Let the current job continue after a fatal registration error
+  * Simplify error handling of worker registration
+
+-------------------------------------------------------------------
+Fri Feb 07 10:38:26 UTC 2020 - [email protected]
+
+- Update to version 4.6.1581058621.9523164cd:
+  * Dependency cron 200207
+  * Make help icon after search field fully clickable
+  * Consistently store gru job output as a note
+  * Only rebless jobs once
+  * load_templates: better error handling
+  * fetchneedles: Fix "no tracking information for the current branch" on 
self-repair
+  * Have openqa-clone-custom-git-refspec parse PR for test URLs
+  * Improve the format of execution time
+  * Add final linebreak to jobtemplate yaml
+  * Avoid re-scheduling accepted jobs before first status update
+  * Make scheduler fullstack test more stable
+  * Add test for aborting job during setup
+  * Consider worker no longer immediately offline when ws connection finishes
+  * Prevent passing the reason 'cancel' as it provides no extra information
+  * Prevent worker from overriding reason set by web UI
+  * Dependency cron 200205
+
+-------------------------------------------------------------------
+Wed Feb 05 02:38:00 UTC 2020 - [email protected]
+
+- Update to version 4.6.1580827995.3476c9f7b:
+  * Move webapi templates from "templates/" to "templates/webapi/"
+  * Avoid undefined $appname/$api_description errors by using the stash
+  * Fix product log test which might fail when table slightly overflows
+  * Trigger result cleanup daily instead of hourly
+  * Use separate timer for enqueuing cleanup tasks
+  * Reset the editor to the minimum viable YAML if empty
+  * Use aliases in JobTemplate schema
+  * Have test_once in clone-custom-git-refspec test report errors correctly
+  * fetchneedles: Do not fail the script when we are on the correct branch
+  * openqa-bootstrap: Fix indendation
+
+-------------------------------------------------------------------
+Sun Feb 02 18:38:20 UTC 2020 - [email protected]
+
+- Update to version 4.6.1580490152.07482738b:
+  * Fix incorrect exit code in obs_rsync_update_builds_text Gru task
+  * Limit ObsRsync task retries
+  * Dependency cron 200131
+  * Support 'testsuite: null' in jobtemplates
+
+-------------------------------------------------------------------
+Fri Jan 31 10:38:53 UTC 2020 - [email protected]
+
+- Update to version 4.6.1580407290.340620ce0:
+  * Read all keys from ini section of none is defined
+  * Avoid hardcoded schema version in deployment test
+  * Fix old database migrations
+  * Fix old DB migrations by combining them into 76-77
+  * Set reason when stale job detection marks job as incomplete
+  * Pass the worker's reason for stopping a job to the web UI
+  * Improve test code for job duplication
+  * Show reason in info panel
+  * Allow passing a reason when marking a job as done
+  * Test all DB migrations from version 76 and not just the last 2
+
+-------------------------------------------------------------------
+Wed Jan 29 02:38:33 UTC 2020 - [email protected]
+
+- Update to version 4.6.1580150954.a98528363:
+  * Improve build info in ObsRsync UI (#2694)
+  * Adjust parsing of project state in ObsRsync Plugin
+  * t: Add more test strings
+  * t: Fix typos in full-stack
+  * Fix "Use of uninitialized value in numeric ne (!=)" in worker
+  * Fix "Can't use an undefined value as an ARRAY reference" in worker
+  * openqa-clone-custom-git-refspec: Provide option parsing with help text
+  * Add retry script for testing with flag STABILITY_TEST
+  * Slightly simplify JobModules
+  * Replace references of "TRAVIS" with a generic term or CircleCI in cpanfile 
and tests
+  * Treat all previously unstable tests as stable after proof of stability
+  * t: Extract method for ajax/animation handling
+  * Stabilize t/ui/14-dashboard-parents.t by relying on "collapsed" only
+
+-------------------------------------------------------------------
+Sun Jan 26 18:37:58 UTC 2020 - [email protected]
+
+- Update to version 4.6.1579943557.88a382a14:
+  * Dependency cron 200125
+  * Simplify job#done
+  * Add test in openqa-clone-custom-git-refspec for trailing '/'
+  * t: Cover all current features of openqa-clone-custom-git-refspec
+
+-------------------------------------------------------------------
+Fri Jan 24 10:38:06 UTC 2020 - [email protected]
+
+- Update to version 4.6.1579790259.c018d5dc2:
+  * Workaround api request in ObsRsync Plugin
+  * Remove dead code
+  * Use uppercase variables in OpenQA::Utils to make their scope immediately 
obvious
+  * Replace compose_job_overview_search_args and param_hash methods with 
helpers
+  * Move mark_job_linked function into the correct resultset
+  * Move job_group_and_parents function into the correct resultset
+  * Use :DEFAULT instead of importing twice
+  * Replace global variables in OpenQA::Utils with functions
+  * Remove unused export
+  * Do not export variables from OpenQA::Utils anymore
+  * Add OpenQA::App as a singleton container, replacing $OpenQA::Utils::app
+  * Move worker specific code from OpenQA::Setup into OpenQA::Worker::App
+  * Just use Mojolicious as a base class instead of trying to reinvent it
+  * Parse Snapshot number in ObsRsync plugin
+  * Add silent reload of dashboard contents for fullscreen mode
+  * Dependency cron 200123
+  * Add dependency to client so asset download via SSL works
+  * load_templates: fail early if host is unreachable
+  * Log asset download error to autoinst log file
+  * Fix asset status test so it works when the cache file does not exist
+  * Dependency cron 200122
+  * Support batches in ObsRsync Plugin (#2653)
+  * Use new format to store job module details
+  * Set text mime in ObsRsync download
+  * Use is_admin_js helper in asset table template
+  * Show cached assets also when cleanup is ongoing
+  * Add CLI tool to validate a job template YAML file
+  * Fix ObsRsync mutex leak on errors
+
+-------------------------------------------------------------------
++++ 1091 more lines (skipped)
++++ between /work/SRC/openSUSE:Leap:15.2/openQA/openQA.changes
++++ and /work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA.changes

Old:
----
  Dockerfile
  openQA-4.6.1555478309.f6dfdd9b.obscpio

New:
----
  openQA-4.6.1582356603.73b75d1a4.obscpio
  openQA-devel-test.changes
  openQA-devel-test.spec
  openQA-worker-test.changes
  openQA-worker-test.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openQA-devel-test.spec ++++++
#
# spec file for package openQA-devel-test
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define         short_name openQA-devel
Name:           %{short_name}-test
Version:        4.6.1582356603.73b75d1a4
Release:        0
Summary:        Test package for %{short_name}
License:        GPL-2.0-or-later
BuildRequires:  %{short_name} == %{version}
ExcludeArch:    i586

%description
.

%prep
# workaround to prevent post/install failing assuming this file for whatever
# reason
touch %{_sourcedir}/%{short_name}

%build
# just test requirements by installation

%install
# disable debug packages in package test to prevent error about missing files
%define debug_package %{nil}

%changelog
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.GRItod/_old  2020-02-26 16:59:10.058844964 +0100
+++ /var/tmp/diff_new_pack.GRItod/_new  2020-02-26 16:59:10.058844964 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package openQA-test
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        4.6.1555478309.f6dfdd9b
+Version:        4.6.1582356603.73b75d1a4
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
#
# spec file for package openQA-worker-test
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define         short_name openQA-worker
Name:           %{short_name}-test
Version:        4.6.1582356603.73b75d1a4
Release:        0
Summary:        Test package for %{short_name}
License:        GPL-2.0-or-later
BuildRequires:  %{short_name} == %{version}
ExcludeArch:    i586

%description
.

%prep
# workaround to prevent post/install failing assuming this file for whatever
# reason
touch %{_sourcedir}/%{short_name}

%build
/usr/share/openqa/script/worker --help

%install
# disable debug packages in package test to prevent error about missing files
%define debug_package %{nil}

%changelog
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.GRItod/_old  2020-02-26 16:59:10.106845059 +0100
+++ /var/tmp/diff_new_pack.GRItod/_new  2020-02-26 16:59:10.106845059 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package openQA
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 # can't use linebreaks here!
-%define openqa_services openqa-webui.service openqa-gru.service 
openqa-websockets.service openqa-scheduler.service
+%define openqa_services openqa-webui.service openqa-gru.service 
openqa-websockets.service openqa-scheduler.service 
openqa-enqueue-audit-event-cleanup.service 
openqa-enqueue-audit-event-cleanup.timer openqa-enqueue-asset-cleanup.service 
openqa-enqueue-asset-cleanup.timer openqa-enqueue-result-cleanup.service 
openqa-enqueue-result-cleanup.timer openqa-enqueue-bug-cleanup.service 
openqa-enqueue-bug-cleanup.timer
 %define openqa_worker_services openqa-worker.target openqa-slirpvde.service 
openqa-vde_switch.service openqa-worker-cacheservice.service 
openqa-worker-cacheservice-minion.service
 %if %{undefined tmpfiles_create}
 %define tmpfiles_create() \
@@ -33,50 +33,59 @@
 %else
 %bcond_with tests
 %endif
+# SLE < 15 does not provide many of the dependencies for the python sub-package
+%if 0%{?sle_version} < 150000 && !0%{?is_opensuse}
+%bcond_with python_scripts
+%else
+%bcond_without python_scripts
+%endif
 # runtime requirements that also the testsuite needs
-%define t_requires perl(DBD::Pg) perl(DBIx::Class) perl(Config::IniFiles) 
perl(SQL::Translator) perl(Date::Format) perl(File::Copy::Recursive) 
perl(DateTime::Format::Pg) perl(Net::OpenID::Consumer) 
perl(Mojolicious::Plugin::RenderFile) perl(Mojolicious::Plugin::AssetPack) 
perl(aliased) perl(Config::Tiny) perl(DBIx::Class::DynamicDefault) 
perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) 
perl(IO::Socket::SSL) perl(Data::Dump) perl(DBIx::Class::OptimisticLocking) 
perl(Text::Markdown) perl(Net::DBus) perl(JSON::Validator) perl(YAML::XS) 
perl(IPC::Run) perl(Archive::Extract) perl(CSS::Minifier::XS) 
perl(JavaScript::Minifier::XS) perl(Time::ParseDate) perl(Sort::Versions) 
perl(Mojo::RabbitMQ::Client) perl(BSD::Resource) perl(Cpanel::JSON::XS) 
perl(Pod::POM) perl(Mojo::IOLoop::ReadWriteProcess) perl(Minion) perl(Mojo::Pg) 
perl(Mojo::SQLite) perl(Minion::Backend::SQLite)
+%if %{with python_scripts}
+%define python_scripts_requires python3-base python3-requests python3-future
+%else
+%define python_scripts_requires %{nil}
+%endif
+%define assetpack_requires perl(Mojolicious::Plugin::AssetPack) >= 1.36, 
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) >= 9.09, perl(Mojolicious) >= 
8.24, perl(Try::Tiny) perl(Regexp::Common), perl(Storable)
+# runtime requirements for the main package that are not required by other 
sub-packages
+%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) >= 0.020 perl(YAML::XS) 
perl(LWP::UserAgent) perl(Getopt::Long::Descriptive)
+%define client_requires curl jq git-core perl(IO::Socket::SSL) >= 2.009, 
perl(LWP::UserAgent) perl(LWP::Protocol::https) perl(IPC::Run)
+%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
+
+# All requirements needed by the tests executed during build-time.
+# Do not require on this in individual sub-packages except for the devel
+# package.
+%define test_requires %common_requires %main_requires %python_scripts_requires 
%worker_requires perl(App::cpanminus) perl(Perl::Critic) 
perl(Perl::Critic::Freenode) perl(Test::Mojo) perl(Test::More) 
perl(Test::Strict) perl(Test::Fatal) perl(Test::MockModule) perl(Test::Output) 
perl(Test::Pod) perl(Test::Warnings) perl(Selenium::Remote::Driver) 
perl(Selenium::Remote::WDKeys) ShellCheck os-autoinst-devel postgresql-server 
python3-setuptools python3-yamllint curl jq
+%ifarch x86_64
+%define qemu qemu qemu-kvm
+%else
+%define qemu qemu
+%endif
+%define devel_requires %build_requires %test_requires rsync chromedriver curl 
postgresql-devel %qemu tar xorg-x11-fonts sudo perl(Devel::Cover) 
perl(Devel::Cover::Report::Codecov) perl(Perl::Tidy)
+
 Name:           openQA
-Version:        4.6.1555478309.f6dfdd9b
+Version:        4.6.1582356603.73b75d1a4
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later
 Group:          Development/Tools/Other
-Url:            http://os-autoinst.github.io/openQA/
+URL:            http://os-autoinst.github.io/openQA/
 Source0:        %{name}-%{version}.tar.xz
 # a workaround for set_version looking at random files (so we can't name it 
.tar.xz)
 # use update-cache to update it
 Source1:        cache.txz
 Source101:      update-cache.sh
-Source102:      Dockerfile
-BuildRequires:  %{t_requires}
+BuildRequires:  %{build_requires}
 BuildRequires:  fdupes
-BuildRequires:  os-autoinst
-BuildRequires:  systemd
-# critical bug fix
-BuildRequires:  perl(DBIx::Class) >= 0.082801
-BuildRequires:  perl(Minion) >= 9.09
-BuildRequires:  perl(Mojo::RabbitMQ::Client) >= 0.2
-BuildRequires:  perl(Mojolicious) >= 7.92
-BuildRequires:  perl(Mojolicious::Plugin::AssetPack) >= 1.36
-BuildRequires:  rubygem(sass)
-Requires:       dbus-1
-Requires:       perl(Minion) >= 9.09
-Requires:       perl(Mojo::RabbitMQ::Client) >= 0.2
-# needed for test suite
-Requires:       git-core
+Requires:       %{main_requires}
 Requires:       openQA-client = %{version}
 Requires:       openQA-common = %{version}
-# needed for saving needles optimized
-Requires:       optipng
-Requires:       perl(DBIx::Class) >= 0.082801
-# needed for openid support
-Requires:       perl(LWP::Protocol::https)
-Requires:       perl(URI)
+Requires:       perl(Minion) >= 10.0
 # we need to have the same sha1 as expected
 %requires_eq    perl-Mojolicious-Plugin-AssetPack
 Recommends:     %{name}-local-db
 Requires(post): coreutils
-Requires(post): perl(DBIx::Class::DeploymentHandler)
 Requires(post): perl(SQL::SplitStatement)
 Recommends:     apache2
 Recommends:     apparmor-profiles
@@ -84,27 +93,11 @@
 Recommends:     logrotate
 # server needs to run an rsync server if worker caching is used
 Recommends:     rsync
-BuildRequires:  postgresql-server
 BuildArch:      noarch
 ExcludeArch:    i586
 %{?systemd_requires}
 %if %{with tests}
-BuildRequires:  chromedriver
-BuildRequires:  chromium
-BuildRequires:  glibc-locale
-# pick a font so chromium has something to render - doesn't matter so much
-BuildRequires:  dejavu-fonts
-BuildRequires:  google-roboto-fonts
-BuildRequires:  perl-App-cpanminus
-BuildRequires:  rsync
-BuildRequires:  perl(DBD::SQLite)
-BuildRequires:  perl(Perl::Critic)
-BuildRequires:  perl(Perl::Critic::Freenode)
-BuildRequires:  perl(Perl::Tidy)
-BuildRequires:  perl(Selenium::Remote::Driver) >= 1.20
-BuildRequires:  perl(Test::Compile)
-BuildRequires:  perl(Test::MockObject)
-BuildRequires:  perl(Test::Warnings)
+BuildRequires:  %{test_requires}
 %endif
 %if 0%{?suse_version} >= 1330
 Requires(pre):  group(nogroup)
@@ -129,11 +122,19 @@
 combination of hardware configuration, installation options and variant of the
 operating system.
 
+%package devel
+Summary:        Development package pulling in all build+test dependencies
+Group:          Development/Tools/Other
+Requires:       %{devel_requires}
+
+%description devel
+Development package pulling in all build+test dependencies.
+
 %package common
 Summary:        The openQA common tools for web-frontend and workers
 Group:          Development/Tools/Other
-Requires:       %{t_requires}
-Requires:       perl(Mojolicious) >= 7.92
+Requires:       %{common_requires}
+Requires:       perl(Mojolicious) >= 8.24
 
 %description common
 This package contain shared resources for openQA web-frontend and
@@ -142,17 +143,12 @@
 %package worker
 Summary:        The openQA worker
 Group:          Development/Tools/Other
-Requires:       openQA-client = %{version}
-Requires:       os-autoinst < 5
-Requires:       perl(DBD::SQLite) > 1.51
-Requires:       perl(Minion::Backend::SQLite)
-Requires:       perl(Mojo::IOLoop::ReadWriteProcess) > 0.19
-Requires:       perl(Mojo::SQLite)
-Requires:       perl(SQL::SplitStatement)
+%define worker_requires_including_uncovered_in_tests %worker_requires 
perl(SQL::SplitStatement)
+Requires:       %{worker_requires_including_uncovered_in_tests}
 # FIXME: use proper Requires(pre/post/preun/...)
 PreReq:         openQA-common = %{version}
 Requires(post): coreutils
-Requires(post): os-autoinst >= 4.4
+Requires(post): os-autoinst >= 4.6
 Recommends:     qemu
 # Needed for caching - not required if caching not used...
 Recommends:     rsync
@@ -166,22 +162,23 @@
 %package client
 Summary:        Client tools for remote openQA management
 Group:          Development/Tools/Other
+Requires:       %client_requires
 Requires:       openQA-common = %{version}
-Requires:       perl(Config::IniFiles)
-Requires:       perl(Cpanel::JSON::XS)
-Requires:       perl(Data::Dump)
-Requires:       perl(Getopt::Long)
-Requires:       perl(IO::Socket::SSL) >= 2.009
-Requires:       perl(LWP::UserAgent)
-Requires:       perl(Mojolicious)
-Requires:       perl(Regexp::Common)
-Requires:       perl(Try::Tiny)
-Recommends:     jq
 
 %description client
 Tools and support files for openQA client script. Client script is
 a convenient helper for interacting with openQA webui REST API.
 
+%if %{with python_scripts}
+%package python-scripts
+Summary:        Additional scripts in python
+Group:          Development/Tools/Other
+Requires:       %python_scripts_requires
+
+%description python-scripts
+Additional scripts for the use of openQA in the python programming language.
+%endif
+
 %package local-db
 Summary:        Helper package to ease setup of postgresql DB
 Group:          Development/Tools/Other
@@ -211,6 +208,7 @@
 
 %prep
 %setup -q -a1
+sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all
 
 %build
 make %{?_smp_mflags}
@@ -218,6 +216,7 @@
 %check
 #for double checking
 %if %{with tests}
+sed -i '/Perl::Tidy/d' cpanfile
 cpanm --installdeps --with-feature=test .
 %endif
 
@@ -228,14 +227,22 @@
 #make test
 rm -rf %{buildroot}/DB
 export LC_ALL=en_US.UTF-8
-./t/test_postgresql %{buildroot}/DB
-export TEST_PG="DBI:Pg:dbname=openqa_test;host=%{buildroot}/DB"
-OBS_RUN=1 prove -rv || true
-pg_ctl -D %{buildroot}/DB stop
+# Skip tests not working currently, or flaky, and Selenium tests
+# https://progress.opensuse.org/issues/19652
+# 17-labels_carry_over.t: https://progress.opensuse.org/issues/60209
+rm \
+    t/17-labels_carry_over.t \
+    t/25-cache-service.t \
+    t/ui/*.t
+
+make test-with-database OBS_RUN=1 PROVE_ARGS='-l -r -v' 
TEST_PG_PATH=%{buildroot}/DB
 rm -rf %{buildroot}/DB
 %endif
 
 %install
+%if !%{with python_scripts}
+rm script/openqa-label-all
+%endif
 export LC_ALL=en_US.UTF-8
 export LANG=en_US.UTF-8
 %make_install
@@ -245,10 +252,14 @@
 ln -s %{_sysconfdir}/openqa/database.ini 
%{buildroot}%{_datadir}/openqa%{_sysconfdir}/openqa/database.ini
 mkdir -p %{buildroot}%{_bindir}
 ln -s %{_datadir}/openqa/script/client %{buildroot}%{_bindir}/openqa-client
-ln -s %{_datadir}/openqa/script/clone_job.pl 
%{buildroot}%{_bindir}/openqa-clone-job
+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
 ln -s %{_datadir}/openqa/script/openqa-clone-custom-git-refspec 
%{buildroot}%{_bindir}/openqa-clone-custom-git-refspec
+ln -s %{_datadir}/openqa/script/openqa-validate-yaml 
%{buildroot}%{_bindir}/openqa-validate-yaml
+%if %{with python_scripts}
+ln -s %{_datadir}/openqa/script/openqa-label-all 
%{buildroot}%{_bindir}/openqa-label-all
+%endif
 
 cd %{buildroot}
 grep -rl %{_bindir}/env . | while read file; do
@@ -302,6 +313,7 @@
 %service_add_pre %{openqa_worker_services}
 
 %post
+%tmpfiles_create %{_tmpfilesdir}/openqa-webui.conf
 # install empty log file
 if [ ! -e %{_localstatedir}/log/openqa ]; then
         install -D -m 644 -o geekotest /dev/null %{_localstatedir}/log/openqa 
|| :
@@ -368,7 +380,6 @@
 %{_datadir}/openqa%{_sysconfdir}/openqa/openqa.ini
 %{_datadir}/openqa%{_sysconfdir}/openqa/database.ini
 %config %{_sysconfdir}/logrotate.d
-%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.opensuse.openqa.conf
 # apache vhost
 %dir %{_sysconfdir}/apache2
 %dir %{_sysconfdir}/apache2/vhosts.d
@@ -378,6 +389,8 @@
 # apparmor profile
 %dir %{_sysconfdir}/apparmor.d
 %config %{_sysconfdir}/apparmor.d/usr.share.openqa.script.openqa
+%dir %{_sysconfdir}/apparmor.d/local
+%config %{_sysconfdir}/apparmor.d/local/usr.share.openqa.script.openqa
 # init
 %dir %{_unitdir}
 %{_unitdir}/openqa-webui.service
@@ -385,6 +398,15 @@
 %{_unitdir}/openqa-gru.service
 %{_unitdir}/openqa-scheduler.service
 %{_unitdir}/openqa-websockets.service
+%{_unitdir}/openqa-enqueue-audit-event-cleanup.service
+%{_unitdir}/openqa-enqueue-audit-event-cleanup.timer
+%{_unitdir}/openqa-enqueue-asset-cleanup.service
+%{_unitdir}/openqa-enqueue-asset-cleanup.timer
+%{_unitdir}/openqa-enqueue-result-cleanup.service
+%{_unitdir}/openqa-enqueue-result-cleanup.timer
+%{_unitdir}/openqa-enqueue-bug-cleanup.service
+%{_unitdir}/openqa-enqueue-bug-cleanup.timer
+%{_tmpfilesdir}/openqa-webui.conf
 # web libs
 %dir %{_datadir}/openqa
 %{_datadir}/openqa/templates
@@ -392,7 +414,6 @@
 %{_datadir}/openqa/assets
 %{_datadir}/openqa/dbicdh
 %{_datadir}/openqa/script/check_dependencies
-%{_datadir}/openqa/script/clean_needles
 %{_datadir}/openqa/script/create_admin
 %{_datadir}/openqa/script/fetchneedles
 %{_datadir}/openqa/script/initdb
@@ -421,6 +442,8 @@
 %ghost %{_localstatedir}/lib/openqa/db/db.sqlite
 %ghost %{_localstatedir}/log/openqa
 
+%files devel
+
 %files common
 %dir %{_datadir}/openqa
 %{_datadir}/openqa/lib
@@ -472,7 +495,10 @@
 %{_datadir}/openqa/script/clone_job.pl
 %{_datadir}/openqa/script/dump_templates
 %{_datadir}/openqa/script/load_templates
+%{_datadir}/openqa/script/openqa-clone-job
 %{_datadir}/openqa/script/openqa-clone-custom-git-refspec
+%{_datadir}/openqa/script/openqa-validate-yaml
+%{_datadir}/openqa/script/configure-web-proxy
 %dir %{_datadir}/openqa/lib
 %{_datadir}/openqa/lib/OpenQA/Client.pm
 %{_datadir}/openqa/lib/OpenQA/Client
@@ -482,6 +508,13 @@
 %{_bindir}/openqa-dump-templates
 %{_bindir}/openqa-load-templates
 %{_bindir}/openqa-clone-custom-git-refspec
+%{_bindir}/openqa-validate-yaml
+
+%if %{with python_scripts}
+%files python-scripts
+%{_datadir}/openqa/script/openqa-label-all
+%{_bindir}/openqa-label-all
+%endif
 
 %files doc
 %doc docs/*

++++++ _service ++++++
--- /var/tmp/diff_new_pack.GRItod/_old  2020-02-26 16:59:10.126845099 +0100
+++ /var/tmp/diff_new_pack.GRItod/_new  2020-02-26 16:59:10.130845107 +0100
@@ -1,9 +1,10 @@
 <?xml version="1.0"?>
 <services>
   <service name="obs_scm" mode="disabled">
-    <param name="extract">docker/travis_test/Dockerfile</param>
     <param name="extract">openQA.spec</param>
     <param name="extract">openQA-test.spec</param>
+    <param name="extract">openQA-worker-test.spec</param>
+    <param name="extract">openQA-devel-test.spec</param>
     <param name="url">git://github.com/os-autoinst/openQA.git</param>
     <param name="revision">master</param>
     <param name="versionprefix">4.6</param>

++++++ cache.txz ++++++
Binary files /var/tmp/diff_new_pack.GRItod/_old and 
/var/tmp/diff_new_pack.GRItod/_new differ

++++++ openQA-4.6.1555478309.f6dfdd9b.obscpio -> 
openQA-4.6.1582356603.73b75d1a4.obscpio ++++++
/work/SRC/openSUSE:Leap:15.2/openQA/openQA-4.6.1555478309.f6dfdd9b.obscpio 
/work/SRC/openSUSE:Leap:15.2/.openQA.new.26092/openQA-4.6.1582356603.73b75d1a4.obscpio
 differ: char 19, line 1

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.GRItod/_old  2020-02-26 16:59:10.178845202 +0100
+++ /var/tmp/diff_new_pack.GRItod/_new  2020-02-26 16:59:10.182845209 +0100
@@ -1,5 +1,5 @@
 name: openQA
-version: 4.6.1555478309.f6dfdd9b
-mtime: 1555478309
-commit: f6dfdd9b3e8e359f0364cfedfc3c806030f47073
+version: 4.6.1582356603.73b75d1a4
+mtime: 1582356603
+commit: 73b75d1a43aad92debefae87364d7ed91c9a7ca3
 


Reply via email to