Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2025-09-22 16:38:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.27445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Mon Sep 22 16:38:55 2025 rev:752 rq:1306177 version:5.1758307053.75367131

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2025-09-19 
19:52:03.424036680 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.27445/openQA.changes 2025-09-22 
16:39:17.912448859 +0200
@@ -1,0 +2,7 @@
+Sat Sep 20 20:13:19 UTC 2025 - [email protected]
+
+- Update to version 5.1758307053.75367131:
+  * docs: Fix shell syntax in development setup
+  * Replace argument assignment with signatures on ObsRsync
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1758276230.9cef0ea3.obscpio

New:
----
  openQA-5.1758307053.75367131.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.VIyIKC/_old  2025-09-22 16:39:20.812570885 +0200
+++ /var/tmp/diff_new_pack.VIyIKC/_new  2025-09-22 16:39:20.824571390 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1758276230.9cef0ea3
+Version:        5.1758307053.75367131
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.VIyIKC/_old  2025-09-22 16:39:21.048580815 +0200
+++ /var/tmp/diff_new_pack.VIyIKC/_new  2025-09-22 16:39:21.060581320 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1758276230.9cef0ea3
+Version:        5.1758307053.75367131
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.VIyIKC/_old  2025-09-22 16:39:21.376594617 +0200
+++ /var/tmp/diff_new_pack.VIyIKC/_new  2025-09-22 16:39:21.396595459 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1758276230.9cef0ea3
+Version:        5.1758307053.75367131
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.VIyIKC/_old  2025-09-22 16:39:21.656606399 +0200
+++ /var/tmp/diff_new_pack.VIyIKC/_new  2025-09-22 16:39:21.676607241 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1758276230.9cef0ea3
+Version:        5.1758307053.75367131
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.VIyIKC/_old  2025-09-22 16:39:22.036622389 +0200
+++ /var/tmp/diff_new_pack.VIyIKC/_new  2025-09-22 16:39:22.048622893 +0200
@@ -99,7 +99,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1758276230.9cef0ea3
+Version:        5.1758307053.75367131
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later

++++++ openQA-5.1758276230.9cef0ea3.obscpio -> 
openQA-5.1758307053.75367131.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1758276230.9cef0ea3/docs/Contributing.asciidoc 
new/openQA-5.1758307053.75367131/docs/Contributing.asciidoc
--- old/openQA-5.1758276230.9cef0ea3/docs/Contributing.asciidoc 2025-09-19 
12:03:50.000000000 +0200
+++ new/openQA-5.1758307053.75367131/docs/Contributing.asciidoc 2025-09-19 
20:37:33.000000000 +0200
@@ -646,18 +646,18 @@
 [source,sh]
 ----
 ### distrobox container ###
-echo <<< EOM
+cat >> $OPENQA_CONFIG/client.conf << EOM
 [localhost]
 key = 1234567890ABCDEF
 secret = 1234567890ABCDEF
-EOM >> $OPENQA_CONFIG/client.conf
+EOM
 
-echo <<< EOM
+cat  >> $OPENQA_CONFIG/database.ini << EOM
 [production]
 dsn = dbi:Pg:dbname=openqa-local;host=127.0.0.1;port=5432
 user = geekotest
 password = x
-EOM >> $OPENQA_CONFIG/database.ini
+EOM
 
 cp $OPENQA_REPOS/openQA/etc/openqa/workers.ini $OPENQA_CONFIG/workers.ini
 crudini --set $OPENQA_CONFIG/workers.ini global HOST http://localhost:9526
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1758276230.9cef0ea3/lib/OpenQA/WebAPI/Plugin/ObsRsync.pm 
new/openQA-5.1758307053.75367131/lib/OpenQA/WebAPI/Plugin/ObsRsync.pm
--- old/openQA-5.1758276230.9cef0ea3/lib/OpenQA/WebAPI/Plugin/ObsRsync.pm       
2025-09-19 12:03:50.000000000 +0200
+++ new/openQA-5.1758307053.75367131/lib/OpenQA/WebAPI/Plugin/ObsRsync.pm       
2025-09-19 20:37:33.000000000 +0200
@@ -23,8 +23,7 @@
 # non-privileged routes - will be accessible with curl without authentication
 # ensure_operator - privileged routes for using in UI
 # api_ensure_operator - privileged routes for API access
