Hello community,

here is the log from the commit of package openSUSE-release-tools for 
openSUSE:Factory checked in at 2017-11-15 17:03:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-release-tools"

Wed Nov 15 17:03:32 2017 rev:20 rq:541959 version:20171115.6140695

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2017-11-12 18:11:07.341641991 +0100
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
       2017-11-15 17:03:34.507345222 +0100
@@ -1,0 +2,7 @@
+Wed Nov 15 07:34:36 UTC 2017 - [email protected]
+
+- Update to version 20171115.6140695:
+  * compare_pkglist: displays deleted package
+  * compare_pkglist: misc improvements
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20171112.b690943.obscpio

New:
----
  openSUSE-release-tools-20171115.6140695.obscpio

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

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.OT79yc/_old  2017-11-15 17:03:36.163284589 +0100
+++ /var/tmp/diff_new_pack.OT79yc/_new  2017-11-15 17:03:36.163284589 +0100
@@ -20,7 +20,7 @@
 %define source_dir osc-plugin-factory
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20171112.b690943
+Version:        20171115.6140695
 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.OT79yc/_old  2017-11-15 17:03:36.203283124 +0100
+++ /var/tmp/diff_new_pack.OT79yc/_new  2017-11-15 17:03:36.207282978 +0100
@@ -1,6 +1,6 @@
 <servicedata>
   <service name="tar_scm">
     <param 
name="url">https://github.com/openSUSE/osc-plugin-factory.git</param>
-    <param 
name="changesrevision">b6909435e9c6f4da1d1209378797b0ae78769473</param>
+    <param 
name="changesrevision">6140695f1d908bccc9be129dc8487ae2b0d2923b</param>
   </service>
 </servicedata>

++++++ openSUSE-release-tools-20171112.b690943.obscpio -> 
openSUSE-release-tools-20171115.6140695.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20171112.b690943/compare_pkglist.py 
new/openSUSE-release-tools-20171115.6140695/compare_pkglist.py
--- old/openSUSE-release-tools-20171112.b690943/compare_pkglist.py      
2017-11-12 11:59:03.000000000 +0100
+++ new/openSUSE-release-tools-20171115.6140695/compare_pkglist.py      
2017-11-15 08:28:36.000000000 +0100
@@ -40,10 +40,12 @@
 http_POST = osc.core.http_POST
 
 class CompareList(object):
-    def __init__(self, old_prj, new_prj, verbose):
+    def __init__(self, old_prj, new_prj, verbose, newonly, removedonly):
         self.new_prj = new_prj
         self.old_prj = old_prj
         self.verbose = verbose
+        self.newonly = newonly
+        self.removedonly = removedonly
         self.apiurl = osc.conf.config['apiurl']
         self.debug = osc.conf.config['debug']
 
@@ -56,6 +58,19 @@
 
         return packages
 
+    def removed_pkglist(self, project):
+        if project.startswith('SUSE:'):
+            apiurl = 'https://api.suse.de'
+        else:
+            apiurl = self.apiurl
+        query = 
"match=state/@name='accepted'+and+(action/target/@project='{}'+and+action/@type='delete')".format(project)
+        url = makeurl(apiurl, ['search', 'request'], query)
+        f = http_GET(url)
+        root = ET.parse(f).getroot()
+        packages = [t.get('package') for t in 
root.findall('./request/action/target')]
+
+        return packages
+
     def is_linked_package(self, project, package):
         u = makeurl(self.apiurl, ['source', project, package])
         root = ET.parse(http_GET(u)).getroot()
@@ -86,31 +101,41 @@
         """Main method"""
         # get souce packages from target
         print 'Gathering the package list from %s' % self.old_prj
-        old_packages = self.get_source_packages(self.old_prj)
+        source = self.get_source_packages(self.old_prj)
         print 'Gathering the package list from %s' % self.new_prj
-        new_packages = self.get_source_packages(self.new_prj)
+        target = self.get_source_packages(self.new_prj)
+        removed_packages = self.removed_pkglist(self.old_prj)
 
-        for pkg in old_packages:
-            if pkg not in new_packages:
-                logging.info('%s is not in %s' % (pkg, self.new_prj))
-            else:
-                # ignore the second specfile package
-                linked = self.is_linked_package(self.old_prj, pkg)
-                if linked is not None:
+        if not self.removedonly:
+            for pkg in source:
+                if pkg.startswith('000'):
                     continue
 
-                diff = self.check_diff(pkg, self.old_prj, self.new_prj)
-                if diff is not False:
-                    print '%s/%s has different source than %s' % 
(self.new_prj, pkg, self.old_prj)
-                    if self.verbose:
-                        print diff
+                if pkg not in target:
+                    # ignore the second specfile package
+                    linked = self.is_linked_package(self.old_prj, pkg)
+                    if linked is not None:
+                        continue
+
+                    print("New package than {:<8} - {}".format(self.new_prj, 
pkg))
+                elif not self.newonly:
+                    diff = self.check_diff(pkg, self.old_prj, self.new_prj)
+                    if diff:
+                        print("Different source in {:<8} - 
{}".format(self.new_prj, pkg))
+                        if self.verbose:
+                            print("=== Diff ===\n{}".format(diff))
+
+        for pkg in removed_packages:
+            if pkg in target:
+                print("Deleted package in {:<8} - {}".format(self.old_prj, 
pkg))
 
 def main(args):
     # Configure OSC
     osc.conf.get_config(override_apiurl=args.apiurl)
     osc.conf.config['debug'] = args.debug
 
-    uc = CompareList(args.old_prj, args.new_prj, args.verbose)
+    uc = CompareList(args.old_prj, args.new_prj, args.verbose, args.newonly,
+            args.removedonly)
     uc.crawl()
 
 if __name__ == '__main__':
@@ -127,6 +152,10 @@
                         default=OPENSUSE)
     parser.add_argument('-v', '--verbose', action='store_true',
                         help='show the diff')
+    parser.add_argument('--newonly', action='store_true',
+                        help='show new package only')
+    parser.add_argument('--removedonly', action='store_true',
+                        help='show removed package but exists in target')
 
     args = parser.parse_args()
 

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.OT79yc/_old  2017-11-15 17:03:36.843259692 +0100
+++ /var/tmp/diff_new_pack.OT79yc/_new  2017-11-15 17:03:36.847259545 +0100
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20171112.b690943
-mtime: 1510484343
-commit: b6909435e9c6f4da1d1209378797b0ae78769473
+version: 20171115.6140695
+mtime: 1510730916
+commit: 6140695f1d908bccc9be129dc8487ae2b0d2923b
 


Reply via email to