diff --git a/openQA-4.6.1629814422.9faec0365.obscpio b/openQA-4.6.1629814422.9faec0365.obscpio deleted file mode 100644 index e5221a4..0000000 --- a/openQA-4.6.1629814422.9faec0365.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44d5a1f0ed0d5bcce91a3d67d037f7f4d9612cb29fb30042a58ba2a3d030f1ac -size 13192205 diff --git a/openQA-4.6.1629997637.5c3f9e2dd.obscpio b/openQA-4.6.1629997637.5c3f9e2dd.obscpio new file mode 100644 index 0000000..ed5d704 --- /dev/null +++ b/openQA-4.6.1629997637.5c3f9e2dd.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9328c59d1b7a88b983ad59669394be5cb51b0dd2a1c522853e05d9553f954e67 +size 13201933 diff --git a/openQA-client-test.spec b/openQA-client-test.spec index 6ffad4a..5f58973 100644 --- a/openQA-client-test.spec +++ b/openQA-client-test.spec @@ -18,7 +18,7 @@ %define short_name openQA-client Name: %{short_name}-test -Version: 4.6.1629814422.9faec0365 +Version: 4.6.1629997637.5c3f9e2dd Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later diff --git a/openQA-devel-test.spec b/openQA-devel-test.spec index 7fd6ca9..3c48508 100644 --- a/openQA-devel-test.spec +++ b/openQA-devel-test.spec @@ -18,7 +18,7 @@ %define short_name openQA-devel Name: %{short_name}-test -Version: 4.6.1629814422.9faec0365 +Version: 4.6.1629997637.5c3f9e2dd Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later diff --git a/openQA-test.spec b/openQA-test.spec index 3a7b88e..317f38b 100644 --- a/openQA-test.spec +++ b/openQA-test.spec @@ -18,12 +18,15 @@ %define short_name openQA Name: %{short_name}-test -Version: 4.6.1629814422.9faec0365 +Version: 4.6.1629997637.5c3f9e2dd Release: 0 Summary: Test package for openQA License: GPL-2.0-or-later BuildRequires: %{short_name} == %{version} BuildRequires: openQA-local-db +%if 0%{?suse_version} > 1500 +BuildRequires: user(geekotest) +%endif ExcludeArch: i586 %description @@ -38,6 +41,7 @@ touch %{_sourcedir}/%{short_name} # call one of the components but not openqa itself which would need a valid # configuration /usr/share/openqa/script/initdb --help +getent passwd geekotest %install # disable debug packages in package test to prevent error about missing files diff --git a/openQA-worker-test.spec b/openQA-worker-test.spec index 55deb1c..d625d3c 100644 --- a/openQA-worker-test.spec +++ b/openQA-worker-test.spec @@ -18,11 +18,14 @@ %define short_name openQA-worker Name: %{short_name}-test -Version: 4.6.1629814422.9faec0365 +Version: 4.6.1629997637.5c3f9e2dd Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later BuildRequires: %{short_name} == %{version} +%if 0%{?suse_version} > 1500 +BuildRequires: user(_openqa-worker) +%endif ExcludeArch: i586 %description @@ -35,6 +38,7 @@ touch %{_sourcedir}/%{short_name} %build /usr/share/openqa/script/worker --help +getent passwd _openqa-worker %install # disable debug packages in package test to prevent error about missing files diff --git a/openQA.changes b/openQA.changes index f8a740d..43a2b6c 100644 --- a/openQA.changes +++ b/openQA.changes @@ -1,10 +1,28 @@ ------------------------------------------------------------------- -Tue Aug 24 16:02:51 UTC 2021 - okurz@suse.com +Thu Aug 26 17:07:24 UTC 2021 - okurz@suse.com -- Update to version 4.6.1629814422.9faec0365: +- Update to version 4.6.1629997637.5c3f9e2dd: + * Fix flaky coverage in `t/05-scheduler-full.t` + * git subrepo pull (merge) --force external/os-autoinst-common + * Add `/usr/bin/tail` to apparmor profile to fix hook script on o3 + * Dependency cron 2021-08-26 + * fullstack: Wait for live view button + * Avoid printing stacktrace when cgroup configuration fails + * Move code for cgroups configuration into its own function + * Prevent private assets from being cleaned up too early + * Refactor function to determine a job's parent IDs + * Improve asset registration function + * Prevent public assets from being cleaned up too early + * Improve `t/15-assets.t` + * Reenable sysusers once again on Tumbleweed + * Dependency cron 2021-08-25 * doc: Make the PRODUCTDIR overwrite docs less confusing * Remove unused test mock and mark uncoverable line * Optimize querying progress of running jobs by utilizing module columns + * doc: Document new cache service setting `CACHE_MIN_FREE_PERCENTAGE` + * doc: Improve documentation of cache service + * doc: Fix typo in `Installing.asciidoc` + * Allow configuring worker cache to keep certain percentage of free space * fullstack: scale panel waits via TimeLimit * Document that needles will not be loaded from a custom `CASEDIR` * doc: Remove remark that asset caching overrides PRODUCTDIR diff --git a/openQA.obsinfo b/openQA.obsinfo index 3b7e135..6b3f7f3 100644 --- a/openQA.obsinfo +++ b/openQA.obsinfo @@ -1,5 +1,5 @@ name: openQA -version: 4.6.1629814422.9faec0365 -mtime: 1629814422 -commit: 9faec0365a850a08b7bf99aea6765449b9e37d74 +version: 4.6.1629997637.5c3f9e2dd +mtime: 1629997637 +commit: 5c3f9e2ddf0bb7813fdc335fa59d90025099b0ef diff --git a/openQA.spec b/openQA.spec index 9d13984..0d10c0d 100644 --- a/openQA.spec +++ b/openQA.spec @@ -49,10 +49,10 @@ # The following line is generated from dependencies.yaml %define assetpack_requires perl(CSS::Minifier::XS) >= 0.01 perl(JavaScript::Minifier::XS) >= 0.11 perl(Mojolicious::Plugin::AssetPack) >= 1.36 # The following line is generated from dependencies.yaml -%define common_requires perl >= 5.20.0 perl(Archive::Extract) > 0.7 perl(Carp::Always) perl(Config::IniFiles) perl(Cpanel::JSON::XS) >= 4.09 perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) perl(Getopt::Long) perl(Minion) >= 10.22 perl(Mojolicious) >= 9.11 perl(Regexp::Common) perl(Storable) perl(Try::Tiny) +%define common_requires perl >= 5.20.0 perl(Archive::Extract) > 0.7 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(Filesys::Df) perl(Getopt::Long) perl(Minion) >= 10.22 perl(Mojolicious) >= 9.11 perl(Regexp::Common) perl(Storable) perl(Try::Tiny) # runtime requirements for the main package that are not required by other sub-packages # The following line is generated from dependencies.yaml -%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(Filesys::Df) 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 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 %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) # The following line is generated from dependencies.yaml @@ -76,7 +76,7 @@ %define devel_requires %devel_no_selenium_requires chromedriver Name: openQA -Version: 4.6.1629814422.9faec0365 +Version: 4.6.1629997637.5c3f9e2dd Release: 0 Summary: The openQA web-frontend, scheduler and tools License: GPL-2.0-or-later @@ -123,6 +123,10 @@ BuildRequires: %{test_requires} %if 0%{?suse_version} >= 1330 Requires(pre): group(nogroup) %endif +%if 0%{?suse_version} > 1500 +BuildRequires: sysuser-tools +%sysusers_requires +%endif %description openQA is a testing framework that allows you to test GUI applications on one @@ -265,6 +269,10 @@ sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all %build %make_build +%if 0%{?suse_version} > 1500 +%sysusers_generate_pre usr/lib/sysusers.d/%{name}-worker.conf %{name}-worker %{name}-worker.conf +%sysusers_generate_pre usr/lib/sysusers.d/geekotest.conf %{name} geekotest.conf +%endif %check #for double checking @@ -313,6 +321,11 @@ export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 %make_install +%if 0%{?suse_version} <= 1500 +# we only use sysusers on Tumbleweed +rm -rf %{buildroot}/%{_sysusersdir} +%endif + mkdir -p %{buildroot}%{_datadir}/openqa%{_sysconfdir}/openqa ln -s %{_sysconfdir}/openqa/openqa.ini %{buildroot}%{_datadir}/openqa%{_sysconfdir}/openqa/openqa.ini ln -s %{_sysconfdir}/openqa/database.ini %{buildroot}%{_datadir}/openqa%{_sysconfdir}/openqa/database.ini @@ -348,11 +361,16 @@ mkdir %{buildroot}%{_localstatedir}/lib/openqa/webui/cache # %fdupes %{buildroot}/%{_prefix} +%if 0%{?suse_version} > 1500 +%pre -f %{name}.pre +%else + %pre if ! getent passwd geekotest > /dev/null; then %{_sbindir}/useradd -r -g nogroup -c "openQA user" \ -d %{_localstatedir}/lib/openqa geekotest 2>/dev/null || : fi +%endif %service_add_pre %{openqa_services} @@ -370,6 +388,10 @@ if [ "$1" = 1 ]; then fi fi +%if 0%{?suse_version} > 1500 +%pre worker -f openQA-worker.pre +%else + %pre worker if ! getent passwd _openqa-worker > /dev/null; then %{_sbindir}/useradd -r -g nogroup -c "openQA worker" \ @@ -377,6 +399,7 @@ if ! getent passwd _openqa-worker > /dev/null; then # might fail for non-kvm workers (qemu package owns the group) %{_sbindir}/usermod _openqa-worker -a -G kvm || : fi +%endif %service_add_pre %{openqa_worker_services} @@ -546,6 +569,9 @@ fi %dir %{_localstatedir}/lib/openqa/share/factory/repo %dir %{_localstatedir}/lib/openqa/share/factory/other %ghost %{_localstatedir}/log/openqa +%if 0%{?suse_version} > 1500 +%{_sysusersdir}/geekotest.conf +%endif %files devel @@ -610,6 +636,9 @@ fi %dir %{_localstatedir}/lib/openqa/cache # own one pool - to create the others is task of the admin %dir %{_localstatedir}/lib/openqa/pool/1 +%if 0%{?suse_version} > 1500 +%{_sysusersdir}/%{name}-worker.conf +%endif %files client %dir %{_datadir}/openqa