Hello community,

here is the log from the commit of package osc for openSUSE:Factory checked in 
at 2014-05-21 16:20:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/osc (Old)
 and      /work/SRC/openSUSE:Factory/.osc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "osc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/osc/osc.changes  2014-04-08 12:45:00.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.osc.new/osc.changes     2014-05-21 
16:20:54.000000000 +0200
@@ -1,0 +2,13 @@
+Mon May 19 13:59:53 UTC 2014 - [email protected]
+
+- 0.146.0
+  - support maintenance release request with acceptinfo data (OBS 2.6)
+  - setlinkrev can be used to update frozen links to current revisions again
+  - report errors in case request accept fails
+  - support epoch number handling for local builds
+  - support bugowner request handling for groups
+  - support usage of fedoras mock to build packages
+  - support build --prefer-pkgs for Arch linux
+  - support bash-completion for .kiwi files
+
+-------------------------------------------------------------------

Old:
----
  osc-0.145.0.tar.gz

New:
----
  osc-0.146.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ osc.spec ++++++
--- /var/tmp/diff_new_pack.1GVIS1/_old  2014-05-21 16:20:56.000000000 +0200
+++ /var/tmp/diff_new_pack.1GVIS1/_new  2014-05-21 16:20:56.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           osc
-Version:        0.145.0
+Version:        0.146.0
 Release:        0
 Summary:        openSUSE Build Service Commander
 License:        GPL-2.0+

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.1GVIS1/_old  2014-05-21 16:20:56.000000000 +0200
+++ /var/tmp/diff_new_pack.1GVIS1/_new  2014-05-21 16:20:56.000000000 +0200
@@ -1,5 +1,5 @@
 pkgname=osc
-pkgver=0.145.0
+pkgver=0.146.0
 pkgrel=0
 pkgdesc="Open Build Service client"
 arch=('i686' 'x86_64')
@@ -8,7 +8,7 @@
 groups=('base-devel')
 depends=('python2' 'python2-m2crypto' 'urlgrabber')
 source=(osc-${pkgver}.tar.gz)
-md5sums=('53795d71d825f5f2a41721bd96edca8c')
+md5sums=('720d054a81fcce5f6b3d05aad45fc303')
 
 package() {
   msg "Installing osc ..."

++++++ _service ++++++
--- /var/tmp/diff_new_pack.1GVIS1/_old  2014-05-21 16:20:56.000000000 +0200
+++ /var/tmp/diff_new_pack.1GVIS1/_new  2014-05-21 16:20:56.000000000 +0200
@@ -1,7 +1,7 @@
 <services>
   <service name="tar_scm" mode="disabled">
-    <param name="version">0.145.0</param>
-    <param name="revision">0.145.0</param>
+    <param name="version">0.146.0</param>
+    <param name="revision">0.146.0</param>
     <param name="url">git://github.com/openSUSE/osc.git</param>
     <param name="scm">git</param>
   </service>

++++++ osc-0.145.0.tar.gz -> osc-0.146.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/NEWS new/osc-0.146.0/NEWS
--- old/osc-0.145.0/NEWS        2014-04-03 09:51:24.000000000 +0200
+++ new/osc-0.146.0/NEWS        2014-05-19 16:01:00.000000000 +0200
@@ -1,3 +1,13 @@
+0.146
+  - support maintenance release request with acceptinfo data (OBS 2.6)
+  - setlinkrev can be used to update frozen links to current revisions again
+  - report errors in case request accept fails
+  - support epoch number handling for local builds
+  - support bugowner request handling for groups
+  - support usage of fedoras mock to build packages
+  - support build --prefer-pkgs for Arch linux
+  - support bash-completion for .kiwi files
+
 0.145
   - allow to use the set-release option when running a manual release
   - added support for "osc requestmaintainership PROJECT"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/dist/osc.complete 
new/osc-0.146.0/dist/osc.complete
--- old/osc-0.145.0/dist/osc.complete   2014-04-03 09:51:24.000000000 +0200
+++ new/osc-0.146.0/dist/osc.complete   2014-05-19 16:01:00.000000000 +0200
@@ -350,7 +350,7 @@
     fi
     ;;
 build)
