]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blame - bin/pfa-signpkg
- catch signpkg errors
[projects/pld-ftp-admin.git] / bin / pfa-signpkg
CommitLineData
f56d33c5
ER
1#!/usr/bin/env python
2# vi: encoding=utf-8 ts=8 sts=4 sw=4 et
3
4import sys, os
5sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
6import ftptree
7from common import checkdir
8import ftpio
55bd5397 9from config import sign_key
42c96205 10from sign import is_signed, signpkgs
f56d33c5
ER
11
12if len(sys.argv) < 3:
55bd5397
ER
13 print >>sys.stderr, "ERR: not enough parameters given"
14 print >>sys.stderr, "sign.py tree package1 [package2...]"
15 sys.exit(1)
16
17if sign_key == None:
18 print >>sys.stderr, "ERR: sign_key not defined in config"
f56d33c5
ER
19 sys.exit(1)
20
21checkdir(sys.argv[1])
22
23ftpio.connect('sign')
24
25if not ftpio.lock(sys.argv[1], True):
4e83e214 26 print >>sys.stderr, "ERR: %s tree already locked" % sys.argv[1]
f56d33c5
ER
27 sys.exit(1)
28
42c96205 29files = []
f56d33c5 30try:
42c96205 31 tree = ftptree.FtpTree(sys.argv[1])
55bd5397
ER
32 tree.mark4moving(sys.argv[2:])
33 files = tree.rpmfiles()
34
f56d33c5
ER
35except ftptree.SomeError:
36 # In case of problems we need to unlock the tree before exiting
37 ftpio.unlock(sys.argv[1])
38 sys.exit(1)
39
40ftpio.unlock(sys.argv[1])
42c96205
ER
41
42print "Checking signatures of %d files from %d packages" % (len(files), len(tree.loadedpkgs))
43sign = []
44for file in files:
45 if not is_signed(file):
46 sign.append(file)
47
48if len(sign) == 0:
4e15eddf 49 print "No files to sign"
42c96205
ER
50 sys.exit(0)
51
52print "Signing %d files" % len(sign)
4e83e214
ER
53try:
54 signpkgs(sign)
55except OSError, e:
56 print >>sys.stderr, "ERR: %s" % e
57 exit(1)
This page took 0.041532 seconds and 4 git commands to generate.