pld-ftp-admin: modules/config.py, modules/ftptree.py - check for signed pac...
glen
glen at pld-linux.org
Wed May 27 21:25:03 CEST 2009
Author: glen Date: Wed May 27 19:25:02 2009 GMT
Module: pld-ftp-admin Tag: HEAD
---- Log message:
- check for signed packages when moving them between trees and tree configured as signed
---- Files affected:
pld-ftp-admin/modules:
config.py (1.13 -> 1.14) , ftptree.py (1.38 -> 1.39)
---- Diffs:
================================================================
Index: pld-ftp-admin/modules/config.py
diff -u pld-ftp-admin/modules/config.py:1.13 pld-ftp-admin/modules/config.py:1.14
--- pld-ftp-admin/modules/config.py:1.13 Wed May 27 19:18:57 2009
+++ pld-ftp-admin/modules/config.py Wed May 27 21:24:56 2009
@@ -35,6 +35,11 @@
else:
sign_key = None
+if 'signed_trees' in value:
+ signed_trees = value['signed_trees'].split(' ')
+else:
+ signed_trees = None
+
if 'old_poldek' in value and value['old_poldek'] == 'yes':
old_poldek = True
else:
================================================================
Index: pld-ftp-admin/modules/ftptree.py
diff -u pld-ftp-admin/modules/ftptree.py:1.38 pld-ftp-admin/modules/ftptree.py:1.39
--- pld-ftp-admin/modules/ftptree.py:1.38 Wed May 27 19:17:11 2009
+++ pld-ftp-admin/modules/ftptree.py Wed May 27 21:24:57 2009
@@ -3,9 +3,10 @@
import os, config, string, urllib, re, rpm
from common import fileexists, noarchcachedir
from baseftptree import BasePkg, BaseFtpTree
-errnum=0
+from sign import is_signed
-quietmode=False
+errnum = 0
+quietmode = False
class SomeError(Exception):
def __init__(self):
@@ -242,6 +243,8 @@
def testmove(self, dsttree):
self.__checkbuild(self.marked4moving)
self.__checkarchs(dsttree, self.marked4moving)
+
+ self.__checksigns(dsttree, self.marked4moving, test = True)
self.__rmolderfromsrc(test = True)
self.__rmotherfromdst(dsttree, test = True)
@@ -253,8 +256,13 @@
if self.do_checkbuild:
self.__checkbuild(self.marked4moving)
bailoutonerror()
+
self.__checkarchs(dsttree, self.marked4moving)
bailoutonerror()
+
+ self.__checksigns(dsttree, self.marked4moving)
+ bailoutonerror()
+
self.__rmolderfromsrc()
self.__rmotherfromdst(dsttree)
@@ -264,7 +272,6 @@
def rpmfiles(self):
if self.do_checkbuild:
self.__checkbuild(self.marked4moving)
- bailoutonerror()
files = []
for pkg in self.marked4moving:
@@ -402,3 +409,24 @@
return False
return filter(filter_older_pkgs, self.__find_other_pkgs(pkg, self))
+ def __checksigns(self, tree, pkgs, test = False):
+ """
+ Checks if pkgs in tree are all signed.
+
+ in case of test = true, error flag is set for unsigned packages
+ """
+ if not tree.treename in config.signed_trees:
+ return
+
+ for pkg in pkgs:
+ unsigned = 0
+ for file in pkg.rpmfiles():
+ if not is_signed(file):
+ unsigned += 1;
+
+ if unsigned != 0:
+ if test == True:
+ if not quietmode:
+ pkg.warning('%d files not signed' % unsigned)
+ else:
+ pkg.error('%d files not signed' % unsigned)
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/config.py?r1=1.13&r2=1.14&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/ftptree.py?r1=1.38&r2=1.39&f=u
More information about the pld-cvs-commit
mailing list