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


Reply via email to