Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2017-10-19 19:33:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Thu Oct 19 19:33:16 2017 rev:8 rq:535066 version:20171018.44e44a6 Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2017-10-18 10:52:16.331834191 +0200 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes 2017-10-19 19:33:18.085606882 +0200 @@ -1,0 +2,22 @@ +Thu Oct 19 01:59:09 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171018.44e44a6: + * Python 2.6+ / 3.x style except clauses + * osclib/request_splitter: provide splitter-special-packages config variable. + * osclib/request_splitter: reduce default list of special packages. + * Rename checknewer to checknewer.py and fix Flake8 fallout + +------------------------------------------------------------------- +Tue Oct 17 14:26:19 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171017.53f281e: + * osc-staging: select -i: include remaining requests in comment. + * osc-staging: select -i: s/merged/mergeable/ in stat comment. + +------------------------------------------------------------------- +Tue Oct 17 09:24:18 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171017.1168d47: + * Fix undefined variables 'release' + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20171017.7058f07.obscpio New: ---- openSUSE-release-tools-20171018.44e44a6.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.8xDVFO/_old 2017-10-19 19:33:19.245552611 +0200 +++ /var/tmp/diff_new_pack.8xDVFO/_new 2017-10-19 19:33:19.245552611 +0200 @@ -20,7 +20,7 @@ %define source_dir osc-plugin-factory %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20171017.7058f07 +Version: 20171018.44e44a6 Release: 0 Summary: Tools to aid in staging and release work for openSUSE/SUSE License: GPL-2.0+ and MIT ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.8xDVFO/_old 2017-10-19 19:33:19.297550178 +0200 +++ /var/tmp/diff_new_pack.8xDVFO/_new 2017-10-19 19:33:19.297550178 +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">7058f07d7102fd938d4d60126fbae515cdcf9737</param> + <param name="changesrevision">44e44a64f0e266c42e524ee3554f3b45729ac4cc</param> </service> </servicedata> ++++++ openSUSE-release-tools-20171017.7058f07.obscpio -> openSUSE-release-tools-20171018.44e44a6.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/README.asciidoc new/openSUSE-release-tools-20171018.44e44a6/README.asciidoc --- old/openSUSE-release-tools-20171017.7058f07/README.asciidoc 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/README.asciidoc 2017-10-19 03:59:09.000000000 +0200 @@ -32,7 +32,7 @@ * *link:docs/maintbot.asciidoc[maintbot].* script that checks maintenance incidents to make sure the Factory maintainer submitted the package. -* *link:checknewer[checknewer].* script compares version numbers in repos to +* *link:checknewer.py[checknewer.py].* script compares version numbers in repos to make sure all packages e.g. in a new distro are newer Installation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/ReviewBot.py new/openSUSE-release-tools-20171018.44e44a6/ReviewBot.py --- old/openSUSE-release-tools-20171017.7058f07/ReviewBot.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/ReviewBot.py 2017-10-19 03:59:09.000000000 +0200 @@ -367,7 +367,7 @@ node = ET.fromstring(''.join(m)).find('devel') if node is not None: return node.get('project'), node.get('package', None) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code != 404: raise e return None, None @@ -387,7 +387,7 @@ else: return False states = set([review.get('state') for review in root.findall('review') if review.get(by_what) == reviewer]) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: print('ERROR in URL %s [%s]' % (url, e)) if not states: return None @@ -644,7 +644,7 @@ while True: try: workfunc() - except Exception, e: + except Exception as e: self.logger.exception(e) if interval: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/ToolBase.py new/openSUSE-release-tools-20171018.44e44a6/ToolBase.py --- old/openSUSE-release-tools-20171017.7058f07/ToolBase.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/ToolBase.py 2017-10-19 03:59:09.000000000 +0200 @@ -67,7 +67,7 @@ def retried_GET(self, url): try: return http_GET(url) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if 500 <= e.code <= 599: print 'Retrying {}'.format(url) time.sleep(1) @@ -195,7 +195,7 @@ while True: try: workfunc() - except Exception, e: + except Exception as e: logger.exception(e) if interval: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/abichecker/abichecker.py new/openSUSE-release-tools-20171018.44e44a6/abichecker/abichecker.py --- old/openSUSE-release-tools-20171017.7058f07/abichecker/abichecker.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/abichecker/abichecker.py 2017-10-19 03:59:09.000000000 +0200 @@ -237,16 +237,16 @@ try: # compute list of common repos to find out what to compare myrepos = self.findrepos(src_project, src_srcinfo, dst_project, dst_srcinfo) - except NoBuildSuccess, e: + except NoBuildSuccess as e: self.logger.info(e) self.text_summary += "**Error**: %s\n"%e self.reports.append(report) return False - except NotReadyYet, e: + except NotReadyYet as e: self.logger.info(e) self.reports.append(report) return None - except SourceBroken, e: + except SourceBroken as e: self.logger.error(e) self.text_summary += "**Error**: %s\n"%e self.reports.append(report) @@ -271,21 +271,21 @@ dst_srcinfo = origin_srcinfo if new_repo_map is not None: myrepos = new_repo_map - except MaintenanceError, e: + except MaintenanceError as e: self.text_summary += "**Error**: %s\n\n"%e self.logger.error('%s', e) self.reports.append(report) return False - except NoBuildSuccess, e: + except NoBuildSuccess as e: self.logger.info(e) self.text_summary += "**Error**: %s\n"%e self.reports.append(report) return False - except NotReadyYet, e: + except NotReadyYet as e: self.logger.info(e) self.reports.append(report) return None - except SourceBroken, e: + except SourceBroken as e: self.logger.error(e) self.text_summary += "**Error**: %s\n"%e self.reports.append(report) @@ -304,16 +304,16 @@ # nothing to fetch, so no libs if dst_libs is None: continue - except DistUrlMismatch, e: + except DistUrlMismatch as e: self.logger.error("%s/%s %s/%s: %s"%(dst_project, dst_package, mr.dstrepo, mr.arch, e)) if ret == True: # need to check again ret = None continue - except MissingDebugInfo, e: + except MissingDebugInfo as e: missing_debuginfo.append(str(e)) ret = False continue - except FetchError, e: + except FetchError as e: self.logger.error(e) if ret == True: # need to check again ret = None @@ -325,16 +325,16 @@ if dst_libs: self.text_summary += "*Warning*: the submission does not contain any libs anymore\n\n" continue - except DistUrlMismatch, e: + except DistUrlMismatch as e: self.logger.error("%s/%s %s/%s: %s"%(src_project, src_package, mr.srcrepo, mr.arch, e)) if ret == True: # need to check again ret = None continue - except MissingDebugInfo, e: + except MissingDebugInfo as e: missing_debuginfo.append(str(e)) ret = False continue - except FetchError, e: + except FetchError as e: self.logger.error(e) if ret == True: # need to check again ret = None @@ -530,7 +530,7 @@ self.text_summary = '' try: ret = ReviewBot.ReviewBot.check_one_request(self, req) - except Exception, e: + except Exception as e: import traceback self.logger.error("unhandled exception in ABI checker") self.logger.error(traceback.format_exc()) @@ -572,7 +572,7 @@ request = self.session.query(DB.Request).filter(DB.Request.id == reqid).one() if request.state == 'done': return True - except sqlalchemy.orm.exc.NoResultFound, e: + except sqlalchemy.orm.exc.NoResultFound as e: pass return False @@ -586,7 +586,7 @@ self.session.flush() request.state = state request.result = result - except sqlalchemy.orm.exc.NoResultFound, e: + except sqlalchemy.orm.exc.NoResultFound as e: request = DB.Request(id = req.reqid, state = state, result = result, @@ -771,7 +771,7 @@ h = None try: h = self.ts.hdrFromFdno(fd) - except rpm.error, e: + except rpm.error as e: if str(e) == "public key not available": print str(e) if str(e) == "public key not trusted": @@ -786,7 +786,7 @@ [ 'view=cpioheaders' ]) try: r = osc.core.http_GET(u) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: raise FetchError('failed to fetch header information: %s'%e) tmpfile = NamedTemporaryFile(prefix="cpio-", delete=False) for chunk in r: @@ -831,7 +831,7 @@ 'srcmd5' : rev } url = osc.core.makeurl(self.apiurl, ('build', src_project, '_result'), query) return ET.parse(osc.core.http_GET(url)).getroot() - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code != 404: self.logger.error('ERROR in URL %s [%s]' % (url, e)) raise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/abichecker/abichecker_common.py new/openSUSE-release-tools-20171018.44e44a6/abichecker/abichecker_common.py --- old/openSUSE-release-tools-20171017.7058f07/abichecker/abichecker_common.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/abichecker/abichecker_common.py 2017-10-19 03:59:09.000000000 +0200 @@ -37,7 +37,7 @@ try: entry = self.session.query(DB.Config).filter(DB.Config.key == key).one() entry.value = value - except sqlalchemy.orm.exc.NoResultFound, e: + except sqlalchemy.orm.exc.NoResultFound as e: entry = DB.Config(key=key, value=value) self.session.add(entry) self.session.commit() @@ -46,7 +46,7 @@ try: entry = self.session.query(DB.Config).filter(DB.Config.key == key).one() return entry.value - except sqlalchemy.orm.exc.NoResultFound, e: + except sqlalchemy.orm.exc.NoResultFound as e: pass return default @@ -56,7 +56,7 @@ self.session.delete(entry) self.session.commit() return True - except sqlalchemy.orm.exc.NoResultFound, e: + except sqlalchemy.orm.exc.NoResultFound as e: pass return False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/biarchtool.py new/openSUSE-release-tools-20171018.44e44a6/biarchtool.py --- old/openSUSE-release-tools-20171017.7058f07/biarchtool.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/biarchtool.py 2017-10-19 03:59:09.000000000 +0200 @@ -147,7 +147,7 @@ try: x = ET.fromstring(self.cached_GET(self.makeurl(['source', self.project, pkg, '_history'], {'rev':'1'}))) # catch deleted packages - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: continue raise e @@ -188,7 +188,7 @@ self.http_PUT(pkgmetaurl, data=ET.tostring(pkgmeta)) if self.caching: self._invalidate__cached_GET(pkgmetaurl) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: logger.error('failed to update %s: %s', pkg, e) def add_explicit_disable(self, wipebinaries=False): @@ -225,7 +225,7 @@ 'cmd' : 'wipe', 'arch': self.arch, 'package' : pkg })) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: logger.error('failed to update %s: %s', pkg, e) @@ -236,7 +236,7 @@ pkgmetaurl = self.makeurl(['source', self.project, pkg, '_meta']) try: pkgmeta = ET.fromstring(self.cached_GET(pkgmetaurl)) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: # catch deleted packages if e.code == 404: continue @@ -303,7 +303,7 @@ 'cmd' : 'wipe', 'arch': self.arch, 'package' : pkg })) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: logger.error('failed to update %s: %s', pkg, e) class CommandLineInterface(ToolBase.CommandLineInterface): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/check_source.py new/openSUSE-release-tools-20171018.44e44a6/check_source.py --- old/openSUSE-release-tools-20171017.7058f07/check_source.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/check_source.py 2017-10-19 03:59:09.000000000 +0200 @@ -139,7 +139,7 @@ def staging_group(self, project): try: return self.staging_api(project).cstaging_group - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code != 404: raise e @@ -176,7 +176,7 @@ try: xml = ET.parse(osc.core.http_GET(url)).getroot() - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: self.logger.error('ERROR in URL %s [%s]' % (url, e)) return ret diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/check_source_in_factory.py new/openSUSE-release-tools-20171018.44e44a6/check_source_in_factory.py --- old/openSUSE-release-tools-20171017.7058f07/check_source_in_factory.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/check_source_in_factory.py 2017-10-19 03:59:09.000000000 +0200 @@ -123,7 +123,7 @@ u = osc.core.makeurl(self.apiurl, [ 'source', project, package, '_history' ], { 'limit': self.history_limit }) try: r = osc.core.http_GET(u) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: self.logger.debug("package has no history!?") return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/checknewer new/openSUSE-release-tools-20171018.44e44a6/checknewer --- old/openSUSE-release-tools-20171017.7058f07/checknewer 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/checknewer 1970-01-01 01:00:00.000000000 +0100 @@ -1,77 +0,0 @@ -#!/usr/bin/python -# Copyright (c) 2016 SUSE LLC -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# check if all packages in a repo are newer than all other repos - -import sys -import os -import re -import solv - -pool = solv.Pool() -args = sys.argv[1:] -if len(args) < 2: - print("usage: checknewer NEWREPO OLDREPO1 [OLDREPO2...]") - sys.exit(1) - -firstrepo = None -for arg in args: - argf = solv.xfopen(arg) - repo = pool.add_repo(arg) - if not firstrepo: - firstrepo = repo - if re.search(r'solv$', arg): - repo.add_solv(argf) - elif re.search(r'primary\.xml', arg): - repo.add_rpmmd(argf, None) - elif re.search(r'packages', arg): - repo.add_susetags(argf, 0, None) - else: - print("%s: unknown repo type" % (arg)) - sys.exit(1) - -# we only want self-provides -for p in pool.solvables: - if p.archid == solv.ARCH_SRC or p.archid == solv.ARCH_NOSRC: - continue - selfprovides = pool.rel2id(p.nameid, p.evrid, solv.REL_EQ) - p.unset(solv.SOLVABLE_PROVIDES) - p.add_deparray(solv.SOLVABLE_PROVIDES, selfprovides) - -pool.createwhatprovides() - -for p in firstrepo.solvables: - newerdep = pool.rel2id(p.nameid, p.evrid, solv.REL_GT | solv.REL_EQ) - for pp in pool.whatprovides(newerdep): - if pp.repo == firstrepo: - continue - if p.nameid != pp.nameid: - continue - if p.identical(pp): - continue - if p.archid != pp.archid and p.archid != solv.ARCH_NOARCH and pp.archid != solv.ARCH_NOARCH: - continue - src = p.name - if not p.lookup_void(solv.SOLVABLE_SOURCENAME): - src = p.lookup_str(solv.SOLVABLE_SOURCENAME) - if src is None: - src = "?" - print("%s: %s is older than %s from %s" % (src, p, pp, pp.repo)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/checknewer.py new/openSUSE-release-tools-20171018.44e44a6/checknewer.py --- old/openSUSE-release-tools-20171017.7058f07/checknewer.py 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20171018.44e44a6/checknewer.py 2017-10-19 03:59:09.000000000 +0200 @@ -0,0 +1,77 @@ +#!/usr/bin/python2 +# Copyright (c) 2016 SUSE LLC +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# check if all packages in a repo are newer than all other repos + +import sys +import os +import re +import solv + +pool = solv.Pool() +args = sys.argv[1:] +if len(args) < 2: + print("usage: checknewer NEWREPO OLDREPO1 [OLDREPO2...]") + sys.exit(1) + +firstrepo = None +for arg in args: + argf = solv.xfopen(arg) + repo = pool.add_repo(arg) + if not firstrepo: + firstrepo = repo + if re.search(r'solv$', arg): + repo.add_solv(argf) + elif re.search(r'primary\.xml', arg): + repo.add_rpmmd(argf, None) + elif re.search(r'packages', arg): + repo.add_susetags(argf, 0, None) + else: + print("%s: unknown repo type" % (arg)) + sys.exit(1) + +# we only want self-provides +for p in pool.solvables: + if p.archid == solv.ARCH_SRC or p.archid == solv.ARCH_NOSRC: + continue + selfprovides = pool.rel2id(p.nameid, p.evrid, solv.REL_EQ) + p.unset(solv.SOLVABLE_PROVIDES) + p.add_deparray(solv.SOLVABLE_PROVIDES, selfprovides) + +pool.createwhatprovides() + +for p in firstrepo.solvables: + newerdep = pool.rel2id(p.nameid, p.evrid, solv.REL_GT | solv.REL_EQ) + for pp in pool.whatprovides(newerdep): + if pp.repo == firstrepo: + continue + if p.nameid != pp.nameid: + continue + if p.identical(pp): + continue + if p.archid != pp.archid and p.archid != solv.ARCH_NOARCH and pp.archid != solv.ARCH_NOARCH: + continue + src = p.name + if not p.lookup_void(solv.SOLVABLE_SOURCENAME): + src = p.lookup_str(solv.SOLVABLE_SOURCENAME) + if src is None: + src = "?" + print("%s: %s is older than %s from %s" % (src, p, pp, pp.repo)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/devel-project.py new/openSUSE-release-tools-20171018.44e44a6/devel-project.py --- old/openSUSE-release-tools-20171017.7058f07/devel-project.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/devel-project.py 2017-10-19 03:59:09.000000000 +0200 @@ -199,7 +199,7 @@ # Repeat notification so remove old comment. try: comment_api.delete(comment['id']) - except HTTPError, e: + except HTTPError as e: if e.code == 403: # Gracefully skip when previous reminder was by another user. print(' unable to remove previous reminder') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/fcc_submitter.py new/openSUSE-release-tools-20171018.44e44a6/fcc_submitter.py --- old/openSUSE-release-tools-20171017.7058f07/fcc_submitter.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/fcc_submitter.py 2017-10-19 03:59:09.000000000 +0200 @@ -128,7 +128,7 @@ l = ET.tostring(flink) try: http_PUT(url, data=l) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: raise e class FccSubmitter(object): @@ -225,7 +225,7 @@ def check_multiple_specfiles(self, project, package): try: url = makeurl(self.apiurl, ['source', project, package], { 'expand': '1' } ) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: return None raise e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/issue-diff.py new/openSUSE-release-tools-20171018.44e44a6/issue-diff.py --- old/openSUSE-release-tools-20171017.7058f07/issue-diff.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/issue-diff.py 2017-10-19 03:59:09.000000000 +0200 @@ -79,7 +79,7 @@ def bug_meta_get(bugzilla_api, bug_id): try: bug = bugzilla_api.getbug(bug_id) - except Fault, e: + except Fault as e: print('bug_meta_get(): ' + str(e)) return None return bug.component @@ -382,7 +382,7 @@ try: bug_id = bug_create(bugzilla_api, meta, owner, cc, summary, message) break - except Fault, e: + except Fault as e: if 'There is no component named' in e.faultString: print('Invalid component {}, fallback to default'.format(meta[1])) meta = (meta[0], bugzilla_defaults[1], meta[2]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/leaper.py new/openSUSE-release-tools-20171018.44e44a6/leaper.py --- old/openSUSE-release-tools-20171017.7058f07/leaper.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/leaper.py 2017-10-19 03:59:09.000000000 +0200 @@ -93,7 +93,7 @@ root = ET.parse(osc.core.http_GET(osc.core.makeurl(self.apiurl,['source', project], query=query))).getroot() packages = [i.get('name') for i in root.findall('entry')] - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: # in case the project doesn't exist yet (like sle update) if e.code != 404: raise e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/manager_42.py new/openSUSE-release-tools-20171018.44e44a6/manager_42.py --- old/openSUSE-release-tools-20171017.7058f07/manager_42.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/manager_42.py 2017-10-19 03:59:09.000000000 +0200 @@ -87,7 +87,7 @@ self.lookup = {} try: self.lookup = yaml.safe_load(self._load_lookup_file(project)) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code != 404: raise @@ -119,7 +119,7 @@ def retried_GET(self, url): try: return http_GET(url) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if 500 <= e.code <= 599: logger.warn('Retrying {}'.format(url)) time.sleep(1) @@ -136,7 +136,7 @@ query=query))) packages = [i.get('name') for i in root.findall('entry')] - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: logger.error("{}: {}".format(project, e)) packages = [] @@ -161,7 +161,7 @@ for package in sorted(packages): try: self.check_one_package(package) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: logger.error("Failed to check {}: {}".format(package, e)) pass @@ -179,7 +179,7 @@ query['deleted'] = 1 return self.cached_GET(makeurl(self.apiurl, ['source', project, package, '_history'], query)) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: return None raise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osc-staging.py new/openSUSE-release-tools-20171018.44e44a6/osc-staging.py --- old/openSUSE-release-tools-20171017.7058f07/osc-staging.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osc-staging.py 2017-10-19 03:59:09.000000000 +0200 @@ -573,12 +573,20 @@ if opts.interactive: with tempfile.NamedTemporaryFile(suffix='.yml') as temp: temp.write(yaml.safe_dump(splitter.proposal, default_flow_style=False) + '\n\n') + + if len(splitter.requests): + temp.write('# remaining requests:\n') + for request in splitter.requests: + temp.write('# {}: {}\n'.format( + request.get('id'), request.find('action/target').get('package'))) + temp.write('\n') + temp.write('# move requests between stagings or comment/remove them\n') temp.write('# change the target staging for a group\n') temp.write('# remove the group, requests, staging, or strategy to skip\n') temp.write('# stagings\n') if opts.merge: - temp.write('# - merged: {}\n' + temp.write('# - mergeable: {}\n' .format(', '.join(sorted(splitter.stagings_mergeable + splitter.stagings_mergeable_none)))) temp.write('# - considered: {}\n' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/accept_command.py new/openSUSE-release-tools-20171018.44e44a6/osclib/accept_command.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/accept_command.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/accept_command.py 2017-10-19 03:59:09.000000000 +0200 @@ -177,7 +177,7 @@ url = self.api.makeurl(['build', project], query) try: http_POST(url) - except urllib2.HTTPError, err: + except urllib2.HTTPError as err: # failed to wipe isos but we can just continue pass @@ -229,7 +229,7 @@ print "Deleting package %s from project %s" % (spec[:-5], project) try: http_DELETE(url) - except urllib2.HTTPError, err: + except urllib2.HTTPError as err: if err.code == 404: # the package link was not yet created, which was likely a mistake from earlier pass diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/adi_command.py new/openSUSE-release-tools-20171018.44e44a6/osclib/adi_command.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/adi_command.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/adi_command.py 2017-10-19 03:59:09.000000000 +0200 @@ -54,8 +54,8 @@ self.api.accept_status_comment(project, packages) try: delete_project(self.api.apiurl, project, force=True) - except urllib2.HTTPError, e: - print e + except urllib2.HTTPError as e: + print(e) pass else: print query_project, Fore.GREEN + 'ready:', ', '.join(['{}[{}]'.format( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/cycle.py new/openSUSE-release-tools-20171018.44e44a6/osclib/cycle.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/cycle.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/cycle.py 2017-10-19 03:59:09.000000000 +0200 @@ -157,7 +157,7 @@ # print('Generating _builddepinfo for (%s, %s, %s)' % (project, repository, arch)) url = makeurl(self.api.apiurl, ['build/%s/%s/%s/_builddepinfo' % (project, repository, arch)]) root = http_GET(url).read() - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: print('ERROR in URL %s [%s]' % (url, e)) return root diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/prio_command.py new/openSUSE-release-tools-20171018.44e44a6/osclib/prio_command.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/prio_command.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/prio_command.py 2017-10-19 03:59:09.000000000 +0200 @@ -44,7 +44,7 @@ try: osc.core.http_POST(url, data=message) print reqid, r['by'], priority - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: print e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/repair_command.py new/openSUSE-release-tools-20171018.44e44a6/osclib/repair_command.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/repair_command.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/repair_command.py 2017-10-19 03:59:09.000000000 +0200 @@ -37,7 +37,7 @@ staging_project = reviews[0] try: data = self.api.get_prj_pseudometa(staging_project) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: data = None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/request_splitter.py new/openSUSE-release-tools-20171018.44e44a6/osclib/request_splitter.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/request_splitter.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/request_splitter.py 2017-10-19 03:59:09.000000000 +0200 @@ -15,6 +15,9 @@ # 55 minutes to avoid two staging bot loops of 30 minutes self.request_age_threshold = int(self.config.get('splitter-request-age-threshold', 55 * 60)) self.staging_age_max = int(self.config.get('splitter-staging-age-max', 8 * 60 * 60)) + special_packages= self.config.get('splitter-special-packages') + if special_packages: + StrategySpecial.PACKAGES = special_packages.split(' ') self.requests_ignored = self.api.get_ignored_requests() @@ -487,13 +490,10 @@ class StrategySpecial(StrategyNone): PACKAGES = [ - 'boost', 'gcc', - 'gcc6', 'gcc7', 'glibc', 'kernel-source', - 'util-linux', ] def apply(self, splitter): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/osclib/stagingapi.py new/openSUSE-release-tools-20171018.44e44a6/osclib/stagingapi.py --- old/openSUSE-release-tools-20171017.7058f07/osclib/stagingapi.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/osclib/stagingapi.py 2017-10-19 03:59:09.000000000 +0200 @@ -152,7 +152,7 @@ if data is not None: return func(url, data=data) return func(url) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if 500 <= e.code <= 599: print 'Error {}, retrying {} in {}s'.format(e.code, url, retry_sleep_seconds) time.sleep(retry_sleep_seconds) @@ -290,7 +290,7 @@ content = http_GET(url) for entry in ET.parse(content).getroot().findall('entry'): filelist.append(entry.attrib['name']) - except urllib2.HTTPError, err: + except urllib2.HTTPError as err: if err.code == 404: # The package we were supposed to query does not exist # we can pass this up and return the empty filelist @@ -394,7 +394,7 @@ try: url = self.makeurl(['source', prj, '_project', '_frozenlinks'], {'meta': '1'}) root = ET.parse(http_GET(url)).getroot() - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: return None packages = root.findall('./frozenlink/package') @@ -1468,7 +1468,7 @@ url = self.makeurl(['build', project, repository, arch, '_repository', "%s?view=fileinfo" % rpm]) try: return ET.parse(http_GET(url)).getroot().find('version').text - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: return None raise @@ -1764,7 +1764,7 @@ node = ET.fromstring(''.join(m)).find('devel') if node is not None: return node.get('project') - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: pass return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/suppkg_rebuild.py new/openSUSE-release-tools-20171018.44e44a6/suppkg_rebuild.py --- old/openSUSE-release-tools-20171017.7058f07/suppkg_rebuild.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/suppkg_rebuild.py 2017-10-19 03:59:09.000000000 +0200 @@ -100,7 +100,7 @@ url = makeurl(self.apiurl, ['source', project, pkg], query=query) try: root = ET.parse(http_GET(url)).getroot() - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if e.code == 404: continue raise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/tests/__init__.py new/openSUSE-release-tools-20171018.44e44a6/tests/__init__.py --- old/openSUSE-release-tools-20171017.7058f07/tests/__init__.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/tests/__init__.py 2017-10-19 03:59:09.000000000 +0200 @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- # # (C) 2014 tchva...@suse.cz, openSUSE.org diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/totest-manager.py new/openSUSE-release-tools-20171018.44e44a6/totest-manager.py --- old/openSUSE-release-tools-20171017.7058f07/totest-manager.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/totest-manager.py 2017-10-19 03:59:09.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python2 # -*- coding: utf-8 -*- # # (C) 2014 mhruse...@suse.cz, openSUSE.org @@ -19,7 +19,6 @@ import time from xml.etree import cElementTree as ET -from pprint import pprint from openqa_client.client import OpenQA_Client import osc @@ -417,11 +416,11 @@ for cd in self.livecd_products: self._release_package('openSUSE:%s:Live' % - self.project, cd, set_release=release) + self.project, cd, set_release=set_release) for cd in self.main_products: self._release_package('openSUSE:%s' % - self.project, cd, set_release=release) + self.project, cd, set_release=set_release) def update_totest(self, snapshot=None): release = 'Snapshot%s' % snapshot if snapshot else None @@ -430,7 +429,7 @@ self.api.switch_flag_in_prj( 'openSUSE:%s:ToTest' % self.project, flag='publish', state='disable') - self._release(set_release=snapshot) + self._release(set_release=release) def publish_factory_totest(self): logger.info('Publish ToTest') @@ -458,7 +457,7 @@ def totest(self): try: current_snapshot = self.get_current_snapshot() - except NotFoundException, e: + except NotFoundException as e: # nothing in :ToTest (yet) logger.warn(e) current_snapshot = None @@ -543,7 +542,7 @@ # XXX still legacy for cd in self.livecd_products: self._release_package('openSUSE:%s:Live' % - self.project, cd, set_release=release) + self.project, cd, set_release=set_release) def release_version(self): url = self.api.makeurl(['build', 'openSUSE:%s' % self.project, 'standard', self.arch(), @@ -770,7 +769,7 @@ try: totest = self._setup_totest(project) totest.totest() - except Exception, e: + except Exception as e: logger.error(e) if opts.interval: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171017.7058f07/update_crawler.py new/openSUSE-release-tools-20171018.44e44a6/update_crawler.py --- old/openSUSE-release-tools-20171017.7058f07/update_crawler.py 2017-10-17 09:30:58.000000000 +0200 +++ new/openSUSE-release-tools-20171018.44e44a6/update_crawler.py 2017-10-19 03:59:09.000000000 +0200 @@ -99,7 +99,7 @@ def retried_GET(self, url): try: return http_GET(url) - except urllib2.HTTPError, e: + except urllib2.HTTPError as e: if 500 <= e.code <= 599: print 'Retrying {}'.format(url) time.sleep(1) @@ -211,7 +211,7 @@ ))) if root.get('project') is None and root.get('cicount'): return True - except urllib2.HTTPError, err: + except urllib2.HTTPError as err: # if there is no link, it can't be a link if err.code == 404: return False ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.8xDVFO/_old 2017-10-19 19:33:19.821525662 +0200 +++ /var/tmp/diff_new_pack.8xDVFO/_new 2017-10-19 19:33:19.821525662 +0200 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20171017.7058f07 -mtime: 1508225006 -commit: 7058f07d7102fd938d4d60126fbae515cdcf9737 +version: 20171018.44e44a6 +mtime: 1508378195 +commit: 44e44a64f0e266c42e524ee3554f3b45729ac4cc