From: Martin Langhoff <[email protected]> Question: Is a new osbuilder still building the exact same build?
os-toc-diff.py original/os860.toc build/output/osNN.toc > results.diff --- os-toc-diff.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) create mode 100755 os-toc-diff.py diff --git a/os-toc-diff.py b/os-toc-diff.py new file mode 100755 index 0000000..93f2c39 --- /dev/null +++ b/os-toc-diff.py @@ -0,0 +1,46 @@ +#!/usr/bin/python +# +# Compare OS versions based on the .toc files +# +# Usage: +# os-toc-diff os852.toc os860.toc +# +# Copyright (C) 2009, One Laptop per Child +# License GPLv2+ +# Author: Martin Langhoff <[email protected]> +# +# FIXME: Flatten and data structure to something more readable +# like +# drwxr-xr-x. 1 martin martin /usr/lib 92a875c5b... +# +import os, sys +import tempfile +import subprocess +import shutil +import json +import pprint + +tmpdir = tempfile.mkdtemp() + +if len(sys.argv) != 3: + sys.stderr.write("Incorrect number of arguments!") + sys.exit(1) + +tocs = [ sys.argv[1], sys.argv[2] ] + +for toc in tocs: + print "Preparing " + toc + data = json.load(file(toc)) + f = file(os.path.join(tmpdir, os.path.basename(toc)), 'w') + pp = pprint.PrettyPrinter(indent=1, stream=f) + pp.pprint(data) + +subprocess.Popen(['diff', '-u', + os.path.join(tmpdir, os.path.basename(tocs[0])), + os.path.join(tmpdir, os.path.basename(tocs[1])) + ], stdout=sys.stdout).communicate() + +# cleanup +shutil.rmtree(tmpdir) + + -- 1.7.3.4 _______________________________________________ Devel mailing list [email protected] http://lists.laptop.org/listinfo/devel
