]> piware.de Git - bin.git/blob - amberfiles
initial checkin
[bin.git] / amberfiles
1 #!/usr/bin/python
2
3 import sys, os, os.path, md5
4
5 mirror = "http://security.ubuntu.com/ubuntu/"
6
7 if len(sys.argv) < 2:
8     print "Usage:", sys.argv[0], "<directory> [<version>]"
9     sys.exit(1)
10
11 # arch -> name -> (size,md5)
12 files = {}
13
14 if len(sys.argv) > 2:
15     version = sys.argv[2]
16 else:
17     version = None
18
19 for f in os.listdir(sys.argv[1]):
20     if version and f.find(version) < 0:
21         continue
22
23     path=os.path.join(sys.argv[1], f)
24     if os.path.isfile(path):
25         m = md5.new()
26         m.update(open(path, "r").read())
27         data = (os.path.getsize(path), m.hexdigest())
28
29         if f.find("i386.deb") > 0:
30             files.setdefault("i386 architecture (x86 compatible Intel/AMD)", {})[path] = data
31         elif f.find("powerpc.deb") > 0:
32             files.setdefault("powerpc architecture (Apple Macintosh G3/G4/G5)", {})[path] = data
33         elif f.find("amd64.deb") > 0:
34             files.setdefault("amd64 architecture (Athlon64, Opteron, EM64T Xeon)", {})[path] = data
35         elif f.find("all.deb") > 0:
36             files.setdefault("Architecture independent packages:", {})[path] = data
37         elif (f.find("tar.gz") > 0) or (f.find("diff.gz") > 0) or (f.find(".dsc") > 0):
38             files.setdefault("Source archives:", {})[path] = data
39         else:
40             print >> sys.stderr, "Ignoring unknown file", path
41
42 for arch, filemap in files.iteritems():
43     print " ", arch
44     print
45     for name, (size, md5) in files[arch].iteritems():
46         print "   ", mirror + name
47         print "      Size/MD5: ", size, md5
48
49     print