1 # -*- coding: utf-8 -*-
2 #---------------------------------------------------------------
3 # Project : Mandriva Linux
6 # Version : $Id: LSBCheck.py 1532 2009-01-30 22:01:50Z scop $
7 # Author : Frederic Lepied
8 # Created On : Tue Jan 30 14:44:37 2001
9 # Purpose : LSB non compliance checks
10 #---------------------------------------------------------------
16 from Filter import addDetails, printError
20 version_regex = re.compile('^[a-zA-Z0-9.+]+$')
21 name_regex = re.compile('^[a-z0-9.+-]+$')
23 class LSBCheck(AbstractCheck.AbstractCheck):
26 AbstractCheck.AbstractCheck.__init__(self, "LSBCheck")
31 if name and not name_regex.search(name):
32 printError(pkg, 'non-lsb-compliant-package-name', name)
34 version = pkg[rpm.RPMTAG_VERSION]
35 if version and not version_regex.search(version):
36 printError(pkg, 'non-lsb-compliant-version', version)
38 release = pkg[rpm.RPMTAG_RELEASE]
39 if release and not version_regex.search(release):
40 printError(pkg, 'non-lsb-compliant-release', release)
42 # Create an object to enable the auto registration of the test
46 'non-lsb-compliant-package-name',
47 """Your package name contains an illegal character. Use only
48 alphanumeric symbols in your package name.""",
50 'non-lsb-compliant-version',
51 """Your version number contains an illegal character. Use only
52 lowercase letters and/or numbers.""",
54 'non-lsb-compliant-release',
55 """Your version number contains an illegal character. Use only
56 lowercase letters and/or numbers.""",
60 # LSBCheck.py ends here
63 # indent-tabs-mode: nil