commit openSUSE-release-tools for openSUSE:Factory
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-releaseteam@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
participants (1)
-
root@hilbert.suse.de