Compare commits
1 Commits
a9
...
a9-bootstr
| Author | SHA1 | Date | |
|---|---|---|---|
| fdc2990d32 |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/openQA-637609536026a0950adf5d3aa30b54f16c73e178.tar.gz
|
SOURCES/assetcache-9267281b4e7ec98515f7d6e680c5b17d1944e29a.tar.xz
|
||||||
SOURCES/assetcache-637609536026a0950adf5d3aa30b54f16c73e178.tar.xz
|
SOURCES/openQA-9267281b4e7ec98515f7d6e680c5b17d1944e29a.tar.gz
|
||||||
@ -1,2 +1,2 @@
|
|||||||
6cb0c8ca0be44ba7e9eda423fd497f8102977af2 SOURCES/openQA-637609536026a0950adf5d3aa30b54f16c73e178.tar.gz
|
ab9254c6b67e392274d9afe2043a89e97e1c97a5 SOURCES/assetcache-9267281b4e7ec98515f7d6e680c5b17d1944e29a.tar.xz
|
||||||
14ff43991d8e0644245a6d474219d09163edbfc9 SOURCES/assetcache-637609536026a0950adf5d3aa30b54f16c73e178.tar.xz
|
81fa866caef7e69e2d4c10ccb823fb5e2d0929cf SOURCES/openQA-9267281b4e7ec98515f7d6e680c5b17d1944e29a.tar.gz
|
||||||
|
|||||||
@ -1,23 +0,0 @@
|
|||||||
--- a/templates/webapi/layouts/navbar.html.ep 2026-06-04 10:30:53.000000000 +0200
|
|
||||||
+++ b/templates/webapi/layouts/navbar.html.ep 2026-07-24 12:14:51.851179791 +0200
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
% my $current_user = current_user;
|
|
||||||
<nav class="navbar navbar-expand-lg navbar-light">
|
|
||||||
<div class="container-fluid">
|
|
||||||
- <a class="navbar-brand" href="/"><img src="<%= icon_url 'logo.svg'%>" alt="openQA"></a>
|
|
||||||
+ <a class="navbar-brand" href="/"><img src="/images/almalinux.svg" alt="openQA"></a>
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
--- a/templates/webapi/layouts/bootstrap.html.ep 2026-06-04 10:30:53.000000000 +0200
|
|
||||||
+++ b/templates/webapi/layouts/bootstrap.html.ep 2026-07-24 12:14:51.875750357 +0200
|
|
||||||
@@ -46,7 +46,8 @@
|
|
||||||
<link id="favicon-16" rel="icon" href="<%= favicon_url '-16.png' %>" sizes="16x16" type="image/png">
|
|
||||||
<link id="favicon-svg" rel="icon" href="<%= favicon_url '.svg' %>" sizes="any" type="image/svg+xml">
|
|
||||||
|
|
||||||
- </head>
|
|
||||||
+ %= include_branding 'style'
|
|
||||||
+</head>
|
|
||||||
<body>
|
|
||||||
%= include 'layouts/navbar'
|
|
||||||
<div class="container-fluid" id="content">
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
--- a/lib/OpenQA/CacheService/Model/Cache.pm 2026-06-04 10:30:53.000000000 +0200
|
|
||||||
+++ b/lib/OpenQA/CacheService/Model/Cache.pm 2026-07-21 19:12:03.848668944 +0200
|
|
||||||
@@ -182,13 +182,13 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
sub _update_metric ($self, $name, $value) {
|
|
||||||
- $self->_exclusive_query(q{INSERT INTO metrics (name, value) VALUES ($1, $2) ON CONFLICT DO UPDATE SET value = $2},
|
|
||||||
+ $self->_exclusive_query(q{INSERT INTO metrics (name, value) VALUES ($1, $2) ON CONFLICT(name) DO UPDATE SET value = $2},
|
|
||||||
$name, $value);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub _increase_metric ($self, $name, $by_value) {
|
|
||||||
$self->_exclusive_query(
|
|
||||||
- q{INSERT INTO metrics (name, value) VALUES ($1, $2) ON CONFLICT DO UPDATE SET value = value + $2},
|
|
||||||
+ q{INSERT INTO metrics (name, value) VALUES ($1, $2) ON CONFLICT(name) DO UPDATE SET value = value + $2},
|
|
||||||
$name, $by_value);
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/t/24-worker-jobs.t 2026-06-04 10:30:53.000000000 +0200
|
|
||||||
+++ b/t/24-worker-jobs.t 2026-07-21 19:12:31.186410150 +0200
|
|
||||||
@@ -93,7 +93,7 @@
|
|
||||||
# Fake client and engine
|
|
||||||
# uncoverable statement count:1
|
|
||||||
package Test::FakeClient {
|
|
||||||
- use Mojo::Base -base;
|
|
||||||
+ use Mojo::Base -base, -signatures;
|
|
||||||
has worker_id => 1;
|
|
||||||
has service_port_delta => 2;
|
|
||||||
has webui_host => 'not relevant here';
|
|
||||||
@@ -139,7 +139,7 @@
|
|
||||||
} # uncoverable statement count:1
|
|
||||||
|
|
||||||
package Test::FakeEngine {
|
|
||||||
- use Mojo::Base -base;
|
|
||||||
+ use Mojo::Base -base, -signatures;
|
|
||||||
has pid => 1;
|
|
||||||
has errored => 0;
|
|
||||||
has is_running => 1;
|
|
||||||
--- a/lib/OpenQA/Schema/ResultSet/ScheduledProducts.pm 2026-06-04 10:30:53.000000000 +0200
|
|
||||||
+++ b/lib/OpenQA/Schema/ResultSet/ScheduledProducts.pm 2026-07-22 14:16:01.434881645 +0200
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
sub update_note ($self, $distri, $version, $flavor, $arch, $build, $note) {
|
|
||||||
my $sth = $self->result_source->schema->storage->dbh->prepare(
|
|
||||||
<<~'END_SQL'
|
|
||||||
- UPDATE scheduled_products SET results['note'] = ? where id = (
|
|
||||||
+ UPDATE scheduled_products SET results = jsonb_set(coalesce(results, '{}'::jsonb), '{note}', ?::jsonb) where id = (
|
|
||||||
SELECT id
|
|
||||||
FROM scheduled_products
|
|
||||||
WHERE distri = ? and version = ? and flavor = ? and arch = ? and build = ?
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
From a5465d3a37632a503c772f0c87f4d03f198ecdbf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adam Williamson <awilliam@redhat.com>
|
|
||||||
Date: Fri, 5 Jun 2026 16:14:57 -0700
|
|
||||||
Subject: [PATCH] fix: Support invent.kde.org and 'work_items' in bug URL
|
|
||||||
handling
|
|
||||||
|
|
||||||
https://invent.kde.org is another issue tracker we should know
|
|
||||||
about. It's Gitlab.
|
|
||||||
|
|
||||||
While we're here, also handle Gitlab URLs with 'work_items' in
|
|
||||||
them instead of 'issues', as Gitlab rebranded that recently. We
|
|
||||||
don't need to support this in the other direction (ref to URL)
|
|
||||||
yet, fortunately - Gitlab redirects /issues/ to /work_items/.
|
|
||||||
|
|
||||||
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
|
||||||
---
|
|
||||||
lib/OpenQA/Utils.pm | 7 ++++++-
|
|
||||||
t/16-utils.t | 2 ++
|
|
||||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/lib/OpenQA/Utils.pm b/lib/OpenQA/Utils.pm
|
|
||||||
index 4bb40db6e..e73617d15 100644
|
|
||||||
--- a/lib/OpenQA/Utils.pm
|
|
||||||
+++ b/lib/OpenQA/Utils.pm
|
|
||||||
@@ -49,6 +49,7 @@ BEGIN {
|
|
||||||
poo => 'https://progress.opensuse.org/issues/',
|
|
||||||
gh => 'https://github.com/',
|
|
||||||
kde => 'https://bugs.kde.org/show_bug.cgi?id=',
|
|
||||||
+ kdi => 'https://invent.kde.org/',
|
|
||||||
fdo => 'https://bugs.freedesktop.org/show_bug.cgi?id=',
|
|
||||||
jsc => 'https://jira.suse.com/browse/',
|
|
||||||
pio => 'https://pagure.io/',
|
|
||||||
@@ -66,6 +67,7 @@ BEGIN {
|
|
||||||
$BUGREFS{poo} => 'poo',
|
|
||||||
$BUGREFS{gh} => 'gh',
|
|
||||||
$BUGREFS{kde} => 'kde',
|
|
||||||
+ $BUGREFS{kdi} => 'kdi',
|
|
||||||
$BUGREFS{fdo} => 'fdo',
|
|
||||||
$BUGREFS{jsc} => 'jsc',
|
|
||||||
$BUGREFS{pio} => 'pio',
|
|
||||||
@@ -441,6 +443,8 @@ sub bugurl ($bugref) {
|
|
||||||
# same page as https://github.com/os-autoinst/openQA/pull/966 and vice
|
|
||||||
# versa for both an issue as well as pull request
|
|
||||||
# for pagure.io it has to be "issue", not "issues"
|
|
||||||
+ # gitlab rebranded "issues" to "work_items" in 2026, but so far
|
|
||||||
+ # they're keeping a redirect so we can still use "issues" for now
|
|
||||||
$bugref =~ BUGREF_REGEX or return $bugref;
|
|
||||||
my $issuetext = $+{marker} eq 'pio' ? 'issue' : 'issues';
|
|
||||||
return $BUGREFS{$+{marker}} . ($+{repo} ? "$+{repo}/$issuetext/" : '') . $+{id};
|
|
||||||
@@ -464,7 +468,8 @@ sub href_to_bugref ($text) {
|
|
||||||
# interchangeable, see comment in 'bugurl', too
|
|
||||||
# gitlab URLs have an odd /-/ after the repo name, e.g.
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5244
|
|
||||||
- $regex = qr{(?<!["\(\[])(?<url_root>$regex)((?<repo>.*?)/(-/)?(issues?|pull)/)?(?<id>([A-Z]+-)?\d+)(?![\w])};
|
|
||||||
+ $regex
|
|
||||||
+ = qr{(?<!["\(\[])(?<url_root>$regex)((?<repo>.*?)/(-/)?(issues?|pull|work_items)/)?(?<id>([A-Z]+-)?\d+)(?![\w])};
|
|
||||||
$text =~ s{$regex}{@{[$BUGURLS{$+{url_root}} . ($+{repo} ? '#' . $+{repo} : '')]}#$+{id}}gi;
|
|
||||||
return $text;
|
|
||||||
}
|
|
||||||
diff --git a/t/16-utils.t b/t/16-utils.t
|
|
||||||
index 111acb6ff..fc910cb6c 100644
|
|
||||||
--- a/t/16-utils.t
|
|
||||||
+++ b/t/16-utils.t
|
|
||||||
@@ -142,6 +142,8 @@ is href_to_bugref('https://gitlab.gnome.org/GNOME/foo/-/issues/1234'), 'ggo#GNOM
|
|
||||||
is href_to_bugref('https://gitlab.com/fedora/sigs/flatpak/fedora-flatpaks/-/issues/26'),
|
|
||||||
'gfs#flatpak/fedora-flatpaks#26',
|
|
||||||
'Fedora SIGs gitlab url to bugref';
|
|
||||||
+is href_to_bugref('https://invent.kde.org/plasma/systemsettings/-/work_items/49'), 'kdi#plasma/systemsettings#49',
|
|
||||||
+ 'KDE Invent gitlab url to bugref (with newer "work_items" name)';
|
|
||||||
is find_bug_number('yast_roleconf-ntp-servers-empty-bsc1114818-20181115.png'), 'bsc1114818',
|
|
||||||
'find the bug number from the needle name';
|
|
||||||
|
|
||||||
--
|
|
||||||
2.54.0
|
|
||||||
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
From b744b8a9033260380c359b068497d264088e6a10 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adam Williamson <awilliam@redhat.com>
|
|
||||||
Date: Thu, 4 Jun 2026 16:00:11 -0700
|
|
||||||
Subject: [PATCH] t: Skip earlier in tests_dependencies.t
|
|
||||||
|
|
||||||
Skipping after the first subtest causes the test system to get
|
|
||||||
confused and fail:
|
|
||||||
|
|
||||||
Test Summary Report
|
|
||||||
-------------------
|
|
||||||
t/ui/16-tests_dependencies.t (Wstat: 0 Tests: 1 Failed: 0)
|
|
||||||
Parse errors: Bad plan. You planned 0 tests but ran 1.
|
|
||||||
|
|
||||||
So we must skip the whole thing if Selenium isn't present, even
|
|
||||||
though that first subtest doesn't really need it.
|
|
||||||
|
|
||||||
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
|
||||||
---
|
|
||||||
t/ui/16-tests_dependencies.t | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/t/ui/16-tests_dependencies.t b/t/ui/16-tests_dependencies.t
|
|
||||||
index 6dfa7e4ff..53600db26 100644
|
|
||||||
--- a/t/ui/16-tests_dependencies.t
|
|
||||||
+++ b/t/ui/16-tests_dependencies.t
|
|
||||||
@@ -19,6 +19,8 @@ use OpenQA::JobDependencies::Constants qw(CHAINED DIRECTLY_CHAINED PARALLEL);
|
|
||||||
use OpenQA::Jobs::Constants;
|
|
||||||
use OpenQA::WebAPI::Controller::Test;
|
|
||||||
|
|
||||||
+driver_missing unless my $driver = call_driver;
|
|
||||||
+
|
|
||||||
subtest 'detailed behavior of merging parallel jobs into clusters' => sub {
|
|
||||||
my (%clusters, %cluster_by_job);
|
|
||||||
my %data = (cluster => \%clusters, cluster_by_job => \%cluster_by_job);
|
|
||||||
@@ -79,7 +81,6 @@ $dependencies->create({child_job_id => 99945, parent_job_id => 99937, dependency
|
|
||||||
$dependencies->create({child_job_id => 99927, parent_job_id => 99961, dependency => DIRECTLY_CHAINED});
|
|
||||||
|
|
||||||
my $t = Test::Mojo->new('OpenQA::WebAPI');
|
|
||||||
-driver_missing unless my $driver = call_driver;
|
|
||||||
|
|
||||||
sub get_tooltip ($job_id) {
|
|
||||||
$driver->execute_script("return \$('#nodeTable$job_id').closest('.node').data('bs-original-title');");
|
|
||||||
--
|
|
||||||
2.54.0
|
|
||||||
|
|
||||||
@ -76,14 +76,13 @@ EOF
|
|||||||
|
|
||||||
my $tempdir = tempdir;
|
my $tempdir = tempdir;
|
||||||
$ENV{OPENQA_CONFIG} = $tempdir;
|
$ENV{OPENQA_CONFIG} = $tempdir;
|
||||||
path($ENV{OPENQA_CONFIG})->make_path->child("openqa.ini")->spew($conf);
|
path($ENV{OPENQA_CONFIG})->make_path->child("openqa.ini")->spurt($conf);
|
||||||
|
|
||||||
my $t = Test::Mojo->new('OpenQA::WebAPI');
|
my $t = Test::Mojo->new('OpenQA::WebAPI');
|
||||||
|
|
||||||
# XXX: Test::Mojo loses its app when setting a new ua
|
# XXX: Test::Mojo loses its app when setting a new ua
|
||||||
# https://github.com/kraih/mojo/issues/598
|
# https://github.com/kraih/mojo/issues/598
|
||||||
my $app = $t->app;
|
my $app = $t->app;
|
||||||
$app->config->{'scm git'}->{git_auto_update} = 'no';
|
|
||||||
$t->ua(
|
$t->ua(
|
||||||
OpenQA::Client->new(apikey => 'PERCIVALKEY02', apisecret => 'PERCIVALSECRET02')->ioloop(Mojo::IOLoop->singleton));
|
OpenQA::Client->new(apikey => 'PERCIVALKEY02', apisecret => 'PERCIVALSECRET02')->ioloop(Mojo::IOLoop->singleton));
|
||||||
$t->app($app);
|
$t->app($app);
|
||||||
@ -260,6 +259,7 @@ subtest 'duplicate and pass job' => sub {
|
|||||||
|
|
||||||
subtest 'create update job' => sub {
|
subtest 'create update job' => sub {
|
||||||
$plugin_mock_callcount = 0;
|
$plugin_mock_callcount = 0;
|
||||||
|
diag("Count: $plugin_mock_callcount");
|
||||||
$settings->{BUILD} = 'Update-FEDORA-2019-6bda4c81f4';
|
$settings->{BUILD} = 'Update-FEDORA-2019-6bda4c81f4';
|
||||||
# this is intentionally not in alphabetical order
|
# this is intentionally not in alphabetical order
|
||||||
$settings->{ADVISORY_NVRS} = 'kernel-5.2.7-100.fc29 kernel-tools-5.2.7-100.fc29 kernel-headers-5.2.7-100.fc29';
|
$settings->{ADVISORY_NVRS} = 'kernel-5.2.7-100.fc29 kernel-tools-5.2.7-100.fc29 kernel-headers-5.2.7-100.fc29';
|
||||||
@ -271,6 +271,7 @@ subtest 'create update job' => sub {
|
|||||||
delete $settings->{SUBVARIANT};
|
delete $settings->{SUBVARIANT};
|
||||||
$t->post_ok("/api/v1/jobs" => form => $settings)->status_is(200);
|
$t->post_ok("/api/v1/jobs" => form => $settings)->status_is(200);
|
||||||
ok(my $updatejob = $t->tx->res->json->{id}, 'got ID of update job');
|
ok(my $updatejob = $t->tx->res->json->{id}, 'got ID of update job');
|
||||||
|
diag("Count: $plugin_mock_callcount");
|
||||||
ok($plugin_mock_callcount == 1, 'mock was called');
|
ok($plugin_mock_callcount == 1, 'mock was called');
|
||||||
my ($body, $headerframe) = @{$published{'org.fedoraproject.stg.ci.fedora-update.test.queued'}};
|
my ($body, $headerframe) = @{$published{'org.fedoraproject.stg.ci.fedora-update.test.queued'}};
|
||||||
$expected_artifact = {
|
$expected_artifact = {
|
||||||
@ -313,45 +314,4 @@ subtest 'create update job' => sub {
|
|||||||
is_deeply($body, $expected, 'update job create triggers standardized amqp');
|
is_deeply($body, $expected, 'update job create triggers standardized amqp');
|
||||||
};
|
};
|
||||||
|
|
||||||
subtest 'create update job (new-style ADVISORY_NVR_N)' => sub {
|
|
||||||
$plugin_mock_callcount = 0;
|
|
||||||
delete $settings->{ADVISORY_NVRS};
|
|
||||||
# these are intentionally not in alphabetical order
|
|
||||||
$settings->{ADVISORY_NVRS_1} = 'kernel-5.2.8-100.fc29 kernel-tools-5.2.8-100.fc29';
|
|
||||||
$settings->{ADVISORY_NVRS_2} = 'kernel-headers-5.2.8-100.fc29';
|
|
||||||
$t->post_ok("/api/v1/jobs" => form => $settings)->status_is(200);
|
|
||||||
ok(my $newupdatejob = $t->tx->res->json->{id}, 'got ID of new-style update job');
|
|
||||||
ok($plugin_mock_callcount == 1, 'mock was called');
|
|
||||||
my ($body, $headerframe) = @{$published{'org.fedoraproject.stg.ci.fedora-update.test.queued'}};
|
|
||||||
$expected_artifact = {
|
|
||||||
alias => 'FEDORA-2019-6bda4c81f4',
|
|
||||||
builds => [
|
|
||||||
{
|
|
||||||
nvr => 'kernel-5.2.8-100.fc29'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
nvr => 'kernel-headers-5.2.8-100.fc29'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
nvr => 'kernel-tools-5.2.8-100.fc29'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
id => 'sha256:b85bba148cec9d9c4dafea3a49785abef1f549fbad368f3818e20d9802340b16',
|
|
||||||
type => 'fedora-update',
|
|
||||||
release => {
|
|
||||||
version => '42',
|
|
||||||
name => 'F42'
|
|
||||||
},
|
|
||||||
};
|
|
||||||
$expected_run = {
|
|
||||||
url => "https://openqa.stg.fedoraproject.org/tests/$newupdatejob",
|
|
||||||
log => "https://openqa.stg.fedoraproject.org/tests/$newupdatejob/file/autoinst-log.txt",
|
|
||||||
id => $newupdatejob,
|
|
||||||
};
|
|
||||||
my $expected = get_expected;
|
|
||||||
# no image for update message
|
|
||||||
delete $expected->{'image'};
|
|
||||||
is_deeply($body, $expected, 'update job create triggers standardized amqp');
|
|
||||||
};
|
|
||||||
|
|
||||||
done_testing();
|
done_testing();
|
||||||
|
|||||||
@ -24,7 +24,7 @@ package OpenQA::WebAPI::Plugin::FedoraMessaging;
|
|||||||
use Digest::SHA qw(sha256_hex);
|
use Digest::SHA qw(sha256_hex);
|
||||||
use POSIX qw(strftime);
|
use POSIX qw(strftime);
|
||||||
|
|
||||||
use Mojo::Base 'OpenQA::WebAPI::Plugin::AMQP', -signatures;
|
use Mojo::Base 'OpenQA::WebAPI::Plugin::AMQP';
|
||||||
use OpenQA::Jobs::Constants;
|
use OpenQA::Jobs::Constants;
|
||||||
use OpenQA::Log qw(log_debug log_error);
|
use OpenQA::Log qw(log_debug log_error);
|
||||||
use OpenQA::Utils;
|
use OpenQA::Utils;
|
||||||
@ -36,14 +36,8 @@ sub _iso8601_now {
|
|||||||
return $now;
|
return $now;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub publish_amqp ($self, $topic, $event_data, $headerframe = {}, $remaining_attempts = undef, $retry_delay = undef) {
|
sub publish_amqp {
|
||||||
# note: the parent method has a retry mechanism which means that
|
my ($self, $topic, $event_data, $headerframe) = @_;
|
||||||
# if publication fails, *this* method will be re-run with
|
|
||||||
# $headerframe populated, $remaining_attempts decremented and
|
|
||||||
# $retry_delay increased
|
|
||||||
# re-doing the wrap in this case is harmless as we ultimately
|
|
||||||
# merge the newly-created frame with the passed-in one and give
|
|
||||||
# the passed-in one priority
|
|
||||||
my $sentat = _iso8601_now;
|
my $sentat = _iso8601_now;
|
||||||
my $messageid = create_uuid_string;
|
my $messageid = create_uuid_string;
|
||||||
# default fedora-messaging compliant header frame. Ridiculous
|
# default fedora-messaging compliant header frame. Ridiculous
|
||||||
@ -65,10 +59,10 @@ sub publish_amqp ($self, $topic, $event_data, $headerframe = {}, $remaining_atte
|
|||||||
message_id => $messageid,
|
message_id => $messageid,
|
||||||
);
|
);
|
||||||
# merge in the passed header frame values to allow overriding
|
# merge in the passed header frame values to allow overriding
|
||||||
|
$headerframe //= {};
|
||||||
%fullheaderframe = (%fullheaderframe, %$headerframe);
|
%fullheaderframe = (%fullheaderframe, %$headerframe);
|
||||||
# call parent method. it's vital that we pass through $remaining_attempts
|
# call parent method
|
||||||
# to avoid an eternal loop
|
$self->SUPER::publish_amqp($topic, $event_data, \%fullheaderframe);
|
||||||
$self->SUPER::publish_amqp($topic, $event_data, \%fullheaderframe, $remaining_attempts, $retry_delay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub log_event_fedora_ci_messages {
|
sub log_event_fedora_ci_messages {
|
||||||
@ -155,25 +149,11 @@ sub log_event_fedora_ci_messages {
|
|||||||
version => $job->VERSION,
|
version => $job->VERSION,
|
||||||
name => "F" . $job->VERSION
|
name => "F" . $job->VERSION
|
||||||
};
|
};
|
||||||
# handle old-style single ADVISORY_NVRS with all NVRs
|
|
||||||
my @nvrs = split(/ /, $job->settings_hash->{ADVISORY_NVRS} || '');
|
my @nvrs = split(/ /, $job->settings_hash->{ADVISORY_NVRS} || '');
|
||||||
unless (@nvrs) {
|
unless (@nvrs) {
|
||||||
# handle new-style chunked ADVISORY_NVRS_N settings
|
log_error "ADVISORY_NVRS not found for update test $job_id! Cannot publish!";
|
||||||
my $count = 1;
|
|
||||||
while ($count) {
|
|
||||||
if ($job->settings_hash->{"ADVISORY_NVRS_$count"}) {
|
|
||||||
push @nvrs, split(/ /, $job->settings_hash->{"ADVISORY_NVRS_$count"});
|
|
||||||
$count++;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$count = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
unless (@nvrs) {
|
|
||||||
log_error "ADVISORY_NVRS(_N) not found for update test $job_id! Cannot publish!";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
@nvrs = sort(@nvrs);
|
@nvrs = sort(@nvrs);
|
||||||
my @builds;
|
my @builds;
|
||||||
my $id = '';
|
my $id = '';
|
||||||
|
|||||||
@ -1,86 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
version="1.1"
|
|
||||||
id="Слой_1"
|
|
||||||
x="0px"
|
|
||||||
y="0px"
|
|
||||||
viewBox="0 0 128 128"
|
|
||||||
xml:space="preserve"
|
|
||||||
width="128"
|
|
||||||
height="128"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:i="&ns_ai;"><defs
|
|
||||||
id="defs33" />
|
|
||||||
<style
|
|
||||||
type="text/css"
|
|
||||||
id="style2">
|
|
||||||
.st0{fill:#86DA2F;}
|
|
||||||
.st1{fill:#24C2FF;}
|
|
||||||
.st2{fill:#FFCB12;}
|
|
||||||
.st3{fill:#0069DA;}
|
|
||||||
.st4{fill:#FF4649;}
|
|
||||||
</style>
|
|
||||||
<switch
|
|
||||||
id="switch28"
|
|
||||||
transform="matrix(1.4411343,0,0,1.4411343,-8.3201853,-8.5200283)">
|
|
||||||
<foreignObject
|
|
||||||
requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
|
|
||||||
x="0"
|
|
||||||
y="0"
|
|
||||||
width="1"
|
|
||||||
height="1">
|
|
||||||
|
|
||||||
</foreignObject>
|
|
||||||
<g
|
|
||||||
i:extraneous="self"
|
|
||||||
id="g26">
|
|
||||||
<g
|
|
||||||
id="g24">
|
|
||||||
<path
|
|
||||||
class="st0"
|
|
||||||
d="m 86,55.9 c 3.6,-0.3 6.5,2.1 6.8,5.7 0.3,3.8 -2.4,6.8 -6,7.1 -3.5,0.3 -6.5,-2.4 -6.8,-5.8 -0.3,-3.8 2.2,-6.6 6,-7 z"
|
|
||||||
id="path4" />
|
|
||||||
<path
|
|
||||||
class="st1"
|
|
||||||
d="m 42.1,85.5 c 0,-3.6 2.8,-6.4 6.1,-6.4 3.3,0 6.5,3.1 6.5,6.5 0,3.3 -2.8,6.3 -6,6.4 -4,0 -6.6,-2.5 -6.6,-6.5 z"
|
|
||||||
id="path6" />
|
|
||||||
<path
|
|
||||||
class="st2"
|
|
||||||
d="m 51.9,44.9 c -0.6,0.3 -0.8,-0.1 -1,-0.6 -5.1,-9.6 -3.6,-21.7 5.4,-28.9 2.4,-1.9 6.8,-2.4 8.8,-0.4 0.8,0.7 1,1.5 1.1,2.5 0.3,2.1 0.7,4.2 2.1,5.8 1.5,1.8 3.5,2.5 5.7,2.4 1.9,0 3.9,-0.3 5.1,1.9 0.7,1.3 0.4,6.1 -0.7,7.1 -0.6,0.4 -1,0.1 -1.4,0 -3.2,-1.3 -6.5,-1.3 -9.9,-0.7 -1.1,0.1 -1.7,-0.1 -1.7,-1.4 -0.1,-2.1 -0.6,-4 -1.7,-5.8 -2.1,-3.8 -6,-3.9 -8.5,-0.4 -2.1,2.8 -2.6,6.1 -3.2,9.4 -0.4,3 -0.2,6.1 -0.1,9.1 0,0 -0.1,0 0,0 z"
|
|
||||||
id="path8" />
|
|
||||||
<path
|
|
||||||
class="st0"
|
|
||||||
d="m 55.4,47 c -0.3,-0.4 -0.1,-0.8 0.3,-1.1 7.9,-7.2 19.7,-8.6 28.9,-1.5 2.4,1.9 3.9,6 2.6,8.3 -0.6,1 -1.3,1.4 -2.1,1.7 -1.9,0.8 -3.8,1.7 -5,3.5 -1.3,1.8 -1.5,3.9 -1,6.1 0.4,1.8 1.1,3.8 -0.7,5.4 -1,1 -5.7,1.8 -6.9,1 -0.6,-0.4 -0.4,-0.8 -0.3,-1.4 0.4,-3.5 -0.4,-6.7 -1.7,-9.7 -0.4,-1.1 -0.3,-1.7 0.8,-1.9 1.9,-0.6 3.8,-1.5 5.1,-2.9 3.1,-2.9 2.4,-6.7 -1.7,-8.3 -3.2,-1.4 -6.5,-1.1 -9.7,-0.8 -2.9,-0.1 -5.8,0.8 -8.6,1.6 z"
|
|
||||||
id="path10" />
|
|
||||||
<path
|
|
||||||
class="st1"
|
|
||||||
d="m 53.6,50.6 c 0.4,-0.4 0.7,-0.3 1.1,0 9.2,5.6 13.9,16.5 9.7,27.2 -1.1,2.8 -4.7,5.6 -7.4,4.9 C 55.9,82.4 55.3,81.9 54.8,81.2 53.5,79.5 52.2,78 50.1,77.3 47.9,76.6 45.9,77 44,78.1 c -1.7,1 -3.3,2.2 -5.4,1 -1.3,-0.7 -3.3,-5 -2.9,-6.4 0.3,-0.6 0.8,-0.6 1.4,-0.6 3.5,-0.6 6.3,-2.2 8.9,-4.4 0.8,-0.7 1.5,-0.7 2.2,0.3 1.1,1.7 2.5,3.1 4.3,4 3.6,2.1 7.1,0.3 7.5,-3.9 0.4,-3.5 -0.8,-6.5 -1.9,-9.6 -1.3,-2.8 -2.8,-5.4 -4.5,-7.9 z"
|
|
||||||
id="path12" />
|
|
||||||
<path
|
|
||||||
class="st3"
|
|
||||||
d="m 49.1,51.4 c -0.6,2.8 -1.8,5.4 -3.5,7.8 -5,7.5 -12.2,10.6 -21.1,9.7 -3.2,-0.3 -5.8,-2.9 -6.1,-5.6 -0.1,-1.1 0.1,-1.9 0.8,-2.8 1,-1.3 1.8,-2.4 2.2,-3.9 0.8,-3.1 -0.3,-5.6 -2.5,-7.8 -3.1,-3.1 -2.6,-5.8 1,-8.1 0.4,-0.3 1,-0.6 1.5,-0.8 0.8,-0.4 1.5,-0.4 1.8,0.6 1.3,3.2 3.8,5.6 6.5,7.5 1,0.8 1,1.4 0.1,2.4 -1.7,1.8 -2.6,4 -2.8,6.5 -0.3,3.1 1.5,5 4.6,5 1.9,0 3.8,-0.7 5.4,-1.5 4.3,-2.2 7.6,-5.4 10.8,-8.8 0.6,0 0.8,-0.3 1.3,-0.2 z"
|
|
||||||
id="path14" />
|
|
||||||
<path
|
|
||||||
class="st4"
|
|
||||||
d="m 26.3,22.3 c 0.3,0 1,0.1 1.7,0.3 5.1,1 8.3,-0.8 10,-5.7 1.1,-3.2 3.5,-4.2 6.5,-2.5 0.1,0 0.1,0.1 0.3,0.1 3.1,1.8 3.1,2.1 1,4.9 -1.7,2.2 -2.5,4.7 -2.9,7.4 -0.3,1.5 -0.8,1.8 -2.2,1.3 -2.2,-0.8 -4.6,-0.8 -6.9,0 -2.6,0.8 -3.8,3.2 -2.9,5.8 1.1,3.5 4.2,5 6.8,6.8 2.6,1.8 5.7,2.8 8.6,4 0.4,0.1 1.1,0.1 1,0.8 -0.1,0.4 -0.7,0.4 -1.3,0.4 C 39.7,46.2 33.8,45.2 28.9,41 24.3,37.2 21,32.7 21.5,26.3 c 0.7,-2.1 2.2,-3.6 4.8,-4 z"
|
|
||||||
id="path16" />
|
|
||||||
<path
|
|
||||||
class="st3"
|
|
||||||
d="m 15,61.3 c -3.3,0.4 -6.7,-2.4 -6.9,-5.8 -0.3,-3.3 2.5,-6.7 5.7,-6.9 3.6,-0.4 6.9,2.1 7.2,5.4 0.1,3.1 -2,7 -6,7.3 z"
|
|
||||||
id="path18" />
|
|
||||||
<path
|
|
||||||
class="st2"
|
|
||||||
d="m 73.3,11.8 c 3.5,-0.3 6.8,2.5 7.1,6 0.3,3.3 -2.5,6.5 -5.8,6.8 -3.6,0.3 -6.8,-2.4 -7.1,-5.8 -0.3,-3.5 2.2,-6.7 5.8,-7 z"
|
|
||||||
id="path20" />
|
|
||||||
<path
|
|
||||||
class="st4"
|
|
||||||
d="m 37,14.5 c 0.4,3.6 -2.1,6.7 -5.8,7.2 -3.2,0.4 -6.5,-2.2 -6.9,-5.3 -0.4,-4 1.8,-6.9 5.6,-7.4 3.4,-0.4 6.7,2.3 7.1,5.5 z"
|
|
||||||
id="path22" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</switch>
|
|
||||||
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 4.0 KiB |
@ -1,3 +0,0 @@
|
|||||||
<h1>Welcome to <%= $appname %></h1>
|
|
||||||
<p>Life is too short for manual testing!</p>
|
|
||||||
<p><a class="btn btn-primary btn-lg" href="http://open.qa" role="button">Learn more »</a></p>
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
%# AlmaLinux external issue reporting: link the failing job to the AlmaLinux
|
|
||||||
%# Bug Tracker (https://bugs.almalinux.org, MantisBT). Self-contained - unlike
|
|
||||||
%# the openSUSE branding it does not need a report_external_issue helper/plugin,
|
|
||||||
%# so no extra Perl plugin has to be packaged. MantisBT cannot prefill the bug
|
|
||||||
%# form via GET, so we preselect the matching AlmaLinux-N project and carry the
|
|
||||||
%# failing scenario/module in the link tooltip.
|
|
||||||
% my $job = stash('job');
|
|
||||||
% if ($job) {
|
|
||||||
% my ($major) = ($job->VERSION // '') =~ /^(\d+)/;
|
|
||||||
% my %project_ids = (8 => 2, 9 => 3, 10 => 4);
|
|
||||||
% my $pid = $major ? $project_ids{$major} : undef;
|
|
||||||
% my $url = 'https://bugs.almalinux.org/bug_report_page.php';
|
|
||||||
% $url .= "?project_id=$pid" if $pid;
|
|
||||||
% my $module = stash('moduleid') // '';
|
|
||||||
% my $scenario = $job->scenario_name // '';
|
|
||||||
% my $label = 'Report bug in the AlmaLinux Bug Tracker';
|
|
||||||
% $label .= " (scenario '$scenario'" . ($module ? ", module '$module'" : '') . ')' if $scenario;
|
|
||||||
%= stepaction_for($label => $url, 'fa-bug', 'report almalinux_bugtracker')
|
|
||||||
% }
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
<div class="text-right" id="sponsorbox">
|
|
||||||
<a href="https://almalinux.org" title="AlmaLinux">
|
|
||||||
<img alt="AlmaLinux" class="icons-sponsor_suse" src="/images/almalinux.svg" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
@ -1,103 +0,0 @@
|
|||||||
<style>
|
|
||||||
.navbar {
|
|
||||||
background-color: #082336;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-light .navbar-nav .nav-link {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
|
|
||||||
color: #0069DA;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-nav {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-light .navbar-toggler-icon {
|
|
||||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%33' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
|
|
||||||
}
|
|
||||||
|
|
||||||
body h1 {
|
|
||||||
font-size: 1.8rem!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body h2 {
|
|
||||||
font-size: 1.5rem!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.jumbotron {
|
|
||||||
background-color: #dcd7d740;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary {
|
|
||||||
color: #ffffff;
|
|
||||||
background-color: #0069DA;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.btn.btn-primary:hover {
|
|
||||||
background: #004bbc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.col-md-9 h1 {
|
|
||||||
color: #2c3e50;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card {
|
|
||||||
border: 1px solid rgba(48,75,94,0.30);
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header {
|
|
||||||
color: #ffffff;
|
|
||||||
background-color: #304b5e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header strong {
|
|
||||||
color: #ffffff!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header span {
|
|
||||||
color: #ffffff!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-results a {
|
|
||||||
color: #017698;
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-dashboard .progress-bar-passed {
|
|
||||||
background-color: #68bc11;
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-dashboard .progress-bar-failed {
|
|
||||||
background-color: #e1282b;
|
|
||||||
}
|
|
||||||
|
|
||||||
.build-dashboard .progress-bar-unfinished {
|
|
||||||
background-color: #2891ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table thead {
|
|
||||||
background-image: linear-gradient(to bottom, transparent 0%, rgba(48,75,94,0.2525))!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer {
|
|
||||||
background-color: #dcd7d740;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* openQA 5's bootstrap sets .navbar-brand>img{padding-top:0}, which makes the
|
|
||||||
logo taller and top-aligned. Restore symmetric padding so the navbar logo
|
|
||||||
matches the openqa.almalinux.org (openQA 4.6) rendering. */
|
|
||||||
.navbar-brand > img {
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@ -1,3 +1,3 @@
|
|||||||
# Type Name ID GECOS [HOME] Shell
|
# Type Name ID GECOS [HOME] Shell
|
||||||
u geekotest - "openQA user" /var/lib/openqa /bin/bash
|
u geekotest - "openQA user" /var/lib/openqa /bin/bash
|
||||||
m geekotest nobody
|
m geekotest nogroup
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# Type Name ID GECOS [HOME] Shell
|
# Type Name ID GECOS [HOME] Shell
|
||||||
u _openqa-worker - "openQA worker" /var/lib/empty /bin/bash
|
u _openqa-worker - "openQA worker" /var/lib/empty /bin/bash
|
||||||
m _openqa-worker qemu
|
m _openqa-worker nogroup
|
||||||
m _openqa-worker kvm
|
m _openqa-worker kvm
|
||||||
|
|||||||
@ -1,7 +0,0 @@
|
|||||||
# AlmaLinux openQA web UI branding.
|
|
||||||
# Selects the branding template set shipped in
|
|
||||||
# /usr/share/openqa/templates/webapi/branding/AlmaLinux/.
|
|
||||||
# Drop-in override: to disable, set 'branding = plain' (or openSUSE) in a
|
|
||||||
# higher-numbered file under /etc/openqa/openqa.ini.d/.
|
|
||||||
[global]
|
|
||||||
branding = AlmaLinux
|
|
||||||
@ -1,4 +1,3 @@
|
|||||||
# AlmaLinux spec, tracked from the Fedora openQA package.
|
|
||||||
# Fedora spec initially based on upstream spec file from OBS:
|
# Fedora spec initially based on upstream spec file from OBS:
|
||||||
# https://build.opensuse.org/package/view_file/devel:openQA/openQA/openQA.spec
|
# https://build.opensuse.org/package/view_file/devel:openQA/openQA/openQA.spec
|
||||||
# License: GPLv2+
|
# License: GPLv2+
|
||||||
@ -23,18 +22,15 @@
|
|||||||
|
|
||||||
%global github_owner os-autoinst
|
%global github_owner os-autoinst
|
||||||
%global github_name openQA
|
%global github_name openQA
|
||||||
%global github_version 5
|
%global github_version 4.6
|
||||||
%global github_commit 637609536026a0950adf5d3aa30b54f16c73e178
|
%global github_commit 9267281b4e7ec98515f7d6e680c5b17d1944e29a
|
||||||
# if set, will be a post-release snapshot build, otherwise a 'normal' build
|
# if set, will be a post-release snapshot build, otherwise a 'normal' build
|
||||||
%global github_date 20260604
|
%global github_date 20220201
|
||||||
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
|
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
|
||||||
|
|
||||||
# can't use linebreaks here!
|
# can't use linebreaks here!
|
||||||
%global openqa_main_service openqa-webui.service
|
%global 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
|
||||||
%global openqa_extra_services 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-git-auto-update.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 openqa-enqueue-git-auto-update.timer openqa-enqueue-needle-ref-cleanup.service openqa-enqueue-needle-ref-cleanup.timer openqa-enqueue-scheduled-product-cleanup.service openqa-enqueue-scheduled-product-cleanup.timer
|
|
||||||
%global openqa_services %{openqa_main_service} %{openqa_extra_services}
|
|
||||||
%global openqa_worker_services openqa-worker.target openqa-slirpvde.service openqa-vde_switch.service openqa-worker-cacheservice.service openqa-worker-cacheservice-minion.service
|
%global openqa_worker_services openqa-worker.target openqa-slirpvde.service openqa-vde_switch.service openqa-worker-cacheservice.service openqa-worker-cacheservice-minion.service
|
||||||
%global openqa_localdb_services openqa-setup-db.service openqa-dump-db.service openqa-dump-db.timer
|
|
||||||
|
|
||||||
%if %{undefined tmpfiles_create}
|
%if %{undefined tmpfiles_create}
|
||||||
%global tmpfiles_create() \
|
%global tmpfiles_create() \
|
||||||
@ -43,36 +39,23 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# diff from SUSE: we have 'openqa-client', they have 'openQA-client'
|
# diff from SUSE: we have 'openqa-client', they have 'openQA-client'
|
||||||
%define python_scripts_requires python3-requests openqa-client
|
%define python_scripts_requires python3-requests python3-future
|
||||||
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# 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) perl(Mojolicious::Plugin::AssetPack) >= 1.36 perl(YAML::PP) >= 0.026
|
%define assetpack_requires perl(CSS::Minifier::XS) >= 0.01 perl(JavaScript::Minifier::XS) >= 0.11 perl(Mojolicious::Plugin::AssetPack) >= 1.36
|
||||||
# Diff from SUSE: we use 'perl-interpreter' where they use 'perl',
|
# Diff from SUSE: we use 'perl-interpreter' where they use 'perl',
|
||||||
# our 'perl' is a metapackage and we don't want all of it
|
# our 'perl' is a metapackage and we don't want all of it
|
||||||
# we use 'chrony' where they use 'ntp-daemon'
|
|
||||||
# their versioning of mojolicious is different due to
|
|
||||||
# https://github.com/openSUSE/cpanspec/issues/47
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define common_requires chrony perl-interpreter >= 5.20.0 perl(Carp::Always) >= 0.14.02 perl(Config::IniFiles) perl(Cpanel::JSON::XS) >= 4.09 perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) perl(Feature::Compat::Try) perl(Filesys::Df) perl(Getopt::Long) perl(HTTP::Status) perl(Minion) >= 10.25 perl(Mojolicious) >= 9.34 perl(Regexp::Common) perl(Storable) perl(Text::Glob) perl(Time::Moment)
|
%define common_requires perl-interpreter >= 5.20.0 perl(Archive::Extract) > 0.7 perl(Carp::Always) >= 0.14.02 perl(Config::IniFiles) perl(Config::Tiny) perl(Cpanel::JSON::XS) >= 4.09 perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) perl(Filesys::Df) perl(Getopt::Long) perl(Minion) >= 10.22 perl(Mojolicious) >= 9.20 perl(Regexp::Common) perl(Storable) perl(Time::Moment) perl(Try::Tiny)
|
||||||
# Diff from SUSE: we package bsdcat and bsdtar separately
|
|
||||||
# AlmaLinux/EL9: bsdcat is not shipped in the stock repos, but OpenQA::Downloader
|
|
||||||
# invokes it to decompress raw assets, so it is required; provide it by rebuilding
|
|
||||||
# the libarchive bsdcat subpackage (RHEL builds but does not ship it).
|
|
||||||
# runtime requirements for the main package that are not required by other sub-packages
|
# runtime requirements for the main package that are not required by other sub-packages
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define main_requires %assetpack_requires bsdcat bsdtar git-core hostname openssh-clients perl(BSD::Resource) perl(Carp) perl(CommonMark) 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::Plugin::OAuth2) 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.026 perl(YAML::XS) perl(aliased) perl(base) perl(constant) perl(diagnostics) perl(strict) perl(warnings)
|
%define main_requires %assetpack_requires git-core hostname perl(BSD::Resource) perl(Carp) 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.026 perl(YAML::XS) perl(aliased) perl(base) perl(constant) perl(diagnostics) perl(strict) perl(warnings)
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define client_requires curl git-core jq perl(Getopt::Long::Descriptive) perl(IO::Socket::SSL) >= 2.009 perl(IPC::Run) perl(JSON::Validator) perl(LWP::Protocol::https) perl(LWP::UserAgent) perl(Test::More) perl(YAML::PP) >= 0.020 perl(YAML::XS)
|
%define client_requires curl git-core jq perl(Getopt::Long::Descriptive) perl(IO::Socket::SSL) >= 2.009 perl(IPC::Run) perl(JSON::Validator) perl(LWP::Protocol::https) perl(LWP::UserAgent) perl(Test::More) perl(YAML::PP) >= 0.020 perl(YAML::XS)
|
||||||
# Diff from SUSE 1: case (they have openQA-client, we have openqa-client)
|
# Diff from SUSE 1: case (they have openQA-client, we have openqa-client)
|
||||||
# Diff from SUSE 2: we have 'sqlite' not 'sqlite3'
|
# Diff from SUSE 2: we have 'sqlite' not 'sqlite3'
|
||||||
# Diff from SUSE 3: we package bsdcat and bsdtar separately
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define worker_requires bsdcat bsdtar openqa-client optipng os-autoinst perl(Capture::Tiny) perl(File::Map) perl(Minion::Backend::SQLite) >= 5.0.7 perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::SQLite) psmisc sqlite >= 3.24.0
|
%define worker_requires optipng os-autoinst < 5 perl(Capture::Tiny) perl(File::Map) perl(Minion::Backend::SQLite) >= 5.0.1 perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::SQLite) psmisc sqlite >= 3.24.0
|
||||||
# Diff from SUSE: we don't have perl(MCP) packaged currently
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
|
||||||
%define mcp_requires %{nil}
|
|
||||||
# Diff from SUSE: they have npm as they run npm install in the spec,
|
|
||||||
# we do it in update-cache.sh
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define build_requires %assetpack_requires rubygem(sass)
|
%define build_requires %assetpack_requires rubygem(sass)
|
||||||
|
|
||||||
@ -81,35 +64,24 @@
|
|||||||
# package.
|
# package.
|
||||||
# Diff from SUSE: Selenium requirements dropped as not available in Fedora,
|
# Diff from SUSE: Selenium requirements dropped as not available in Fedora,
|
||||||
# critic and (python) yamllint requirements dropped as we don't run those
|
# critic and (python) yamllint requirements dropped as we don't run those
|
||||||
# checks in our package build, ssh-keygen is in openssh in Fedora
|
# checks in our package build (except Perl::Critic itself as the
|
||||||
# (openssh-common in SUSE), Syntax::Keyword::Try::Deparse seems to be
|
# compile-check-all test fails on the in-tree critic module if we leave
|
||||||
# missing upstream
|
# that out)
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define test_requires %common_requires %main_requires %mcp_requires %python_scripts_requires %worker_requires curl file jq openssh os-autoinst perl(App::cpanminus) perl(Test::Compile) perl(Test::Exception) perl(Test::Fatal) perl(Test::Mock::Time) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mojo) perl(Test::Most) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) >= 0.029 perl(Syntax::Keyword::Try::Deparse) postgresql-server
|
%define test_requires %common_requires %main_requires %python_scripts_requires %worker_requires ShellCheck curl jq os-autoinst-devel perl(App::cpanminus) perl(Mojolicious::Plugin::OAuth2) perl(Perl::Critic) perl(Test::Exception) perl(Test::Fatal) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mojo) perl(Test::Most) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) >= 0.029 postgresql-server
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%define qemu qemu qemu-kvm
|
%define qemu qemu qemu-kvm
|
||||||
%else
|
%else
|
||||||
%define qemu qemu
|
%define qemu qemu
|
||||||
%endif
|
%endif
|
||||||
# Diff from SUSE: perl::Critic::Community is omitted as we do not package it,
|
|
||||||
# SUSE has python3-yamllint but we just have yamllint,
|
|
||||||
# SUSE has python3-gitlint and python3-ruff but we just have gitlint and ruff
|
|
||||||
# shfmt is omitted as our package for it was orphaned and retired
|
|
||||||
# Perl::Critic doesn't have a third version component on Fedora
|
|
||||||
# AlmaLinux/EL9: gitlint, ruff and perl(Code::TidyAll) are not packaged for
|
|
||||||
# EL9, so they are dropped from the style-check (author-test) requirements.
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
|
||||||
%define style_check_requires ShellCheck perl(Perl::Critic) >= 1.156 perl(Pod::Markdown) perl(Test::Perl::Critic) yamllint
|
|
||||||
# diff from SUSE: perl(Devel::Cover::Report::Codecovbash) dropped because
|
# diff from SUSE: perl(Devel::Cover::Report::Codecovbash) dropped because
|
||||||
# it's not in Fedora (this means you can't run 'make coverage-codecov')
|
# 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
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
# The following line is generated from dependencies.yaml (upstream)
|
||||||
%define cover_requires perl(Devel::Cover)
|
%define devel_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Perl::Tidy) postgresql-devel rsync sudo tar
|
||||||
# diff from SUSE 1: xorg-x11-fonts dropped because that binary package
|
%define devel_no_selenium_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Perl::Tidy) postgresql-devel rsync sudo tar
|
||||||
# doesn't exist in Fedora (it exists as a source package generating
|
|
||||||
# multiple binary packages) and I can't find any reason for it
|
|
||||||
# diff from SUSE 2: we don't have perl(Test::CheckGitStatus) packaged
|
|
||||||
# The following line is generated from dependencies.yaml (upstream)
|
|
||||||
%define devel_no_selenium_requires %build_requires %cover_requires %qemu %style_check_requires %test_requires curl make pandoc perl(Perl::Tidy) perl(TAP::Harness::JUnit) postgresql-devel python3-weasyprint rsync sudo tar
|
|
||||||
# diff from SUSE: chromedriver dropped as we don't package it
|
# diff from SUSE: chromedriver dropped as we don't package it
|
||||||
# that makes this look fairly silly, but we want to follow the SUSE
|
# that makes this look fairly silly, but we want to follow the SUSE
|
||||||
# spec as close as we can
|
# spec as close as we can
|
||||||
@ -121,10 +93,8 @@
|
|||||||
Name: openqa
|
Name: openqa
|
||||||
Version: %{github_version}%{?github_date:^%{github_date}git%{shortcommit}}
|
Version: %{github_version}%{?github_date:^%{github_date}git%{shortcommit}}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Framework for automated system-level testing (web-frontend, scheduler and tools)
|
Summary: OS-level automated testing framework
|
||||||
# openQA is mostly GPLv2+. some scripts and bundled Node modules are
|
License: GPLv2+
|
||||||
# MIT, ace-builds is BSD-3-Clause
|
|
||||||
License: GPL-2.0-or-later AND MIT AND BSD-3-Clause
|
|
||||||
Url: http://os-autoinst.github.io/openQA/
|
Url: http://os-autoinst.github.io/openQA/
|
||||||
Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{github_name}-%{github_commit}.tar.gz
|
Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{github_name}-%{github_commit}.tar.gz
|
||||||
# pre-generated cached assets, build with update-cache.sh. We could
|
# pre-generated cached assets, build with update-cache.sh. We could
|
||||||
@ -144,35 +114,11 @@ Source3: FedoraMessaging.pm
|
|||||||
# tests for the fedora-messaging publishing plugin
|
# tests for the fedora-messaging publishing plugin
|
||||||
Source4: 23-fedora-messaging.t
|
Source4: 23-fedora-messaging.t
|
||||||
# sysusers config files. note these are shipped in the upstream tarball
|
# sysusers config files. note these are shipped in the upstream tarball
|
||||||
# but we need to change the groups so we have our own versions here
|
# but we cannot use the files from the tarball for %pre scriptlet
|
||||||
|
# generation, so we duplicate them as source files for that purpose;
|
||||||
|
# this is an ugly hack that should be removed if it becomes possible
|
||||||
Source5: geekotest.conf
|
Source5: geekotest.conf
|
||||||
Source6: openQA-worker.conf
|
Source6: openQA-worker.conf
|
||||||
# AlmaLinux web UI branding: logo asset served at /images/almalinux.svg
|
|
||||||
# (dropped into assets/ in %%prep) plus our branding template set. See the
|
|
||||||
# branding-layout patch below and 'branding = AlmaLinux' in openqa.ini.
|
|
||||||
Source7: almalinux.svg
|
|
||||||
Source8: branding-AlmaLinux-docbox.html.ep
|
|
||||||
Source9: branding-AlmaLinux-sponsorbox.html.ep
|
|
||||||
Source10: branding-AlmaLinux-style.html.ep
|
|
||||||
# openqa.ini.d drop-in that selects the AlmaLinux branding by default
|
|
||||||
Source11: openqa-branding.ini
|
|
||||||
# AlmaLinux issue-reporting: links failing jobs to bugs.almalinux.org
|
|
||||||
Source12: branding-AlmaLinux-external_reporting.html.ep
|
|
||||||
# https://github.com/os-autoinst/openQA/pull/7504
|
|
||||||
# Fix 16-tests_dependencies.t when selenium is not present
|
|
||||||
Patch: 0001-t-Skip-earlier-in-tests_dependencies.t.patch
|
|
||||||
# https://github.com/os-autoinst/openQA/pull/7509
|
|
||||||
# Support invent.kde.org as a bug tracker (for bug links)
|
|
||||||
Patch: 0001-fix-Support-invent.kde.org-and-work_items-in-bug-URL.patch
|
|
||||||
# AlmaLinux/EL9: give the cache-service metrics upsert an explicit ON CONFLICT
|
|
||||||
# target (EL9 SQLite 3.34 rejects target-less DO UPDATE), and enable -signatures
|
|
||||||
# on the fake worker packages in t/24-worker-jobs.t (EL9 Perl 5.32 warns that
|
|
||||||
# sub signatures are experimental).
|
|
||||||
Patch: 0001-EL9-sqlite-upsert-and-perl532-signatures.patch
|
|
||||||
# AlmaLinux: rebrand the web UI - swap the navbar logo for the AlmaLinux
|
|
||||||
# mark and pull our branding stylesheet into the page head. The matching
|
|
||||||
# branding templates and logo asset are installed from SOURCE7-10 in %%prep.
|
|
||||||
Patch: 0001-EL9-AlmaLinux-branding-layout.patch
|
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: %{python_scripts_requires}
|
BuildRequires: %{python_scripts_requires}
|
||||||
@ -194,6 +140,7 @@ Requires(post): coreutils
|
|||||||
|
|
||||||
# Standard for packages that have systemd services & sysusers
|
# Standard for packages that have systemd services & sysusers
|
||||||
%{?systemd_requires}
|
%{?systemd_requires}
|
||||||
|
%{?sysusers_requires_compat}
|
||||||
|
|
||||||
# the plugin is needed if the auth method is set to "oauth2"
|
# the plugin is needed if the auth method is set to "oauth2"
|
||||||
Recommends: perl(Mojolicious::Plugin::OAuth2)
|
Recommends: perl(Mojolicious::Plugin::OAuth2)
|
||||||
@ -201,33 +148,10 @@ Recommends: perl(Mojolicious::Plugin::OAuth2)
|
|||||||
Recommends: perl(IO::Uncompress::UnXz)
|
Recommends: perl(IO::Uncompress::UnXz)
|
||||||
# server needs to run an rsync server if worker caching is used
|
# server needs to run an rsync server if worker caching is used
|
||||||
Recommends: rsync
|
Recommends: rsync
|
||||||
# Optionally enabled with USE_PNGQUANT=1
|
|
||||||
Recommends: pngquant
|
|
||||||
|
|
||||||
# For the httpd subpackage split in 4.3-7, needed for updates to work right
|
# For the httpd subpackage split in 4.3-7, needed for updates to work right
|
||||||
Obsoletes: openqa < 4.3-7
|
Obsoletes: openqa < 4.3-7
|
||||||
|
|
||||||
# The NPM bundled dependency generator does not work as the modules
|
|
||||||
# seem to be stripped down to the minimum openQA needs - package.json
|
|
||||||
# is stripped out. So we have to list these manually
|
|
||||||
Provides: bundled(nodejs-ace-builds) = 1.43.1
|
|
||||||
Provides: bundled(nodejs-anser) = 2.3.2
|
|
||||||
Provides: bundled(nodejs-bootstrap) = 5.3.7
|
|
||||||
Provides: bundled(nodejs-chosen-js) = 1.8.7
|
|
||||||
Provides: bundled(nodejs-d3) = 7.9.0
|
|
||||||
Provides: bundled(nodejs-dagre-d3) = 0.6.4
|
|
||||||
Provides: bundled(nodejs-datatables.net) = 2.3.2
|
|
||||||
Provides: bundled(nodejs-datatables.net-bs5) = 2.3.2
|
|
||||||
Provides: bundled(nodejs-fork-awesome) = 1.2.0
|
|
||||||
Provides: bundled(nodejs-jquery) = 3.7.1
|
|
||||||
Provides: bundled(nodejs-jquery-ujs) = 1.2.3
|
|
||||||
Provides: bundled(nodejs-timeago) = 1.6.7
|
|
||||||
|
|
||||||
# Note: Fedora does not have the issue SUSE has with noarch. on Fedora
|
|
||||||
# if build for *any* arch fails, the build is considered failed for
|
|
||||||
# *all* arches, so we can never get in a situation where the
|
|
||||||
# perl-Mojolicious-Plugin-AssetPack version differs across arches as
|
|
||||||
# SUSE can
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -353,6 +277,7 @@ helper for interacting with the openQA REST API.
|
|||||||
|
|
||||||
%package python-scripts
|
%package python-scripts
|
||||||
Summary: Additional scripts in python
|
Summary: Additional scripts in python
|
||||||
|
Group: Development/Tools/Other
|
||||||
Requires: %python_scripts_requires
|
Requires: %python_scripts_requires
|
||||||
|
|
||||||
%description python-scripts
|
%description python-scripts
|
||||||
@ -360,43 +285,25 @@ Additional scripts for the use of openQA in the python programming language.
|
|||||||
|
|
||||||
%package local-db
|
%package local-db
|
||||||
Summary: Helper package to ease setup of postgresql DB
|
Summary: Helper package to ease setup of postgresql DB
|
||||||
Requires: %{name} = %{version}
|
Requires: %name
|
||||||
Requires: postgresql-server
|
Requires: postgresql-server
|
||||||
BuildRequires: postgresql-server
|
Supplements: packageand(%name:postgresql-server)
|
||||||
Supplements: (%{name} and postgresql-server)
|
|
||||||
|
|
||||||
%description local-db
|
%description local-db
|
||||||
You only need this package if you have a local postgresql server
|
You only need this package if you have a local postgresql server
|
||||||
next to the webui.
|
next to the webui.
|
||||||
|
|
||||||
%package single-instance
|
%package single-instance
|
||||||
Summary: Convenience package for a single-instance setup using apache proxy
|
Summary: Convenience package for a single-instance setup
|
||||||
Provides: %{name}-single-instance-apache
|
|
||||||
Provides: %{name}-single-instance-apache2
|
|
||||||
Requires: %{name}-local-db
|
Requires: %{name}-local-db
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name}-worker
|
||||||
Requires: %{name}-worker = %{version}
|
|
||||||
Requires: httpd
|
Requires: httpd
|
||||||
|
|
||||||
%description single-instance
|
%description single-instance
|
||||||
Use this package to setup a local instance with all services provided together.
|
Use this package to setup a local instance with all services provided together.
|
||||||
|
|
||||||
%package single-instance-nginx
|
|
||||||
Summary: Convenience package for a single-instance setup using nginx proxy
|
|
||||||
Requires: %{name}-local-db
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires: %{name}-worker = %{version}
|
|
||||||
Requires: nginx
|
|
||||||
|
|
||||||
%description single-instance-nginx
|
|
||||||
Use this package to setup a local instance with all services provided together.
|
|
||||||
|
|
||||||
%package bootstrap
|
%package bootstrap
|
||||||
Summary: Automated openQA setup
|
Summary: Automated openQA setup
|
||||||
Requires: curl
|
|
||||||
Requires: iputils
|
|
||||||
Requires: procps
|
|
||||||
|
|
||||||
|
|
||||||
%description bootstrap
|
%description bootstrap
|
||||||
This can automatically setup openQA - either directly on your system
|
This can automatically setup openQA - either directly on your system
|
||||||
@ -409,44 +316,6 @@ Summary: The openQA documentation
|
|||||||
Documentation material covering installation, configuration, basic test
|
Documentation material covering installation, configuration, basic test
|
||||||
writing, etc., covering both openQA and the os-autoinst test engine.
|
writing, etc., covering both openQA and the os-autoinst test engine.
|
||||||
|
|
||||||
%package munin
|
|
||||||
Summary: Munin scripts
|
|
||||||
Requires: munin
|
|
||||||
Requires: munin-node
|
|
||||||
Requires: curl
|
|
||||||
Requires: perl-interpreter
|
|
||||||
|
|
||||||
%description munin
|
|
||||||
Use this package to install munin scripts that allow to monitor some openQA
|
|
||||||
statistics.
|
|
||||||
|
|
||||||
%package client-bash-completion
|
|
||||||
Summary: Bash Completion for %{name}
|
|
||||||
Group: Development/Tools/Other
|
|
||||||
Requires: bash-completion
|
|
||||||
Supplements: (%{name}-client and bash-completion)
|
|
||||||
|
|
||||||
%description client-bash-completion
|
|
||||||
The official bash completion script for openqa-cli.
|
|
||||||
|
|
||||||
%package client-zsh-completion
|
|
||||||
Summary: Zsh Completion for %{name}
|
|
||||||
Group: Development/Tools/Other
|
|
||||||
Supplements: (%{name}-client and zsh)
|
|
||||||
|
|
||||||
%description client-zsh-completion
|
|
||||||
The official zsh completion script for openqa-cli.
|
|
||||||
|
|
||||||
%package llm-server
|
|
||||||
Summary: Local LLM Server features for openQA workers
|
|
||||||
Requires: %{name}-worker = %{version}
|
|
||||||
Requires: podman
|
|
||||||
|
|
||||||
%description llm-server
|
|
||||||
openQA workers can optionally host a local llama.cpp server to provide
|
|
||||||
LLM features directly from the worker node. This package provides the
|
|
||||||
Podman Quadlet configuration to automatically manage the server.
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{github_name}-%{github_commit} -a 1
|
%autosetup -p1 -n %{github_name}-%{github_commit} -a 1
|
||||||
sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all
|
sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all
|
||||||
@ -455,8 +324,6 @@ sed -i -e 's,apache2\.service,httpd\.service,g' systemd/*.service
|
|||||||
# ...Fedora keeps httpd config here, SUSE keeps it there.
|
# ...Fedora keeps httpd config here, SUSE keeps it there.
|
||||||
sed -i -e 's,"$(DESTDIR)"/etc/apache2/vhosts.d,"$(DESTDIR)"%{_sysconfdir}/httpd/conf.d,g' Makefile
|
sed -i -e 's,"$(DESTDIR)"/etc/apache2/vhosts.d,"$(DESTDIR)"%{_sysconfdir}/httpd/conf.d,g' Makefile
|
||||||
sed -i -e 's,/etc/apache2/vhosts.d,%{_sysconfdir}/httpd/conf.d,g' etc/apache2/vhosts.d/*
|
sed -i -e 's,/etc/apache2/vhosts.d,%{_sysconfdir}/httpd/conf.d,g' etc/apache2/vhosts.d/*
|
||||||
# ...Fedora keeps nginx config here, SUSE keeps it there.
|
|
||||||
sed -i -e 's,"$(DESTDIR)"/etc/nginx/vhosts.d,"$(DESTDIR)"%{_sysconfdir}/nginx/conf.d,g' Makefile
|
|
||||||
# These are the Fedora-y standard TLS cert/key locations.
|
# These are the Fedora-y standard TLS cert/key locations.
|
||||||
sed -i -e 's,/etc/apache2/ssl.crt,%{_sysconfdir}/pki/tls/certs,g' etc/apache2/vhosts.d/*
|
sed -i -e 's,/etc/apache2/ssl.crt,%{_sysconfdir}/pki/tls/certs,g' etc/apache2/vhosts.d/*
|
||||||
sed -i -e 's,/etc/apache2/ssl.key,%{_sysconfdir}/pki/tls/private,g' etc/apache2/vhosts.d/*
|
sed -i -e 's,/etc/apache2/ssl.key,%{_sysconfdir}/pki/tls/private,g' etc/apache2/vhosts.d/*
|
||||||
@ -465,55 +332,34 @@ cp %{SOURCE2} lib/OpenQA/WebAPI/Plugin/
|
|||||||
cp %{SOURCE3} lib/OpenQA/WebAPI/Plugin/
|
cp %{SOURCE3} lib/OpenQA/WebAPI/Plugin/
|
||||||
# we don't really need the tidy test
|
# we don't really need the tidy test
|
||||||
rm -f t/00-tidy.t
|
rm -f t/00-tidy.t
|
||||||
# we don't have the deps for the MCP feature yet
|
|
||||||
rm -f lib/OpenQA/WebAPI/Plugin/MCP.pm
|
|
||||||
rm -f t/api/17-mcp.t
|
|
||||||
# add the fedora-messaging publishing plugin test to the sources
|
# add the fedora-messaging publishing plugin test to the sources
|
||||||
cp %{SOURCE4} t/
|
cp %{SOURCE4} t/
|
||||||
# AlmaLinux branding: drop our branding template set and logo into the
|
|
||||||
# source tree. 'make install' ships templates/ and assets/ wholesale, so
|
|
||||||
# these get picked up by the existing %%{_datadir}/openqa/{templates,assets}
|
|
||||||
# file globs. The branding-layout patch wires them into the page; setting
|
|
||||||
# 'branding = AlmaLinux' in openqa.ini activates them.
|
|
||||||
install -d templates/webapi/branding/AlmaLinux
|
|
||||||
install -p -m 0644 %{SOURCE8} templates/webapi/branding/AlmaLinux/docbox.html.ep
|
|
||||||
install -p -m 0644 %{SOURCE9} templates/webapi/branding/AlmaLinux/sponsorbox.html.ep
|
|
||||||
install -p -m 0644 %{SOURCE10} templates/webapi/branding/AlmaLinux/style.html.ep
|
|
||||||
install -p -m 0644 %{SOURCE12} templates/webapi/branding/AlmaLinux/external_reporting.html.ep
|
|
||||||
install -p -m 0644 %{SOURCE7} assets/images/almalinux.svg
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# this does nothing, but it's harmless, so just in case it turns up...
|
# this does nothing, but it's harmless, so just in case it turns up...
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
export LC_ALL=en_US.UTF-8
|
export LC_ALL=en_US.UTF-8
|
||||||
export LANG=en_US.UTF-8
|
export LANG=en_US.UTF-8
|
||||||
%make_install
|
%make_install
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/openqa/etc/openqa
|
||||||
|
ln -s %{_sysconfdir}/openqa/openqa.ini %{buildroot}%{_datadir}/openqa/etc/openqa/openqa.ini
|
||||||
|
ln -s %{_sysconfdir}/openqa/database.ini %{buildroot}%{_datadir}/openqa/etc/openqa/database.ini
|
||||||
mkdir -p %{buildroot}%{_bindir}
|
mkdir -p %{buildroot}%{_bindir}
|
||||||
ln -s %{_datadir}/openqa/script/client %{buildroot}%{_bindir}/openqa-client
|
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-cli %{buildroot}%{_bindir}/openqa-cli
|
||||||
ln -s %{_datadir}/openqa/script/openqa-clone-job %{buildroot}%{_bindir}/openqa-clone-job
|
ln -s %{_datadir}/openqa/script/openqa-clone-job %{buildroot}%{_bindir}/openqa-clone-job
|
||||||
ln -s %{_datadir}/openqa/script/openqa-dump-templates %{buildroot}%{_bindir}/openqa-dump-templates
|
ln -s %{_datadir}/openqa/script/dump_templates %{buildroot}%{_bindir}/openqa-dump-templates
|
||||||
ln -s %{_datadir}/openqa/script/openqa-load-templates %{buildroot}%{_bindir}/openqa-load-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-clone-custom-git-refspec %{buildroot}%{_bindir}/openqa-clone-custom-git-refspec
|
||||||
ln -s %{_datadir}/openqa/script/openqa-validate-yaml %{buildroot}%{_bindir}/openqa-validate-yaml
|
ln -s %{_datadir}/openqa/script/openqa-validate-yaml %{buildroot}%{_bindir}/openqa-validate-yaml
|
||||||
ln -s %{_datadir}/openqa/script/setup-db %{buildroot}%{_bindir}/openqa-setup-db
|
ln -s %{_datadir}/openqa/script/setup-db %{buildroot}%{_bindir}/openqa-setup-db
|
||||||
ln -s %{_datadir}/openqa/script/dump-db %{buildroot}%{_bindir}/openqa-dump-db
|
|
||||||
ln -s %{_datadir}/openqa/script/openqa-label-all %{buildroot}%{_bindir}/openqa-label-all
|
ln -s %{_datadir}/openqa/script/openqa-label-all %{buildroot}%{_bindir}/openqa-label-all
|
||||||
|
|
||||||
install -d -m 755 %{buildroot}%{_datadir}/openqa/client
|
|
||||||
install -m 644 public/openqa-cli.yaml %{buildroot}%{_datadir}/openqa/client/openqa-cli.yaml
|
|
||||||
|
|
||||||
# munin
|
|
||||||
install -d -m 755 %{buildroot}/%{_datadir}/munin/plugins
|
|
||||||
install -m 755 contrib/munin/plugins/minion %{buildroot}/%{_datadir}/munin/plugins/openqa_minion_
|
|
||||||
install -d -m 755 %{buildroot}/%{_sysconfdir}/munin/plugin-conf.d
|
|
||||||
install -m 644 contrib/munin/config/minion.config %{buildroot}/%{_sysconfdir}/munin/plugin-conf.d/openqa-minion
|
|
||||||
install -m 755 contrib/munin/utils/munin-mail %{buildroot}/%{_datadir}/openqa/script/munin-mail
|
|
||||||
|
|
||||||
# on the whole I think it's "less bad" to install our duplicate copies
|
# on the whole I think it's "less bad" to install our duplicate copies
|
||||||
# of these over top of the ones from the tarball. if they ever go out
|
# of these over top of the ones from the tarball. if they ever go out
|
||||||
# of sync, at least our scriptlets will match the installed config
|
# of sync, at least our scriptlets will match the installed config
|
||||||
@ -521,23 +367,22 @@ install -m 755 contrib/munin/utils/munin-mail %{buildroot}/%{_datadir}/openqa/sc
|
|||||||
install -p -D -m 0644 %{SOURCE5} %{buildroot}%{_sysusersdir}/geekotest.conf
|
install -p -D -m 0644 %{SOURCE5} %{buildroot}%{_sysusersdir}/geekotest.conf
|
||||||
install -p -D -m 0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/openQA-worker.conf
|
install -p -D -m 0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/openQA-worker.conf
|
||||||
|
|
||||||
# AlmaLinux: enable the AlmaLinux branding by default via an openqa.ini.d
|
|
||||||
# drop-in (admins can override in a higher-numbered file)
|
|
||||||
install -p -D -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/openqa/openqa.ini.d/00-almalinux-branding.ini
|
|
||||||
|
|
||||||
cd %{buildroot}
|
cd %{buildroot}
|
||||||
grep -rl %{_bindir}/env . | while read file; do
|
grep -rl %{_bindir}/env . | while read file; do
|
||||||
sed -e 's,%{_bindir}/env perl,%{_bindir}/perl,' -i $file
|
sed -e 's,%{_bindir}/env perl,%{_bindir}/perl,' -i $file
|
||||||
done
|
done
|
||||||
|
|
||||||
|
mkdir %{buildroot}%{_localstatedir}/lib/openqa/pool/1
|
||||||
|
mkdir %{buildroot}%{_localstatedir}/lib/openqa/cache
|
||||||
|
mkdir %{buildroot}%{_localstatedir}/lib/openqa/webui
|
||||||
|
mkdir %{buildroot}%{_localstatedir}/lib/openqa/webui/cache
|
||||||
|
|
||||||
# We don't do AppArmor
|
# We don't do AppArmor
|
||||||
rm -rf %{buildroot}%{_sysconfdir}/apparmor.d
|
rm -rf %{buildroot}%{_sysconfdir}/apparmor.d
|
||||||
# these scripts are very SUSE-specific
|
# these scripts are very SUSE-specific
|
||||||
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-auto-update
|
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-auto-update
|
||||||
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-continuous-update
|
|
||||||
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-rollback
|
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-rollback
|
||||||
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-check-devel-repo
|
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-check-devel-repo
|
||||||
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-clean-repo-cache
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
@ -550,12 +395,17 @@ export LC_ALL=en_US.UTF-8
|
|||||||
touch openqa-debug.log autoinst-log.txt
|
touch openqa-debug.log autoinst-log.txt
|
||||||
chmod a+w 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
|
# 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
|
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
|
||||||
|
# these tests expect a 'not connected' error that it gets with unshare
|
||||||
|
# but with mock we get 'Connection refused', so just wipe them
|
||||||
|
sed -i -e '/fails without network/d' t/32-openqa_client-script.t t/40-openqa-clone-job.t
|
||||||
# Skip tests not working currently, or flaky
|
# Skip tests not working currently, or flaky
|
||||||
rm \
|
rm \
|
||||||
t/01-test-utilities.t \
|
t/01-test-utilities.t \
|
||||||
t/17-labels_carry_over.t \
|
t/17-labels_carry_over.t \
|
||||||
t/25-cache-service.t
|
t/25-cache-service.t \
|
||||||
|
t/34-developer_mode-unit.t \
|
||||||
|
t/44-scripts.t
|
||||||
|
|
||||||
# "CI" set with longer timeouts as needed for higher performance variations
|
# "CI" set with longer timeouts as needed for higher performance variations
|
||||||
# within CI systems, e.g. OBS. See t/lib/OpenQA/Test/TimeLimit.pm
|
# within CI systems, e.g. OBS. See t/lib/OpenQA/Test/TimeLimit.pm
|
||||||
@ -565,16 +415,15 @@ export OPENQA_TEST_TIMEOUT_SCALE_CI=15
|
|||||||
# docker-compose. Also, these tests are less relevant (or not relevant) for
|
# docker-compose. Also, these tests are less relevant (or not relevant) for
|
||||||
# packaging
|
# packaging
|
||||||
export CONTAINER_TEST=0
|
export CONTAINER_TEST=0
|
||||||
export HELM_TEST=0
|
|
||||||
# We don't want fatal warnings during package building
|
|
||||||
export PERL_TEST_WARNINGS_ONLY_REPORT_WARNINGS=1
|
|
||||||
# GIT_CEILING_DIRECTORIES here avoids a case where git error handling
|
# GIT_CEILING_DIRECTORIES here avoids a case where git error handling
|
||||||
# can differ when you run the build in mock and cause 16-utils-runcmd
|
# can differ when you run the build in mock and cause 16-utils-runcmd
|
||||||
# to fail
|
# to fail
|
||||||
make test GIT_CEILING_DIRECTORIES="/" CHECKSTYLE=0 PROVE_ARGS='-r t' TEST_PG_PATH=%{buildroot}/DB
|
make test GIT_CEILING_DIRECTORIES="/" CHECKSTYLE=0 PROVE_ARGS='-l -r' TEST_PG_PATH=%{buildroot}/DB
|
||||||
rm -rf %{buildroot}/DB
|
rm -rf %{buildroot}/DB
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%sysusers_create_compat %{SOURCE5}
|
||||||
|
|
||||||
%pre worker
|
%pre worker
|
||||||
%sysusers_create_compat %{SOURCE6}
|
%sysusers_create_compat %{SOURCE6}
|
||||||
@ -589,9 +438,7 @@ rm -rf %{buildroot}/DB
|
|||||||
|
|
||||||
%post httpd
|
%post httpd
|
||||||
if [ $1 -eq 1 ]; then
|
if [ $1 -eq 1 ]; then
|
||||||
echo "### copy and edit /etc/httpd/conf.d/openqa.conf.template if using apache!"
|
echo "### copy and edit /etc/httpd/conf.d/openqa.conf.template!"
|
||||||
echo "### copy and edit /etc/nginx/conf.d/openqa.conf.template if using nginx!"
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
@ -610,60 +457,39 @@ fi
|
|||||||
%systemd_postun_with_restart %{openqa_worker_services}
|
%systemd_postun_with_restart %{openqa_worker_services}
|
||||||
|
|
||||||
%post local-db
|
%post local-db
|
||||||
%systemd_post %{openqa_localdb_services}
|
%systemd_post openqa-setup-db.service
|
||||||
|
|
||||||
%preun local-db
|
%preun local-db
|
||||||
%systemd_preun %{openqa_localdb_services}
|
%systemd_preun openqa-setup-db.service
|
||||||
|
|
||||||
%postun local-db
|
%postun local-db
|
||||||
%systemd_postun_with_restart %{openqa_localdb_services}
|
%systemd_postun_with_restart openqa-setup-db.service
|
||||||
|
|
||||||
%post llm-server
|
|
||||||
# ensure the Podman Quadlet generator is run to create the .service unit
|
|
||||||
[ -x /usr/bin/systemctl ] && /usr/bin/systemctl daemon-reload || :
|
|
||||||
%systemd_post openqa-llm-server.service
|
|
||||||
|
|
||||||
%preun llm-server
|
|
||||||
%systemd_preun openqa-llm-server.service
|
|
||||||
|
|
||||||
%postun llm-server
|
|
||||||
%systemd_postun openqa-llm-server.service
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc README.md
|
%doc README.asciidoc
|
||||||
%ghost %config(noreplace) %attr(0644,geekotest,root) %{_sysconfdir}/openqa/openqa.ini
|
|
||||||
%ghost %config(noreplace) %attr(0640,geekotest,root) %{_sysconfdir}/openqa/database.ini
|
|
||||||
%dir %{_sysconfdir}/openqa
|
%dir %{_sysconfdir}/openqa
|
||||||
%dir %{_sysconfdir}/openqa/openqa.ini.d
|
%config(noreplace) %{_sysconfdir}/openqa/openqa.ini
|
||||||
%config(noreplace) %{_sysconfdir}/openqa/openqa.ini.d/00-almalinux-branding.ini
|
%config(noreplace) %attr(-,root,geekotest) %{_sysconfdir}/openqa/database.ini
|
||||||
%dir %{_sysconfdir}/openqa/database.ini.d
|
|
||||||
%{_datadir}/doc/openqa/examples/openqa.ini
|
|
||||||
%{_datadir}/doc/openqa/examples/database.ini
|
|
||||||
%dir %{_datadir}/openqa
|
%dir %{_datadir}/openqa
|
||||||
|
%dir %{_datadir}/openqa/etc
|
||||||
|
%dir %{_datadir}/openqa/etc/openqa
|
||||||
|
%{_datadir}/openqa/etc/openqa/openqa.ini
|
||||||
|
%{_datadir}/openqa/etc/openqa/database.ini
|
||||||
%config %{_sysconfdir}/logrotate.d
|
%config %{_sysconfdir}/logrotate.d
|
||||||
# init
|
# init
|
||||||
%{_unitdir}/openqa-webui.service
|
%{_unitdir}/openqa-webui.service
|
||||||
%{_unitdir}/openqa-livehandler.service
|
%{_unitdir}/openqa-livehandler.service
|
||||||
%{_unitdir}/openqa-gru.service
|
%{_unitdir}/openqa-gru.service
|
||||||
%dir %{_unitdir}/openqa-gru.service.requires
|
|
||||||
%{_unitdir}/openqa-scheduler.service
|
%{_unitdir}/openqa-scheduler.service
|
||||||
%dir %{_unitdir}/openqa-scheduler.service.requires
|
|
||||||
%{_unitdir}/openqa-websockets.service
|
%{_unitdir}/openqa-websockets.service
|
||||||
%dir %{_unitdir}/openqa-websockets.service.requires
|
|
||||||
%{_unitdir}/openqa-enqueue-audit-event-cleanup.service
|
%{_unitdir}/openqa-enqueue-audit-event-cleanup.service
|
||||||
%{_unitdir}/openqa-enqueue-audit-event-cleanup.timer
|
%{_unitdir}/openqa-enqueue-audit-event-cleanup.timer
|
||||||
%{_unitdir}/openqa-enqueue-asset-cleanup.service
|
%{_unitdir}/openqa-enqueue-asset-cleanup.service
|
||||||
%{_unitdir}/openqa-enqueue-asset-cleanup.timer
|
%{_unitdir}/openqa-enqueue-asset-cleanup.timer
|
||||||
%{_unitdir}/openqa-enqueue-git-auto-update.service
|
|
||||||
%{_unitdir}/openqa-enqueue-git-auto-update.timer
|
|
||||||
%{_unitdir}/openqa-enqueue-result-cleanup.service
|
%{_unitdir}/openqa-enqueue-result-cleanup.service
|
||||||
%{_unitdir}/openqa-enqueue-result-cleanup.timer
|
%{_unitdir}/openqa-enqueue-result-cleanup.timer
|
||||||
%{_unitdir}/openqa-enqueue-bug-cleanup.service
|
%{_unitdir}/openqa-enqueue-bug-cleanup.service
|
||||||
%{_unitdir}/openqa-enqueue-bug-cleanup.timer
|
%{_unitdir}/openqa-enqueue-bug-cleanup.timer
|
||||||
%{_unitdir}/openqa-enqueue-needle-ref-cleanup.service
|
|
||||||
%{_unitdir}/openqa-enqueue-needle-ref-cleanup.timer
|
|
||||||
%{_unitdir}/openqa-enqueue-scheduled-product-cleanup.service
|
|
||||||
%{_unitdir}/openqa-enqueue-scheduled-product-cleanup.timer
|
|
||||||
%{_tmpfilesdir}/openqa-webui.conf
|
%{_tmpfilesdir}/openqa-webui.conf
|
||||||
# web libs
|
# web libs
|
||||||
%{_datadir}/openqa/lib/DBIx/
|
%{_datadir}/openqa/lib/DBIx/
|
||||||
@ -672,14 +498,11 @@ fi
|
|||||||
%{_datadir}/openqa/lib/OpenQA/Scheduler/
|
%{_datadir}/openqa/lib/OpenQA/Scheduler/
|
||||||
%{_datadir}/openqa/lib/OpenQA/Schema/
|
%{_datadir}/openqa/lib/OpenQA/Schema/
|
||||||
%{_datadir}/openqa/lib/OpenQA/WebAPI/
|
%{_datadir}/openqa/lib/OpenQA/WebAPI/
|
||||||
%exclude %{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraMessaging.pm
|
|
||||||
%exclude %{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraUpdateRestart.pm
|
|
||||||
%{_datadir}/openqa/lib/OpenQA/WebSockets/
|
%{_datadir}/openqa/lib/OpenQA/WebSockets/
|
||||||
%{_datadir}/openqa/templates
|
%{_datadir}/openqa/templates
|
||||||
%{_datadir}/openqa/public
|
%{_datadir}/openqa/public
|
||||||
%{_datadir}/openqa/assets
|
|
||||||
%{_datadir}/openqa/dbicdh
|
%{_datadir}/openqa/dbicdh
|
||||||
%{_datadir}/openqa/node_modules
|
%{_datadir}/openqa/assets
|
||||||
%dir %{_datadir}/openqa/script
|
%dir %{_datadir}/openqa/script
|
||||||
%{_datadir}/openqa/script/configure-web-proxy
|
%{_datadir}/openqa/script/configure-web-proxy
|
||||||
%{_datadir}/openqa/script/create_admin
|
%{_datadir}/openqa/script/create_admin
|
||||||
@ -695,10 +518,7 @@ fi
|
|||||||
%{_datadir}/openqa/script/openqa-enqueue-asset-cleanup
|
%{_datadir}/openqa/script/openqa-enqueue-asset-cleanup
|
||||||
%{_datadir}/openqa/script/openqa-enqueue-audit-event-cleanup
|
%{_datadir}/openqa/script/openqa-enqueue-audit-event-cleanup
|
||||||
%{_datadir}/openqa/script/openqa-enqueue-bug-cleanup
|
%{_datadir}/openqa/script/openqa-enqueue-bug-cleanup
|
||||||
%{_datadir}/openqa/script/openqa-enqueue-git-auto-update
|
|
||||||
%{_datadir}/openqa/script/openqa-enqueue-needle-ref-cleanup
|
|
||||||
%{_datadir}/openqa/script/openqa-enqueue-result-cleanup
|
%{_datadir}/openqa/script/openqa-enqueue-result-cleanup
|
||||||
%{_datadir}/openqa/script/openqa-enqueue-scheduled-product-cleanup
|
|
||||||
%{_datadir}/openqa/script/openqa-gru
|
%{_datadir}/openqa/script/openqa-gru
|
||||||
%{_datadir}/openqa/script/openqa-webui-daemon
|
%{_datadir}/openqa/script/openqa-webui-daemon
|
||||||
%{_datadir}/openqa/script/upgradedb
|
%{_datadir}/openqa/script/upgradedb
|
||||||
@ -721,16 +541,8 @@ fi
|
|||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
|
|
||||||
%files client-bash-completion
|
|
||||||
%{_datadir}/bash-completion/completions/openqa-cli
|
|
||||||
|
|
||||||
%files client-zsh-completion
|
|
||||||
%{_datadir}/zsh/site-functions/_openqa-cli
|
|
||||||
|
|
||||||
%files common
|
%files common
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%dir %{_datadir}/doc/openqa
|
|
||||||
%dir %{_datadir}/doc/openqa/examples
|
|
||||||
%dir %{_datadir}/openqa
|
%dir %{_datadir}/openqa
|
||||||
%ghost %dir %{_datadir}/openqa/packed
|
%ghost %dir %{_datadir}/openqa/packed
|
||||||
%{_datadir}/openqa/lib
|
%{_datadir}/openqa/lib
|
||||||
@ -757,25 +569,17 @@ fi
|
|||||||
# this is a compat symlink to a directory whose contents are split
|
# this is a compat symlink to a directory whose contents are split
|
||||||
# between server and worker
|
# between server and worker
|
||||||
%{_localstatedir}/lib/openqa/script
|
%{_localstatedir}/lib/openqa/script
|
||||||
%{_unitdir}/openqa-minion-restart.service
|
|
||||||
%{_unitdir}/openqa-minion-restart.path
|
|
||||||
|
|
||||||
%files worker
|
%files worker
|
||||||
%{_datadir}/openqa/lib/OpenQA/CacheService/
|
%{_datadir}/openqa/lib/OpenQA/CacheService/
|
||||||
%{_datadir}/openqa/lib/OpenQA/Worker/
|
%{_datadir}/openqa/lib/OpenQA/Worker/
|
||||||
%ghost %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/openqa/workers.ini
|
%config(noreplace) %{_sysconfdir}/openqa/workers.ini
|
||||||
%ghost %config(noreplace) %attr(0400,_openqa-worker,root) %{_sysconfdir}/openqa/client.conf
|
%config(noreplace) %attr(0400,_openqa-worker,root) %{_sysconfdir}/openqa/client.conf
|
||||||
%dir %{_sysconfdir}/openqa/workers.ini.d
|
|
||||||
%dir %{_sysconfdir}/openqa/client.conf.d
|
|
||||||
%{_datadir}/doc/openqa/examples/workers.ini
|
|
||||||
%{_datadir}/doc/openqa/examples/client.conf
|
|
||||||
# init
|
# init
|
||||||
%dir %{_unitdir}
|
%dir %{_unitdir}
|
||||||
%{_prefix}/lib/systemd/system-generators/systemd-openqa-generator
|
%{_prefix}/lib/systemd/system-generators/systemd-openqa-generator
|
||||||
%{_unitdir}/openqa-worker.target
|
%{_unitdir}/openqa-worker.target
|
||||||
%{_unitdir}/openqa-worker.slice
|
|
||||||
%{_unitdir}/openqa-worker@.service
|
%{_unitdir}/openqa-worker@.service
|
||||||
%{_unitdir}/openqa-worker-plain@.service
|
|
||||||
%{_unitdir}/openqa-worker-cacheservice-minion.service
|
%{_unitdir}/openqa-worker-cacheservice-minion.service
|
||||||
%{_unitdir}/openqa-worker-cacheservice.service
|
%{_unitdir}/openqa-worker-cacheservice.service
|
||||||
%{_unitdir}/openqa-worker-no-cleanup@.service
|
%{_unitdir}/openqa-worker-no-cleanup@.service
|
||||||
@ -788,7 +592,7 @@ fi
|
|||||||
%{_datadir}/openqa/script/openqa-vde_switch
|
%{_datadir}/openqa/script/openqa-vde_switch
|
||||||
%{_tmpfilesdir}/openqa.conf
|
%{_tmpfilesdir}/openqa.conf
|
||||||
%{_sysusersdir}/openQA-worker.conf
|
%{_sysusersdir}/openQA-worker.conf
|
||||||
%ghost %dir %attr(0755,_openqa-worker,root) %{_rundir}/openqa
|
%ghost %dir %{_rundir}/openqa
|
||||||
# worker libs
|
# worker libs
|
||||||
%dir %{_datadir}/openqa
|
%dir %{_datadir}/openqa
|
||||||
%dir %{_datadir}/openqa/script
|
%dir %{_datadir}/openqa/script
|
||||||
@ -801,7 +605,6 @@ fi
|
|||||||
%dir %{_localstatedir}/lib/openqa/cache
|
%dir %{_localstatedir}/lib/openqa/cache
|
||||||
# own one pool - to create the others is task of the admin
|
# own one pool - to create the others is task of the admin
|
||||||
%dir %{_localstatedir}/lib/openqa/pool/1
|
%dir %{_localstatedir}/lib/openqa/pool/1
|
||||||
%{_prefix}/lib/sysctl.d/01-openqa-reload-worker-auto-restart.conf
|
|
||||||
|
|
||||||
# Note: remote workers are required to mount /var/lib/openqa/share
|
# Note: remote workers are required to mount /var/lib/openqa/share
|
||||||
# shared with the server.
|
# shared with the server.
|
||||||
@ -812,27 +615,14 @@ fi
|
|||||||
%config %{_sysconfdir}/httpd/conf.d/openqa.conf.template
|
%config %{_sysconfdir}/httpd/conf.d/openqa.conf.template
|
||||||
%config %{_sysconfdir}/httpd/conf.d/openqa-common.inc
|
%config %{_sysconfdir}/httpd/conf.d/openqa-common.inc
|
||||||
%config %{_sysconfdir}/httpd/conf.d/openqa-ssl.conf.template
|
%config %{_sysconfdir}/httpd/conf.d/openqa-ssl.conf.template
|
||||||
# nginx vhost
|
|
||||||
%dir %{_sysconfdir}/nginx
|
|
||||||
%dir %{_sysconfdir}/nginx/conf.d
|
|
||||||
%config %{_sysconfdir}/nginx/conf.d/openqa.conf.template
|
|
||||||
%config %{_sysconfdir}/nginx/conf.d/openqa-llm.conf.template
|
|
||||||
%config(noreplace) %{_sysconfdir}/nginx/conf.d/openqa-assets.inc
|
|
||||||
%config(noreplace) %{_sysconfdir}/nginx/conf.d/openqa-endpoints.inc
|
|
||||||
%config(noreplace) %{_sysconfdir}/nginx/conf.d/openqa-locations.inc
|
|
||||||
%config(noreplace) %{_sysconfdir}/nginx/conf.d/openqa-upstreams.inc
|
|
||||||
|
|
||||||
%files client
|
%files client
|
||||||
%dir %{_datadir}/openqa
|
%dir %{_datadir}/openqa
|
||||||
%dir %{_datadir}/openqa/client
|
|
||||||
%{_datadir}/openqa/client/openqa-cli.yaml
|
|
||||||
%dir %{_datadir}/openqa/script
|
%dir %{_datadir}/openqa/script
|
||||||
%{_datadir}/openqa/script/client
|
%{_datadir}/openqa/script/client
|
||||||
%{_datadir}/openqa/script/clone_job.pl
|
%{_datadir}/openqa/script/clone_job.pl
|
||||||
%{_datadir}/openqa/script/dump_templates
|
%{_datadir}/openqa/script/dump_templates
|
||||||
%{_datadir}/openqa/script/load_templates
|
%{_datadir}/openqa/script/load_templates
|
||||||
%{_datadir}/openqa/script/openqa-dump-templates
|
|
||||||
%{_datadir}/openqa/script/openqa-load-templates
|
|
||||||
%{_datadir}/openqa/script/openqa-cli
|
%{_datadir}/openqa/script/openqa-cli
|
||||||
%{_datadir}/openqa/script/openqa-clone-job
|
%{_datadir}/openqa/script/openqa-clone-job
|
||||||
%{_datadir}/openqa/script/openqa-clone-custom-git-refspec
|
%{_datadir}/openqa/script/openqa-clone-custom-git-refspec
|
||||||
@ -858,197 +648,22 @@ fi
|
|||||||
|
|
||||||
%files local-db
|
%files local-db
|
||||||
%{_unitdir}/openqa-setup-db.service
|
%{_unitdir}/openqa-setup-db.service
|
||||||
%{_unitdir}/openqa-dump-db.service
|
|
||||||
%{_unitdir}/openqa-dump-db.timer
|
|
||||||
%{_unitdir}/openqa-gru.service.requires/postgresql.service
|
|
||||||
%{_unitdir}/openqa-scheduler.service.requires/postgresql.service
|
|
||||||
%{_unitdir}/openqa-websockets.service.requires/postgresql.service
|
|
||||||
%{_datadir}/openqa/script/setup-db
|
%{_datadir}/openqa/script/setup-db
|
||||||
%{_datadir}/openqa/script/dump-db
|
|
||||||
%{_bindir}/openqa-setup-db
|
%{_bindir}/openqa-setup-db
|
||||||
%{_bindir}/openqa-dump-db
|
|
||||||
%dir %attr(0755,postgres,root) %{_localstatedir}/lib/openqa/backup
|
|
||||||
|
|
||||||
%files single-instance
|
%files single-instance
|
||||||
|
|
||||||
%files single-instance-nginx
|
|
||||||
|
|
||||||
%files bootstrap
|
%files bootstrap
|
||||||
%{_datadir}/openqa/script/openqa-bootstrap
|
%{_datadir}/openqa/script/openqa-bootstrap
|
||||||
%{_datadir}/openqa/script/openqa-bootstrap-container
|
%{_datadir}/openqa/script/openqa-bootstrap-container
|
||||||
|
|
||||||
%files munin
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc contrib/munin/config/minion.config
|
|
||||||
%dir %{_datadir}/openqa/script
|
|
||||||
%dir %{_sysconfdir}/munin
|
|
||||||
%dir %{_sysconfdir}/munin/plugin-conf.d
|
|
||||||
%{_datadir}/munin/plugins/openqa_minion_
|
|
||||||
%{_datadir}/openqa/script/munin-mail
|
|
||||||
%config(noreplace) %{_sysconfdir}/munin/plugin-conf.d/openqa-minion
|
|
||||||
|
|
||||||
%files plugin-fedora-messaging
|
%files plugin-fedora-messaging
|
||||||
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraMessaging.pm
|
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraMessaging.pm
|
||||||
|
|
||||||
%files plugin-fedoraupdaterestart
|
%files plugin-fedoraupdaterestart
|
||||||
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraUpdateRestart.pm
|
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraUpdateRestart.pm
|
||||||
|
|
||||||
%files llm-server
|
|
||||||
%dir %{_datadir}/containers
|
|
||||||
%dir %{_datadir}/containers/systemd
|
|
||||||
%{_datadir}/containers/systemd/openqa-llm-server.container
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Jul 20 2026 Andrew Lukoshko <alukoshko@almalinux.org> - 5^20260604git6376095-1
|
|
||||||
- Update to openQA 5^20260604git6376095 to match Fedora
|
|
||||||
- Sync spec with Fedora: refresh Fedora messaging/update-restart plugins,
|
|
||||||
configs, and the pre-generated asset cache for the new snapshot
|
|
||||||
- Carry Fedora backports: skip tests_dependencies.t earlier and support
|
|
||||||
invent.kde.org/work_items in bug URLs
|
|
||||||
- Pairs with os-autoinst 5 (the worker no longer caps os-autoinst < 5)
|
|
||||||
- Add AlmaLinux web UI branding: navbar logo, sponsorbox, stylesheet and
|
|
||||||
bugs.almalinux.org issue-reporting, enabled by default via an openqa.ini.d
|
|
||||||
drop-in (00-almalinux-branding.ini)
|
|
||||||
|
|
||||||
* Thu Jun 18 2026 Adam Williamson <awilliam@redhat.com> - 5^20260604git6376095-3
|
|
||||||
- Fix a couple of incorrect -devel package deps
|
|
||||||
|
|
||||||
* Mon Jun 15 2026 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5^20260604git6376095-2
|
|
||||||
- Drop call to %%sysusers_create_compat
|
|
||||||
|
|
||||||
* Fri Jun 05 2026 Adam Williamson <awilliam@redhat.com> - 5^20260604git6376095-1
|
|
||||||
- Bump to latest git, re-sync spec, backport a couple of patches
|
|
||||||
|
|
||||||
* Wed Mar 11 2026 Adam Williamson <awilliam@redhat.com> - 5^20260126git19189f0-3
|
|
||||||
- Drop shfmt from -devel dependencies (it was retired)
|
|
||||||
|
|
||||||
* Mon Jan 26 2026 Adam Williamson <awilliam@redhat.com> - 5^20260126git19189f0-1
|
|
||||||
- Update to latest upstream git
|
|
||||||
- Drop merged patches
|
|
||||||
|
|
||||||
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 5^20250711git28a0214-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Sep 05 2025 Adam Williamson <awilliam@redhat.com> - 5^20250711git28a0214-3
|
|
||||||
- Backport PR #6719 to include failed modules in job.done messages
|
|
||||||
|
|
||||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5^20250711git28a0214-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 11 2025 Adam Williamson <awilliam@redhat.com> - 5^20250711git28a0214-1
|
|
||||||
- Update to latest upstream git (fix timestamps on overview page)
|
|
||||||
|
|
||||||
* Thu Jul 10 2025 Adam Williamson <awilliam@redhat.com> - 5^20250710git2f1c94d-1
|
|
||||||
- Update to latest upstream git
|
|
||||||
- Drop merged patch
|
|
||||||
|
|
||||||
* Wed Jul 09 2025 Adam Williamson <awilliam@redhat.com> - 5^20250709git371ad64-1
|
|
||||||
- Update to latest upstream git
|
|
||||||
- Drop merged patches
|
|
||||||
|
|
||||||
* Mon Jul 07 2025 Adam Williamson <awilliam@redhat.com> - 5^20250522git6deeb26-2
|
|
||||||
- Backport PR #6578 to fix tap worker dbus quota issue
|
|
||||||
|
|
||||||
* Thu May 22 2025 Adam Williamson <awilliam@redhat.com> - 5^20250522git6deeb26-1
|
|
||||||
- Update to latest upstream git
|
|
||||||
- Drop merged patches
|
|
||||||
- Backport new git config fixes (PR #6472)
|
|
||||||
|
|
||||||
* Fri May 16 2025 Adam Williamson <awilliam@redhat.com> - 5^20250430git10b1e43-4
|
|
||||||
- Update bundled dependency metadata
|
|
||||||
|
|
||||||
* Wed May 14 2025 Adam Williamson <awilliam@redhat.com> - 5^20250430git10b1e43-3
|
|
||||||
- Backport PR #6455 to fix --clean with YAML templates
|
|
||||||
- Update #6446 patches
|
|
||||||
- Fix group memberships harder
|
|
||||||
|
|
||||||
* Tue May 13 2025 Adam Williamson <awilliam@redhat.com> - 5^20250430git10b1e43-2
|
|
||||||
- Backport PR #6446 to fix template dump/load issues
|
|
||||||
- Fix group memberships
|
|
||||||
|
|
||||||
* Wed Apr 30 2025 Adam Williamson <awilliam@redhat.com> - 5^20250430git10b1e43-1
|
|
||||||
- Update to latest upstream git
|
|
||||||
- Backport PR #6414 to fix configuration of automatic git operations
|
|
||||||
|
|
||||||
* Thu Mar 27 2025 Adam Williamson <awilliam@redhat.com> - 4.6^20240729gitd5cf789-6
|
|
||||||
- Backport some OAuth2 fixes we need
|
|
||||||
|
|
||||||
* Wed Feb 12 2025 Adam Williamson <awilliam@redhat.com> - 4.6^20240729gitd5cf789-5
|
|
||||||
- Exclude our custom plugins from the main package
|
|
||||||
|
|
||||||
* Thu Jan 23 2025 Adam Williamson <awilliam@redhat.com> - 4.6^20240729gitd5cf789-4
|
|
||||||
- Fix an eternal loop issue in the Fedora messaging plugin
|
|
||||||
|
|
||||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20240729gitd5cf789-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jul 29 2024 Adam Williamson <awilliam@redhat.com> - 4.6^20240729gitd5cf789-1
|
|
||||||
- Update to latest upstream git
|
|
||||||
- Backport #5797 to avoid retrying obsoleted jobs
|
|
||||||
|
|
||||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20240712git52b44bf-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 12 2024 Adam Williamson <awilliam@redhat.com> - 4.6^20240712git52b44bf-1
|
|
||||||
- Update to latest upstream git, resync spec, update licenses
|
|
||||||
|
|
||||||
* Thu Feb 08 2024 Adam Williamson <awilliam@redhat.com> - 4.6^20240208git46cfab2-1
|
|
||||||
- Update to latest upstream git, resync spec
|
|
||||||
|
|
||||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20231222gitb96c049-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20231222gitb96c049-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jan 02 2024 Adam Williamson <awilliam@redhat.com> - 4.6^20231222gitb96c049-1
|
|
||||||
- Update to recent upstream git, resync spec
|
|
||||||
|
|
||||||
* Mon Nov 27 2023 Adam Williamson <awilliam@redhat.com> - 4.6^20231125git872b397-1
|
|
||||||
- Update to recent upstream git, resync spec, drop merged patch
|
|
||||||
|
|
||||||
* Tue Oct 31 2023 Adam Williamson <awilliam@redhat.com> - 4.6^20231024gitc944acc-1
|
|
||||||
- Update to a recent upstream git snapshot, resync spec
|
|
||||||
- Backport PR #5349 to fix a test skipping problem
|
|
||||||
|
|
||||||
* Thu Oct 19 2023 Adam Williamson <awilliam@redhat.com> - 4.6^20230525git0864455-3
|
|
||||||
- Backport PR #5337 to add the gitlab fedora flatpak repo for bugrefs
|
|
||||||
|
|
||||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20230525git0864455-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri May 26 2023 Adam Williamson <awilliam@redhat.com> - 4.6^20230525git0864455-1
|
|
||||||
- Update to latest git, drop merged patch, re-sync spec
|
|
||||||
|
|
||||||
* Mon Apr 24 2023 Adam Williamson <awilliam@redhat.com> - 4.6^20230424gitf229f6d-1
|
|
||||||
- Update to latest git, re-sync spec, rebase patch
|
|
||||||
|
|
||||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20221123gitb93eb7f-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Dec 19 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20221123gitb93eb7f-3
|
|
||||||
- Backport #4498 (slightly rediffed) to solve a problem with retrying grouped tests
|
|
||||||
|
|
||||||
* Thu Dec 01 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20221123gitb93eb7f-2
|
|
||||||
- FedoraMessaging: handle chunked ADVISORY_NVRS_N settings
|
|
||||||
|
|
||||||
* Thu Nov 24 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20221123gitb93eb7f-1
|
|
||||||
- Update to latest git, re-sync spec, drop merged patches
|
|
||||||
|
|
||||||
* Sat Aug 27 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20220615git8ea2059-3
|
|
||||||
- Backport PR #4784 to fix a worker startup bug
|
|
||||||
- Backport PR #4785 to add pagure.io and GNOME gitlab trackers
|
|
||||||
|
|
||||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20220615git8ea2059-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jun 20 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20220615git8ea2059-1
|
|
||||||
- Update to latest git, re-sync spec
|
|
||||||
- Backport PR #4710 to fix perl 5.36 warnings on @_ use in signed subs
|
|
||||||
|
|
||||||
* Tue May 31 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20220531git47fe286-1
|
|
||||||
- Update to latest git, re-sync spec
|
|
||||||
|
|
||||||
* Tue Feb 01 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20220201git9267281-1
|
* Tue Feb 01 2022 Adam Williamson <awilliam@redhat.com> - 4.6^20220201git9267281-1
|
||||||
- Update to latest git
|
- Update to latest git
|
||||||
- Switch to newer caret-based snapshot versioning scheme
|
- Switch to newer caret-based snapshot versioning scheme
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user