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


Reply via email to