Move default rpm groups loading to Pkg, call it only once.
git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@1496 9bc8b190-ac0f-0410-8968-dc7d1f502856
This commit is contained in:
parent
3b5643abd5
commit
0dcb48e043
18
Pkg.py
18
Pkg.py
|
@ -161,6 +161,24 @@ def mktemp():
|
|||
tmpfile = os.fdopen(tmpfd, 'w')
|
||||
return tmpfile, tmpname
|
||||
|
||||
def get_default_valid_rpmgroups(filename = ""):
|
||||
""" Get the default rpm group from filename, or from the rpm package if no
|
||||
filename is given"""
|
||||
groups = []
|
||||
if not filename:
|
||||
p = InstalledPkg('rpm')
|
||||
filename = filter(lambda x: x.endswith('/GROUPS'), p.files().keys())[0]
|
||||
if filename and os.path.exists(filename):
|
||||
fobj = open(filename)
|
||||
try:
|
||||
groups = fobj.read().strip().splitlines()
|
||||
finally:
|
||||
fobj.close()
|
||||
if not 'Development/Debug' in groups:
|
||||
groups.append('Development/Debug')
|
||||
groups.sort()
|
||||
return groups
|
||||
|
||||
# classes representing package
|
||||
|
||||
class Pkg:
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
#############################################################################
|
||||
|
||||
from Filter import *
|
||||
from Util import get_default_valid_rpmgroups
|
||||
import AbstractCheck
|
||||
import Pkg
|
||||
import re
|
||||
import sys
|
||||
import Config
|
||||
from TagsCheck import VALID_GROUPS
|
||||
|
||||
# Don't check for hardcoded library paths in biarch packages
|
||||
DEFAULT_BIARCH_PACKAGES = '^(gcc|glibc)'
|
||||
|
@ -22,7 +22,6 @@ DEFAULT_BIARCH_PACKAGES = '^(gcc|glibc)'
|
|||
# their noarch files in /usr/lib/<package>/*, or packages that can't
|
||||
# be installed on biarch systems
|
||||
DEFAULT_HARDCODED_LIB_PATH_EXCEPTIONS = '/lib/(modules|cpp|perl5|rpm|hotplug|firmware)($|[\s/,])'
|
||||
VALID_GROUPS = Config.getOption('ValidGroups', get_default_valid_rpmgroups())
|
||||
patch_regex = re.compile("^Patch(\d*)\s*:\s*([^\s]+)", re.IGNORECASE)
|
||||
applied_patch_regex = re.compile("^%patch(\d*)")
|
||||
applied_patch_p_regex = re.compile("\s-P\s+(\d+)\\b")
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#############################################################################
|
||||
|
||||
from Filter import *
|
||||
from Util import get_default_valid_rpmgroups
|
||||
import AbstractCheck
|
||||
import FilesCheck
|
||||
import Pkg
|
||||
|
@ -371,7 +370,7 @@ BAD_WORDS = {
|
|||
|
||||
DEFAULT_INVALID_REQUIRES = ('^is$', '^not$', '^owned$', '^by$', '^any$', '^package$', '^libsafe\.so\.')
|
||||
|
||||
VALID_GROUPS = Config.getOption('ValidGroups', get_default_valid_rpmgroups())
|
||||
VALID_GROUPS = Config.getOption('ValidGroups', Pkg.get_default_valid_rpmgroups())
|
||||
VALID_LICENSES = Config.getOption('ValidLicenses', DEFAULT_VALID_LICENSES)
|
||||
INVALID_REQUIRES = map(lambda x: re.compile(x), Config.getOption('InvalidRequires', DEFAULT_INVALID_REQUIRES))
|
||||
packager_regex = re.compile(Config.getOption('Packager'))
|
||||
|
|
20
Util.py
20
Util.py
|
@ -1,20 +0,0 @@
|
|||
import Pkg
|
||||
import os.path
|
||||
|
||||
def get_default_valid_rpmgroups(filename = ""):
|
||||
""" Get the default rpm group from filename, or from rpm package if no
|
||||
filename is given"""
|
||||
groups = []
|
||||
if not filename:
|
||||
p = Pkg.InstalledPkg('rpm')
|
||||
filename = filter(lambda x: x.endswith('/GROUPS'), p.files().keys())[0]
|
||||
if filename and os.path.exists(filename):
|
||||
fobj = open(filename)
|
||||
try:
|
||||
groups = fobj.read().strip().splitlines()
|
||||
finally:
|
||||
fobj.close()
|
||||
if not 'Development/Debug' in groups:
|
||||
groups.append('Development/Debug')
|
||||
groups.sort()
|
||||
return groups
|
Loading…
Reference in New Issue