Hello community,

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

Package is "openSUSE-release-tools"

Thu Mar 29 11:57:14 2018 rev:74 rq:591956 version:20180328.f195bc7

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2018-03-28 10:34:24.962497023 +0200
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
       2018-03-29 11:57:20.706617442 +0200
@@ -1,0 +2,7 @@
+Wed Mar 28 10:04:54 UTC 2018 - opensuse-releaset...@opensuse.org
+
+- Update to version 20180328.f195bc7:
+  * repo-checker: Check delete requests for provided runtime dependencies
+  * API: move fileinfo_ext[_all] from StagingAPI to core
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20180326.b4c885d.obscpio

New:
----
  openSUSE-release-tools-20180328.f195bc7.obscpio

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

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.wna57J/_old  2018-03-29 11:57:21.882574990 +0200
+++ /var/tmp/diff_new_pack.wna57J/_new  2018-03-29 11:57:21.882574990 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package openSUSE-release-tools
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %define source_dir openSUSE-release-tools
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20180326.b4c885d
+Version:        20180328.f195bc7
 Release:        0
 Summary:        Tools to aid in staging and release work for openSUSE/SUSE
 License:        GPL-2.0-or-later AND MIT
@@ -61,15 +61,15 @@
 Requires:       python-colorama
 Requires:       python-lxml
 # issue-diff.py, legal-auto.py, and openqa-maintenance.py
-Requires:       python-requests
 Requires:       python-pycurl
 Requires:       python-python-dateutil
 Requires:       python-pyxdg
+Requires:       python-requests
 Requires:       python-urlgrabber
 
 # bs_mirrorfull
-Requires:       perl-XML-Parser
 Requires:       perl-Net-SSLeay
+Requires:       perl-XML-Parser
 
 # Spec related requirements.
 Requires:       osclib = %{version}
@@ -167,8 +167,8 @@
 # TODO Update requirements.
 Requires:       osclib = %{version}
 # repo_checker.pl
-Requires:       perl-XML-Simple
 Requires:       build
+Requires:       perl-XML-Simple
 Requires(pre):  shadow
 
 %description repo-checker
@@ -203,8 +203,8 @@
 Summary:        Generates package lists in 000product
 Group:          Development/Tools/Other
 BuildArch:      noarch
-Requires:       osclib = %{version}
 Requires:       obs-service-product_converter
+Requires:       osclib = %{version}
 Requires:       python-requests
 Requires:       python-solv
 # we use the same user as repo-checker

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.wna57J/_old  2018-03-29 11:57:21.934573113 +0200
+++ /var/tmp/diff_new_pack.wna57J/_new  2018-03-29 11:57:21.934573113 +0200
@@ -1,6 +1,6 @@
 <servicedata>
   <service name="tar_scm">
     <param 
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
-    <param 
name="changesrevision">b4c885d265146819536555c6b602185136562149</param>
+    <param 
name="changesrevision">f195bc7998040de0894dcec41acd111492f05fd1</param>
   </service>
 </servicedata>

++++++ openSUSE-release-tools-20180326.b4c885d.obscpio -> 
openSUSE-release-tools-20180328.f195bc7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180326.b4c885d/osclib/cleanup_rings.py 
new/openSUSE-release-tools-20180328.f195bc7/osclib/cleanup_rings.py
--- old/openSUSE-release-tools-20180326.b4c885d/osclib/cleanup_rings.py 
2018-03-26 11:21:57.000000000 +0200
+++ new/openSUSE-release-tools-20180328.f195bc7/osclib/cleanup_rings.py 
2018-03-28 11:50:02.000000000 +0200
@@ -2,6 +2,7 @@
 
 from osc.core import makeurl
 from osc.core import http_GET
+from osclib.core import fileinfo_ext_all
 
 import urllib2
 
@@ -150,7 +151,7 @@
     def check_requiredby(self, project, package):
         # Prioritize x86_64 bit.
         for arch in reversed(self.api.ring_archs(project)):
-            for fileinfo in self.api.fileinfo_ext_all(project, 'standard', 
arch, package):
+            for fileinfo in fileinfo_ext_all(self.api.apiurl, project, 
'standard', arch, package):
                 for requiredby in 
fileinfo.findall('provides_ext/requiredby[@name]'):
                     b = self.bin2src[requiredby.get('name')]
                     if b == package:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180326.b4c885d/osclib/core.py 
new/openSUSE-release-tools-20180328.f195bc7/osclib/core.py
--- old/openSUSE-release-tools-20180326.b4c885d/osclib/core.py  2018-03-26 
11:21:57.000000000 +0200
+++ new/openSUSE-release-tools-20180328.f195bc7/osclib/core.py  2018-03-28 
11:50:02.000000000 +0200
@@ -188,3 +188,22 @@
     url = makeurl(apiurl, ['search', 'project', 'id'], query)
     root = ETL.parse(http_GET(url)).getroot()
     return root.xpath('project/@name')
