tools: add build-id to the updates.xml metadata 19/3919/1
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Wed, 29 May 2013 14:28:26 +0000 (17:28 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 30 May 2013 10:18:25 +0000 (13:18 +0300)
Change-Id: Icaf9a9445d40c5806b5eddbfc9f246ce4557dace
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
tools/updateinfo/create-update.py
tools/updateinfo/updateutils.py

index 6907215..ffebc43 100755 (executable)
@@ -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'))
index d8440c6..a5a508c 100755 (executable)
@@ -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")