Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2019-07-30 12:38:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Tue Jul 30 12:38:20 2019 rev:197 rq:719658 version:20190729.b3ec5fd8
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2019-07-29 17:31:27.350167588 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.4126/openSUSE-release-tools.changes
2019-07-30 12:38:24.502941964 +0200
@@ -1,0 +2,24 @@
+Mon Jul 29 16:28:59 UTC 2019 - [email protected]
+
+- Update to version 20190729.b3ec5fd8:
+ * Filter out release numbers from problem output
+
+-------------------------------------------------------------------
+Mon Jul 29 14:11:54 UTC 2019 - [email protected]
+
+- Update to version 20190729.e13c08e3:
+ * Have the storage commit include the details what is was for
+
+-------------------------------------------------------------------
+Mon Jul 29 13:51:37 UTC 2019 - [email protected]
+
+- Update to version 20190729.36a995fe:
+ * Combine project_only and rebuild into check
+
+-------------------------------------------------------------------
+Mon Jul 29 09:44:30 UTC 2019 - [email protected]
+
+- Update to version 20190729.9f0aee45:
+ * Remove project_only for Factory and update projects
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20190729.70133114.obscpio
New:
----
openSUSE-release-tools-20190729.b3ec5fd8.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.1jRb2a/_old 2019-07-30 12:38:25.514941836 +0200
+++ /var/tmp/diff_new_pack.1jRb2a/_new 2019-07-30 12:38:25.514941836 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20190729.70133114
+Version: 20190729.b3ec5fd8
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.1jRb2a/_old 2019-07-30 12:38:25.554941831 +0200
+++ /var/tmp/diff_new_pack.1jRb2a/_new 2019-07-30 12:38:25.554941831 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param
name="changesrevision">071bbf8d66c4120446ca65ed41ba9ae4d811adc1</param>
+ <param
name="changesrevision">350027d8f3ac609de25317d9041374e5c7ece326</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20190729.70133114.obscpio ->
openSUSE-release-tools-20190729.b3ec5fd8.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/gocd/checkers.suse.gocd.yaml
new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/checkers.suse.gocd.yaml
--- old/openSUSE-release-tools-20190729.70133114/gocd/checkers.suse.gocd.yaml
2019-07-29 10:19:25.000000000 +0200
+++ new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/checkers.suse.gocd.yaml
2019-07-29 18:26:30.000000000 +0200
@@ -41,13 +41,13 @@
resources:
- repo-checker
tasks:
- - script: ./project-installcheck.py -A https://api.suse.de --debug
project_only SUSE:SLE-15-SP2:GA
+ - script: ./project-installcheck.py -A https://api.suse.de --debug
check --store SUSE:SLE-15-SP2:GA:Staging/dashboard --no-rebuild
SUSE:SLE-15-SP2:GA
SLE_12_SP5:
timeout: 0
resources:
- repo-checker
tasks:
- - script: ./project-installcheck.py -A https://api.suse.de --debug
project_only SUSE:SLE-12-SP5:GA
+ - script: ./project-installcheck.py -A https://api.suse.de --debug
check --store SUSE:SLE-12-SP5:GA:Staging/dashboard --no-rebuild
SUSE:SLE-12-SP5:GA
SLE-SP2.Manager42:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/gocd/checkers.suse.gocd.yaml.erb
new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/checkers.suse.gocd.yaml.erb
---
old/openSUSE-release-tools-20190729.70133114/gocd/checkers.suse.gocd.yaml.erb
2019-07-29 10:19:25.000000000 +0200
+++
new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/checkers.suse.gocd.yaml.erb
2019-07-29 18:26:30.000000000 +0200
@@ -41,13 +41,13 @@
resources:
- repo-checker
tasks:
- - script: ./project-installcheck.py -A https://api.suse.de --debug
project_only SUSE:SLE-15-SP2:GA
+ - script: ./project-installcheck.py -A https://api.suse.de --debug
check --store SUSE:SLE-15-SP2:GA:Staging/dashboard --no-rebuild
SUSE:SLE-15-SP2:GA
SLE_12_SP5:
timeout: 0
resources:
- repo-checker
tasks:
- - script: ./project-installcheck.py -A https://api.suse.de --debug
project_only SUSE:SLE-12-SP5:GA
+ - script: ./project-installcheck.py -A https://api.suse.de --debug
check --store SUSE:SLE-12-SP5:GA:Staging/dashboard --no-rebuild
SUSE:SLE-12-SP5:GA
SLE-SP2.Manager42:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/gocd/rebuild-trigger.gocd.yaml
new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/rebuild-trigger.gocd.yaml
--- old/openSUSE-release-tools-20190729.70133114/gocd/rebuild-trigger.gocd.yaml
2019-07-29 10:19:25.000000000 +0200
+++ new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/rebuild-trigger.gocd.yaml
2019-07-29 18:26:30.000000000 +0200
@@ -1,6 +1,6 @@
format_version: 3
pipelines:
- Trigger.Rebuilds:
+ Trigger.Rebuild.Factory:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -19,22 +19,67 @@
tasks:
- script: |-
echo "openSUSE:Factory"
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory standard i586
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory standard x86_64
+ ./project-installcheck.py --debug check --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory
+ Trigger.Rebuild.Factory.Power:
+ group: openSUSE.Checkers
+ lock_behavior: unlockWhenFinished
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-factory-maintainer
+ materials:
+ script:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ timer:
+ spec: 0 0 * ? * *
+ only_on_changes: false
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - repo-checker
+ tasks:
- script: |-
echo "openSUSE:Factory:PowerPC"
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory:PowerPC standard ppc
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory:PowerPC standard ppc64
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory:PowerPC standard ppc64le
+ ./project-installcheck.py --debug check --store
openSUSE:Factory:Staging/dashboard openSUSE:Factory:PowerPC
+ Trigger.Rebuild.Leap.152:
+ group: openSUSE.Checkers
+ lock_behavior: unlockWhenFinished
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-factory-maintainer
+ materials:
+ script:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ timer:
+ spec: 0 0 * ? * *
+ only_on_changes: false
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - repo-checker
+ tasks:
- script: |-
echo "openSUSE Leap 15.2"
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Leap:15.2:Staging/dashboard openSUSE:Leap:15.2 standard i586
- ./project-installcheck.py --osc-debug --debug rebuild --store
openSUSE:Leap:15.2:Staging/dashboard openSUSE:Leap:15.2 standard x86_64
+ ./project-installcheck.py --debug check --store
openSUSE:Leap:15.2:Staging/dashboard openSUSE:Leap:15.2
+ Trigger.Rebuild.GNOME:
+ group: openSUSE.Checkers
+ lock_behavior: unlockWhenFinished
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-factory-maintainer
+ materials:
+ script:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ timer:
+ spec: 0 0 * ? * *
+ only_on_changes: false
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - repo-checker
+ tasks:
- script: |-
echo "GNOME devel projects"
- ./project-installcheck.py --osc-debug --debug rebuild --store
home:repo-checker/rebuilds GNOME:Factory openSUSE_Factory i586
- ./project-installcheck.py --osc-debug --debug rebuild --store
home:repo-checker/rebuilds GNOME:Factory openSUSE_Factory x86_64
- ./project-installcheck.py --osc-debug --debug rebuild --store
home:repo-checker/rebuilds GNOME:Factory openSUSE_PPC ppc64le
- ./project-installcheck.py --osc-debug --debug rebuild --store
home:repo-checker/rebuilds GNOME:Next openSUSE_Factory i586
- ./project-installcheck.py --osc-debug --debug rebuild --store
home:repo-checker/rebuilds GNOME:Next openSUSE_Factory x86_64
- ./project-installcheck.py --osc-debug --debug rebuild --store
home:repo-checker/rebuilds GNOME:Next openSUSE_PPC ppc64le
+ ./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_Factory GNOME:Factory
+ ./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_PPC GNOME:Factory
+ ./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_Factory GNOME:Next
+ ./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_PPC GNOME:Next
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/gocd/staging.bot.gocd.yaml
new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/staging.bot.gocd.yaml
--- old/openSUSE-release-tools-20190729.70133114/gocd/staging.bot.gocd.yaml
2019-07-29 10:19:25.000000000 +0200
+++ new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/staging.bot.gocd.yaml
2019-07-29 18:26:30.000000000 +0200
@@ -120,43 +120,3 @@
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.2
repair --cleanup
rm -rf $tempdir
- Project.Only:
- group: openSUSE.Checkers
- lock_behavior: unlockWhenFinished
- timer:
- spec: 0 0 * ? * *
- only_on_changes: false
- materials:
- scripts:
- git: https://github.com/openSUSE/openSUSE-release-tools.git
- stages:
- - Run:
- approval:
- type: manual
- environment_variables:
- OSC_CONFIG: /home/go/config/oscrc-repo-checker
- jobs:
- openSUSE.Factory:
- timeout: 0
- resources:
- - repo-checker
- tasks:
- - script: ./project-installcheck.py -A https://api.opensuse.org
--debug project_only openSUSE:Factory
- openSUSE.Leap.15.0.Update:
- timeout: 0
- resources:
- - repo-checker
- tasks:
- - script: ./project-installcheck.py -A https://api.opensuse.org
--debug project_only openSUSE:Leap:15.0:Update
- openSUSE.Leap.42.3.Update:
- timeout: 0
- resources:
- - repo-checker
- tasks:
- - script: ./project-installcheck.py -A https://api.opensuse.org
--debug project_only openSUSE:Leap:42.3:Update
- openSUSE.Leap.15.2.Update:
- timeout: 0
- resources:
- - repo-checker
- tasks:
- - script: ./project-installcheck.py -A https://api.opensuse.org
--debug project_only openSUSE:Leap:15.2:Update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/gocd/staging.bot.gocd.yaml.erb
new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/staging.bot.gocd.yaml.erb
--- old/openSUSE-release-tools-20190729.70133114/gocd/staging.bot.gocd.yaml.erb
2019-07-29 10:19:25.000000000 +0200
+++ new/openSUSE-release-tools-20190729.b3ec5fd8/gocd/staging.bot.gocd.yaml.erb
2019-07-29 18:26:30.000000000 +0200
@@ -63,27 +63,3 @@
rm -rf $tempdir
<% end -%>
- Project.Only:
- group: openSUSE.Checkers
- lock_behavior: unlockWhenFinished
- timer:
- spec: 0 0 * ? * *
- only_on_changes: false
- materials:
- scripts:
- git: https://github.com/openSUSE/openSUSE-release-tools.git
- stages:
- - Run:
- approval:
- type: manual
- environment_variables:
- OSC_CONFIG: /home/go/config/oscrc-repo-checker
- jobs:
-<% %w(openSUSE:Factory openSUSE:Leap:15.0:Update openSUSE:Leap:42.3:Update
openSUSE:Leap:15.2:Update).each do |project| -%>
- <%= project.gsub(':', '.') %>:
- timeout: 0
- resources:
- - repo-checker
- tasks:
- - script: ./project-installcheck.py -A https://api.opensuse.org
--debug project_only <%= project %>
-<% end -%>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/osclib/repochecks.py
new/openSUSE-release-tools-20190729.b3ec5fd8/osclib/repochecks.py
--- old/openSUSE-release-tools-20190729.70133114/osclib/repochecks.py
2019-07-29 10:19:25.000000000 +0200
+++ new/openSUSE-release-tools-20190729.b3ec5fd8/osclib/repochecks.py
2019-07-29 18:26:30.000000000 +0200
@@ -81,6 +81,11 @@
if len(output):
return output
+def filter_release(line):
+ line = re.sub(r'(package [^ ]*\-[^-]*)\-[^-]*(\.\w+) ', r'\1\2 ', line)
+ line = re.sub(r'(needed by [^ ]*\-[^-]*)\-[^-]*(\.\w+)$', r'\1\2', line)
+ line = re.sub(r'(provided by [^ ]*\-[^-]*)\-[^-]*(\.\w+)$', r'\1\2', line)
+ return line
def parsed_installcheck(pfile, arch, target_packages, whitelist):
reported_problems = dict()
@@ -109,7 +114,7 @@
in_problem = True
continue
if in_problem:
- reported_problems[package]['output'].append(line[2:])
+
reported_problems[package]['output'].append(filter_release(line[2:]))
return reported_problems
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20190729.70133114/project-installcheck.py
new/openSUSE-release-tools-20190729.b3ec5fd8/project-installcheck.py
--- old/openSUSE-release-tools-20190729.70133114/project-installcheck.py
2019-07-29 10:19:25.000000000 +0200
+++ new/openSUSE-release-tools-20190729.b3ec5fd8/project-installcheck.py
2019-07-29 18:26:30.000000000 +0200
@@ -30,32 +30,28 @@
self.logger = logging.getLogger('RepoChecker')
self.store_project = None
self.store_package = None
+ self.rebuild = None
def parse_store(self, project_package):
if project_package:
self.store_project, self.store_package = project_package.split('/')
- def project_only(self, project):
- repository = self.project_repository(project)
+ def check(self, project, repository):
+ if not repository:
+ repository = self.project_repository(project)
if not repository:
self.logger.error('a repository must be specified via OSRT:Config
main-repo for {}'.format(project))
return
config = Config.get(self.apiurl, project)
- arch_whitelist = config.get('repo_checker-arch-whitelist')
-
- repository_pairs = repository_path_expand(self.apiurl, project,
repository)
- self.repository_check(repository_pairs, arch_whitelist=arch_whitelist)
- def target_archs(self, project, repository, arch_whitelist=None):
archs = target_archs(self.apiurl, project, repository)
+ if not len(archs):
+ self.logger.debug('{} has no relevant
architectures'.format(project))
+ return None
- # Check for arch whitelist and use intersection.
- if arch_whitelist:
- archs = list(set(arch_whitelist.split('
')).intersection(set(archs)))
-
- # Trick to prioritize x86_64.
- return sorted(archs, reverse=True)
+ for arch in archs:
+ self.check_pra(project, repository, arch)
def project_pseudometa_file_name(self, project, repository):
filename = 'repo_checker'
@@ -66,40 +62,8 @@
return filename
- def repository_check(self, repository_pairs, arch_whitelist=None):
- project, repository = repository_pairs[0]
- self.logger.info('checking {}/{}@[{}]'.format(
- project, repository, len(repository_pairs)))
-
- archs = self.target_archs(project, repository, arch_whitelist)
- if not len(archs):
- self.logger.debug('{} has no relevant
architectures'.format(project))
- return None
-
- result = True
- comment = []
- for arch in archs:
- directories = []
- for pair_project, pair_repository in repository_pairs:
- directories.append(mirror(self.apiurl, pair_project,
pair_repository, arch))
-
- parts = installcheck(directories, arch, [], [])
- if len(parts):
- comment.append('## {}/{}\n'.format(repository_pairs[0][1],
arch))
- comment.extend(parts)
-
- text = '\n'.join(comment).strip()
- if not self.dryrun:
- filename = self.project_pseudometa_file_name(project, repository)
- project_pseudometa_file_ensure(self.apiurl, project, filename,
text + '\n', 'repo_checker project_only run')
- else:
- print(text)
-
- return result
-
def _split_and_filter(self, output):
output = output.split("\n")
- rebuild_counter_re = re.compile(r'(needed by [^
]*\-[^-]*)\-[^-]*\.\w+$')
for lnr, line in enumerate(output):
if line.startswith('FOLLOWUP'):
# there can be multiple lines with missing providers
@@ -111,7 +75,7 @@
if output[lnr].find('(we have') >= 0:
del output[lnr]
else:
- output[lnr] = rebuild_counter_re.sub(r'\1', output[lnr])
+ output[lnr] = output[lnr]
return output
def project_repository(self, project):
@@ -131,12 +95,13 @@
return repository
- def store_yaml(self, state):
+ def store_yaml(self, state, project, repository, arch):
state_yaml = yaml.dump(state, default_flow_style=False)
+ comment = 'Updated rebuild infos for {}/{}/{}'.format(project,
repository, arch)
source_file_ensure(self.apiurl, self.store_project, self.store_package,
- self.store_filename, state_yaml, comment='Updated
rebuild infos')
+ self.store_filename, state_yaml, comment=comment)
- def rebuild(self, project, repository, arch):
+ def check_pra(self, project, repository, arch):
config = Config.get(self.apiurl, project)
oldstate = None
@@ -232,6 +197,8 @@
del oldstate['check'][source]
packages = config.get('rebuildpacs-leafs', '').split()
+ if not self.rebuild: # ignore in this case
+ packages = []
# first round: collect all infos from obs
infos = dict()
@@ -270,20 +237,21 @@
'rebuild':
str(datetime.datetime.now())}
if self.dryrun:
- self.logger.info("To rebuild: %s", ' '.join(rebuilds))
+ if self.rebuild:
+ self.logger.info("To rebuild: %s", ' '.join(rebuilds))
return
- if not len(rebuilds):
+ if not self.rebuild or not len(rebuilds):
self.logger.debug("Nothing to rebuild")
# in case we do rebuild, wait for it to succeed before saving
- self.store_yaml(oldstate)
+ self.store_yaml(oldstate, project, repository, arch)
return
query = {'cmd': 'rebuild', 'repository': repository, 'arch': arch,
'package': rebuilds}
url = makeurl(self.apiurl, ['build', project], urlencode(query,
doseq=True))
http_POST(url)
- self.store_yaml(oldstate)
+ self.store_yaml(oldstate, project, repository, arch)
def check_leaf_package(self, project, repository, arch, package):
url = makeurl(self.apiurl, ['build', project, repository, arch,
package, '_buildinfo'])
@@ -308,25 +276,18 @@
return RepoChecker()
@cmdln.option('--store', help='Project/Package to store the rebuild infos
in')
- def do_rebuild(self, subcmd, opts, project, repository, arch):
+ @cmdln.option('-r', '--repo', dest='repo', help='Repository to check')
+ @cmdln.option('--no-rebuild', dest='rebuild', action='store_false',
help='Only track issues, do not rebuild')
+ def do_check(self, subcmd, opts, project):
"""${cmd_name}: Rebuild packages in rebuild=local projects
${cmd_usage}
${cmd_option_list}
"""
+ self.tool.rebuild = opts.rebuild
self.tool.parse_store(opts.store)
self.tool.apiurl = conf.config['apiurl']
- self.tool.rebuild(project, repository, arch)
-
- def do_project_only(self, subcmd, opts, project):
- """${cmd_name}: Update repository repo of a project
-
- ${cmd_usage}
- ${cmd_option_list}
- """
- self.tool.apiurl = conf.config['apiurl']
- self.tool.project_only(project)
-
+ self.tool.check(project, opts.repo)
if __name__ == '__main__':
app = CommandLineInterface()
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.1jRb2a/_old 2019-07-30 12:38:26.042941769 +0200
+++ /var/tmp/diff_new_pack.1jRb2a/_new 2019-07-30 12:38:26.046941769 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20190729.70133114
-mtime: 1564388365
-commit: 701331142b98affdd7eeda304ef8a6b7d8596b2a
+version: 20190729.b3ec5fd8
+mtime: 1564417590
+commit: b3ec5fd88f7ac07a41af5242721771cb278cc3e4