From f4c291d33d66b74b3d7f5d21a77d2d568dd44fd5 Mon Sep 17 00:00:00 2001 From: Yonghee Han Date: Fri, 23 Jun 2017 09:35:44 +0900 Subject: [PATCH] Create a _aggregate package of related pakcages in submit jobs 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 | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/job_submit.py b/job_submit.py index 072b472..4308e45 100755 --- a/job_submit.py +++ b/job_submit.py @@ -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) -- 2.7.4