summaryrefslogtreecommitdiff
path: root/debian/mincheck.py
diff options
context:
space:
mode:
Diffstat (limited to 'debian/mincheck.py')
-rw-r--r--debian/mincheck.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/debian/mincheck.py b/debian/mincheck.py
new file mode 100644
index 0000000..5d29586
--- /dev/null
+++ b/debian/mincheck.py
@@ -0,0 +1,41 @@
+
+import sys
+
+def get_listed(fn):
+ modules = set()
+ for line in open(fn).readlines():
+ modules.add(line.split()[1])
+ return modules
+
+def get_dependencies(fn):
+ t = eval(open(fn).read())
+ modules = set()
+ depgraph = t['depgraph']
+ for mod, deps in list(depgraph.items()):
+ if mod != '__main__':
+ modules.add(mod)
+ modules.update(list(deps.keys()))
+ return depgraph, modules
+
+def main():
+ mods = get_listed(sys.argv[1])
+ depgraph, deps = get_dependencies(sys.argv[2])
+ print(("Listed modules:", sorted(mods)))
+ print("")
+ print(("Dependent modules:", sorted(deps)))
+ print("")
+
+ missing = deps.difference(mods)
+ if missing:
+ print("Missing modules in python-minimal:")
+ print(missing)
+ for m in missing:
+ users = []
+ for caller, callees in list(depgraph.items()):
+ if m in callees:
+ users.append(caller)
+ print((m, "used in: ", users))
+ sys.exit(len(missing))
+
+main()
+