blob: 75e833a0a9b6c608bf1ed0ebf47e8257cb1f323e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#!/usr/bin/env python
from os import listdir
#from os import path
import re
var_db_pkg = '/var/db/pkg'
binaries = {}
for cat in listdir(var_db_pkg):
catdir = '%s/%s' % (var_db_pkg, cat)
for pkg in listdir(catdir):
pkgdir = '%s/%s' % (catdir, pkg)
need = '%s/%s' % (pkgdir, 'NEEDED')
try:
g = open(need, 'r')
needs = g.readlines()
for line in needs:
line = line.strip()
linking = re.split('\s', line)
binary = linking[0]
print binary
library_list = re.split(',', linking[1])
binaries[binary] = library_list
except:
break
""" Print out mapping: binary -> library, library, library ...
for binary in binaries:
print binary
for library in binaries[binary]:
print "\t", library
"""
libraries = {}
for binary in binaries:
for library in binaries[binary]:
libraries[library] = []
for binary in binaries:
for library in binaries[binary]:
libraries[library].append(binary)
""" Print out mapping: library -> binary, binary, binary ...
for library in libraries:
print library
for binary in libraries[library]:
print "\t", binary
#if not path.exists(binary):
# print "%s doesn't exist!" % binary
"""
|