2 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
6 sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
9 from common import checkdir
11 from config import sign_key
12 from sign import is_signed, signpkgs
15 opts, args = getopt.getopt(sys.argv[1:], '')
16 except getopt.GetoptError:
17 print >>sys.stderr, "ERR: options error"
18 print >>sys.stderr, "checksign.py tree package1 [package2...]"
22 print >>sys.stderr, "ERR: missing tree name"
23 print >>sys.stderr, "checksign.py tree package1 [package2...]"
27 print >>sys.stderr, "ERR: sign_key not defined in config"
37 if not ftpio.lock(treename, True):
38 print >>sys.stderr, "ERR: %s tree already locked" % treename
48 # if no files specified, grab whole tree contents
49 tree = ftptree.FtpTree(treename, loadall = loadall)
51 # this is hack, should be a param, not access private .loadedpkgs element
52 tree.mark4moving(tree.loadedpkgs)
54 tree.mark4moving(packages)
56 except ftptree.SomeError:
57 # In case of problems we need to unlock the tree before exiting
58 ftpio.unlock(treename)
61 ftpio.unlock(treename)
63 print "Checking signatures of %d packages" % len(tree.loadedpkgs)
65 for pkg in tree.marked4moving:
67 for file in pkg.rpmfiles():
68 if not is_signed(file):
72 print '%s: %d files NOT signed' % (pkg.nvr, unsigned)
74 print '%s signed' % pkg.nvr