Create a _aggregate package of related pakcages in submit jobs 10/135510/1
authorYonghee Han <onstudy@samsung.com>
Fri, 23 Jun 2017 00:35:44 +0000 (09:35 +0900)
committerYonghee Han <onstudy@samsung.com>
Fri, 23 Jun 2017 00:35:50 +0000 (09:35 +0900)
PROBLEM:
 broken problem of _aggregate package to use the link project

SOLUTION:
 create a _aggregate package when create Prelease project
 REPA : latest version

Change-Id: I5e81b0e7ebdd7dd6e2239d96abfb8abf9eabb2fc

job_submit.py

index 072b472..4308e45 100755 (executable)
@@ -376,6 +376,29 @@ def create_related_packages(build, obs_target_prj, obs_pre_prj, pre_package):
             if link_prj == obs_target_prj and link_pkg == pre_package:
                 build.create_link_pac(obs_pre_prj, pre_package, \
                                        obs_pre_prj, package)
+        if re.search("_aggregate", package):
+            print "Copypac aggregate package: %s/%s" %(obs_pre_prj, package)
+            build.create_copy_pac(obs_target_prj, package, obs_pre_prj,\
+                package)
+            aggregate_file_name="_aggregate"
+            build.get_source_file(obs_target_prj, package, aggregate_file_name)
+            content = ""
+            with open(aggregate_file_name, 'r') as f:
+                content = f.read()
+            content_xml_root = ElementTree.fromstringlist(content)
+            for element in content_xml_root.findall('aggregate'):
+                element.set('project',obs_pre_prj)
+            content = ElementTree.tostring(content_xml_root)
+            with open(aggregate_file_name, 'w') as f:
+                f.write(content)
+            commit_msg="uploaded to copy pac %s/%s from %s" % (obs_pre_prj, package, obs_target_prj)
+            try:
+                build.commit_files(obs_pre_prj, package,
+                       [(aggregate_file_name, True)], commit_msg)
+            except ObsError, error:
+                raise UploadError("Unable to upload _aggregate to %s: %s" % \
+                    (obs_pre_prj, error))
+            print "Copypac done."
 
 def get_base_project(build, _project):
     _meta = build.get_meta(_project)