+
+#
+# Depdendency helpers
+#
+def fileinfo_ext_all(apiurl, project, repo, arch, package):
+    url = makeurl(apiurl, ['build', project, repo, arch, package])
+    binaries = ET.parse(http_GET(url)).getroot()
+    for binary in binaries.findall('binary'):
+        filename = binary.get('filename')
+        if not filename.endswith('.rpm'):
+            continue
+
+        yield fileinfo_ext(apiurl, project, repo, arch, package, filename)
+
+def fileinfo_ext(apiurl, project, repo, arch, package, filename):
+    url = makeurl(apiurl,
+                  ['build', project, repo, arch, package, filename],
+                  {'view': 'fileinfo_ext'})
+    return ET.parse(http_GET(url)).getroot()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180326.b4c885d/osclib/stagingapi.py 
new/openSUSE-release-tools-20180328.f195bc7/osclib/stagingapi.py
--- old/openSUSE-release-tools-20180326.b4c885d/osclib/stagingapi.py    
2018-03-26 11:21:57.000000000 +0200
+++ new/openSUSE-release-tools-20180328.f195bc7/osclib/stagingapi.py    
2018-03-28 11:50:02.000000000 +0200
@@ -1808,22 +1808,6 @@
             return self.cstaging_dvd_archs
         return self.cstaging_archs
 
-    def fileinfo_ext_all(self, project, repo, arch, package):
-        url = makeurl(self.apiurl, ['build', project, repo, arch, package])
-        binaries = ET.parse(http_GET(url)).getroot()
-        for binary in binaries.findall('binary'):
-            filename = binary.get('filename')
-            if not filename.endswith('.rpm'):
-                continue
-
-            yield self.fileinfo_ext(project, repo, arch, package, filename)
-
-    def fileinfo_ext(self, project, repo, arch, package, filename):
-        url = makeurl(self.apiurl,
-                      ['build', project, repo, arch, package, filename],
-                      {'view': 'fileinfo_ext'})
-        return ET.parse(http_GET(url)).getroot()
-
     def ignore_format(self, request_id):
         requests_ignored = self.get_ignored_requests()
         if request_id in requests_ignored:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20180326.b4c885d/repo_checker.py 
new/openSUSE-release-tools-20180328.f195bc7/repo_checker.py
--- old/openSUSE-release-tools-20180326.b4c885d/repo_checker.py 2018-03-26 
11:21:57.000000000 +0200
+++ new/openSUSE-release-tools-20180328.f195bc7/repo_checker.py 2018-03-28 
11:50:02.000000000 +0200
@@ -16,6 +16,7 @@
 from osclib.core import binary_list
 from osclib.core import depends_on
 from osclib.core import devel_project_fallback
+from osclib.core import fileinfo_ext_all
 from osclib.core import package_binary_list
 from osclib.core import request_staged
 from osclib.core import target_archs
@@ -480,9 +481,17 @@
         return True
 
     def check_action_delete(self, request, action):
-        # TODO Include runtime dependencies instead of just build dependencies.
         # TODO Ignore tgt_project packages that depend on this that are part of
         # ignore list as and instead look at output from staging for those.
+
+        built_binaries = set([])
+        revdeps = set([])
+        for fileinfo in fileinfo_ext_all(self.apiurl, action.tgt_project, 
'standard', 'x86_64', action.tgt_package):
+            built_binaries.add(fileinfo.find('name').text)
+            for requiredby in 
fileinfo.findall('provides_ext/requiredby[@name]'):
+                revdeps.add(requiredby.get('name'))
+        runtime_deps = sorted(revdeps - built_binaries)
+
         what_depends_on = depends_on(self.apiurl, action.tgt_project, 
'standard', [action.tgt_package], True)
 
         # filter out dependency on package itself (happens with eg
@@ -494,6 +503,10 @@
             self.logger.warn('{} is still a build requirement of:\n\n- 
{}'.format(
                 action.tgt_package, '\n- '.join(sorted(what_depends_on))))
 
+        if len(runtime_deps):
+            self.logger.warn('{} provides runtime dependencies to:\n\n- 
{}'.format(
+                action.tgt_package, '\n- '.join(runtime_deps)))
+
         if len(self.comment_handler.lines):
             self.comment_write(state='seen', result='failed')
             return None

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.wna57J/_old  2018-03-29 11:57:22.838540480 +0200
+++ /var/tmp/diff_new_pack.wna57J/_new  2018-03-29 11:57:22.838540480 +0200
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20180326.b4c885d
-mtime: 1522056117
-commit: b4c885d265146819536555c6b602185136562149
+version: 20180328.f195bc7
+mtime: 1522230602
+commit: f195bc7998040de0894dcec41acd111492f05fd1
 


Reply via email to