|
|
|
|
@ -1,3 +1,4 @@
|
|
|
|
|
# AlmaLinux spec, tracked from the Fedora openQA package.
|
|
|
|
|
# Fedora spec initially based on upstream spec file from OBS:
|
|
|
|
|
# https://build.opensuse.org/package/view_file/devel:openQA/openQA/openQA.spec
|
|
|
|
|
# License: GPLv2+
|
|
|
|
|
@ -22,15 +23,18 @@
|
|
|
|
|
|
|
|
|
|
%global github_owner os-autoinst
|
|
|
|
|
%global github_name openQA
|
|
|
|
|
%global github_version 4.6
|
|
|
|
|
%global github_commit 46f13d3b28d19cbc8e5eca1abbbae4dd52fa6bf6
|
|
|
|
|
%global github_version 5
|
|
|
|
|
%global github_commit 637609536026a0950adf5d3aa30b54f16c73e178
|
|
|
|
|
# if set, will be a post-release snapshot build, otherwise a 'normal' build
|
|
|
|
|
%global github_date 20230731
|
|
|
|
|
%global github_date 20260604
|
|
|
|
|
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
|
|
|
|
|
|
|
|
|
|
# can't use linebreaks here!
|
|
|
|
|
%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_main_service openqa-webui.service
|
|
|
|
|
%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_localdb_services openqa-setup-db.service openqa-dump-db.service openqa-dump-db.timer
|
|
|
|
|
|
|
|
|
|
%if %{undefined tmpfiles_create}
|
|
|
|
|
%global tmpfiles_create() \
|
|
|
|
|
@ -39,23 +43,33 @@
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# diff from SUSE: we have 'openqa-client', they have 'openQA-client'
|
|
|
|
|
%define python_scripts_requires python3-requests python3-future openqa-client
|
|
|
|
|
%define python_scripts_requires python3-requests openqa-client
|
|
|
|
|
|
|
|
|
|
# The following line is generated from dependencies.yaml (upstream)
|
|
|
|
|
%define assetpack_requires perl(CSS::Minifier::XS) >= 0.01 perl(JavaScript::Minifier::XS) >= 0.11 perl(Mojolicious::Plugin::AssetPack) >= 1.36
|
|
|
|
|
%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
|
|
|
|
|
# Diff from SUSE: we use 'perl-interpreter' where they use 'perl',
|
|
|
|
|
# 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)
|
|
|
|
|
%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.25 perl(Mojolicious) >= 9.30 perl(Regexp::Common) perl(Storable) perl(Time::Moment) perl(Try::Tiny)
|
|
|
|
|
%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)
|
|
|
|
|
# Diff from SUSE: we package bsdcat and bsdtar separately
|
|
|
|
|
# runtime requirements for the main package that are not required by other sub-packages
|
|
|
|
|
# The following line is generated from dependencies.yaml (upstream)
|
|
|
|
|
%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)
|
|
|
|
|
%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)
|
|
|
|
|
# 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)
|
|
|
|
|
# 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 3: we package bsdcat and bsdtar separately
|
|
|
|
|
# The following line is generated from dependencies.yaml (upstream)
|
|
|
|
|
%define worker_requires openqa-client optipng os-autoinst < 5 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 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
|
|
|
|
|
# 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)
|
|
|
|
|
%define build_requires %assetpack_requires rubygem(sass)
|
|
|
|
|
|
|
|
|
|
@ -64,24 +78,33 @@
|
|
|
|
|
# package.
|
|
|
|
|
# Diff from SUSE: Selenium requirements dropped as not available in Fedora,
|
|
|
|
|
# critic and (python) yamllint requirements dropped as we don't run those
|
|
|
|
|
# checks in our package build (except Perl::Critic itself as the
|
|
|
|
|
# compile-check-all test fails on the in-tree critic module if we leave
|
|
|
|
|
# that out)
|
|
|
|
|
# checks in our package build, ssh-keygen is in openssh in Fedora
|
|
|
|
|
# (openssh-common in SUSE), Syntax::Keyword::Try::Deparse seems to be
|
|
|
|
|
# missing upstream
|
|
|
|
|
# The following line is generated from dependencies.yaml (upstream)
|
|
|
|
|
%define test_requires %common_requires %main_requires %python_scripts_requires %worker_requires ShellCheck curl jq os-autoinst-devel perl(App::cpanminus) perl(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
|
|
|
|
|
%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
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%define qemu qemu qemu-kvm
|
|
|
|
|
%else
|
|
|
|
|
%define qemu qemu
|
|
|
|
|
%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
|
|
|
|
|
# The following line is generated from dependencies.yaml (upstream)
|
|
|
|
|
%define style_check_requires ShellCheck perl(Code::TidyAll) perl(Perl::Critic) >= 1.156 perl(Pod::Markdown) perl(Test::Perl::Critic) gitlint ruff yamllint
|
|
|
|
|
# diff from SUSE: perl(Devel::Cover::Report::Codecovbash) dropped because
|
|
|
|
|
# it's not in Fedora (this means you can't run 'make coverage-codecov')
|
|
|
|
|
# xorg-x11-fonts dropped because that binary package doesn't exist in
|
|
|
|
|
# Fedora (it exists as a source package generating multiple binary
|
|
|
|
|
# packages) and I can't find any particular reason for it
|
|
|
|
|
# The following line is generated from dependencies.yaml (upstream)
|
|
|
|
|
%define devel_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Perl::Tidy) postgresql-devel rsync sudo tar
|
|
|
|
|
%define devel_no_selenium_requires %build_requires %qemu %test_requires curl perl(Devel::Cover) perl(Perl::Tidy) postgresql-devel rsync sudo tar
|
|
|
|
|
%define cover_requires perl(Devel::Cover)
|
|
|
|
|
# diff from SUSE 1: 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 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
|
|
|
|
|
# that makes this look fairly silly, but we want to follow the SUSE
|
|
|
|
|
# spec as close as we can
|
|
|
|
|
@ -92,9 +115,11 @@
|
|
|
|
|
|
|
|
|
|
Name: openqa
|
|
|
|
|
Version: %{github_version}%{?github_date:^%{github_date}git%{shortcommit}}
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
Summary: OS-level automated testing framework
|
|
|
|
|
License: GPLv2+
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
Summary: Framework for automated system-level testing (web-frontend, scheduler and tools)
|
|
|
|
|
# openQA is mostly GPLv2+. some scripts and bundled Node modules are
|
|
|
|
|
# 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/
|
|
|
|
|
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
|
|
|
|
|
@ -114,11 +139,15 @@ Source3: FedoraMessaging.pm
|
|
|
|
|
# tests for the fedora-messaging publishing plugin
|
|
|
|
|
Source4: 23-fedora-messaging.t
|
|
|
|
|
# sysusers config files. note these are shipped in the upstream tarball
|
|
|
|
|
# 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
|
|
|
|
|
# but we need to change the groups so we have our own versions here
|
|
|
|
|
Source5: geekotest.conf
|
|
|
|
|
Source6: openQA-worker.conf
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
BuildRequires: make
|
|
|
|
|
BuildRequires: %{python_scripts_requires}
|
|
|
|
|
@ -140,7 +169,6 @@ Requires(post): coreutils
|
|
|
|
|
|
|
|
|
|
# Standard for packages that have systemd services & sysusers
|
|
|
|
|
%{?systemd_requires}
|
|
|
|
|
%{?sysusers_requires_compat}
|
|
|
|
|
|
|
|
|
|
# the plugin is needed if the auth method is set to "oauth2"
|
|
|
|
|
Recommends: perl(Mojolicious::Plugin::OAuth2)
|
|
|
|
|
@ -148,10 +176,33 @@ Recommends: perl(Mojolicious::Plugin::OAuth2)
|
|
|
|
|
Recommends: perl(IO::Uncompress::UnXz)
|
|
|
|
|
# server needs to run an rsync server if worker caching is used
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
@ -277,7 +328,6 @@ helper for interacting with the openQA REST API.
|
|
|
|
|
|
|
|
|
|
%package python-scripts
|
|
|
|
|
Summary: Additional scripts in python
|
|
|
|
|
Group: Development/Tools/Other
|
|
|
|
|
Requires: %python_scripts_requires
|
|
|
|
|
|
|
|
|
|
%description python-scripts
|
|
|
|
|
@ -285,29 +335,43 @@ Additional scripts for the use of openQA in the python programming language.
|
|
|
|
|
|
|
|
|
|
%package local-db
|
|
|
|
|
Summary: Helper package to ease setup of postgresql DB
|
|
|
|
|
Group: Development/Tools/Other
|
|
|
|
|
Requires: %name
|
|
|
|
|
Requires: %{name} = %{version}
|
|
|
|
|
Requires: postgresql-server
|
|
|
|
|
BuildRequires: postgresql-server
|
|
|
|
|
Supplements: packageand(%name:postgresql-server)
|
|
|
|
|
Supplements: (%{name} and postgresql-server)
|
|
|
|
|
|
|
|
|
|
%description local-db
|
|
|
|
|
You only need this package if you have a local postgresql server
|
|
|
|
|
next to the webui.
|
|
|
|
|
|
|
|
|
|
%package single-instance
|
|
|
|
|
Summary: Convenience package for a single-instance setup
|
|
|
|
|
Group: Development/Tools/Other
|
|
|
|
|
Requires: %{name} = %{version}
|
|
|
|
|
Summary: Convenience package for a single-instance setup using apache proxy
|
|
|
|
|
Provides: %{name}-single-instance-apache
|
|
|
|
|
Provides: %{name}-single-instance-apache2
|
|
|
|
|
Requires: %{name}-local-db
|
|
|
|
|
Requires: %{name} = %{version}
|
|
|
|
|
Requires: %{name}-worker = %{version}
|
|
|
|
|
Requires: httpd
|
|
|
|
|
|
|
|
|
|
%description single-instance
|
|
|
|
|
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
|
|
|
|
|
Summary: Automated openQA setup
|
|
|
|
|
Requires: curl
|
|
|
|
|
Requires: iputils
|
|
|
|
|
Requires: procps
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description bootstrap
|
|
|
|
|
This can automatically setup openQA - either directly on your system
|
|
|
|
|
@ -320,6 +384,44 @@ Summary: The openQA documentation
|
|
|
|
|
Documentation material covering installation, configuration, basic test
|
|
|
|
|
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
|
|
|
|
|
%autosetup -p1 -n %{github_name}-%{github_commit} -a 1
|
|
|
|
|
sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all
|
|
|
|
|
@ -328,6 +430,8 @@ sed -i -e 's,apache2\.service,httpd\.service,g' systemd/*.service
|
|
|
|
|
# ...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,/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.
|
|
|
|
|
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/*
|
|
|
|
|
@ -336,6 +440,9 @@ cp %{SOURCE2} lib/OpenQA/WebAPI/Plugin/
|
|
|
|
|
cp %{SOURCE3} lib/OpenQA/WebAPI/Plugin/
|
|
|
|
|
# we don't really need the tidy test
|
|
|
|
|
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
|
|
|
|
|
cp %{SOURCE4} t/
|
|
|
|
|
|
|
|
|
|
@ -344,15 +451,11 @@ cp %{SOURCE4} t/
|
|
|
|
|
# this does nothing, but it's harmless, so just in case it turns up...
|
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
export LC_ALL=en_US.UTF-8
|
|
|
|
|
export LANG=en_US.UTF-8
|
|
|
|
|
%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}
|
|
|
|
|
ln -s %{_datadir}/openqa/script/client %{buildroot}%{_bindir}/openqa-client
|
|
|
|
|
ln -s %{_datadir}/openqa/script/openqa-cli %{buildroot}%{_bindir}/openqa-cli
|
|
|
|
|
@ -362,8 +465,19 @@ ln -s %{_datadir}/openqa/script/openqa-load-templates %{buildroot}%{_bindir}/ope
|
|
|
|
|
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/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
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
# 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
|
|
|
|
|
@ -376,11 +490,6 @@ grep -rl %{_bindir}/env . | while read file; do
|
|
|
|
|
sed -e 's,%{_bindir}/env perl,%{_bindir}/perl,' -i $file
|
|
|
|
|
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
|
|
|
|
|
rm -rf %{buildroot}%{_sysconfdir}/apparmor.d
|
|
|
|
|
# these scripts are very SUSE-specific
|
|
|
|
|
@ -388,6 +497,7 @@ 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-check-devel-repo
|
|
|
|
|
rm -f %{buildroot}%{_datadir}/openqa/script/openqa-clean-repo-cache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
@ -400,17 +510,12 @@ export LC_ALL=en_US.UTF-8
|
|
|
|
|
touch openqa-debug.log autoinst-log.txt
|
|
|
|
|
chmod a+w openqa-debug.log autoinst-log.txt
|
|
|
|
|
# we can't use 'unshare' in Fedora package build env
|
|
|
|
|
sed -i -e 's,unshare -r -n ,,g' t/40-script_openqa-clone-custom-git-refspec.t t/40-openqa-clone-job.t 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
|
|
|
|
|
sed -i -e 's,unshare -r -n ,,g' t/40-script_openqa-clone-custom-git-refspec.t
|
|
|
|
|
# Skip tests not working currently, or flaky
|
|
|
|
|
rm \
|
|
|
|
|
t/01-test-utilities.t \
|
|
|
|
|
t/17-labels_carry_over.t \
|
|
|
|
|
t/25-cache-service.t \
|
|
|
|
|
t/34-developer_mode-unit.t \
|
|
|
|
|
t/44-scripts.t
|
|
|
|
|
t/25-cache-service.t
|
|
|
|
|
|
|
|
|
|
# "CI" set with longer timeouts as needed for higher performance variations
|
|
|
|
|
# within CI systems, e.g. OBS. See t/lib/OpenQA/Test/TimeLimit.pm
|
|
|
|
|
@ -421,15 +526,15 @@ export OPENQA_TEST_TIMEOUT_SCALE_CI=15
|
|
|
|
|
# packaging
|
|
|
|
|
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
|
|
|
|
|
# can differ when you run the build in mock and cause 16-utils-runcmd
|
|
|
|
|
# to fail
|
|
|
|
|
make test GIT_CEILING_DIRECTORIES="/" CHECKSTYLE=0 PROVE_ARGS='-l -r' TEST_PG_PATH=%{buildroot}/DB
|
|
|
|
|
make test GIT_CEILING_DIRECTORIES="/" CHECKSTYLE=0 PROVE_ARGS='-r t' TEST_PG_PATH=%{buildroot}/DB
|
|
|
|
|
rm -rf %{buildroot}/DB
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%pre
|
|
|
|
|
%sysusers_create_compat %{SOURCE5}
|
|
|
|
|
|
|
|
|
|
%pre worker
|
|
|
|
|
%sysusers_create_compat %{SOURCE6}
|
|
|
|
|
@ -444,7 +549,9 @@ rm -rf %{buildroot}/DB
|
|
|
|
|
|
|
|
|
|
%post httpd
|
|
|
|
|
if [ $1 -eq 1 ]; then
|
|
|
|
|
echo "### copy and edit /etc/httpd/conf.d/openqa.conf.template!"
|
|
|
|
|
echo "### copy and edit /etc/httpd/conf.d/openqa.conf.template if using apache!"
|
|
|
|
|
echo "### copy and edit /etc/nginx/conf.d/openqa.conf.template if using nginx!"
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
%preun
|
|
|
|
|
@ -463,39 +570,59 @@ fi
|
|
|
|
|
%systemd_postun_with_restart %{openqa_worker_services}
|
|
|
|
|
|
|
|
|
|
%post local-db
|
|
|
|
|
%systemd_post openqa-setup-db.service
|
|
|
|
|
%systemd_post %{openqa_localdb_services}
|
|
|
|
|
|
|
|
|
|
%preun local-db
|
|
|
|
|
%systemd_preun openqa-setup-db.service
|
|
|
|
|
%systemd_preun %{openqa_localdb_services}
|
|
|
|
|
|
|
|
|
|
%postun local-db
|
|
|
|
|
%systemd_postun_with_restart openqa-setup-db.service
|
|
|
|
|
%systemd_postun_with_restart %{openqa_localdb_services}
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
%doc README.asciidoc
|
|
|
|
|
%doc README.md
|
|
|
|
|
%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
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/openqa/openqa.ini
|
|
|
|
|
%config(noreplace) %attr(-,root,geekotest) %{_sysconfdir}/openqa/database.ini
|
|
|
|
|
%dir %{_sysconfdir}/openqa/openqa.ini.d
|
|
|
|
|
%dir %{_sysconfdir}/openqa/database.ini.d
|
|
|
|
|
%{_datadir}/doc/openqa/examples/openqa.ini
|
|
|
|
|
%{_datadir}/doc/openqa/examples/database.ini
|
|
|
|
|
%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
|
|
|
|
|
# init
|
|
|
|
|
%{_unitdir}/openqa-webui.service
|
|
|
|
|
%{_unitdir}/openqa-livehandler.service
|
|
|
|
|
%{_unitdir}/openqa-gru.service
|
|
|
|
|
%dir %{_unitdir}/openqa-gru.service.requires
|
|
|
|
|
%{_unitdir}/openqa-scheduler.service
|
|
|
|
|
%dir %{_unitdir}/openqa-scheduler.service.requires
|
|
|
|
|
%{_unitdir}/openqa-websockets.service
|
|
|
|
|
%dir %{_unitdir}/openqa-websockets.service.requires
|
|
|
|
|
%{_unitdir}/openqa-enqueue-audit-event-cleanup.service
|
|
|
|
|
%{_unitdir}/openqa-enqueue-audit-event-cleanup.timer
|
|
|
|
|
%{_unitdir}/openqa-enqueue-asset-cleanup.service
|
|
|
|
|
%{_unitdir}/openqa-enqueue-asset-cleanup.timer
|
|
|
|
|
%{_unitdir}/openqa-enqueue-git-auto-update.service
|
|
|
|
|
%{_unitdir}/openqa-enqueue-git-auto-update.timer
|
|
|
|
|
%{_unitdir}/openqa-enqueue-result-cleanup.service
|
|
|
|
|
%{_unitdir}/openqa-enqueue-result-cleanup.timer
|
|
|
|
|
%{_unitdir}/openqa-enqueue-bug-cleanup.service
|
|
|
|
|
%{_unitdir}/openqa-enqueue-bug-cleanup.timer
|
|
|
|
|
%{_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
|
|
|
|
|
# web libs
|
|
|
|
|
%{_datadir}/openqa/lib/DBIx/
|
|
|
|
|
@ -504,11 +631,14 @@ fi
|
|
|
|
|
%{_datadir}/openqa/lib/OpenQA/Scheduler/
|
|
|
|
|
%{_datadir}/openqa/lib/OpenQA/Schema/
|
|
|
|
|
%{_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/templates
|
|
|
|
|
%{_datadir}/openqa/public
|
|
|
|
|
%{_datadir}/openqa/dbicdh
|
|
|
|
|
%{_datadir}/openqa/assets
|
|
|
|
|
%{_datadir}/openqa/dbicdh
|
|
|
|
|
%{_datadir}/openqa/node_modules
|
|
|
|
|
%dir %{_datadir}/openqa/script
|
|
|
|
|
%{_datadir}/openqa/script/configure-web-proxy
|
|
|
|
|
%{_datadir}/openqa/script/create_admin
|
|
|
|
|
@ -524,7 +654,10 @@ fi
|
|
|
|
|
%{_datadir}/openqa/script/openqa-enqueue-asset-cleanup
|
|
|
|
|
%{_datadir}/openqa/script/openqa-enqueue-audit-event-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-scheduled-product-cleanup
|
|
|
|
|
%{_datadir}/openqa/script/openqa-gru
|
|
|
|
|
%{_datadir}/openqa/script/openqa-webui-daemon
|
|
|
|
|
%{_datadir}/openqa/script/upgradedb
|
|
|
|
|
@ -547,8 +680,16 @@ fi
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
|
|
|
|
|
%files client-bash-completion
|
|
|
|
|
%{_datadir}/bash-completion/completions/openqa-cli
|
|
|
|
|
|
|
|
|
|
%files client-zsh-completion
|
|
|
|
|
%{_datadir}/zsh/site-functions/_openqa-cli
|
|
|
|
|
|
|
|
|
|
%files common
|
|
|
|
|
%license COPYING
|
|
|
|
|
%dir %{_datadir}/doc/openqa
|
|
|
|
|
%dir %{_datadir}/doc/openqa/examples
|
|
|
|
|
%dir %{_datadir}/openqa
|
|
|
|
|
%ghost %dir %{_datadir}/openqa/packed
|
|
|
|
|
%{_datadir}/openqa/lib
|
|
|
|
|
@ -575,16 +716,23 @@ fi
|
|
|
|
|
# this is a compat symlink to a directory whose contents are split
|
|
|
|
|
# between server and worker
|
|
|
|
|
%{_localstatedir}/lib/openqa/script
|
|
|
|
|
%{_unitdir}/openqa-minion-restart.service
|
|
|
|
|
%{_unitdir}/openqa-minion-restart.path
|
|
|
|
|
|
|
|
|
|
%files worker
|
|
|
|
|
%{_datadir}/openqa/lib/OpenQA/CacheService/
|
|
|
|
|
%{_datadir}/openqa/lib/OpenQA/Worker/
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/openqa/workers.ini
|
|
|
|
|
%config(noreplace) %attr(0400,_openqa-worker,root) %{_sysconfdir}/openqa/client.conf
|
|
|
|
|
%ghost %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/openqa/workers.ini
|
|
|
|
|
%ghost %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
|
|
|
|
|
%dir %{_unitdir}
|
|
|
|
|
%{_prefix}/lib/systemd/system-generators/systemd-openqa-generator
|
|
|
|
|
%{_unitdir}/openqa-worker.target
|
|
|
|
|
%{_unitdir}/openqa-worker.slice
|
|
|
|
|
%{_unitdir}/openqa-worker@.service
|
|
|
|
|
%{_unitdir}/openqa-worker-plain@.service
|
|
|
|
|
%{_unitdir}/openqa-worker-cacheservice-minion.service
|
|
|
|
|
@ -599,7 +747,7 @@ fi
|
|
|
|
|
%{_datadir}/openqa/script/openqa-vde_switch
|
|
|
|
|
%{_tmpfilesdir}/openqa.conf
|
|
|
|
|
%{_sysusersdir}/openQA-worker.conf
|
|
|
|
|
%ghost %dir %{_rundir}/openqa
|
|
|
|
|
%ghost %dir %attr(0755,_openqa-worker,root) %{_rundir}/openqa
|
|
|
|
|
# worker libs
|
|
|
|
|
%dir %{_datadir}/openqa
|
|
|
|
|
%dir %{_datadir}/openqa/script
|
|
|
|
|
@ -612,6 +760,7 @@ fi
|
|
|
|
|
%dir %{_localstatedir}/lib/openqa/cache
|
|
|
|
|
# own one pool - to create the others is task of the admin
|
|
|
|
|
%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
|
|
|
|
|
# shared with the server.
|
|
|
|
|
@ -622,9 +771,20 @@ fi
|
|
|
|
|
%config %{_sysconfdir}/httpd/conf.d/openqa.conf.template
|
|
|
|
|
%config %{_sysconfdir}/httpd/conf.d/openqa-common.inc
|
|
|
|
|
%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
|
|
|
|
|
%dir %{_datadir}/openqa
|
|
|
|
|
%dir %{_datadir}/openqa/client
|
|
|
|
|
%{_datadir}/openqa/client/openqa-cli.yaml
|
|
|
|
|
%dir %{_datadir}/openqa/script
|
|
|
|
|
%{_datadir}/openqa/script/client
|
|
|
|
|
%{_datadir}/openqa/script/clone_job.pl
|
|
|
|
|
@ -657,25 +817,174 @@ fi
|
|
|
|
|
|
|
|
|
|
%files local-db
|
|
|
|
|
%{_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/dump-db
|
|
|
|
|
%{_bindir}/openqa-setup-db
|
|
|
|
|
%{_bindir}/openqa-dump-db
|
|
|
|
|
%dir %attr(0755,postgres,root) %{_localstatedir}/lib/openqa/backup
|
|
|
|
|
|
|
|
|
|
%files single-instance
|
|
|
|
|
|
|
|
|
|
%files single-instance-nginx
|
|
|
|
|
|
|
|
|
|
%files bootstrap
|
|
|
|
|
%{_datadir}/openqa/script/openqa-bootstrap
|
|
|
|
|
%{_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
|
|
|
|
|
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraMessaging.pm
|
|
|
|
|
|
|
|
|
|
%files plugin-fedoraupdaterestart
|
|
|
|
|
%{_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
|
|
|
|
|
* 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)
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|