summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-04-08 23:18:18 -0400
committerColin Walters <walters@verbum.org>2010-04-08 23:18:18 -0400
commit2e7ab7cb7a598b4e42da89881f9e5952c0b3101b (patch)
treef2fea3d850de5ecb51d88405f12a561efcde0712 /tools
parent0303dc173a59e1827630150ac7fbb4e19446adfb (diff)
downloadspin-kickstarts-2e7ab7cb7a598b4e42da89881f9e5952c0b3101b.tar.gz
spin-kickstarts-2e7ab7cb7a598b4e42da89881f9e5952c0b3101b.tar.xz
spin-kickstarts-2e7ab7cb7a598b4e42da89881f9e5952c0b3101b.zip
[liveimage-diff] Sort output
Diffstat (limited to 'tools')
-rwxr-xr-xtools/liveimage-diff28
1 files changed, 18 insertions, 10 deletions
diff --git a/tools/liveimage-diff b/tools/liveimage-diff
index 3722431..a7ff363 100755
--- a/tools/liveimage-diff
+++ b/tools/liveimage-diff
@@ -65,16 +65,24 @@ def main():
read_rpmdata(original_rpmdata, original_rpms)
read_rpmdata(new_rpmdata, new_rpms)
- for rpm in original_rpms:
- if rpm in new_rpms:
- sizedelta = new_rpms[rpm] - original_rpms[rpm]
- print '= %s: %d' % (rpm, sizedelta)
- else:
- print "- %s %d" % (rpm, original_rpms[rpm])
- for rpm in new_rpms:
- if rpm in original_rpms:
- continue
- print "+ %s %d" % (rpm, new_rpms[rpm])
+ original_set = set(original_rpms)
+ new_set = set(new_rpms)
+ intersection = original_set.intersection(new_set)
+ intersection_deltas = {}
+ for rpm in intersection:
+ delta = new_rpms[rpm] - original_rpms[rpm]
+ if delta != 0:
+ intersection_deltas[rpm] = delta
+
+ added_set = new_set - original_set
+ removed_set = original_set - new_set
+ for rpm in sorted(added_set, lambda a,b: cmp(new_rpms[a], new_rpms[b])):
+ print '+ %s %d' % (rpm, new_rpms[rpm])
+ for rpm in sorted(removed_set, lambda a,b: cmp(original_rpms[a], original_rpms[b])):
+ print '- %s %d' % (rpm, original_rpms[rpm])
+
+ for rpm in sorted(intersection_deltas, lambda a,b: cmp(intersection_deltas[a], intersection_deltas[b])):
+ print '= %s %d' % (rpm, intersection_deltas[rpm])
sys.exit(0)