Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2017-10-17 01:51:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Tue Oct 17 01:51:43 2017 rev:6 rq:533857 version:20171013.b00a8f5
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2017-10-11 23:01:52.771519119 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
2017-10-17 01:51:46.276533315 +0200
@@ -1,0 +2,50 @@
+Fri Oct 13 09:12:23 UTC 2017 - [email protected]
+
+- Update to version 20171013.b00a8f5:
+ * osclib/stagingapi: get_staging_projects(): provide include_dvd option.
+ * check_source: print message if checking devel project.
+ * check_source: move all relevant flags to config to work properly without
flags.
+ * ttm: update for Leap 15.0
+ * osclib: provide ConfigCommand and expose via osc-staging.
+ * repo_checker: utilize staging configuration for whitelist additions.
+ * repo_checker: filter empty whitelist entries.
+ * osclib/stagingapi: set_prj_pseudometa(): only change if different.
+ * osclib/freeze: clear staging config during freeze as well.
+
+-------------------------------------------------------------------
+Tue Oct 10 16:26:17 UTC 2017 - [email protected]
+
+- Update to version 20171010.a2ba667:
+ * dist: provide check-source subpackage.
+
+-------------------------------------------------------------------
+Tue Oct 10 16:18:11 UTC 2017 - [email protected]
+
+- Update to version 20171010.73cec11:
+ * dist: provide maintenance subpackage.
+
+-------------------------------------------------------------------
+Tue Oct 10 16:09:46 UTC 2017 - [email protected]
+
+- Update to version 20171010.3ed4156:
+ * dist: rework totest-manager subpackage to provide new style service.
+ * dist/spec: add python-openqa_client as Requires for totest-manager.
+ * dist/spec: totest-manager: reword to avoid dollar sign.
+
+-------------------------------------------------------------------
+Tue Oct 10 15:55:26 UTC 2017 - [email protected]
+
+- Update to version 20171010.f50ea95:
+ * dist: provide leaper services and related configuration.
+
+-------------------------------------------------------------------
+Tue Oct 10 15:35:17 UTC 2017 - [email protected]
+
+- Update to version 20171010.de533a2:
+ * dist: provide staging-bot subpackage for related services.
+ * dist/spec: include project_only repo-checker service in pre/post.
+ * dist: provide staging-bot-devel-list service (changed from leaper).
+ * dist: include suppkg_rebuild in staging-bot subpackage.
+ * dist: include supersede service in staging-bot subpackage.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20171010.02e5000.obscpio
New:
----
openSUSE-release-tools-20171013.b00a8f5.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.OfiIRC/_old 2017-10-17 01:51:48.344436445 +0200
+++ /var/tmp/diff_new_pack.OfiIRC/_new 2017-10-17 01:51:48.348436258 +0200
@@ -20,7 +20,7 @@
%define source_dir osc-plugin-factory
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20171010.02e5000
+Version: 20171013.b00a8f5
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0+ and MIT
@@ -109,6 +109,39 @@
%description announcer
OBS product release announcer for generating email diffs summaries.
+%package check-source
+Summary: Check source review bot
+Group: Development/Tools/Other
+BuildArch: noarch
+# TODO Update requirements.
+Requires: osclib = %{version}
+Requires(pre): shadow
+
+%description check-source
+Check source review bot that performs basic source analysis and assigns
reviews.
+
+%package leaper
+Summary: Leap-style services
+Group: Development/Tools/Other
+BuildArch: noarch
+Requires: %{name} = %{version}
+Requires: osclib = %{version}
+Requires(pre): shadow
+
+%description leaper
+Leap-style services for non-Factory projects.
+
+%package maintenance
+Summary: Maintenance related services
+Group: Development/Tools/Other
+BuildArch: noarch
+# TODO Update requirements.
+Requires: osclib = %{version}
+Requires(pre): shadow
+
+%description maintenance
+Maintenance related services like incident check.
+
%package metrics
Summary: Ingest relevant data to generate insightful metrics
Group: Development/Tools/Other
@@ -134,15 +167,30 @@
%description repo-checker
Repository checker service that inspects built RPMs from stagings.
+%package staging-bot
+Summary: Staging bot services
+Group: Development/Tools/Other
+BuildArch: noarch
+# devel-project.py
+Requires: %{name} = %{version}
+Requires: osc-plugin-staging = %{version}
+# For supersede service.
+Requires: osc-plugin-check_dups = %{version}
+Requires(pre): shadow
+
+%description staging-bot
+Staging bot services and system user.
+
%package totest-manager
-Summary: Manages \$product:ToTest repository
+Summary: Manages product ToTest repository
Group: Development/Tools/Other
BuildArch: noarch
# TODO Update requirements.
Requires: osclib = %{version}
+Requires: python-openqa_client
%description totest-manager
-Manages \$product:ToTest repository workflow and openQA interaction
+Manages product ToTest repository workflow and openQA interaction
%package -n osclib
Summary: Supplemental osc libraries
@@ -214,34 +262,129 @@
%postun announcer
%service_del_postun %{announcer_filename}.service
+%pre check-source
+%service_add_pre osrt-check-source.service
+getent passwd osrt-check-source > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-check-source" osrt-check-source
+exit 0
+
+%post check-source
+%service_add_post osrt-check-source.service
+
+%preun check-source
+%service_del_preun osrt-check-source.service
+
+%postun check-source
+%service_del_postun osrt-check-source.service
+
+%pre leaper
+%service_add_pre [email protected]
+%service_add_pre [email protected]
+%service_add_pre osrt-leaper-review.service
+getent passwd osrt-leaper > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-leaper"
osrt-leaper
+exit 0
+
+%post leaper
+%service_add_post [email protected]
+%service_add_post [email protected]
+%service_add_post osrt-leaper-review.service
+
+%preun leaper
+%service_del_preun [email protected]
+%service_del_preun [email protected]
+%service_del_preun osrt-leaper-review.service
+
+%postun leaper
+%service_del_postun [email protected]
+%service_del_postun [email protected]
+%service_del_postun osrt-leaper-review.service
+
+%pre maintenance
+%service_add_pre osrt-maintenance-incidents.service
+getent passwd osrt-maintenance > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-maintenance" osrt-maintenance
+exit 0
+
+%post maintenance
+%service_add_post osrt-maintenance-incidents.service
+
+%preun maintenance
+%service_del_preun osrt-maintenance-incidents.service
+
+%postun maintenance
+%service_del_postun osrt-maintenance-incidents.service
+
# TODO Provide metrics service once #1006 is resolved.
%pre repo-checker
%service_add_pre osrt-repo-checker.service
+%service_add_pre [email protected]
getent passwd osrt-repo-checker > /dev/null || \
useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-repo-checker" osrt-repo-checker
exit 0
%post repo-checker
%service_add_post osrt-repo-checker.service
+%service_add_post [email protected]
%preun repo-checker
%service_del_preun osrt-repo-checker.service
+%service_del_preun [email protected]
%postun repo-checker
%service_del_postun osrt-repo-checker.service
+%service_del_postun [email protected]
+
+%pre staging-bot
+%service_add_pre [email protected]
+%service_add_pre osrt-staging-bot-devel-list.service
+%service_add_pre [email protected]
+%service_add_pre osrt-staging-bot-reminder.service
+%service_add_pre [email protected]
+%service_add_pre [email protected]
+getent passwd osrt-staging-bot > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-staging-bot" osrt-staging-bot
+exit 0
+
+%post staging-bot
+%service_add_post [email protected]
+%service_add_post osrt-staging-bot-devel-list.service
+%service_add_post [email protected]
+%service_add_post osrt-staging-bot-reminder.service
+%service_add_post [email protected]
+%service_add_post [email protected]
+
+%preun staging-bot
+%service_del_preun [email protected]
+%service_del_preun osrt-staging-bot-devel-list.service
+%service_del_preun [email protected]
+%service_del_preun osrt-staging-bot-reminder.service
+%service_del_preun [email protected]
+%service_del_preun [email protected]
+
+%postun staging-bot
+%service_del_postun [email protected]
+%service_del_postun osrt-staging-bot-devel-list.service
+%service_del_postun [email protected]
+%service_del_postun osrt-staging-bot-reminder.service
+%service_del_postun [email protected]
+%service_del_postun [email protected]
%pre totest-manager
-%service_add_pre opensuse-totest-manager.service
+%service_add_pre [email protected]
+getent passwd osrt-totest-manager > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-totest-manager" osrt-totest-manager
+exit 0
%post totest-manager
-%service_add_post opensuse-totest-manager.service
+%service_add_post [email protected]
%preun totest-manager
-%service_del_preun opensuse-totest-manager.service
+%service_del_preun [email protected]
%postun totest-manager
-%service_del_postun opensuse-totest-manager.service
+%service_del_postun [email protected]
%files
%defattr(-,root,root,-)
@@ -249,15 +392,24 @@
%{_datadir}/%{source_dir}
%exclude %{_datadir}/%{source_dir}/abichecker
%exclude %{_datadir}/%{source_dir}/%{announcer_filename}
+%exclude %{_datadir}/%{source_dir}/check_maintenance_incidents.py
+%exclude %{_datadir}/%{source_dir}/check_source.pl
+%exclude %{_datadir}/%{source_dir}/check_source.py
+%exclude %{_datadir}/%{source_dir}/devel-project.py
+%exclude %{_datadir}/%{source_dir}/leaper.py
+%exclude %{_datadir}/%{source_dir}/manager_42.py
%exclude %{_datadir}/%{source_dir}/metrics
%exclude %{_datadir}/%{source_dir}/metrics.py
%exclude %{_datadir}/%{source_dir}/repo_checker.pl
%exclude %{_datadir}/%{source_dir}/repo_checker.py
+%exclude %{_datadir}/%{source_dir}/suppkg_rebuild.py
%exclude %{_datadir}/%{source_dir}/totest-manager.py
%exclude %{_datadir}/%{source_dir}/osclib
%exclude %{_datadir}/%{source_dir}/osc-check_dups.py
%exclude %{_datadir}/%{source_dir}/osc-cycle.py
%exclude %{_datadir}/%{source_dir}/osc-staging.py
+%exclude %{_datadir}/%{source_dir}/update_crawler.py
+%dir %{_sysconfdir}/openSUSE-release-tools
%files devel
%defattr(-,root,root,-)
@@ -280,6 +432,38 @@
%{_unitdir}/%{announcer_filename}.service
%{_unitdir}/%{announcer_filename}.timer
+%files check-source
+%defattr(-,root,root,-)
+%{_bindir}/osrt-check_source
+%{_datadir}/%{source_dir}/check_source.pl
+%{_datadir}/%{source_dir}/check_source.py
+%{_unitdir}/osrt-check-source.service
+%{_unitdir}/osrt-check-source.timer
+
+%files leaper
+%defattr(-,root,root,-)
+%{_bindir}/osrt-leaper
+%{_bindir}/osrt-leaper-crawler-*
+%{_bindir}/osrt-manager_42
+%{_bindir}/osrt-update_crawler
+%{_datadir}/%{source_dir}/leaper.py
+%{_datadir}/%{source_dir}/manager_42.py
+%{_datadir}/%{source_dir}/update_crawler.py
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/osrt-leaper-review.service
+%{_unitdir}/osrt-leaper-review.timer
+%{_sysconfdir}/openSUSE-release-tools/manager_42
+
+%files maintenance
+%defattr(-,root,root,-)
+%{_bindir}/osrt-check_maintenance_incidents
+%{_datadir}/%{source_dir}/check_maintenance_incidents.py
+%{_unitdir}/osrt-maintenance-incidents.service
+%{_unitdir}/osrt-maintenance-incidents.timer
+
%files metrics
%defattr(-,root,root,-)
%{_datadir}/%{source_dir}/metrics
@@ -295,10 +479,30 @@
%{_unitdir}/[email protected]
%{_unitdir}/[email protected]
+%files staging-bot
+%defattr(-,root,root,-)
+%{_bindir}/osrt-devel-project
+%{_bindir}/osrt-suppkg_rebuild
+%{_datadir}/%{source_dir}/devel-project.py
+%{_datadir}/%{source_dir}/suppkg_rebuild.py
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/osrt-staging-bot-devel-list.service
+%{_unitdir}/osrt-staging-bot-devel-list.timer
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/osrt-staging-bot-reminder.service
+%{_unitdir}/osrt-staging-bot-reminder.timer
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+
%files totest-manager
%defattr(-,root,root,-)
-%{_unitdir}/opensuse-totest-manager.service
+%{_bindir}/osrt-totest-manager
%{_datadir}/%{source_dir}/totest-manager.py
+%{_unitdir}/[email protected]
%files -n osclib
%defattr(-,root,root,-)
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.OfiIRC/_old 2017-10-17 01:51:48.392434196 +0200
+++ /var/tmp/diff_new_pack.OfiIRC/_new 2017-10-17 01:51:48.392434196 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/osc-plugin-factory.git</param>
- <param
name="changesrevision">239c6314c7a8b0192c85181e7f64ab274e74cc31</param>
+ <param
name="changesrevision">b00a8f5ed667e32a4cec71523bddbcefb1ca20fd</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20171010.02e5000.obscpio ->
openSUSE-release-tools-20171013.b00a8f5.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171010.02e5000/Makefile
new/openSUSE-release-tools-20171013.b00a8f5/Makefile
--- old/openSUSE-release-tools-20171010.02e5000/Makefile 2017-10-10
13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/Makefile 2017-10-13
11:12:22.000000000 +0200
@@ -2,7 +2,7 @@
include Makefile.common
-pkgdata_BINS=repo_checker
+pkgdata_BINS=check_maintenance_incidents check_source devel-project leaper
manager_42 repo_checker suppkg_rebuild totest-manager update_crawler
pkgdata_SCRIPTS=$(wildcard *.py *.pl *.sh)
pkgdata_SCRIPTS+=bs_mirrorfull findfileconflicts
pkgdata_DATA+=bs_copy metrics osclib $(wildcard *.pm *.testcase)
@@ -12,7 +12,7 @@
all:
install:
- install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir)
$(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir)
+ install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir)
$(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir)
$(DESTDIR)$(sysconfdir)/$(package_name)
for i in $(pkgdata_SCRIPTS); do install -m 755 $$i
$(DESTDIR)$(pkgdatadir); done
chmod 644 $(DESTDIR)$(pkgdatadir)/osc-*.py
for i in $(pkgdata_DATA); do cp -a $$i $(DESTDIR)$(pkgdatadir); done
@@ -22,6 +22,8 @@
sed -i "s/OSC_STAGING_VERSION = '.*'/OSC_STAGING_VERSION =
'$(VERSION)'/" \
$(DESTDIR)$(pkgdatadir)/osc-staging.py
for i in $(pkgdata_BINS); do ln -s $(pkgdatadir)/$$i.py
$(DESTDIR)$(bindir)/osrt-$$i; done
+ install -m 755 script/* $(DESTDIR)$(bindir)
+ cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name)
check: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/check_source.py
new/openSUSE-release-tools-20171013.b00a8f5/check_source.py
--- old/openSUSE-release-tools-20171010.02e5000/check_source.py 2017-10-10
13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/check_source.py 2017-10-13
11:12:22.000000000 +0200
@@ -10,6 +10,7 @@
except ImportError:
import cElementTree as ET
+import osc.conf
import osc.core
import urllib2
import ReviewBot
@@ -27,16 +28,24 @@
self.maintbot = MaintenanceChecker(*args, **kwargs)
- self.ignore_devel = False
- self.review_team = 'opensuse-review-team'
- self.repo_checker = 'repo-checker'
self.skip_add_reviews = False
+ def target_project_config(self, project):
+ # Load project config and allow for remote entries.
+ self.staging_api(project)
+ config = self.staging_config[project]
+
+ self.ignore_devel = not bool(config.get('devel-project-enforce',
False))
+ self.review_team = config.get('review-team')
+ self.repo_checker = config.get('repo-checker')
+ self.devel_whitelist = config.get('devel-whitelist', '').split()
+
def check_source_submission(self, source_project, source_package,
source_revision, target_project, target_package):
super(CheckSource, self).check_source_submission(source_project,
source_package, source_revision, target_project, target_package)
+ self.target_project_config(target_project)
if not self.ignore_devel:
- # Check if target package exists and has devel project.
+ self.logger.info('checking if target package exists and has devel
project')
devel_project, devel_package =
self.get_devel_project(target_project, target_package)
if devel_project:
if (source_project != devel_project or source_package !=
devel_package) and \
@@ -137,10 +146,7 @@
return None
def is_devel_project(self, source_project, target_project):
- # Load project config and allow for remote entries.
- self.staging_api(target_project)
- devel_whitelist =
self.staging_config[target_project].get('devel-whitelist', '').split()
- if source_project in devel_whitelist:
+ if source_project in self.devel_whitelist:
return True
# Allow any projects already used as devel projects for other packages.
@@ -252,9 +258,6 @@
def get_optparser(self):
parser = ReviewBot.CommandLineInterface.get_optparser(self)
- parser.add_option('--ignore-devel', action='store_true',
default=False, help='ignore devel projects for target package')
- parser.add_option('--review-team', metavar='GROUP', help='review team
group added to requests')
- parser.add_option('--repo-checker', metavar='USER', help='repo checker
user added after accepted review')
parser.add_option('--skip-add-reviews', action='store_true',
default=False, help='skip adding review after completing checks')
return parser
@@ -262,16 +265,6 @@
def setup_checker(self):
bot = ReviewBot.CommandLineInterface.setup_checker(self)
- if self.options.ignore_devel:
- bot.ignore_devel = self.options.ignore_devel
- if self.options.review_team:
- if self.options.review_team == 'None':
- self.options.review_team = None
- bot.review_team = self.options.review_team
- if self.options.repo_checker:
- if self.options.repo_checker == 'None':
- self.options.repo_checker = None
- bot.repo_checker = self.options.repo_checker
bot.skip_add_reviews = self.options.skip_add_reviews
return bot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/config/manager_42/openSUSE:Leap:15.0.yml
new/openSUSE-release-tools-20171013.b00a8f5/config/manager_42/openSUSE:Leap:15.0.yml
---
old/openSUSE-release-tools-20171010.02e5000/config/manager_42/openSUSE:Leap:15.0.yml
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/config/manager_42/openSUSE:Leap:15.0.yml
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,9 @@
+---
+project_preference_order:
+- SUSE:SLE-15:Update
+- SUSE:SLE-15:GA
+- openSUSE:Factory
+- openSUSE:Factory:NonFree
+- openSUSE:Leap:15.0:SLE-workarounds
+- openSUSE:Leap:15.0:SLE-workarounds
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/config/manager_42/openSUSE:Leap:42.3.yml
new/openSUSE-release-tools-20171013.b00a8f5/config/manager_42/openSUSE:Leap:42.3.yml
---
old/openSUSE-release-tools-20171010.02e5000/config/manager_42/openSUSE:Leap:42.3.yml
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/config/manager_42/openSUSE:Leap:42.3.yml
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,22 @@
+---
+project_preference_order:
+- SUSE:SLE-12-SP3:GA
+- SUSE:SLE-12-SP2:Update
+- SUSE:SLE-12-SP2:GA
+- SUSE:SLE-12-SP1:Update
+- SUSE:SLE-12-SP1:GA
+- SUSE:SLE-12:Update
+- SUSE:SLE-12:GA
+- openSUSE:Leap:42.2:Update
+- openSUSE:Leap:42.2
+- openSUSE:Leap:42.2:NonFree:Update
+- openSUSE:Leap:42.2:NonFree
+- openSUSE:Leap:42.1:Update
+- openSUSE:Leap:42.1
+- openSUSE:Leap:42.1:NonFree:Update
+- openSUSE:Leap:42.1:NonFree
+- openSUSE:Factory
+- openSUSE:Factory:NonFree
+- openSUSE:Leap:42.3:SLE-workarounds
+- openSUSE:Leap:42.2:SLE-workarounds
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/dist/package/openSUSE-release-tools.spec
new/openSUSE-release-tools-20171013.b00a8f5/dist/package/openSUSE-release-tools.spec
---
old/openSUSE-release-tools-20171010.02e5000/dist/package/openSUSE-release-tools.spec
2017-10-10 13:31:25.000000000 +0200
+++
new/openSUSE-release-tools-20171013.b00a8f5/dist/package/openSUSE-release-tools.spec
2017-10-13 11:12:22.000000000 +0200
@@ -109,6 +109,39 @@
%description announcer
OBS product release announcer for generating email diffs summaries.
+%package check-source
+Summary: Check source review bot
+Group: Development/Tools/Other
+BuildArch: noarch
+# TODO Update requirements.
+Requires: osclib = %{version}
+Requires(pre): shadow
+
+%description check-source
+Check source review bot that performs basic source analysis and assigns
reviews.
+
+%package leaper
+Summary: Leap-style services
+Group: Development/Tools/Other
+BuildArch: noarch
+Requires: %{name} = %{version}
+Requires: osclib = %{version}
+Requires(pre): shadow
+
+%description leaper
+Leap-style services for non-Factory projects.
+
+%package maintenance
+Summary: Maintenance related services
+Group: Development/Tools/Other
+BuildArch: noarch
+# TODO Update requirements.
+Requires: osclib = %{version}
+Requires(pre): shadow
+
+%description maintenance
+Maintenance related services like incident check.
+
%package metrics
Summary: Ingest relevant data to generate insightful metrics
Group: Development/Tools/Other
@@ -134,15 +167,30 @@
%description repo-checker
Repository checker service that inspects built RPMs from stagings.
+%package staging-bot
+Summary: Staging bot services
+Group: Development/Tools/Other
+BuildArch: noarch
+# devel-project.py
+Requires: %{name} = %{version}
+Requires: osc-plugin-staging = %{version}
+# For supersede service.
+Requires: osc-plugin-check_dups = %{version}
+Requires(pre): shadow
+
+%description staging-bot
+Staging bot services and system user.
+
%package totest-manager
-Summary: Manages \$product:ToTest repository
+Summary: Manages product ToTest repository
Group: Development/Tools/Other
BuildArch: noarch
# TODO Update requirements.
Requires: osclib = %{version}
+Requires: python-openqa_client
%description totest-manager
-Manages \$product:ToTest repository workflow and openQA interaction
+Manages product ToTest repository workflow and openQA interaction
%package -n osclib
Summary: Supplemental osc libraries
@@ -214,34 +262,129 @@
%postun announcer
%service_del_postun %{announcer_filename}.service
+%pre check-source
+%service_add_pre osrt-check-source.service
+getent passwd osrt-check-source > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-check-source" osrt-check-source
+exit 0
+
+%post check-source
+%service_add_post osrt-check-source.service
+
+%preun check-source
+%service_del_preun osrt-check-source.service
+
+%postun check-source
+%service_del_postun osrt-check-source.service
+
+%pre leaper
+%service_add_pre [email protected]
+%service_add_pre [email protected]
+%service_add_pre osrt-leaper-review.service
+getent passwd osrt-leaper > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for openSUSE-release-tools-leaper"
osrt-leaper
+exit 0
+
+%post leaper
+%service_add_post [email protected]
+%service_add_post [email protected]
+%service_add_post osrt-leaper-review.service
+
+%preun leaper
+%service_del_preun [email protected]
+%service_del_preun [email protected]
+%service_del_preun osrt-leaper-review.service
+
+%postun leaper
+%service_del_postun [email protected]
+%service_del_postun [email protected]
+%service_del_postun osrt-leaper-review.service
+
+%pre maintenance
+%service_add_pre osrt-maintenance-incidents.service
+getent passwd osrt-maintenance > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-maintenance" osrt-maintenance
+exit 0
+
+%post maintenance
+%service_add_post osrt-maintenance-incidents.service
+
+%preun maintenance
+%service_del_preun osrt-maintenance-incidents.service
+
+%postun maintenance
+%service_del_postun osrt-maintenance-incidents.service
+
# TODO Provide metrics service once #1006 is resolved.
%pre repo-checker
%service_add_pre osrt-repo-checker.service
+%service_add_pre [email protected]
getent passwd osrt-repo-checker > /dev/null || \
useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-repo-checker" osrt-repo-checker
exit 0
%post repo-checker
%service_add_post osrt-repo-checker.service
+%service_add_post [email protected]
%preun repo-checker
%service_del_preun osrt-repo-checker.service
+%service_del_preun [email protected]
%postun repo-checker
%service_del_postun osrt-repo-checker.service
+%service_del_postun [email protected]
+
+%pre staging-bot
+%service_add_pre [email protected]
+%service_add_pre osrt-staging-bot-devel-list.service
+%service_add_pre [email protected]
+%service_add_pre osrt-staging-bot-reminder.service
+%service_add_pre [email protected]
+%service_add_pre [email protected]
+getent passwd osrt-staging-bot > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-staging-bot" osrt-staging-bot
+exit 0
+
+%post staging-bot
+%service_add_post [email protected]
+%service_add_post osrt-staging-bot-devel-list.service
+%service_add_post [email protected]
+%service_add_post osrt-staging-bot-reminder.service
+%service_add_post [email protected]
+%service_add_post [email protected]
+
+%preun staging-bot
+%service_del_preun [email protected]
+%service_del_preun osrt-staging-bot-devel-list.service
+%service_del_preun [email protected]
+%service_del_preun osrt-staging-bot-reminder.service
+%service_del_preun [email protected]
+%service_del_preun [email protected]
+
+%postun staging-bot
+%service_del_postun [email protected]
+%service_del_postun osrt-staging-bot-devel-list.service
+%service_del_postun [email protected]
+%service_del_postun osrt-staging-bot-reminder.service
+%service_del_postun [email protected]
+%service_del_postun [email protected]
%pre totest-manager
-%service_add_pre opensuse-totest-manager.service
+%service_add_pre [email protected]
+getent passwd osrt-totest-manager > /dev/null || \
+ useradd -r -m -s /sbin/nologin -c "user for
openSUSE-release-tools-totest-manager" osrt-totest-manager
+exit 0
%post totest-manager
-%service_add_post opensuse-totest-manager.service
+%service_add_post [email protected]
%preun totest-manager
-%service_del_preun opensuse-totest-manager.service
+%service_del_preun [email protected]
%postun totest-manager
-%service_del_postun opensuse-totest-manager.service
+%service_del_postun [email protected]
%files
%defattr(-,root,root,-)
@@ -249,15 +392,24 @@
%{_datadir}/%{source_dir}
%exclude %{_datadir}/%{source_dir}/abichecker
%exclude %{_datadir}/%{source_dir}/%{announcer_filename}
+%exclude %{_datadir}/%{source_dir}/check_maintenance_incidents.py
+%exclude %{_datadir}/%{source_dir}/check_source.pl
+%exclude %{_datadir}/%{source_dir}/check_source.py
+%exclude %{_datadir}/%{source_dir}/devel-project.py
+%exclude %{_datadir}/%{source_dir}/leaper.py
+%exclude %{_datadir}/%{source_dir}/manager_42.py
%exclude %{_datadir}/%{source_dir}/metrics
%exclude %{_datadir}/%{source_dir}/metrics.py
%exclude %{_datadir}/%{source_dir}/repo_checker.pl
%exclude %{_datadir}/%{source_dir}/repo_checker.py
+%exclude %{_datadir}/%{source_dir}/suppkg_rebuild.py
%exclude %{_datadir}/%{source_dir}/totest-manager.py
%exclude %{_datadir}/%{source_dir}/osclib
%exclude %{_datadir}/%{source_dir}/osc-check_dups.py
%exclude %{_datadir}/%{source_dir}/osc-cycle.py
%exclude %{_datadir}/%{source_dir}/osc-staging.py
+%exclude %{_datadir}/%{source_dir}/update_crawler.py
+%dir %{_sysconfdir}/openSUSE-release-tools
%files devel
%defattr(-,root,root,-)
@@ -280,6 +432,38 @@
%{_unitdir}/%{announcer_filename}.service
%{_unitdir}/%{announcer_filename}.timer
+%files check-source
+%defattr(-,root,root,-)
+%{_bindir}/osrt-check_source
+%{_datadir}/%{source_dir}/check_source.pl
+%{_datadir}/%{source_dir}/check_source.py
+%{_unitdir}/osrt-check-source.service
+%{_unitdir}/osrt-check-source.timer
+
+%files leaper
+%defattr(-,root,root,-)
+%{_bindir}/osrt-leaper
+%{_bindir}/osrt-leaper-crawler-*
+%{_bindir}/osrt-manager_42
+%{_bindir}/osrt-update_crawler
+%{_datadir}/%{source_dir}/leaper.py
+%{_datadir}/%{source_dir}/manager_42.py
+%{_datadir}/%{source_dir}/update_crawler.py
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/osrt-leaper-review.service
+%{_unitdir}/osrt-leaper-review.timer
+%{_sysconfdir}/openSUSE-release-tools/manager_42
+
+%files maintenance
+%defattr(-,root,root,-)
+%{_bindir}/osrt-check_maintenance_incidents
+%{_datadir}/%{source_dir}/check_maintenance_incidents.py
+%{_unitdir}/osrt-maintenance-incidents.service
+%{_unitdir}/osrt-maintenance-incidents.timer
+
%files metrics
%defattr(-,root,root,-)
%{_datadir}/%{source_dir}/metrics
@@ -295,10 +479,30 @@
%{_unitdir}/[email protected]
%{_unitdir}/[email protected]
+%files staging-bot
+%defattr(-,root,root,-)
+%{_bindir}/osrt-devel-project
+%{_bindir}/osrt-suppkg_rebuild
+%{_datadir}/%{source_dir}/devel-project.py
+%{_datadir}/%{source_dir}/suppkg_rebuild.py
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/osrt-staging-bot-devel-list.service
+%{_unitdir}/osrt-staging-bot-devel-list.timer
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/osrt-staging-bot-reminder.service
+%{_unitdir}/osrt-staging-bot-reminder.timer
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+%{_unitdir}/[email protected]
+
%files totest-manager
%defattr(-,root,root,-)
-%{_unitdir}/opensuse-totest-manager.service
+%{_bindir}/osrt-totest-manager
%{_datadir}/%{source_dir}/totest-manager.py
+%{_unitdir}/[email protected]
%files -n osclib
%defattr(-,root,root,-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/manager_42-leap423.yml
new/openSUSE-release-tools-20171013.b00a8f5/manager_42-leap423.yml
--- old/openSUSE-release-tools-20171010.02e5000/manager_42-leap423.yml
2017-10-10 13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/manager_42-leap423.yml
1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
----
-project_preference_order:
-- SUSE:SLE-12-SP3:GA
-- SUSE:SLE-12-SP2:Update
-- SUSE:SLE-12-SP2:GA
-- SUSE:SLE-12-SP1:Update
-- SUSE:SLE-12-SP1:GA
-- SUSE:SLE-12:Update
-- SUSE:SLE-12:GA
-- openSUSE:Leap:42.2:Update
-- openSUSE:Leap:42.2
-- openSUSE:Leap:42.2:NonFree:Update
-- openSUSE:Leap:42.2:NonFree
-- openSUSE:Leap:42.1:Update
-- openSUSE:Leap:42.1
-- openSUSE:Leap:42.1:NonFree:Update
-- openSUSE:Leap:42.1:NonFree
-- openSUSE:Factory
-- openSUSE:Factory:NonFree
-- openSUSE:Leap:42.3:SLE-workarounds
-- openSUSE:Leap:42.2:SLE-workarounds
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/openqa-comments.py
new/openSUSE-release-tools-20171013.b00a8f5/openqa-comments.py
--- old/openSUSE-release-tools-20171010.02e5000/openqa-comments.py
2017-10-10 13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/openqa-comments.py
2017-10-13 11:12:22.000000000 +0200
@@ -231,6 +231,5 @@
if args.staging:
openQA.report(api.prj_from_letter(args.staging))
else:
- for staging in api.get_staging_projects():
- if not staging.endswith(':DVD'):
- openQA.report(staging)
+ for staging in api.get_staging_projects(include_dvd=False):
+ openQA.report(staging)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/osc-staging.py
new/openSUSE-release-tools-20171013.b00a8f5/osc-staging.py
--- old/openSUSE-release-tools-20171010.02e5000/osc-staging.py 2017-10-10
13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/osc-staging.py 2017-10-13
11:12:22.000000000 +0200
@@ -38,6 +38,7 @@
from osclib.check_duplicate_binaries_command import
CheckDuplicateBinariesCommand
from osclib.cleanup_rings import CleanupRings
from osclib.conf import Config
+from osclib.config_command import ConfigCommand
from osclib.freeze_command import FreezeCommand
from osclib.ignore_command import IgnoreCommand
from osclib.unignore_command import UnignoreCommand
@@ -136,6 +137,8 @@
@cmdln.option('--strategy', help='apply a specific strategy')
@cmdln.option('--no-color', action='store_true', help='strip colors from
output (or add staging.color = 0 to the .oscrc general section')
@cmdln.option('--save', action='store_true', help='save the result to the
dashboard container')
[email protected]('--append', action='store_true', help='append to existing value')
[email protected]('--clear', action='store_true', help='clear value')
def do_staging(self, subcmd, opts, *args):
"""${cmd_name}: Commands to work with staging projects
@@ -161,6 +164,34 @@
"check_duplicate_binaries" list binaries provided by multiple packages
+ "config" will modify or view staging specific configuration
+
+ Target project level configuration that applies to all stagings can be
+ found in the $PROJECT:Staging/dashboard container in file "config".
Both
+ configuration locations follow the .oscrc format (space separated
list).
+
+ config
+ Print all staging configuration.
+ config key
+ Print the value of key for stagings.
+ conf key value...
+ Set the value of key for stagings.
+ config --clear
+ Clear all staging configuration.
+ config --clear key
+ Clear (unset) a single key from staging configuration
+ config --append key value...
+ Append value to existing value or set if no existing value.
+
+ All of the above may be restricted to a set of stagings.
+
+ The staging configuration is automatically cleared anytime staging
+ psuedometa is cleared (accept, or unstage all requests).
+
+ The keys that may be set in staging configuration are:
+
+ - repo_checker-binary-whitelist[-arch]: appended to target project list
+
"cleanup_rings" will try to cleanup rings content and print
out problems
@@ -288,6 +319,7 @@
osc staging adi [--move] [--by-develproject] [--split] [REQUEST...]
osc staging check [--old] [STAGING...]
osc staging check_duplicate_binaries
+ osc staging config [--append] [--clear] [STAGING...] [key] [value]
osc staging cleanup_rings
osc staging freeze [--no-bootstrap] STAGING...
osc staging frozenage [STAGING...]
@@ -320,6 +352,7 @@
'accept',
'adi',
'check',
+ 'config',
'frozenage',
'unignore',
'select',
@@ -393,6 +426,25 @@
print()
elif cmd == 'check_duplicate_binaries':
CheckDuplicateBinariesCommand(api).perform(opts.save)
+ elif cmd == 'config':
+ projects = set()
+ key = value = None
+ stagings = api.get_staging_projects_short(None) + \
+ api.get_staging_projects(include_dvd=False)
+ for arg in args[1:]:
+ if arg in stagings:
+ projects.add(api.prj_from_short(arg))
+ elif key is None:
+ key = arg
+ elif value is None:
+ value = arg
+ else:
+ value += ' ' + arg
+
+ if not len(projects):
+ projects = api.get_staging_projects(include_dvd=False)
+
+ ConfigCommand(api).perform(projects, key, value, opts.append,
opts.clear)
elif cmd == 'freeze':
for prj in args[1:]:
prj = api.prj_from_short(prj)
@@ -454,7 +506,7 @@
elif cmd == 'select':
# Include list of all stagings in short-hand and by full name.
existing_stagings = api.get_staging_projects_short(None)
- existing_stagings += [p for p in api.get_staging_projects() if not
p.endswith(':DVD')]
+ existing_stagings += api.get_staging_projects(include_dvd=False)
stagings = []
requests = []
for arg in args[1:]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/osclib/conf.py
new/openSUSE-release-tools-20171013.b00a8f5/osclib/conf.py
--- old/openSUSE-release-tools-20171010.02e5000/osclib/conf.py 2017-10-10
13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/osclib/conf.py 2017-10-13
11:12:22.000000000 +0200
@@ -46,6 +46,10 @@
'lock-ns': 'openSUSE',
'delreq-review': 'factory-maintainers',
'main-repo': 'standard',
+ # check_source.py
+ 'devel-project-enforce': 'True',
+ 'review-team': 'opensuse-review-team',
+ 'repo-checker': 'repo-checker',
},
r'openSUSE:(?P<project>Leap:[\d.]+)': {
'staging': 'openSUSE:%(project)s:Staging',
@@ -62,6 +66,9 @@
'lock-ns': 'openSUSE',
'delreq-review': None,
'main-repo': 'standard',
+ # check_source.py
+ # review-team optionally added by leaper.py.
+ 'repo-checker': 'repo-checker',
},
r'SUSE:(?P<project>SLE-15.*$)': {
'staging': 'SUSE:%(project)s:Staging',
@@ -77,6 +84,8 @@
'lock-ns': 'SUSE',
'delreq-review': None,
'main-repo': 'standard',
+ # check_source.py
+ 'repo-checker': 'repo-checker',
},
r'SUSE:(?P<project>.*$)': {
'staging': 'SUSE:%(project)s:Staging',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/osclib/config_command.py
new/openSUSE-release-tools-20171013.b00a8f5/osclib/config_command.py
--- old/openSUSE-release-tools-20171010.02e5000/osclib/config_command.py
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171013.b00a8f5/osclib/config_command.py
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,28 @@
+class ConfigCommand(object):
+ def __init__(self, api):
+ self.api = api
+
+ def perform(self, projects, key=None, value=None, append=False,
clear=False):
+ project_max_format = '{:<' + str(len(max(projects, key=len))) + '} {}'
+ for project in projects:
+ meta = self.api.get_prj_pseudometa(project)
+ meta.setdefault('config', {})
+
+ if clear:
+ if key:
+ meta['config'].pop(key, None)
+ else:
+ meta.pop('config', None)
+ self.api.set_prj_pseudometa(project, meta)
+ elif value:
+ value_project = value
+ if append:
+ value_project = ' '.join([meta['config'].get(key, ''),
value_project.strip()])
+ meta['config'][key] = value_project.strip()
+ self.api.set_prj_pseudometa(project, meta)
+
+ keys = [key] if key else meta.get('config', {}).keys()
+ for key_print in keys:
+ print('{} = {}'.format(
+ project_max_format.format(project, key_print) if
len(projects) > 1 else key_print,
+ meta['config'].get(key_print)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/osclib/freeze_command.py
new/openSUSE-release-tools-20171013.b00a8f5/osclib/freeze_command.py
--- old/openSUSE-release-tools-20171010.02e5000/osclib/freeze_command.py
2017-10-10 13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/osclib/freeze_command.py
2017-10-13 11:12:22.000000000 +0200
@@ -14,6 +14,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+from osclib.config_command import ConfigCommand
import time
import re
from xml.etree import cElementTree as ET
@@ -119,6 +120,9 @@
def perform(self, prj, copy_bootstrap=True):
self.prj = prj
+ # Depending on what eventually lives in config this may need to change.
+ ConfigCommand(self.api).perform([prj], clear=True)
+
if self.api.is_adi_project(prj):
src_prj =
self.api.find_devel_project_from_adi_frozenlinks(self.prj)
if src_prj is None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/osclib/stagingapi.py
new/openSUSE-release-tools-20171013.b00a8f5/osclib/stagingapi.py
--- old/openSUSE-release-tools-20171010.02e5000/osclib/stagingapi.py
2017-10-10 13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/osclib/stagingapi.py
2017-10-13 11:12:22.000000000 +0200
@@ -325,7 +325,7 @@
return True
- def get_staging_projects(self):
+ def get_staging_projects(self, include_dvd=True):
"""
Get all current running staging projects
:return list of known staging projects
@@ -338,7 +338,10 @@
projxml = http_GET(url)
root = ET.parse(projxml).getroot()
for val in root.findall('project'):
- projects.append(val.get('name'))
+ project = val.get('name')
+ if not include_dvd and project.endswith(':DVD'):
+ continue
+ projects.append(project)
return projects
def extract_staging_short(self, p):
@@ -361,9 +364,8 @@
and None for both.
"""
projects = []
- for project in self.get_staging_projects():
- if project.endswith(':DVD') or \
- (adi is not None and self.is_adi_project(project) != adi):
+ for project in self.get_staging_projects(include_dvd=False):
+ if adi is not None and self.is_adi_project(project) != adi:
continue
short = self.extract_staging_short(project)
if adi is False and len(short) > 1:
@@ -736,7 +738,10 @@
description = root.find('description')
# Order the requests and replace it with yaml
meta['requests'] = sorted(meta.get('requests', []), key=lambda x:
x['id'])
- description.text = yaml.dump(meta)
+ yaml_new = yaml.dump(meta)
+ if yaml_new == description.text:
+ return
+ description.text = yaml_new
# Find title
title = root.find('title')
# Put something nice into title as well
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/repo_checker.py
new/openSUSE-release-tools-20171013.b00a8f5/repo_checker.py
--- old/openSUSE-release-tools-20171010.02e5000/repo_checker.py 2017-10-10
13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/repo_checker.py 2017-10-13
11:12:22.000000000 +0200
@@ -170,7 +170,7 @@
# Only bother if staging can match arch, but layered first.
directories.insert(0, self.mirror(project, arch))
- whitelist = self.binary_whitelist(project, arch)
+ whitelist = self.binary_whitelist(project, arch, group)
# Perform checks on group.
results = {
@@ -240,11 +240,14 @@
if binary.package in packages:
yield binary.name
- def binary_whitelist(self, project, arch):
+ def binary_whitelist(self, project, arch, group):
+ additions =
self.staging_api(project).get_prj_pseudometa(group).get('config', {})
prefix = 'repo_checker-binary-whitelist'
whitelist = set()
for key in [prefix, '-'.join([prefix, arch])]:
whitelist.update(self.staging_config[project].get(key, '').split('
'))
+ whitelist.update(additions.get(key, '').split(' '))
+ whitelist = filter(None, whitelist)
return whitelist
def install_check(self, project, directories, arch, ignore=[],
whitelist=[], parse=False):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/script/osrt-leaper-crawler-openSUSE:Leap:15.0
new/openSUSE-release-tools-20171013.b00a8f5/script/osrt-leaper-crawler-openSUSE:Leap:15.0
---
old/openSUSE-release-tools-20171010.02e5000/script/osrt-leaper-crawler-openSUSE:Leap:15.0
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/script/osrt-leaper-crawler-openSUSE:Leap:15.0
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+TO=openSUSE:Leap:15.0
+
+osrt-update_crawler --to $TO \
+ --from SUSE:SLE-15:GA \
+ --only-from SUSE:SLE-15:GA \
+ --only-from SUSE:SLE-15:Update \
+ "$@"
+
+osrt-update_crawler --to $TO \
+ --from openSUSE:Factory \
+ --only-from openSUSE:Factory \
+ "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/script/osrt-leaper-crawler-openSUSE:Leap:42.3
new/openSUSE-release-tools-20171013.b00a8f5/script/osrt-leaper-crawler-openSUSE:Leap:42.3
---
old/openSUSE-release-tools-20171010.02e5000/script/osrt-leaper-crawler-openSUSE:Leap:42.3
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/script/osrt-leaper-crawler-openSUSE:Leap:42.3
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+TO=openSUSE:Leap:42.3
+
+osrt-update_crawler --to $TO \
+ --from SUSE:SLE-12-SP3:GA \
+ --only-from SUSE:SLE-12:GA \
+ --only-from SUSE:SLE-12:Update \
+ --only-from SUSE:SLE-12-SP1:GA \
+ --only-from SUSE:SLE-12-SP1:Update \
+ --only-from SUSE:SLE-12-SP2:GA \
+ --only-from SUSE:SLE-12-SP2:Update \
+ --only-from SUSE:SLE-12-SP3:GA \
+ --only-from SUSE:SLE-12-SP3:Update \
+ "$@"
+
+osrt-update_crawler --to $TO \
+ --from openSUSE:Leap:42.3:Update \
+ --only-from openSUSE:Leap:42.1 \
+ --only-from openSUSE:Leap:42.1:Update \
+ --only-from openSUSE:Leap:42.2 \
+ --only-from openSUSE:Leap:42.2:Update \
+ --only-from openSUSE:Leap:42.3 \
+ --only-from openSUSE:Leap:42.3:Update \
+ "$@"
+
+osrt-update_crawler --to $TO \
+ --from openSUSE:Leap:42.3:NonFree:Update \
+ --only-from openSUSE:Leap:42.1:NonFree \
+ --only-from openSUSE:Leap:42.1:NonFree:Update \
+ --only-from openSUSE:Leap:42.2:NonFree \
+ --only-from openSUSE:Leap:42.2:NonFree:Update \
+ --only-from openSUSE:Leap:42.3:NonFree \
+ --only-from openSUSE:Leap:42.3:NonFree:Update \
+ "$@"
+
+osrt-update_crawler --to $TO \
+ --from openSUSE:Factory \
+ --only-from openSUSE:Factory \
+ "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/opensuse-totest-manager.service
new/openSUSE-release-tools-20171013.b00a8f5/systemd/opensuse-totest-manager.service
---
old/openSUSE-release-tools-20171010.02e5000/systemd/opensuse-totest-manager.service
2017-10-10 13:31:25.000000000 +0200
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/opensuse-totest-manager.service
1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-[Unit]
-Description=openSUSE Factory ToTest Manager
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/screen -DmS totest-manager
/usr/share/osc-plugin-factory/totest-manager.py run --verbose --interval 15
-ExecStop=/usr/bin/screen -S totest-manager -X quit
-WorkingDirectory=/usr/share/osc-plugin-factory
-User=_opensuse.org-totest-manager
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-check-source.service
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-check-source.service
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-check-source.service
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-check-source.service
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,12 @@
+[Unit]
+Description=openSUSE Release Tools: check-source
+
+[Service]
+Type=simple
+User=osrt-check-source
+SyslogIdentifier=osrt-check-source
+# TODO Drop group flag once #1181 is resolved.
+ExecStart=/usr/bin/osrt-check_source --verbose --group factory-auto review
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-check-source.timer
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-check-source.timer
--- old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-check-source.timer
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-check-source.timer
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: check-source
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=3 min
+Unit=osrt-check-source.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: leaper crawler for %i (creates SRs from
upstream projects)
+
+[Service]
+Type=simple
+User=osrt-leaper
+ExecStart=/usr/bin/osrt-leaper-crawler-%i
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: leaper crawler for %i (creates SRs from
upstream projects)
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=4 hour
+Unit=osrt-leaper-crawler@%i.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: leaper manager for %i (set source projects)
+
+[Service]
+Type=simple
+User=osrt-leaper
+ExecStart=/usr/bin/osrt-manager_42 -c
/etc/openSUSE-release-tools/manager_42/%i.yml
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: leaper manager for %i
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=3 min
+Unit=osrt-leaper-manager@%i.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-leaper-review.service
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-leaper-review.service
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-leaper-review.service
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-leaper-review.service
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: leaper review
+
+[Service]
+Type=oneshot
+User=osrt-leaper
+ExecStart=/usr/bin/osrt-leaper --verbose --manual-version-updates
--manual-maintenance-updates review
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-leaper-review.timer
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-leaper-review.timer
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-leaper-review.timer
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-leaper-review.timer
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: leaper review
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=3 min
+Unit=osrt-leaper-review.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-maintenance-incidents.service
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-maintenance-incidents.service
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-maintenance-incidents.service
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-maintenance-incidents.service
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: maintenance incidents
+
+[Service]
+Type=simple
+User=osrt-maintenance
+ExecStart=/usr/bin/osrt-check_maintenance_incidents --verbose review
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-maintenance-incidents.timer
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-maintenance-incidents.timer
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-maintenance-incidents.timer
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-maintenance-incidents.timer
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: maintenance incidents
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=30 min
+Unit=osrt-maintenance-incidents.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,14 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot daily for %i
+
+[Service]
+Type=oneshot
+User=osrt-staging-bot
+SyslogIdentifier=osrt-staging-bot
+ExecStart=/usr/bin/env bash -c ' \
+ osc staging -p "%i" unignore --cleanup \
+ '
+TimeoutStartSec=3 hour
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,9 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot daily for %i
+
+[Timer]
+OnCalendar=daily
+Unit=osrt-staging-bot-daily@%i.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-devel-list.service
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-devel-list.service
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-devel-list.service
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-devel-list.service
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,11 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot devel list (stored in
dashboard)
+
+[Service]
+Type=simple
+User=osrt-staging-bot
+SyslogIdentifier=osrt-staging-bot
+ExecStart=/usr/bin/osrt-devel-project list -w
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-devel-list.timer
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-devel-list.timer
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-devel-list.timer
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-devel-list.timer
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot devel list (stored in
dashboard)
+
+[Timer]
+OnBootSec=120
+OnCalendar=daily
+Unit=osrt-staging-bot-devel-list.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,19 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot regular for %i
+
+[Service]
+Type=oneshot
+User=osrt-staging-bot
+SyslogIdentifier=osrt-staging-bot
+ExecStart=/usr/bin/env bash -c ' \
+ osc staging -p "%i" rebuild && \
+ osc staging -p "%i" list --supersede && \
+ osc staging -p "%i" adi --by-develproject && \
+ osc staging -p "%i" select --non-interactive --merge --try-strategies && \
+ osc staging -p "%i" unselect --cleanup && \
+ osc staging -p "%i" repair --cleanup \
+ '
+TimeoutStartSec=5 hour
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot regular for %i
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=60 min
+Unit=osrt-staging-bot-regular@%i.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-reminder.service
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-reminder.service
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-reminder.service
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-reminder.service
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,15 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot reminder
+
+[Service]
+Type=oneshot
+User=osrt-staging-bot
+SyslogIdentifier=osrt-staging-bot
+ExecStart=/usr/bin/env bash -c ' \
+ /usr/bin/osrt-devel-project reviews --min-age 3 --remind && \
+ /usr/bin/osrt-devel-project requests --min-age 3 --remind \
+ '
+TimeoutStartSec=3 hour
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-reminder.timer
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-reminder.timer
---
old/openSUSE-release-tools-20171010.02e5000/systemd/osrt-staging-bot-reminder.timer
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/osrt-staging-bot-reminder.timer
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,9 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot reminder
+
+[Timer]
+OnCalendar=daily
+Unit=osrt-staging-bot-reminder.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,11 @@
+[Unit]
+Description=openSUSE Release Tools: supersede duplicate submissions for %i
+
+[Service]
+Type=simple
+User=osrt-staging-bot
+SyslogIdentifier=osrt-staging-bot
+ExecStart=/usr/bin/osc check_dups "%i"
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: supersede duplicate submissions for %i
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=4 min
+Unit=osrt-staging-bot-supersede@%i.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,11 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot regular for %i (rebuild
staging project if support package staged)
+
+[Service]
+Type=oneshot
+User=osrt-staging-bot
+SyslogIdentifier=osrt-staging-bot
+ExecStart=/usr/bin/osrt-suppkg_rebuild -p "%i"
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,10 @@
+[Unit]
+Description=openSUSE Release Tools: staging-bot regular for %i (rebuild
staging project if support package staged)
+
+[Timer]
+OnBootSec=120
+OnUnitInactiveSec=60 min
+Unit=osrt-staging-bot-support-rebuild@%i.service
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
---
old/openSUSE-release-tools-20171010.02e5000/systemd/[email protected]
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171013.b00a8f5/systemd/[email protected]
2017-10-13 11:12:22.000000000 +0200
@@ -0,0 +1,8 @@
+[Unit]
+Description=openSUSE Release Tools: ToTest Manager for %i
+
+[Service]
+Type=simple
+User=osrt-totest-manager
+WorkingDirectory=~
+ExecStart=/usr/bin/osrt-totest-manager --verbose run --interval 5 "%i"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171010.02e5000/totest-manager.py
new/openSUSE-release-tools-20171013.b00a8f5/totest-manager.py
--- old/openSUSE-release-tools-20171010.02e5000/totest-manager.py
2017-10-10 13:31:25.000000000 +0200
+++ new/openSUSE-release-tools-20171013.b00a8f5/totest-manager.py
2017-10-13 11:12:22.000000000 +0200
@@ -24,12 +24,12 @@
import osc
-logger = logging.getLogger()
-
from osclib.conf import Config
from osclib.stagingapi import StagingAPI
from osc.core import makeurl
+logger = logging.getLogger()
+
ISSUE_FILE = 'issues_to_ignore'
# QA Results
@@ -38,6 +38,10 @@
QA_PASSED = 3
+class NotFoundException(Exception):
+ pass
+
+
class ToTestBase(object):
"""Base class to store the basic interface"""
@@ -98,14 +102,14 @@
result = re.match(r'openSUSE.*Build(.*)-Media1.report', binary)
if result:
return result.group(1)
- raise Exception("can't find %s version" % self.project)
+ raise NotFoundException("can't find %s ftp version" % project)
def iso_build_version(self, project, tree):
for binary in self.binaries_of_product('openSUSE:%s' % project, tree):
result = re.match(r'openSUSE.*Build(.*)-Media.iso', binary)
if result:
return result.group(1)
- raise Exception("can't find %s version" % self.project)
+ raise NotFoundException("can't find %s iso version" % project)
def release_version(self):
url = self.api.makeurl(['build', 'openSUSE:%s' % self.project,
'standard', self.arch(),
@@ -118,7 +122,7 @@
if result:
return result.group(1)
- raise Exception("can't find %s version" % self.project)
+ raise NotFoundException("can't find %s version" % self.project)
def find_openqa_results(self, snapshot):
"""Return the openqa jobs of a given snapshot and filter out the
@@ -215,7 +219,6 @@
f = self.api.retried_GET(url)
comments = json.load(f)
refs = set()
- #pprint(comments)
labeled = 0
to_ignore = False
for comment in comments:
@@ -322,10 +325,10 @@
if re.match(r'.*-dvd9-dvd-.*', package):
return 8539996159
- if package.startswith('_product:openSUSE-ftp-ftp-'):
+ if ':openSUSE-ftp-ftp-' in package:
return None
- if package.startswith('_product:openSUSE-Addon-NonOss-ftp-ftp'):
+ if ':openSUSE-Addon-NonOss-ftp-ftp' in package:
return None
raise Exception('No maxsize for {}'.format(package))
@@ -389,7 +392,7 @@
return True
- def release_package(self, project, package, set_release=None):
+ def _release_package(self, project, package, set_release=None):
query = {'cmd': 'release'}
if set_release:
@@ -408,6 +411,18 @@
else:
self.api.retried_POST(url)
+ def _release(self, set_release=None):
+ for product in self.ftp_products:
+ self._release_package('openSUSE:%s' % self.project, product)
+
+ for cd in self.livecd_products:
+ self._release_package('openSUSE:%s:Live' %
+ self.project, cd, set_release=release)
+
+ for cd in self.main_products:
+ self._release_package('openSUSE:%s' %
+ self.project, cd, set_release=release)
+
def update_totest(self, snapshot=None):
release = 'Snapshot%s' % snapshot if snapshot else None
logger.info('Updating snapshot %s' % snapshot)
@@ -415,16 +430,7 @@
self.api.switch_flag_in_prj(
'openSUSE:%s:ToTest' % self.project, flag='publish',
state='disable')
- for product in self.ftp_products:
- self.release_package('openSUSE:%s' % self.project, product)
-
- for cd in self.livecd_products:
- self.release_package('openSUSE:%s:Live' %
- self.project, cd, set_release=release)
-
- for cd in self.main_products:
- self.release_package(
- 'openSUSE:%s' % self.project, cd, set_release=release)
+ self._release(set_release=snapshot)
def publish_factory_totest(self):
logger.info('Publish ToTest')
@@ -450,7 +456,12 @@
return False
def totest(self):
- current_snapshot = self.get_current_snapshot()
+ try:
+ current_snapshot = self.get_current_snapshot()
+ except NotFoundException, e:
+ # nothing in :ToTest (yet)
+ logger.warn(e)
+ current_snapshot = None
new_snapshot = self.current_version()
current_result = self.overall_result(current_snapshot)
@@ -509,6 +520,45 @@
osc.core.http_PUT(url + '?comment=Update+version', data=version)
+class ToTestBaseNew(ToTestBase):
+
+ """Base class for new product builder"""
+ def _release(self, set_release=None):
+ query = {'cmd': 'release'}
+
+ package = '000product'
+ project = 'openSUSE:{}'.format(self.project)
+
+ if set_release:
+ query['setrelease'] = set_release
+
+ baseurl = ['source', project, package]
+
+ url = self.api.makeurl(baseurl, query=query)
+ if self.dryrun:
+ logger.info("release %s/%s (%s)" % (project, package, set_release))
+ else:
+ self.api.retried_POST(url)
+
+ # XXX still legacy
+ for cd in self.livecd_products:
+ self._release_package('openSUSE:%s:Live' %
+ self.project, cd, set_release=release)
+
+ def release_version(self):
+ url = self.api.makeurl(['build', 'openSUSE:%s' % self.project,
'standard', self.arch(),
+ '000product:openSUSE-release'])
+ f = self.api.retried_GET(url)
+ root = ET.parse(f).getroot()
+ for binary in root.findall('binary'):
+ binary = binary.get('filename', '')
+ result = re.match(r'.*-([^-]*)-[^-]*.src.rpm', binary)
+ if result:
+ return result.group(1)
+
+ raise NotFoundException("can't find %s release version" % self.project)
+
+
class ToTestFactory(ToTestBase):
main_products = ['_product:openSUSE-dvd5-dvd-i586',
'_product:openSUSE-dvd5-dvd-x86_64',
@@ -607,19 +657,20 @@
return 2
-class ToTest423(ToTestBase):
+class ToTest150(ToTestBaseNew):
main_products = [
- '_product:openSUSE-cd-mini-x86_64',
- '_product:openSUSE-dvd5-dvd-x86_64',
+ '000product:openSUSE-cd-mini-x86_64',
+ '000product:openSUSE-dvd5-dvd-x86_64',
]
- ftp_products = ['_product:openSUSE-ftp-ftp-x86_64',
- '_product:openSUSE-Addon-NonOss-ftp-ftp-x86_64']
+ ftp_products = ['000product:openSUSE-ftp-ftp-x86_64',
+ # TODO '000product:openSUSE-Addon-NonOss-ftp-ftp-x86_64'
+ ]
livecd_products = []
def openqa_group(self):
- return 'openSUSE Leap 42.3'
+ return 'openSUSE Leap 15.0'
def current_version(self):
return self.iso_build_version(self.project, self.main_products[0])
@@ -628,7 +679,7 @@
return self.iso_build_version(self.project + ':ToTest',
self.main_products[0])
def is_snapshottable(self):
- ret = super(ToTest423, self).is_snapshottable()
+ ret = super(ToTest150, self).is_snapshottable()
if ret:
# make sure all medias have the same build number
builds = set()
@@ -646,7 +697,7 @@
def update_totest(self, snapshot):
# omit snapshot, we don't want to rename on release
- super(ToTest423, self).update_totest()
+ super(ToTest150, self).update_totest()
class CommandlineInterface(cmdln.Cmdln):
@@ -659,7 +710,7 @@
'Factory:PowerPC': ToTestFactoryPowerPC,
'Factory:ARM': ToTestFactoryARM,
'Factory:zSystems': ToTestFactoryzSystems,
- 'Leap:42.3': ToTest423,
+ 'Leap:15.0': ToTest150,
}
def get_optparser(self):
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.OfiIRC/_old 2017-10-17 01:51:49.128399720 +0200
+++ /var/tmp/diff_new_pack.OfiIRC/_new 2017-10-17 01:51:49.128399720 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20171010.02e5000
-mtime: 1507634868
-commit: 02e50005b16b70a269ad15b97099c0a1b3035b32
+version: 20171013.b00a8f5
+mtime: 1507885185
+commit: b00a8f5ed667e32a4cec71523bddbcefb1ca20fd