Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2018-01-05 01:03:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "openSUSE-release-tools" Fri Jan 5 01:03:11 2018 rev:37 rq:561568 version:20180104.e1b5d75 Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2018-01-02 16:35:50.539375711 +0100 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes 2018-01-05 01:05:52.219157657 +0100 @@ -1,0 +2,9 @@ +Thu Jan 04 09:39:49 UTC 2018 - opensuse-releaseteam@opensuse.org + +- Update to version 20180104.e1b5d75: + * osclib/stagingapi: detect baselibs.conf in adi package and ensure archs enabled. + * check_source: load target project config during check_action_delete(). + * osclib/stagingapi: load_file_content(): provide optional revision param. + * osclib/stagingapi: load_file_content(): convert to makeurl() query builder. + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20180102.98a659c.obscpio New: ---- openSUSE-release-tools-20180104.e1b5d75.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.YUBdkM/_old 2018-01-05 01:05:53.366775828 +0100 +++ /var/tmp/diff_new_pack.YUBdkM/_new 2018-01-05 01:05:53.370774498 +0100 @@ -20,7 +20,7 @@ %define source_dir osc-plugin-factory %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20180102.98a659c +Version: 20180104.e1b5d75 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.YUBdkM/_old 2018-01-05 01:05:53.410761194 +0100 +++ /var/tmp/diff_new_pack.YUBdkM/_new 2018-01-05 01:05:53.414759864 +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">98a659c3fab8dc036f9945854eae93265d695bed</param> + <param name="changesrevision">e1b5d75d3dc4ed26bde13eaa2b4090a8051a7af8</param> </service> </servicedata> ++++++ openSUSE-release-tools-20180102.98a659c.obscpio -> openSUSE-release-tools-20180104.e1b5d75.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180102.98a659c/check_source.py new/openSUSE-release-tools-20180104.e1b5d75/check_source.py --- old/openSUSE-release-tools-20180102.98a659c/check_source.py 2018-01-02 11:39:25.000000000 +0100 +++ new/openSUSE-release-tools-20180104.e1b5d75/check_source.py 2018-01-04 10:36:38.000000000 +0100 @@ -218,6 +218,8 @@ return False def check_action_delete(self, request, action): + self.target_project_config(action.tgt_project) + if action.tgt_repository is not None: if action.tgt_project.startswith('openSUSE:'): self.review_messages['declined'] = 'The repositories in the openSUSE:* namespace ' \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20180102.98a659c/osclib/stagingapi.py new/openSUSE-release-tools-20180104.e1b5d75/osclib/stagingapi.py --- old/openSUSE-release-tools-20180102.98a659c/osclib/stagingapi.py 2018-01-02 11:39:25.000000000 +0100 +++ new/openSUSE-release-tools-20180104.e1b5d75/osclib/stagingapi.py 2018-01-04 10:36:38.000000000 +0100 @@ -1257,6 +1257,13 @@ url = self.makeurl(['source', project, tar_pkg, '_link']) http_PUT(url, data=ET.tostring(root)) + # If adi project, check for baselibs.conf in all specs to catch both + # dynamically generated and static baselibs.conf. + baselibs = False if self.is_adi_project(project) else None + if baselibs is False and 'baselibs.conf' in str(self.load_file_content( + src_prj, src_pkg, '{}.spec'.format(src_pkg), src_rev)): + baselibs = True + for sub_prj, sub_pkg in self.get_sub_packages(tar_pkg, project): sub_prj = self.map_ring_package_to_subject(project, sub_pkg) # Skip inner-project links for letter staging @@ -1269,8 +1276,32 @@ url = self.makeurl(['source', sub_prj, sub_pkg, '_link']) http_PUT(url, data=ET.tostring(root)) + if baselibs is False and 'baselibs.conf' in str(self.load_file_content( + src_prj, src_pkg, '{}.spec'.format(sub_pkg), src_rev)): + baselibs = True + + if baselibs: + # Adi package has baselibs.conf, ensure all staging archs are enabled. + self.ensure_staging_archs(project) + return tar_pkg + def ensure_staging_archs(self, project): + url = self.makeurl(['source', project, '_meta']) + meta = ET.parse(http_GET(url)) + + repository = meta.find('repository[@name="{}"]'.format(self.main_repo)) + changed = False + for arch in self.cstaging_archs: + if not repository.xpath('./arch[text()="{}"]'.format(arch)): + elm = ET.SubElement(repository, 'arch') + elm.text = arch + changed = True + + if changed: + meta = ET.tostring(meta) + http_PUT(url, data=meta) + def prj_from_letter(self, letter): if ':' in letter: # not a letter return letter @@ -1474,14 +1505,18 @@ return None raise - def load_file_content(self, project, package, filename): + def load_file_content(self, project, package, filename, revision=None): """ Load the content of a file and return the content as data. If the package is a link, it will be expanded :param project: The project to query :param package: The package to quert :param filename: The filename to query + :param revision: The revision to query """ - url = self.makeurl(['source', project, package, '{}?expand=1'.format(filename)]) + query = {'expand': 1} + if revision: + query['rev'] = revision + url = self.makeurl(['source', project, package, filename], query) try: return http_GET(url).read() except urllib2.HTTPError: ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.YUBdkM/_old 2018-01-05 01:05:54.030554980 +0100 +++ /var/tmp/diff_new_pack.YUBdkM/_new 2018-01-05 01:05:54.030554980 +0100 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20180102.98a659c -mtime: 1514889565 -commit: 98a659c3fab8dc036f9945854eae93265d695bed +version: 20180104.e1b5d75 +mtime: 1515058598 +commit: e1b5d75d3dc4ed26bde13eaa2b4090a8051a7af8