#!/usr/bin/python import sys, os, os.path, md5 mirror = "http://security.ubuntu.com/ubuntu/" if len(sys.argv) < 2: print "Usage:", sys.argv[0], " []" sys.exit(1) # arch -> name -> (size,md5) files = {} if len(sys.argv) > 2: version = sys.argv[2] else: version = None for f in os.listdir(sys.argv[1]): if version and f.find(version) < 0: continue path=os.path.join(sys.argv[1], f) if os.path.isfile(path): m = md5.new() m.update(open(path, "r").read()) data = (os.path.getsize(path), m.hexdigest()) if f.find("i386.deb") > 0: files.setdefault("i386 architecture (x86 compatible Intel/AMD)", {})[path] = data elif f.find("powerpc.deb") > 0: files.setdefault("powerpc architecture (Apple Macintosh G3/G4/G5)", {})[path] = data elif f.find("amd64.deb") > 0: files.setdefault("amd64 architecture (Athlon64, Opteron, EM64T Xeon)", {})[path] = data elif f.find("all.deb") > 0: files.setdefault("Architecture independent packages:", {})[path] = data elif (f.find("tar.gz") > 0) or (f.find("diff.gz") > 0) or (f.find(".dsc") > 0): files.setdefault("Source archives:", {})[path] = data else: print >> sys.stderr, "Ignoring unknown file", path for arch, filemap in files.iteritems(): print " ", arch print for name, (size, md5) in files[arch].iteritems(): print " ", mirror + name print " Size/MD5: ", size, md5 print