summaryrefslogtreecommitdiff
path: root/contrib/qa/oe_audit.py
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/qa/oe_audit.py')
-rwxr-xr-xcontrib/qa/oe_audit.py70
1 files changed, 50 insertions, 20 deletions
diff --git a/contrib/qa/oe_audit.py b/contrib/qa/oe_audit.py
index c0ac9c0aa0..132adca143 100755
--- a/contrib/qa/oe_audit.py
+++ b/contrib/qa/oe_audit.py
@@ -39,6 +39,14 @@ def map_names(str):
"qemu-devel" : "qemu",
"krb5-beta" : "krb5",
"freeciv-gtk2": "freeciv",
+ "gtk" : "gtk+",
+ "wget+ipv6" : "wget",
+ "ja-gd" : "gd",
+ "openvpn-devel" : "openvpn",
+ "mpeg123-esound" : "mpeg123",
+ "mpeg123-nas" : "mpeg123",
+ "cdrtools-cjk" : "cdrtools",
+ "apache+mod_ssl+mod_deflate" : "apache2",
}
try:
@@ -49,9 +57,20 @@ def map_names(str):
def is_not_in_oe(name):
"""Method to reject packages not in OE"""
not_in = [
- "openoffice.org-2-devel",
+ # packages that we will never have...
"linux-firefox", "fr-linux-netscape", "linux-netscape-{communicator,navigator}",
- "linux_base", "ja-netscape7", "{ja,ko}-netscape-{communicator,navigator}-linux",
+ "linux_base", "ja-netscape7", "{ja,ko}-netscape-{communicator,navigator}-linux", "zhTW-linux-mozillafirebird", "ja-linux-mozillafirebird-gtk1", "el-linux-mozillafirebird",
+ "acroread4", "acroread7",
+ "linux-openmotif", "linux-flock", "linux-jdk", "linux-curl",
+
+ # packages that we don't have now but maybe will have in
+ # the future and blacklisting them here might be a problem
+ "openoffice.org-2-devel", "openoffice.org-2", "it-openoffice", "ca-openoffice","sl-openoffice-SI"
+ "drupal4", "drupal5", "drupal6",
+ "gpdf",
+ "nagios",
+ "kdenetwork", "ja-kdelibs",
+ "xemacs-devel", "xemacs-devel-21.5", "xemacs-mule", "zh-xemacs",
]
return name in not_in
@@ -61,18 +80,10 @@ class freebsd_info:
Handles an entry like the one below:
vulnerability-test-port>=2000<2010.02.26|http://cvsweb.freebsd.org/ports/security/vulnerability-test-port/|Not vulnerable, just a test port (database: 2010-02-26)
"""
- def __init__(self, line):
- split = line.split("|")
- for i in range(0, len(split[0])):
- c = split[0][i]
- if c != '<' and c != '=' and c != '>':
- continue
- self.name = map_names(split[0][0:i])
- self.versions = self.split_versions(split[0][i:])
- break
-
- self.link = split[1]
- self.kind = split[2]
+ def __init__(self, name, versions, link, kind):
+ self.name = name
+ self.versions = versions
+ self.link = link
@classmethod
def split_versions(self, input):
@@ -114,6 +125,24 @@ class freebsd_info:
def __repr__(self):
return "%s: %s" % (self.name, self.versions)
+def create_infos(line):
+ split = line.split("|")
+ for i in range(0, len(split[0])):
+ c = split[0][i]
+ if c != '<' and c != '=' and c != '>':
+ continue
+ name = map_names(split[0][0:i])
+ versions = freebsd_info.split_versions(split[0][i:])
+ break
+
+ if is_not_in_oe(name):
+ print "Not in oe %s" % name
+ return []
+
+ link = split[1]
+ kind = split[2]
+ return [freebsd_info(name, versions, link, kind)]
+
def read_auditfile(filename):
"""
Read an uncompressed audit file from freebsd
@@ -124,12 +153,13 @@ def read_auditfile(filename):
if line.startswith("#"):
continue
- info = freebsd_info(line)
- try:
- packages[info.name].append(info)
- except:
- packages[info.name] = []
- packages[info.name].append(info)
+ infos = create_infos(line)
+ for info in infos:
+ try:
+ packages[info.name].append(info)
+ except:
+ packages[info.name] = []
+ packages[info.name].append(info)
return packages