import hashlib
import json
+import archive_info
import package_info
import packages_info
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()
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