78 lines
2.2 KiB
Python
Executable file
78 lines
2.2 KiB
Python
Executable file
#!/usr/bin/env python
|
|
#
|
|
# Search for installed CORE library files and Python bindings.
|
|
#
|
|
|
|
import os, glob
|
|
|
|
pythondirs = [
|
|
"/usr/lib/python2.7/site-packages",
|
|
"/usr/lib/python2.7/dist-packages",
|
|
"/usr/lib64/python2.7/site-packages",
|
|
"/usr/lib64/python2.7/dist-packages",
|
|
"/usr/local/lib/python2.7/site-packages",
|
|
"/usr/local/lib/python2.7/dist-packages",
|
|
"/usr/local/lib64/python2.7/site-packages",
|
|
"/usr/local/lib64/python2.7/dist-packages",
|
|
"/usr/lib/python2.6/site-packages",
|
|
"/usr/lib/python2.6/dist-packages",
|
|
"/usr/lib64/python2.6/site-packages",
|
|
"/usr/lib64/python2.6/dist-packages",
|
|
"/usr/local/lib/python2.6/site-packages",
|
|
"/usr/local/lib/python2.6/dist-packages",
|
|
"/usr/local/lib64/python2.6/site-packages",
|
|
"/usr/local/lib64/python2.6/dist-packages",
|
|
]
|
|
|
|
tcldirs = [
|
|
"/usr/lib/core",
|
|
"/usr/local/lib/core",
|
|
]
|
|
|
|
def find_in_file(fn, search, column=None):
|
|
''' Find a line starting with 'search' in the file given by the filename
|
|
'fn'. Return True if found, False if not found, or the column text if
|
|
column is specified.
|
|
'''
|
|
r = False
|
|
if not os.path.exists(fn):
|
|
return r
|
|
f = open(fn, "r")
|
|
for line in f:
|
|
if line[:len(search)] != search:
|
|
continue
|
|
r = True
|
|
if column is not None:
|
|
r = line.split()[column]
|
|
break
|
|
f.close()
|
|
return r
|
|
|
|
def main():
|
|
versions = []
|
|
for d in pythondirs:
|
|
fn = "%s/core/constants.py" % d
|
|
ver = find_in_file(fn, 'COREDPY_VERSION', 2)
|
|
if ver:
|
|
ver = ver.strip('"')
|
|
versions.append((d, ver))
|
|
for e in glob.iglob("%s/core_python*egg-info" % d):
|
|
ver = find_in_file(e, 'Version:', 1)
|
|
if ver:
|
|
versions.append((e, ver))
|
|
for e in glob.iglob("%s/netns*egg-info" % d):
|
|
ver = find_in_file(e, 'Version:', 1)
|
|
if ver:
|
|
versions.append((e, ver))
|
|
for d in tcldirs:
|
|
fn = "%s/version.tcl" % d
|
|
ver = find_in_file(fn, 'set CORE_VERSION', 2)
|
|
if ver:
|
|
versions.append((d, ver))
|
|
|
|
for (d, ver) in versions:
|
|
print "%8s %s" % (ver, d)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|