-sub register_common_routes {
-    my ($self, $r, $suffix) = @_;
+sub register_common_routes ($self, $r, $suffix = undef) {
     my $prefix = 'plugin_obs_rsync_';
     $prefix .= $suffix . '_' if $suffix;
 
@@ -35,8 +34,7 @@
       ->to('Plugin::ObsRsync::Controller::Folders#test_result');
 }
 
-sub register {
-    my ($self, $app, $config) = @_;
+sub register ($self, $app, $config) {
     my $plugin_r = $app->routes->find('ensure_operator');
     my $plugin_api_r = $app->routes->find('api_ensure_operator');
 
@@ -85,8 +83,7 @@
         $app->helper('obs_rsync.get_test_result' => \&_get_test_result);
         $app->helper('obs_rsync.get_run_last_info' => \&_get_run_last_info);
         $app->helper(
-            'obs_rsync.get_fail_last_info' => sub {
-                my ($c, $project) = @_;
+            'obs_rsync.get_fail_last_info' => sub ($c, $project) {
                 return _get_last_failed_job($c, $project, 1);
             });
         $app->helper('obs_rsync.get_api_repo' => \&_get_api_repo);
@@ -175,8 +172,7 @@
 
 # try to determine whether project is dirty
 # undef means status is unknown
-sub _is_obs_project_status_dirty {
-    my ($self, $url, $project, $repo, $helper) = @_;
+sub _is_obs_project_status_dirty ($self, $url, $project, $repo, $helper) {
     return undef unless $url;
 
     # Use only one UserAgent
@@ -198,8 +194,7 @@
     return _parse_obs_response_dirty($res, $repo);
 }
 
-sub _parse_obs_response_dirty {
-    my ($res, $repo) = @_;
+sub _parse_obs_response_dirty ($res, $repo = undef) {
     $repo = 'images' unless $repo;
 
     my $results = $res->dom('result');
@@ -222,8 +217,7 @@
 # and returns pair ('projectname', 'repo')
 # if input doesn't have '::' character -
 # returned pair is ($project, '')
-sub _split_repo {
-    my (undef, $alias) = @_;
+sub _split_repo ($, $alias) {
     my ($project, $repo) = split(/::/, $alias, 2);
     $repo = '' unless $repo;
     return ($project, $repo);
@@ -233,15 +227,13 @@
 # and returns pair ('projectname', 'batchname')
 # if input doesn't have '|' character -
 # returned pair is ($project, '')
-sub _split_alias {
-    my (undef, $alias) = @_;
+sub _split_alias ($, $alias) {
     my ($project, $batch) = split(/\|/, $alias, 2);
     $batch = '' unless $batch;
     return ($project, $batch);
 }
 
-sub _get_batches {
-    my ($c, $project, $only_first) = @_;
+sub _get_batches ($c, $project, $only_first = undef) {
     my $home = $c->obs_rsync->home;
     my $batches = Mojo::File->new($home, $project)->list({dir => 1})->grep(sub 
{ -d $_ })->map('basename');
     return $batches->to_array() unless $only_first;
@@ -253,8 +245,7 @@
 # and return it in pair with split project name
 # otherwise it attempts to find first batch of project
 # and returns it in pair with unaltered input
-sub _get_first_batch {
-    my ($c, $alias) = @_;
+sub _get_first_batch ($c, $alias) {
     my $helper = $c->obs_rsync;
     my ($project, $batch) = $helper->split_alias($alias);
     return ($batch, $project) if $batch;
@@ -265,8 +256,7 @@
 # extract the job id returned by `job post` command as noted in openqa.cmd.log
 # returns empty string when log file doesn't exists or pattern didn't match
 # throws exception if OS error occurs
-sub _get_last_test_id {
-    my ($c, $alias) = @_;
+sub _get_last_test_id ($c, $alias) {
     my $home = $c->obs_rsync->home;
     # don't call get_first_batch: test info is not supported for batches yet
 
@@ -288,14 +278,12 @@
     return $res;
 }
 
-sub _get_test_result {
-    my ($c, $id) = @_;
+sub _get_test_result ($c, $id) {
     return 'unknown' unless my $job = $c->schema->resultset('Jobs')->find($id);
     return $job->result;
 }
 
-sub _get_version_test_id {
-    my ($c, $project, $version) = @_;
+sub _get_version_test_id ($c, $project, $version = undef) {
     return undef unless $version;
     my $home = $c->obs_rsync->home;
     my $runs = Mojo::File->new($home, $project)->list({dir => 1, hidden => 
1})->map('basename')->grep(qr/\.run_.*/)
@@ -308,8 +296,7 @@
 # string in format %y%m%d_%H%M%S, which corresponds to location
 # used by openqa-trigger-from-obs to determine if any files changed
 # or rsync can be skipped.
-sub _get_run_last_info {
-    my ($c, $alias) = @_;
+sub _get_run_last_info ($c, $alias) {
     my $helper = $c->obs_rsync;
     my $home = $helper->home;
     my ($batch, $project) = $helper->get_first_batch($alias);
@@ -331,8 +318,7 @@
     return \%res;
 }
 
-sub _get_first_line {
-    my ($file, $with_timestamp) = @_;
+sub _get_first_line ($file, $with_timestamp = undef) {
     open(my $fh, '<', $file) or return '';
     my $res = readline $fh;
     return '' unless $res;
@@ -346,8 +332,7 @@
     return $res;
 }
 
-sub _write_to_file {
-    my ($file, $str) = @_;
+sub _write_to_file ($file, $str) {
     if (open(my $fh, '>', $file)) {
         print $fh $str;
         close $fh;
@@ -355,8 +340,7 @@
 }
 
 # Dirty status file is updated from ObsRsync Gru tasks
-sub _get_dirty_status {
-    my ($c, $alias) = @_;
+sub _get_dirty_status ($c, $alias) {
     my $helper = $c->obs_rsync;
     # doesn't depend on batch, so just strip it out
     my ($project, undef) = $helper->split_alias($alias);
@@ -367,8 +351,7 @@
 }
 
 # Which repo on OBS should trigger sync
-sub _get_api_repo {
-    my ($c, $alias) = @_;
+sub _get_api_repo ($c, $alias) {
     my $helper = $c->obs_rsync;
     # doesn't depend on batch, so just strip it out
     my ($project, undef) = $helper->split_alias($alias);
@@ -381,8 +364,7 @@
 }
 
 # Which package on OBS should be checked for being published on obs
-sub _get_api_package {
-    my ($c, $alias) = @_;
+sub _get_api_package ($c, $alias) {
     my $helper = $c->obs_rsync;
     # doesn't depend on batch, so just strip it out
     my ($project, undef) = $helper->split_alias($alias);
@@ -393,8 +375,7 @@
 }
 
 # Build url to check dirty status for project
-sub _get_api_dirty_status_url {
-    my ($c, $project) = @_;
+sub _get_api_dirty_status_url ($c, $project) {
     my $helper = $c->obs_rsync;
     my $url_str = $helper->project_status_url;
     return '' unless $url_str;
@@ -408,8 +389,7 @@
     return $url->to_string;
 }
 
-sub _get_builds_in_file {
-    my ($file, $seen) = @_;
+sub _get_builds_in_file ($file, $seen) {
     open(my $fh, '<', $file) or return undef;
     while (my $row = <$fh>) {
         chomp $row;
@@ -425,8 +405,7 @@
 # Obs version is parsed from files_iso.lst for iso and hdd
 # and from Media*.lst, for repositories
 # these files are updated from ObsRsync Gru tasks
-sub _get_builds_in_folder {
-    my ($folder) = @_;
+sub _get_builds_in_folder ($folder) {
     my %seen;
     _get_builds_in_file(Mojo::File->new($folder, $files_iso_filename), \%seen);
     Mojo::File->new($folder)->list()->grep($files_media_filemask)->each(
@@ -437,14 +416,12 @@
 }
 
 # Obs builds are parsed from files_iso.lst, which is updated from ObsRsync Gru 
tasks
-sub _get_obs_builds_text {
-    my ($c, $alias, $last) = @_;
+sub _get_obs_builds_text ($c, $alias, $last = undef) {
     my $helper = $c->obs_rsync;
     my $home = $helper->home;
     my $subfolder = $last ? '.run_last' : '';
     my %seen;
-    my $sub = sub {
-        my ($project, $batch) = @_;
+    my $sub = sub ($project, $batch) {
         my @builds = _get_builds_in_folder(Mojo::File->new($home, $project, 
$batch, $subfolder));
         for my $build (@builds) {
             $seen{$build} = 1 if $build;
@@ -458,53 +435,45 @@
     return join ', ', @builds;
 }
 
-sub _concurrency_guard {
-    my $app = shift->app;
+sub _concurrency_guard ($c) {
+    my $app = $c->app;
     return $app->minion->guard('obs_rsync_run_guard', $lock_timeout, {limit => 
$app->obs_rsync->concurrency});
 }
 
-sub _guard {
-    my ($c, $project) = @_;
+sub _guard ($c, $project) {
     return $c->app->minion->guard('obs_rsync_project_' . $project . '_lock', 
$lock_timeout);
 }
 
-sub _lock {
-    my ($c, $project) = @_;
+sub _lock ($c, $project) {
     return $c->app->minion->lock('obs_rsync_project_' . $project . '_lock', 
$lock_timeout);
 }
 
-sub _unlock {
-    my ($c, $project) = @_;
+sub _unlock ($c, $project) {
     return $c->app->minion->unlock('obs_rsync_project_' . $project . '_lock');
 }
 
-sub _log_job_id {
-    my ($c, $project, $job_id) = @_;
+sub _log_job_id ($c, $project, $job_id) {
     my $home = $c->obs_rsync->home;
     return _write_to_file(Mojo::File->new($home, $project, '.job_id'), 
$job_id);
 }
 
-sub _log_failure {
-    my ($c, $project, $job_id) = @_;
+sub _log_failure ($c, $project, $job_id) {
     my $home = $c->obs_rsync->home;
     return _write_to_file(Mojo::File->new($home, $project, 
'.last_failed_job_id'), $job_id);
 }
 
-sub _get_last_failed_job {
-    my ($c, $project, $with_timestamp) = @_;
+sub _get_last_failed_job ($c, $project, $with_timestamp) {
     my $home = $c->obs_rsync->home;
     return _get_first_line(Mojo::File->new($home, $project, 
'.last_failed_job_id'), $with_timestamp);
 }
 
-sub _check_and_render_error {
-    my ($c, @args) = @_;
+sub _check_and_render_error ($c, @args) {
     my ($code, $message) = _check_error($c->obs_rsync->home, @args);
     $c->render(json => {error => $message}, status => $code) if $code;
     return $code;
 }
 
-sub _check_error {
-    my ($home, $alias, $subfolder, $filename) = @_;
+sub _check_error ($home, $alias, $subfolder = undef, $filename = undef) {
     return (405, 'Home directory is not set') unless $home;
     return (405, 'Home directory not found') unless -d $home;
     return (400, 'Project has invalid characters') if $alias && $alias =~ m!/!;
@@ -518,8 +487,7 @@
     return 0;
 }
 
-sub _for_every_batch {
-    my ($c, $alias, $sub) = @_;
+sub _for_every_batch ($c, $alias, $sub) {
     my $helper = $c->obs_rsync;
     my ($project, $batch) = $helper->split_alias($alias);
 

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.VIyIKC/_old  2025-09-22 16:39:35.609193472 +0200
+++ /var/tmp/diff_new_pack.VIyIKC/_new  2025-09-22 16:39:35.613193640 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1758276230.9cef0ea3
-mtime: 1758276230
-commit: 9cef0ea379237e2862b36f96f3a39b5effcd01bb
+version: 5.1758307053.75367131
+mtime: 1758307053
+commit: 75367131d478f753cd146b6896a6344256e81f59
 

Reply via email to