script to get debian dependencies from python module's sources
This commit is contained in:
parent
9915edbaf7
commit
fb4bc04707
2 changed files with 43 additions and 0 deletions
43
tools/debpydep.py
Executable file
43
tools/debpydep.py
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from cStringIO import StringIO
|
||||
|
||||
selection = set()
|
||||
dependencies = set()
|
||||
|
||||
for root, dirs, files in os.walk(sys.argv[1]):
|
||||
for f in files:
|
||||
if f.endswith('.py') and f != '__init__.py':
|
||||
s = "from %s import %s" % (root.strip('/').replace('/', '.'), f[:-3])
|
||||
try:
|
||||
exec s
|
||||
except ImportError, e:
|
||||
print >>sys.stderr, str(e)
|
||||
else:
|
||||
m = eval(f[:-3])
|
||||
for attrname in dir(m):
|
||||
try:
|
||||
attr = getattr(m, attrname)
|
||||
selection.add(attr.__file__)
|
||||
except AttributeError:
|
||||
pass
|
||||
for f in selection:
|
||||
f = f.replace('.pyc', '.py')
|
||||
try:
|
||||
f = os.readlink(f)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
p = subprocess.Popen(['/usr/bin/dpkg', '-S', f], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
if p.wait() == 0:
|
||||
for line in p.stdout.readlines():
|
||||
dependencies.add(line.strip().split(':')[0])
|
||||
else:
|
||||
print 'not found: %s' % f
|
||||
|
||||
for d in dependencies:
|
||||
print d
|
||||
0
weboob/frontends/http/__init__.py
Normal file
0
weboob/frontends/http/__init__.py
Normal file
Loading…
Add table
Add a link
Reference in a new issue