From: Markus Lehtonen Date: Wed, 29 May 2013 14:28:26 +0000 (+0300) Subject: tools: add build-id to the updates.xml metadata X-Git-Tag: accepted/tizen/20130611.123253~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=74666ecf61a6d70f852f178250f86027481fc81e;p=platform%2Fupstream%2Fswup.git tools: add build-id to the updates.xml metadata Change-Id: Icaf9a9445d40c5806b5eddbfc9f246ce4557dace Signed-off-by: Markus Lehtonen --- diff --git a/tools/updateinfo/create-update.py b/tools/updateinfo/create-update.py index 6907215..ffebc43 100755 --- a/tools/updateinfo/create-update.py +++ b/tools/updateinfo/create-update.py @@ -113,9 +113,11 @@ os.system("modifyrepo %s/updateinfo.xml %s/repodata" % (tmp_dir, repo_dir)) if not os.path.exists(opts.destdir): os.makedirs(opts.destdir) -zip_checksum = create_update_file(opts.patch, repo_dir, opts.destdir, patch_id) +zip_checksum = create_update_file(opts.patch, repo_dir, opts.destdir, patch_id) +extra_meta = {'checksum': zip_checksum, + 'build-id': opts.new} -update_metadata(opts.destdir, tmp_dir, patch, zip_checksum) +update_metadata(opts.destdir, tmp_dir, patch, extra_meta) # store patch metadata in patch dir, too shutil.copy2(os.path.join(repo_dir, patch_id), os.path.join(patch_dir, 'patch.yaml')) diff --git a/tools/updateinfo/updateutils.py b/tools/updateinfo/updateutils.py index d8440c6..a5a508c 100755 --- a/tools/updateinfo/updateutils.py +++ b/tools/updateinfo/updateutils.py @@ -295,7 +295,7 @@ class Updates: def _get_notice(self, update_id): return update_id in self.pids - def add_update(self, update, location, checksum): + def add_update(self, update, location, extra_meta): """ Generate the extended metadata for a given update """ @@ -314,8 +314,9 @@ class Updates: self._insert(root, 'title', text=update['Title']) self._insert(root, 'type', text=update['Type']) self._insert(root, 'location', attrs={'href': location}) - self._insert(root, 'checksum', text=checksum) self._insert(root, 'version', text=update['Release']) + for key, val in extra_meta.iteritems(): + self._insert(root, key, text=val) times = str(time.time()).split(".") issued_time = times[0] self._insert(root, 'issued', attrs={ 'date' : issued_time }) @@ -523,7 +524,7 @@ def create_update_file(patch_path, target_dir, destination, patch_id): zip_checksum = get_checksum("%s/%s.zip" % (destination, patch_id)) return zip_checksum -def update_metadata(destination, root, patch, zip_checksum): +def update_metadata(destination, root, patch, extra_metadata): # creates updates.xml patch_id = patch['ID'] @@ -538,7 +539,7 @@ def update_metadata(destination, root, patch, zip_checksum): for fname in old_updates: os.unlink(fname) - up.add_update(patch, "%s.zip" %patch_id, zip_checksum) + up.add_update(patch, "%s.zip" %patch_id, extra_metadata) # save to file updates_xml = up.doc.toxml() f = open("%s/updates.xml" % root, "w")