Hello community, here is the log from the commit of package osc for openSUSE:Factory checked in at 2019-08-05 13:40:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/osc (Old) and /work/SRC/openSUSE:Factory/.osc.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osc" Mon Aug 5 13:40:42 2019 rev:137 rq:720984 version:0.165.4 Changes: -------- --- /work/SRC/openSUSE:Factory/osc/osc.changes 2019-07-24 20:51:08.582446264 +0200 +++ /work/SRC/openSUSE:Factory/.osc.new.4126/osc.changes 2019-08-05 13:40:44.524393220 +0200 @@ -1,0 +2,10 @@ +Mon Aug 5 06:51:32 UTC 2019 - Marco Strigl <marco.str...@suse.com> + +- 0.165.4 (boo#1144211) + * allow optional fork when creating a maintenance request + * fix RPMError fallback + * fix local caching for all package formats + * fix appname for trusted cert store + * osc -h does not break anymore when using plugins + +------------------------------------------------------------------- Old: ---- osc-0.165.3.tar.gz New: ---- osc-0.165.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ osc.spec ++++++ --- /var/tmp/diff_new_pack.uT5PCb/_old 2019-08-05 13:40:46.340392832 +0200 +++ /var/tmp/diff_new_pack.uT5PCb/_new 2019-08-05 13:40:46.344392831 +0200 @@ -27,12 +27,12 @@ %define use_python python %endif -%define version_unconverted 0.165.3 +%define version_unconverted 0.165.4 %define osc_plugin_dir %{_prefix}/lib/osc-plugins %define macros_file macros.osc Name: osc -Version: 0.165.3 +Version: 0.165.4 Release: 0 Summary: Open Build Service Commander License: GPL-2.0-or-later ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.uT5PCb/_old 2019-08-05 13:40:46.364392827 +0200 +++ /var/tmp/diff_new_pack.uT5PCb/_new 2019-08-05 13:40:46.364392827 +0200 @@ -1,5 +1,5 @@ pkgname=osc -pkgver=0.165.3 +pkgver=0.165.4 pkgrel=0 pkgdesc="Open Build Service client" arch=('i686' 'x86_64') ++++++ _service ++++++ --- /var/tmp/diff_new_pack.uT5PCb/_old 2019-08-05 13:40:46.376392824 +0200 +++ /var/tmp/diff_new_pack.uT5PCb/_new 2019-08-05 13:40:46.376392824 +0200 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="version">0.165.3</param> - <param name="revision">0.165.3</param> + <param name="version">0.165.4</param> + <param name="revision">0.165.4</param> <param name="url">git://github.com/openSUSE/osc.git</param> <param name="scm">git</param> </service> ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.uT5PCb/_old 2019-08-05 13:40:46.404392819 +0200 +++ /var/tmp/diff_new_pack.uT5PCb/_new 2019-08-05 13:40:46.404392819 +0200 @@ -1,4 +1,4 @@ -osc (0.165.3) unstable; urgency=low +osc (0.165.4) unstable; urgency=low - Update to 0.161.1 -- Marco Strigl <marco.str...@suse.com> Thu, 26 Oct 2017 14:42:00 +0200 ++++++ osc-0.165.3.tar.gz -> osc-0.165.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/NEWS new/osc-0.165.4/NEWS --- old/osc-0.165.3/NEWS 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/NEWS 2019-08-05 08:45:32.000000000 +0200 @@ -1,3 +1,10 @@ +0.165.4 + - allow optional fork when creating a maintenance request + - fix RPMError fallback + - fix local caching for all package formats + - fix appname for trusted cert store + - osc -h does not break anymore when using plugins + 0.165.3 - switch to difflib.diff_bytes and sys.stdout.buffer.write for diffing. This will fix all decoding issues with osc diff, osc ci and osc rq -d diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/babysitter.py new/osc-0.165.4/osc/babysitter.py --- old/osc-0.165.3/osc/babysitter.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/babysitter.py 2019-08-05 08:45:32.000000000 +0200 @@ -30,7 +30,8 @@ from rpm import error as RPMError except: # if rpm-python isn't installed (we might be on a debian system): - RPMError = None + class RPMError(Exception): + pass try: from http.client import HTTPException, BadStatusLine diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/build.py new/osc-0.165.4/osc/build.py --- old/osc-0.165.3/osc/build.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/build.py 2019-08-05 08:45:32.000000000 +0200 @@ -229,18 +229,28 @@ self.mp['apiurl'] = apiurl + if self.mp['epoch'] is None: + epoch = None + else: + epoch = self.mp['epoch'].encode() + + if self.mp['release'] is None: + release = None + else: + release = self.mp['release'].encode() + if self.mp['name'].startswith('container:'): canonname = self.mp['name'] + '.tar.xz' elif pacsuffix == 'deb': - canonname = debquery.DebQuery.filename(self.mp['name'], self.mp['epoch'], self.mp['version'], self.mp['release'], self.mp['arch']) + canonname = debquery.DebQuery.filename(self.mp['name'].encode(), epoch, self.mp['version'].encode(), release, self.mp['arch'].encode()) elif pacsuffix == 'arch': - canonname = archquery.ArchQuery.filename(self.mp['name'], self.mp['epoch'], self.mp['version'], self.mp['release'], self.mp['arch']) + canonname = archquery.ArchQuery.filename(self.mp['name'].encode(), epoch, self.mp['version'].encode(), release, self.mp['arch'].encode()) else: - canonname = rpmquery.RpmQuery.filename(self.mp['name'], self.mp['epoch'], self.mp['version'], self.mp['release'], self.mp['arch']) + canonname = rpmquery.RpmQuery.filename(self.mp['name'].encode(), epoch, self.mp['version'].encode(), release, self.mp['arch'].encode()) - self.mp['canonname'] = canonname + self.mp['canonname'] = decode_it(canonname) # maybe we should rename filename key to binary - self.mp['filename'] = node.get('binary') or canonname + self.mp['filename'] = node.get('binary') or decode_it(canonname) if self.mp['repopackage'] == '_repository': self.mp['repofilename'] = self.mp['name'] else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/commandline.py new/osc-0.165.4/osc/commandline.py --- old/osc-0.165.3/osc/commandline.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/commandline.py 2019-08-05 08:45:32.000000000 +0200 @@ -206,6 +206,20 @@ help_msg = cmdln.Cmdln._help_preprocess(self, help, cmdname) return help_msg % conf.config + def _help_preprocess_cmd_name(self, help, cmdname=None): + if cmdname is None: + return help + return cmdln.Cmdln._help_preprocess_cmd_name(self, help, cmdname) + + def _help_preprocess_cmd_option_list(self, help, cmdname=None): + if cmdname is None: + return help + return cmdln.Cmdln._help_preprocess_cmd_option_list(self, help, cmdname) + + def _help_preprocess_cmd_usage(self, help, cmdname=None): + if cmdname is None: + return help + return cmdln.Cmdln._help_preprocess_cmd_usage(self, help, cmdname) def do_init(self, subcmd, opts, project, package=None): """${cmd_name}: Initialize a directory as working copy @@ -2429,7 +2443,7 @@ for action in result.actions: if action.type == 'group' or not opts.target_package_filter: continue - if not filter_pattern.match(action.tgt_package): + if action.tgt_package is not None and not filter_pattern.match(action.tgt_package): filtered = True break if not filtered: @@ -3185,6 +3199,8 @@ help='specify message TEXT') @cmdln.option('--release-project', metavar='RELEASEPROJECT', help='Specify the release project') + @cmdln.option('--enforce-branching', action='store_true', + help='submit from a fresh branched project') @cmdln.option('--no-cleanup', action='store_true', help='do not remove source project on accept') @cmdln.option('--cleanup', action='store_true', @@ -3286,7 +3302,7 @@ target_project, None) # unspecified release project - r = create_maintenance_request(apiurl, source_project, source_packages, target_project, release_project, opt_sourceupdate, opts.message) + r = create_maintenance_request(apiurl, source_project, source_packages, target_project, release_project, opt_sourceupdate, opts.message, opts.enforce_branching) print(r.reqid) if supersede_existing: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/core.py new/osc-0.165.4/osc/core.py --- old/osc-0.165.3/osc/core.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/core.py 2019-08-05 08:45:32.000000000 +0200 @@ -5,7 +5,7 @@ from __future__ import print_function -__version__ = '0.165.3' +__version__ = '0.165.4' # __store_version__ is to be incremented when the format of the working copy # "store" changes in an incompatible way. Please add any needed migration @@ -3049,11 +3049,13 @@ def __cmp__(self, other): return cmp(int(self.reqid), int(other.reqid)) - def create(self, apiurl, addrevision=False): + def create(self, apiurl, addrevision=False, enforce_branching=False): """create a new request""" query = {'cmd' : 'create' } if addrevision: query['addrevision'] = "1" + if enforce_branching: + query['enforce_branching'] = "1" u = makeurl(apiurl, ['request'], query=query) f = http_POST(u, data=self.to_str()) root = ET.fromstring(f.read()) @@ -4179,7 +4181,7 @@ return r # create a maintenance incident per request -def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, tgt_releaseproject, opt_sourceupdate, message=''): +def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, tgt_releaseproject, opt_sourceupdate, message='', enforce_branching=False): import cgi r = Request() if src_packages: @@ -4189,7 +4191,7 @@ r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project, tgt_releaseproject=tgt_releaseproject, opt_sourceupdate = opt_sourceupdate) # XXX: clarify why we need the unicode(...) stuff r.description = cgi.escape(unicode(message, 'utf8')) - r.create(apiurl, addrevision=True) + r.create(apiurl, addrevision=True, enforce_branching=enforce_branching) return r def create_submit_request(apiurl, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/oscssl.py new/osc-0.165.4/osc/oscssl.py --- old/osc-0.165.3/osc/oscssl.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/oscssl.py 2019-08-05 08:45:32.000000000 +0200 @@ -199,13 +199,13 @@ if target_host != host: request_uri = urldefrag(full_url)[0] - h = myProxyHTTPSConnection(host=host, ssl_context=self.ctx) + h = myProxyHTTPSConnection(host=host, appname=self.appname, ssl_context=self.ctx) else: try: # up to python-3.2 request_uri = req.get_selector() except AttributeError: # from python-3.3 request_uri = req.selector - h = myHTTPSConnection(host=host, ssl_context=self.ctx) + h = myHTTPSConnection(host=host, appname=self.appname, ssl_context=self.ctx) # End our change h.set_debuglevel(self._debuglevel) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/util/debquery.py new/osc-0.165.4/osc/util/debquery.py --- old/osc-0.165.3/osc/util/debquery.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/util/debquery.py 2019-08-05 08:45:32.000000000 +0200 @@ -229,9 +229,9 @@ @staticmethod def filename(name, epoch, version, release, arch): if release: - return '%s_%s-%s_%s.deb' % (name, version, release, arch) + return b'%s_%s-%s_%s.deb' % (name, version, release, arch) else: - return '%s_%s_%s.deb' % (name, version, arch) + return b'%s_%s_%s.deb' % (name, version, arch) if __name__ == '__main__': import sys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/util/helper.py new/osc-0.165.4/osc/util/helper.py --- old/osc-0.165.3/osc/util/helper.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/util/helper.py 2019-08-05 08:45:32.000000000 +0200 @@ -54,7 +54,7 @@ based on the chardet module if possible """ - if isinstance(obj, str): + if obj is None or isinstance(obj, str): return obj else: try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/util/repodata.py new/osc-0.165.4/osc/util/repodata.py --- old/osc-0.165.3/osc/util/repodata.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/util/repodata.py 2019-08-05 08:45:32.000000000 +0200 @@ -169,8 +169,12 @@ return self.__parseEntryCollection('enhances') def canonname(self): - return osc.util.rpmquery.RpmQuery.filename(self.name(), None, - self.version(), self.release(), self.arch()) + if self.release() is None: + release = None + else: + release = self.release().encode() + return osc.util.rpmquery.RpmQuery.filename(self.name().encode(), None, + self.version().encode(), release, self.arch().encode()) def gettag(self, tag): # implement me, if needed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.165.3/osc/util/rpmquery.py new/osc-0.165.4/osc/util/rpmquery.py --- old/osc-0.165.3/osc/util/rpmquery.py 2019-07-24 15:13:39.000000000 +0200 +++ new/osc-0.165.4/osc/util/rpmquery.py 2019-08-05 08:45:32.000000000 +0200 @@ -287,12 +287,12 @@ def canonname(self): if self.is_nosrc(): - arch = 'nosrc' + arch = b'nosrc' elif self.is_src(): - arch = 'src' + arch = b'src' else: arch = self.arch() - return RpmQuery.filename(decode_it(self.name()), None, decode_it(self.version()), decode_it(self.release()), decode_it(arch)) + return RpmQuery.filename(self.name(), None, self.version(), self.release(), arch) @staticmethod def query(filename): @@ -374,7 +374,7 @@ @staticmethod def filename(name, epoch, version, release, arch): - return '%s-%s-%s.%s.rpm' % (name, version, release, arch) + return b'%s-%s-%s.%s.rpm' % (name, version, release, arch) def unpack_string(data, encoding=None): """unpack a '\\0' terminated string from data""" ++++++ osc.dsc ++++++ --- /var/tmp/diff_new_pack.uT5PCb/_old 2019-08-05 13:40:46.688392757 +0200 +++ /var/tmp/diff_new_pack.uT5PCb/_new 2019-08-05 13:40:46.688392757 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: osc -Version: 0.165.3 +Version: 0.165.4 Binary: osc Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: any