#!/usr/bin/python import sys, re, os.path AllArchs = ['alpha', 'amd64', 'arm', 'armel', 'i386', 'ia64', 'powerpc', 'hppa', 'm68k', 'mips', 'mipsel', 'sparc', 's390'] if __name__ == '__main__': if len(sys.argv) != 2: sys.stderr.write("Error: Invalid number of arguments.\n") sys.stderr.write("Usage: package-filter \n") sys.exit(1) dir = sys.argv[1] filelists = {} for arch in AllArchs: filelist = os.path.join(dir, 'binary-' + arch) filelists[arch] = file(filelist, 'w+') filelists['source'] = file(os.path.join(dir, 'source'), 'w+') debre = re.compile('^(?P\S+)_(?P\S+)_(?P\S+)\.u?deb$') srcre = re.compile('^(?P\S+)_(?P\S+)\.dsc$') for path in sys.stdin.readlines(): m = debre.match(os.path.basename(path)) if m: if m.group('arch') == 'all': myarchs = AllArchs else: myarchs = [ m.group('arch') ] for arch in myarchs: filelists[arch].write(path) continue m = srcre.match(os.path.basename(path)) if m: filelists['source'].write(path) else: sys.stderr.write("Skipping " + path) for f in filelists.keys(): filelists[f].close()