Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / native_client / build / package_version / revision_info.py
index 0db027f..b0668d0 100644 (file)
@@ -14,6 +14,7 @@ can be made for it.
 import hashlib
 import json
 
+import archive_info
 import package_info
 import packages_info
 
@@ -53,14 +54,10 @@ class RevisionInfo(object):
     for package_target in sorted(self._package_targets):
       package_desc = self._package_targets[package_target]
       archive_list = package_desc.GetArchiveList()
-      sorted_archive_list = sorted(
-        archive_list,
-        key=lambda archive : archive.name
-      )
 
       hash_string += str(package_target)
-      for archive in sorted_archive_list:
-        for field, member in archive._asdict().iteritems():
+      for archive in archive_list:
+        for field, member in archive.GetArchiveData()._asdict().iteritems():
           hash_string += '[%s:%s]' % (field, member)
 
     return hashlib.sha1(hash_string).hexdigest()
@@ -75,16 +72,17 @@ class RevisionInfo(object):
         self._package_name
     )
 
-    package_targets = set(package_targets)
-    revision_targets = set(self._package_targets.keys())
-
-    if package_targets != revision_targets:
-      raise RuntimeError('Invalid revision information - target mismatch:'
-                         + '\n%s:' % self._package_name
-                         + '\n  Required Target Packages:'
-                         + '\n\t' + '\n\t'.join(sorted(package_targets))
-                         + '\n  Supplied Target Packages:'
-                         + '\n\t' + '\n\t'.join(sorted(revision_targets)))
+    if package_targets:
+      package_targets = set(package_targets)
+      revision_targets = set(self._package_targets.keys())
+
+      if package_targets != revision_targets:
+        raise RuntimeError('Invalid revision information - target mismatch:'
+                           + '\n%s:' % self._package_name
+                           + '\n  Required Target Packages:'
+                           + '\n\t' + '\n\t'.join(sorted(package_targets))
+                           + '\n  Supplied Target Packages:'
+                           + '\n\t' + '\n\t'.join(sorted(revision_targets)))
 
   def LoadRevisionFile(self, revision_file):
     """Loads a revision file into this object