aboutsummaryrefslogtreecommitdiff
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
"""