2 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
4 from __future__ import print_function
8 sys.path.insert(0, os.environ['HOME']+'/tld-ftp-admin/modules')
11 from common import checkdir
13 from config import sign_key
14 from sign import is_signed, signpkgs
17 opts, args = getopt.getopt(sys.argv[1:], '')
18 except getopt.GetoptError:
19 print("ERR: options error", file=sys.stderr)
20 print("checksign.py tree package1 [package2...]", file=sys.stderr)
24 print("ERR: missing tree name", file=sys.stderr)
25 print("checksign.py tree package1 [package2...]", file=sys.stderr)
29 print("ERR: sign_key not defined in config", file=sys.stderr)
39 if not ftpio.lock(treename, True):
40 print("ERR: %s tree already locked" % treename, file=sys.stderr)
50 # if no files specified, grab whole tree contents
51 tree = ftptree.FtpTree(treename, loadall = loadall)
53 # this is hack, should be a param, not access private .loadedpkgs element
54 tree.mark4moving(tree.loadedpkgs)
56 tree.mark4moving(packages)
58 except ftptree.SomeError:
59 # In case of problems we need to unlock the tree before exiting
60 ftpio.unlock(treename)
63 ftpio.unlock(treename)
65 print("Checking signatures of %d packages" % len(tree.loadedpkgs))
67 for pkg in tree.marked4moving:
69 for file in pkg.rpmfiles():
70 if not is_signed(file):
74 print('%s: %d files NOT signed' % (pkg.nvr, unsigned))
76 print('%s signed' % pkg.nvr)