-    opts=(--help --oldpackages --disable-cpio-bulk-download --release 
--baselibs 
+    opts=(--help --oldpackages --disable-cpio-bulk-download 
--download-api-only --release --baselibs 
          --disable-debuginfo --debuginfo --alternative-project --vm-type 
--linksources 
          --local-package --build-uid --userootforbuild --define --without 
--with 
          --ccache --icecream --jobs --root --extra-pkgs --keep-pkgs 
--prefer-pkgs 
@@ -437,8 +437,9 @@
        done
     fi 
     if ((count == 2)) ; then
-       specs=($(command ls *.spec))
-       builtin compgen -W "${opts[*]} ${specs[*]}" -- "${cmdline[count]}"
+       specs=($(command ls *.spec 2>/dev/null))
+       images=($(command ls *.kiwi 2>/dev/null))
+       builtin compgen -W "${opts[*]} ${specs[*]} ${images[*]}" -- 
"${cmdline[count]}"
     fi
     ;;
 branch|getpac|bco|branchco)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/build.py new/osc-0.146.0/osc/build.py
--- old/osc-0.145.0/osc/build.py        2014-04-03 09:51:24.000000000 +0200
+++ new/osc-0.146.0/osc/build.py        2014-05-19 16:01:00.000000000 +0200
@@ -151,6 +151,8 @@
         self.vminstall_list = [ dep.name for dep in self.deps if dep.vminstall 
]
         self.preinstall_list = [ dep.name for dep in self.deps if 
dep.preinstall ]
         self.runscripts_list = [ dep.name for dep in self.deps if 
dep.runscripts ]
+        self.noinstall_list = [ dep.name for dep in self.deps if dep.noinstall 
]
+        self.installonly_list = [ dep.name for dep in self.deps if 
dep.installonly ]
 
 
     def has_dep(self, name):
@@ -175,9 +177,9 @@
 
         self.mp = {}
         for i in ['binary', 'package',
-                  'version', 'release',
+                  'epoch', 'version', 'release',
                   'project', 'repository',
-                  'preinstall', 'vminstall', 'noinstall', 'runscripts',
+                  'preinstall', 'vminstall', 'noinstall', 'installonly', 
'runscripts',
                  ]:
             self.mp[i] = node.get(i)
 
@@ -207,11 +209,11 @@
         self.mp['apiurl'] = apiurl
 
         if pacsuffix == 'deb':
-            filename = debquery.DebQuery.filename(self.mp['name'], 
self.mp['version'], self.mp['release'], self.mp['arch'])
+            filename = debquery.DebQuery.filename(self.mp['name'], 
self.mp['epoch'], self.mp['version'], self.mp['release'], self.mp['arch'])
         elif pacsuffix == 'arch':
-            filename = archquery.ArchQuery.filename(self.mp['name'], 
self.mp['version'], self.mp['release'], self.mp['arch'])
+            filename = archquery.ArchQuery.filename(self.mp['name'], 
self.mp['epoch'], self.mp['version'], self.mp['release'], self.mp['arch'])
         else:
-            filename = rpmquery.RpmQuery.filename(self.mp['name'], 
self.mp['version'], self.mp['release'], self.mp['arch'])
+            filename = rpmquery.RpmQuery.filename(self.mp['name'], 
self.mp['epoch'], self.mp['version'], self.mp['release'], self.mp['arch'])
 
         self.mp['filename'] = node.get('binary') or filename
         if self.mp['repopackage'] == '_repository':
@@ -316,6 +318,8 @@
     suffix = '*.rpm'
     if type == 'dsc':
         suffix = '*.deb'
+    elif type == 'arch':
+        suffix = '*.pkg.tar.xz'
 
     for dir in dirs:
         # check for repodata
@@ -895,12 +899,19 @@
 
     print('Writing build configuration')
 
-    rpmlist = [ '%s %s\n' % (i.name, i.fullfilename) for i in bi.deps if not 
i.noinstall ]
+    if build_type == 'kiwi':
+        rpmlist = [ '%s %s\n' % (i.name, i.fullfilename) for i in bi.deps if 
not i.noinstall ]
+    else:
+        rpmlist = [ '%s %s\n' % (i.name, i.fullfilename) for i in bi.deps ]
     rpmlist += [ '%s %s\n' % (i[0], i[1]) for i in rpmlist_prefers ]
 
     rpmlist.append('preinstall: ' + ' '.join(bi.preinstall_list) + '\n')
     rpmlist.append('vminstall: ' + ' '.join(bi.vminstall_list) + '\n')
     rpmlist.append('runscripts: ' + ' '.join(bi.runscripts_list) + '\n')
+    if build_type != 'kiwi' and bi.noinstall_list:
+        rpmlist.append('noinstall: ' + ' '.join(bi.noinstall_list) + '\n')
+    if build_type != 'kiwi' and bi.installonly_list:
+        rpmlist.append('installonly: ' + ' '.join(bi.installonly_list) + '\n')
 
     rpmlist_file = NamedTemporaryFile(prefix='rpmlist.')
     rpmlist_filename = rpmlist_file.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/commandline.py 
new/osc-0.146.0/osc/commandline.py
--- old/osc-0.145.0/osc/commandline.py  2014-04-03 09:51:24.000000000 +0200
+++ new/osc-0.146.0/osc/commandline.py  2014-05-19 16:01:00.000000000 +0200
@@ -1060,10 +1060,10 @@
                             print("Submitting package ", p)
                         else:
                             print("  Skipping not modified package ", p)
-                            next
+                            continue
                     else:
                         print("Skipping package ", p,  " since it is a source 
link pointing inside the project.")
-                        next
+                        continue
 
                 serviceinfo = root.find('serviceinfo')
                 if serviceinfo != None:
@@ -2313,8 +2313,11 @@
                     details = e.headers.get('X-Opensuse-Errorcode')
                     if details:
                         print(details, file=sys.stderr)
+                    root = ET.fromstring(e.read())
+                    summary = root.find('summary')
+                    if not summary is None:
+                        print(summary.text)
                     if opts.or_revoke:
-                        body = e.read()
                         if e.code in [ 400, 403, 404, 500 ]:
                             print('Revoking it ...')
                             r = change_request_state(apiurl,
@@ -5538,7 +5541,7 @@
     @cmdln.option('--cpio-bulk-download', action='store_false',
                   dest='disable_cpio_bulk_download', help=SUPPRESS_HELP)
     @cmdln.option('--download-api-only', action='store_true',
-                  help=SUPPRESS_HELP)
+                  help='only fetch packages from the api')
     @cmdln.option('--oldpackages', metavar='DIR',
             help='take previous build from DIR (special values: _self, _link)')
     @cmdln.option('--shell', action='store_true',
@@ -7098,6 +7101,20 @@
             if verbose:
                 tags = ('login', 'realname', 'email')
             return get_user_data(apiurl, maintainer, *tags)
+        def setBugownerHelper(apiurl, project, package, bugowner):
+            try:
+                setBugowner(apiurl, project, package, bugowner)
+            except HTTPError as e:
+                if e.code != 403:
+                    raise
+                print("No write permission in", project, end=' ')
+                if package:
+                    print("/", package, end=' ')
+                print()
+                repl = raw_input('\nCreating a request instead? (y/n) ')
+                if repl.lower() == 'y':
+                    opts.set_bugowner_request = bugowner
+                    opts.set_bugowner = None
 
         binary = None
         prj = None
@@ -7176,51 +7193,22 @@
             if searchresult:
                 for result in searchresult.findall('owner'):
                     if opts.set_bugowner:
-                        for role in roles:
-                            try:
-                                setBugowner(apiurl, result.get('project'), 
result.get('package'), opts.set_bugowner)
-                            except HTTPError as e:
-                                if e.code == 403:
-                                    print("No write permission in", 
result.get('project'), end=' ')
-                                    if result.get('package'):
-                                        print("/", result.get('package'), 
end=' ')
-                                    print()
-                                    repl = raw_input('\nCreating a request 
instead? (y/n) ')
-                                    if repl.lower() == 'y':
-                                        opts.set_bugowner_request = 
opts.set_bugowner
-                                        opts.set_bugowner = None
-                                        break
-
+                        setBugownerHelper(apiurl, result.get('project'), 
result.get('package'), opts.set_bugowner)
                     if opts.set_bugowner_request:
-                        for role in roles:
-                            args = [bugowner, result.get('project')]
-                            if result.get('package'):
-                                args = args + [result.get('package')]
-                            requestactionsxml += self._set_bugowner(args, opts)
+                        args = [bugowner, result.get('project')]
+                        if result.get('package'):
+                            args = args + [result.get('package')]
+                        requestactionsxml += self._set_bugowner(args, opts)
 
             else:
                 if opts.set_bugowner:
-                    for role in roles:
-                        try:
-                            setBugowner(apiurl, prj, pac, opts.set_bugowner)
-                        except HTTPError as e:
-                            if e.code == 403:
-                                print("No write permission in" + 
result.get('project'), end=' ')
-                                if result.get('package'):
-                                    print("/", result.get('package'), end=' ')
-                                print()
-                                repl = raw_input('\nCreating a request 
instead? (y/n) ')
-                                if repl.lower() == 'y':
-                                    opts.set_bugowner_request = 
opts.set_bugowner
-                                    opts.set_bugowner = None
-                                    break
+                    setBugownerHelper(apiurl, prj, pac, opts.set_bugowner)
 
                 if opts.set_bugowner_request:
-                    for role in roles:
-                        args = [bugowner, prj]
-                        if pac:
-                            args = args + [pac]
-                        requestactionsxml += self._set_bugowner(args, opts)
+                    args = [bugowner, prj]
+                    if pac:
+                        args = args + [pac]
+                    requestactionsxml += self._set_bugowner(args, opts)
 
             if requestactionsxml != "":
                 if opts.message:
@@ -7241,7 +7229,7 @@
             if searchresult:
                 for result in searchresult.findall('owner'):
                     for role in roles:
-                        delPerson(apiurl, result.get('project'), 
result.get('package'), opts.add, role)
+                        delPerson(apiurl, result.get('project'), 
result.get('package'), opts.delete, role)
             else:
                 for role in roles:
                     delPerson(apiurl, prj, pac, opts.delete, role)
@@ -8206,7 +8194,7 @@
                         if (inspect.isfunction(data) and 
inspect.getmodule(data) == mod
                             or inspect.ismodule(data)):
                             setattr(self.__class__, name, data)
-                except (SyntaxError, NameError) as e:
+                except (SyntaxError, NameError, ImportError) as e:
                     if (os.environ.get('OSC_PLUGIN_FAIL_IGNORE')):
                         print("%s: %s\n" % (os.path.join(plugin_dir, extfile), 
e), file=sys.stderr)
                     else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/core.py new/osc-0.146.0/osc/core.py
--- old/osc-0.145.0/osc/core.py 2014-04-03 09:51:25.000000000 +0200
+++ new/osc-0.146.0/osc/core.py 2014-05-19 16:01:00.000000000 +0200
@@ -5,7 +5,7 @@
 
 from __future__ import print_function
 
-__version__ = '0.145'
+__version__ = '0.145git'
 
 # __store_version__ is to be incremented when the format of the working copy
 # "store" changes in an incompatible way. Please add any needed migration
@@ -1682,8 +1682,11 @@
         Update the local _meta file in the store.
         It is replaced with the version pulled from upstream.
         """
-        meta = ''.join(show_package_meta(self.apiurl, self.prjname, self.name))
-        store_write_string(self.absdir, '_meta', meta + '\n')
+        meta = show_package_meta(self.apiurl, self.prjname, self.name)
+        if meta != "":
+            # is empty for _project for example
+            meta = ''.join(meta)
+            store_write_string(self.absdir, '_meta', meta + '\n')
 
     def findfilebyname(self, n):
         for i in self.filelist:
@@ -2360,8 +2363,10 @@
                             'acceptinfo_rev', 'acceptinfo_srcmd5', 
'acceptinfo_xsrcmd5', 'acceptinfo_osrcmd5',
                             'acceptinfo_oxsrcmd5', 'opt_updatelink'),
         'add_role': ('tgt_project', 'tgt_package', 'person_name', 
'person_role', 'group_name', 'group_role'),
-        'set_bugowner': ('tgt_project', 'tgt_package', 'person_name'), # 
obsoleted by add_role
-        'maintenance_release': ('src_project', 'src_package', 'src_rev', 
'tgt_project', 'tgt_package', 'person_name'),
+        'set_bugowner': ('tgt_project', 'tgt_package', 'person_name', 
'group_name'),
+        'maintenance_release': ('src_project', 'src_package', 'src_rev', 
'tgt_project', 'tgt_package', 'person_name',
+                            'acceptinfo_rev', 'acceptinfo_srcmd5', 
'acceptinfo_xsrcmd5', 'acceptinfo_osrcmd5',
+                            'acceptinfo_oxsrcmd5'),
         'maintenance_incident': ('src_project', 'src_package', 'src_rev', 
'tgt_project', 'tgt_releaseproject', 'person_name', 'opt_sourceupdate'),
         'delete': ('tgt_project', 'tgt_package', 'tgt_repository'),
         'change_devel': ('src_project', 'src_package', 'tgt_project', 
'tgt_package'),
@@ -2586,7 +2591,10 @@
 
         d = {'type': '%s:' % action.type}
         if action.type == 'set_bugowner':
-            d['source'] = action.person_name
+            if action.person_name:
+                d['source'] = action.person_name
+            if action.group_name:
+                d['source'] = 'group:%s' % action.group_name
             d['target'] = prj_pkg_join(action.tgt_project, action.tgt_package)
         elif action.type == 'change_devel':
             d['source'] = prj_pkg_join(action.tgt_project, action.tgt_package)
@@ -5974,6 +5982,7 @@
     revision = _set_link_rev(apiurl, project, package, root, revision, 
expand=expand)
     l = ET.tostring(root, encoding=ET_ENCODING)
     http_PUT(url, data=l)
+    return revision
 
 def _set_link_rev(apiurl, project, package, root, revision='', expand=False):
     """
@@ -5988,8 +5997,6 @@
     src_project = root.get('project', project)
     src_package = root.get('package', package)
     vrev = None
-    if revision == '':
-        revision = root.get('rev', '')
     if revision is None:
         if 'rev' in root.keys():
             del root.attrib['rev']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/util/archquery.py 
new/osc-0.146.0/osc/util/archquery.py
--- old/osc-0.145.0/osc/util/archquery.py       2014-04-03 09:51:24.000000000 
+0200
+++ new/osc-0.146.0/osc/util/archquery.py       2014-05-19 16:01:00.000000000 
+0200
@@ -19,7 +19,8 @@
         #self.pkgsuffix = 'pkg.tar.gz'
         self.pkgsuffix = 'arch'
 
-    def read(self, *extra_tags):
+    def read(self, all_tags=True, self_provides=True, *extra_tags):
+        # all_tags and *extra_tags are currently ignored
         f = open(self.__path, 'rb')
         #self.magic = f.read(5)
         #if self.magic == '\375\067zXZ':
@@ -32,6 +33,9 @@
                 if not line[0] in self.fields:
                     self.fields[line[0]] = []
                 self.fields[line[0]].append(line[1])
+        if self_provides:
+            prv = '%s = %s' % (self.name(), self.fields['pkgver'][0])
+            self.fields.setdefault('provides', []).append(prv)
 
     def vercmp(self, archq):
         res = cmp(int(self.epoch()), int(archq.epoch()))
@@ -144,7 +148,12 @@
         return cmp(ver1, ver2)
 
     @staticmethod
-    def filename(name, version, release, arch):
+    def filename(name, epoch, version, release, arch):
+        if epoch:
+            if release:
+                return '%s-%s:%s-%s-%s.arch' % (name, epoch, version, release, 
arch)
+            else:
+                return '%s-%s:%s-%s.arch' % (name, epoch, version, arch)
         if release:
             return '%s-%s-%s-%s.arch' % (name, version, release, arch)
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/util/debquery.py 
new/osc-0.146.0/osc/util/debquery.py
--- old/osc-0.145.0/osc/util/debquery.py        2014-04-03 09:51:24.000000000 
+0200
+++ new/osc-0.146.0/osc/util/debquery.py        2014-05-19 16:01:00.000000000 
+0200
@@ -21,7 +21,7 @@
         self.filename_suffix = 'deb'
         self.fields = {}
 
-    def read(self, all_tags = False, *extra_tags):
+    def read(self, all_tags=False, self_provides=True, *extra_tags):
         arfile = ar.Ar(fh = self.__file)
         arfile.read()
         debbin = arfile.get_file('debian-binary')
@@ -42,9 +42,9 @@
             control = tar.extractfile(name)
         except KeyError:
             raise DebError(self.__path, 'missing \'control\' file in 
control.tar.gz')
-        self.__parse_control(control, all_tags, *extra_tags)
+        self.__parse_control(control, all_tags, self_provides, *extra_tags)
 
-    def __parse_control(self, control, all_tags = False, *extra_tags):
+    def __parse_control(self, control, all_tags=False, self_provides=True, 
*extra_tags):
         data = control.readline().strip()
         while data:
             field, val = re.split(':\s*', data.strip(), 1)
@@ -71,8 +71,9 @@
         self.fields['provides'] = [ i.strip() for i in re.split(',\s*', 
self.fields.get('provides', '')) if i ]
         self.fields['depends'] = [ i.strip() for i in re.split(',\s*', 
self.fields.get('depends', '')) if i ]
         self.fields['pre_depends'] = [ i.strip() for i in re.split(',\s*', 
self.fields.get('pre_depends', '')) if i ]
-        # add self provides entry
-        self.fields['provides'].append('%s = %s' % (self.name(), 
'-'.join(versrel)))
+        if self_provides:
+            # add self provides entry
+            self.fields['provides'].append('%s = %s' % (self.name(), 
'-'.join(versrel)))
 
     def vercmp(self, debq):
         res = cmp(int(self.epoch()), int(debq.epoch()))
@@ -115,7 +116,7 @@
         return self.fields.get(num, None)
 
     def canonname(self):
-        return DebQuery.filename(self.name(), self.version(), self.release(), 
self.arch())
+        return DebQuery.filename(self.name(), self.epoch(), self.version(), 
self.release(), self.arch())
 
     @staticmethod
     def query(filename, all_tags = False, *extra_tags):
@@ -160,7 +161,7 @@
         return 0
 
     @staticmethod
-    def filename(name, version, release, arch):
+    def filename(name, epoch, version, release, arch):
         if release:
             return '%s_%s-%s_%s.deb' % (name, version, release, arch)
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/util/packagequery.py 
new/osc-0.146.0/osc/util/packagequery.py
--- old/osc-0.145.0/osc/util/packagequery.py    2014-04-03 09:51:24.000000000 
+0200
+++ new/osc-0.146.0/osc/util/packagequery.py    2014-05-19 16:01:00.000000000 
+0200
@@ -36,8 +36,8 @@
 
         architecture = query.arch()
 
-        if (architecture in [self.wanted_architecture, 'noarch', 'all'] or
-            self.wanted_architecture in self.architectureMap.get(architecture,
+        if (architecture in [self.wanted_architecture, 'noarch', 'all', 'any']
+            or self.wanted_architecture in 
self.architectureMap.get(architecture,
                                                                 [])):
             current_query = self.get(name)
 
@@ -87,7 +87,7 @@
         raise NotImplementedError
 
     @staticmethod
-    def query(filename, all_tags = False, extra_rpmtags = (), extra_debtags = 
()):
+    def query(filename, all_tags=False, extra_rpmtags=(), extra_debtags=(), 
self_provides=True):
         f = open(filename, 'rb')
         magic = f.read(7)
         f.seek(0)
@@ -109,7 +109,7 @@
             pkgquery = archquery.ArchQuery(f)
         else:
             raise PackageError(filename, 'unsupported package type. magic: 
\'%s\'' % magic)
-        pkgquery.read(all_tags, *extra_tags)
+        pkgquery.read(all_tags, self_provides, *extra_tags)
         f.close()
         return pkgquery
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/osc/util/rpmquery.py 
new/osc-0.146.0/osc/util/rpmquery.py
--- old/osc-0.145.0/osc/util/rpmquery.py        2014-04-03 09:51:24.000000000 
+0200
+++ new/osc-0.146.0/osc/util/rpmquery.py        2014-05-19 16:01:00.000000000 
+0200
@@ -69,7 +69,8 @@
         self.filename_suffix = 'rpm'
         self.header = None
 
-    def read(self, all_tags = False, *extra_tags):
+    def read(self, all_tags=False, self_provides=True, *extra_tags):
+        # self_provides is unused because a rpm always has a self provides
         self.__read_lead()
         data = self.__file.read(RpmHeaderEntry.ENTRY_SIZE)
         hdrmgc, reserved, il, dl = struct.unpack('!I3i', data)
@@ -239,7 +240,7 @@
             arch = 'src'
         else:
             arch = self.arch()
-        return RpmQuery.filename(self.name(), self.version(), self.release(), 
arch)
+        return RpmQuery.filename(self.name(), None, self.version(), 
self.release(), arch)
 
     @staticmethod
     def query(filename):
@@ -297,7 +298,7 @@
         return cmp(ver1, ver2)
 
     @staticmethod
-    def filename(name, version, release, arch):
+    def filename(name, epoch, version, release, arch):
         return '%s-%s-%s.%s.rpm' % (name, version, release, arch)
 
 def unpack_string(data):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/osc-0.145.0/tests/test_setlinkrev.py 
new/osc-0.146.0/tests/test_setlinkrev.py
--- old/osc-0.145.0/tests/test_setlinkrev.py    2014-04-03 09:51:24.000000000 
+0200
+++ new/osc-0.146.0/tests/test_setlinkrev.py    2014-05-19 16:01:00.000000000 
+0200
@@ -39,20 +39,21 @@
         osc.core.set_link_rev('http://localhost', 'osctest', 'simple', 
expand=True)
 
     @GET('http://localhost/source/osctest/simple/_link', file='link_with_rev')
+    @GET('http://localhost/source/srcprj/srcpkg?rev=latest', 
file='simple_filesremote')
     @PUT('http://localhost/source/osctest/simple/_link',
-         exp='<link package="srcpkg" project="srcprj" rev="7" />', 
text='dummytext')
+         exp='<link package="srcpkg" project="srcprj" rev="42" />', 
text='dummytext')
     def test_existingrev(self):
-        """link already has a rev attribute (no expand)"""
+        """link already has a rev attribute, update it to current version"""
         # we could also avoid the superfluous PUT
         osc.core.set_link_rev('http://localhost', 'osctest', 'simple')
 
     @GET('http://localhost/source/osctest/simple/_link', file='link_with_rev')
-    @GET('http://localhost/source/srcprj/srcpkg?rev=7&expand=1', 
file='expandedsrc_filesremote')
+    @GET('http://localhost/source/srcprj/srcpkg?rev=latest&expand=1', 
file='expandedsrc_filesremote')
     @PUT('http://localhost/source/osctest/simple/_link',
          exp='<link package="srcpkg" project="srcprj" 
rev="eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" vrev="1" />',
          text='dummytext')
     def test_expandexistingrev(self):
-        """link already has a rev attribute (expand it)"""
+        """link already has a rev attribute, update it to current version"""
         osc.core.set_link_rev('http://localhost', 'osctest', 'simple', 
expand=True)
 
     @GET('http://localhost/source/osctest/simple/_link', file='simple_link')

++++++ osc.dsc ++++++
--- /var/tmp/diff_new_pack.1GVIS1/_old  2014-05-21 16:20:56.000000000 +0200
+++ /var/tmp/diff_new_pack.1GVIS1/_new  2014-05-21 16:20:56.000000000 +0200
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: osc
-Version: 0.145.0
+Version: 0.146.0
 Binary: osc
 Maintainer: Adrian Schroeter <[email protected]>
 Architecture: any

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to