Hello community, here is the log from the commit of package osc for openSUSE:Factory checked in at 2017-03-21 22:51:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/osc (Old) and /work/SRC/openSUSE:Factory/.osc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osc" Tue Mar 21 22:51:42 2017 rev:118 rq:481778 version:0.157.2 Changes: -------- --- /work/SRC/openSUSE:Factory/osc/osc.changes 2017-03-12 20:03:55.414405854 +0100 +++ /work/SRC/openSUSE:Factory/.osc.new/osc.changes 2017-03-21 22:51:47.343782728 +0100 @@ -1,0 +2,9 @@ +Tue Mar 21 12:51:00 UTC 2017 - [email protected] + +- 0.157.2 + - add compat code for older apis that do not support multibuild + - fix ssl.connection instantiation in case of old M2Crypto + - highly experimental support for appimage + - fix local service run for non-existent (server-side) package + +------------------------------------------------------------------- Old: ---- osc-0.157.1.tar.gz New: ---- osc-0.157.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ osc.spec ++++++ --- /var/tmp/diff_new_pack.5Jrl9U/_old 2017-03-21 22:51:49.079537342 +0100 +++ /var/tmp/diff_new_pack.5Jrl9U/_new 2017-03-21 22:51:49.083536777 +0100 @@ -16,10 +16,10 @@ # -%define version_unconverted 0.157.1 +%define version_unconverted 0.157.2 Name: osc -Version: 0.157.1 +Version: 0.157.2 Release: 0 Summary: Open Build Service Commander License: GPL-2.0+ ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.5Jrl9U/_old 2017-03-21 22:51:49.123531123 +0100 +++ /var/tmp/diff_new_pack.5Jrl9U/_new 2017-03-21 22:51:49.123531123 +0100 @@ -1,5 +1,5 @@ pkgname=osc -pkgver=0.157.1 +pkgver=0.157.2 pkgrel=0 pkgdesc="Open Build Service client" arch=('i686' 'x86_64') ++++++ _service ++++++ --- /var/tmp/diff_new_pack.5Jrl9U/_old 2017-03-21 22:51:49.151527165 +0100 +++ /var/tmp/diff_new_pack.5Jrl9U/_new 2017-03-21 22:51:49.155526599 +0100 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="version">0.157.1</param> - <param name="revision">0.157.1</param> + <param name="version">0.157.2</param> + <param name="revision">0.157.2</param> <param name="url">git://github.com/openSUSE/osc.git</param> <param name="scm">git</param> </service> ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.5Jrl9U/_old 2017-03-21 22:51:49.179523207 +0100 +++ /var/tmp/diff_new_pack.5Jrl9U/_new 2017-03-21 22:51:49.183522642 +0100 @@ -1,4 +1,4 @@ -osc (0.157.1) unstable; urgency=low +osc (0.157.2) unstable; urgency=low - Install bash completion -- Nick Brown <[email protected]> Wed, 26 Oct 2016 10:00:00 +0200 ++++++ osc-0.157.1.tar.gz -> osc-0.157.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.157.1/NEWS new/osc-0.157.2/NEWS --- old/osc-0.157.1/NEWS 2017-03-08 13:10:35.000000000 +0100 +++ new/osc-0.157.2/NEWS 2017-03-21 13:33:10.000000000 +0100 @@ -1,5 +1,12 @@ 0.158 - - + - cat/less/blame command: default to expand to stay in sync with checkout + - add support for highly experimental native appimage.yml support + +0.157.2 + - add compat code for older apis that do not support multibuild + - fix ssl.connection instantiation in case of old M2Crypto + - highly experimental support for appimage + - fix local service run for non-existent (server-side) package 0.157 - add unpublish command (requires OBS 2.8) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.157.1/osc/build.py new/osc-0.157.2/osc/build.py --- old/osc-0.157.1/osc/build.py 2017-03-08 13:10:35.000000000 +0100 +++ new/osc-0.157.2/osc/build.py 2017-03-21 13:33:10.000000000 +0100 @@ -363,6 +363,11 @@ '-name', '*.snap'], stdout=subprocess.PIPE).stdout.read().strip() s_built = '' + elif buildtype == 'appimage': + b_built = subprocess.Popen(['find', os.path.join(pacdir, 'OTHER'), + '-name', '*.AppImage'], + stdout=subprocess.PIPE).stdout.read().strip() + s_built = '' else: print('WARNING: Unknown package type \'%s\'.' % buildtype, file=sys.stderr) b_built = '' @@ -501,11 +506,13 @@ build_type = 'arch' if os.path.basename(build_descr) == 'build.collax': build_type = 'collax' + if os.path.basename(build_descr) == 'appimage.yml': + build_type = 'appimage' if os.path.basename(build_descr) == 'snapcraft.yaml': build_type = 'snapcraft' - if build_type not in ['spec', 'dsc', 'kiwi', 'arch', 'collax', 'livebuild', 'snapcraft']: + if build_type not in ['spec', 'dsc', 'kiwi', 'arch', 'collax', 'livebuild', 'snapcraft', 'appimage']: raise oscerr.WrongArgs( - 'Unknown build type: \'%s\'. Build description should end in .spec, .dsc, .kiwi, .yaml or .livebuild.' \ + 'Unknown build type: \'%s\'. Build description should end in .spec, .dsc, .kiwi, or .livebuild. Or being named PKGBUILD, build.collax, appimage.yml or snapcraft.yaml' \ % build_type) if not os.path.isfile(build_descr): raise oscerr.WrongArgs('Error: build description file named \'%s\' does not exist.' % build_descr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.157.1/osc/commandline.py new/osc-0.157.2/osc/commandline.py --- old/osc-0.157.1/osc/commandline.py 2017-03-08 13:10:35.000000000 +0100 +++ new/osc-0.157.2/osc/commandline.py 2017-03-21 13:33:10.000000000 +0100 @@ -7929,7 +7929,7 @@ @cmdln.option('-r', '--revision', metavar='rev', help='print out the specified revision') @cmdln.option('-e', '--expand', action='store_true', - help='force expansion of linked packages.') + help='(default) force expansion of linked packages.') @cmdln.option('-u', '--unexpand', action='store_true', help='always work with unexpanded packages.') @cmdln.option('-M', '--meta', action='store_true', @@ -7987,30 +7987,16 @@ query['meta'] = 1 if opts.revision: query['rev'] = opts.revision - if opts.expand: + if not opts.unexpand: query['rev'] = show_upstream_srcmd5(apiurl, project, package, expand=True, revision=opts.revision, meta=opts.meta) + query['expand'] = 1 # important for blame case to follow links in old revisions u = makeurl(apiurl, ['source', project, package, filename], query=query) - try: - if subcmd == 'less': - f = http_GET(u) - run_pager(''.join(f.readlines())) - else: - for data in streamfile(u): - sys.stdout.write(data) - except HTTPError as e: - if e.code == 404 and not opts.expand and not opts.unexpand: - print('expanding link...', file=sys.stderr) - query['rev'] = show_upstream_srcmd5(apiurl, project, package, expand=True, revision=opts.revision) - u = makeurl(apiurl, ['source', project, package, filename], query=query) - if subcmd == "less": - f = http_GET(u) - run_pager(''.join(f.readlines())) - else: - for data in streamfile(u): - sys.stdout.write(data) - else: - e.osc_msg = 'If linked, try: cat -e' - raise e + if subcmd == 'less': + f = http_GET(u) + run_pager(''.join(f.readlines())) + else: + for data in streamfile(u): + sys.stdout.write(data) # helper function to download a file from a specific revision @@ -8831,6 +8817,7 @@ for plugin_dir in plugin_dirs: if not os.path.isdir(plugin_dir): continue + sys.path.append(plugin_dir) for extfile in os.listdir(plugin_dir): if not extfile.endswith('.py'): continue diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.157.1/osc/core.py new/osc-0.157.2/osc/core.py --- old/osc-0.157.1/osc/core.py 2017-03-08 13:10:35.000000000 +0100 +++ new/osc-0.157.2/osc/core.py 2017-03-21 13:33:10.000000000 +0100 @@ -5,7 +5,7 @@ from __future__ import print_function -__version__ = '0.157' +__version__ = '0.157.2' # __store_version__ is to be incremented when the format of the working copy # "store" changes in an incompatible way. Please add any needed migration @@ -308,7 +308,10 @@ self.project = project self.package = package except HTTPError as e: - if e.code != 403 and e.code != 400: + if e.code == 404 and package != '_project': + self.getProjectGlobalServices(apiurl, project, '_project') + self.package = package + elif e.code != 403 and e.code != 400: raise e def addVerifyFile(self, serviceinfo_node, filename): @@ -2285,7 +2288,7 @@ # if the storefile doesn't exist we're resuming an aborted update: # the file was already deleted but we cannot know this # OR we're processing a _service: file (simply keep the file) - if os.path.isfile(os.path.join(self.storedir, f.name)) and self.status(f.name) != 'M': + if os.path.isfile(os.path.join(self.storedir, f.name)) and self.status(f.name) not in ('M', 'C'): # if self.status(f.name) != 'M': self.delete_localfile(f.name) self.delete_storefile(f.name) @@ -2293,6 +2296,9 @@ if f.name in self.to_be_deleted: self.to_be_deleted.remove(f.name) self.write_deletelist() + elif f.name in self.in_conflict: + self.in_conflict.remove(f.name) + self.write_conflictlist() for f in kept: state = self.status(f.name) @@ -4863,6 +4869,9 @@ root = ET.fromstring(''.join(pkgmeta)) root.set('name', new_name) root.set('project', new_prj) + # never take releasename, it needs to be explicit + for releasename in root.findall('releasename'): + root.remove(releasename) if not keep_maintainers: for person in root.findall('person'): root.remove(person) @@ -5082,9 +5091,11 @@ try: f = http_POST(u) except HTTPError as e: - msg = ''.join(e.readlines()) - msg = msg.split('<summary>')[1] - msg = msg.split('</summary>')[0] + root = ET.fromstring(e.read()) + summary = root.find('summary') + if summary is not None and summary.text is not None: + raise oscerr.APIError(summary.text) + msg = 'unexpected response: %s' % ET.tostring(root, encoding=ET_ENCODING) raise oscerr.APIError(msg) r = None @@ -5570,6 +5581,11 @@ if e.code == 502 or e.code == 504: # re-try result request continue + root = ET.fromstring(e.read()) + if e.code == 400 and kwargs.get('multibuild') and re.search('multibuild', getattr(root.find('summary'), 'text', '')): + kwargs['multibuild'] = None + kwargs['locallink'] = None + continue raise root = ET.fromstring(xml) kwargs['oldstate'] = root.get('state') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.157.1/osc/oscssl.py new/osc-0.157.2/osc/oscssl.py --- old/osc-0.157.1/osc/oscssl.py 2017-03-08 13:10:35.000000000 +0100 +++ new/osc-0.157.2/osc/oscssl.py 2017-03-21 13:33:10.000000000 +0100 @@ -11,6 +11,7 @@ import M2Crypto.m2urllib2 import socket import sys +import inspect try: from urllib.parse import urlparse, splithost, splitport, splittype @@ -250,7 +251,17 @@ M2Crypto.httpslib.HTTPSConnection.__init__(self, *args, **kwargs) def _connect(self, family): - self.sock = SSL.Connection(self.ssl_ctx, family=family) + # workaround for old M2Crypto versions where the the + # SSL.Connection.__init__ constructor has no "family" parameter + kwargs = {} + argspec = inspect.getargspec(SSL.Connection.__init__) + if 'family' in argspec.args: + kwargs['family'] = family + elif family != socket.AF_INET: + # old SSL.Connection classes implicitly use socket.AF_INET + return False + + self.sock = SSL.Connection(self.ssl_ctx, **kwargs) if self.session: self.sock.set_session(self.session) if hasattr(self.sock, 'set_tlsext_host_name'): @@ -268,7 +279,8 @@ 0, 0): try: connected = self._connect(addrinfo[0]) - break + if connected: + break except socket.error as e: last_exc = e finally: @@ -276,7 +288,8 @@ self.sock.close() if not connected: if last_exc is None: - raise RuntimeError('getaddrinfo returned empty list') + msg = 'getaddrinfo returned empty list or unsupported families' + raise RuntimeError(msg) raise last_exc # ok we are connected, verify cert verify_certificate(self) ++++++ osc.dsc ++++++ --- /var/tmp/diff_new_pack.5Jrl9U/_old 2017-03-21 22:51:49.483480237 +0100 +++ /var/tmp/diff_new_pack.5Jrl9U/_new 2017-03-21 22:51:49.487479671 +0100 @@ -1,6 +1,6 @@ Format: 1.0 Source: osc -Version: 0.157.1 +Version: 0.157.2 Binary: osc Maintainer: Adrian Schroeter <[email protected]> Architecture: any
