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 - [email protected]
+
+- 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