os_dep.py revision 9453ed5b27261ed817617c7da6aa52983a71c6d3
1#!/usr/bin/python
2import os
3
4"""
5One day, when this module grows up, it might actually try to fix things.
6'apt-cache search | apt-get install' ... or a less terrifying version of
7the same. With added distro-independant pixie dust.
8"""
9
10def command(cmd):
11	# this could use '/usr/bin/which', I suppose. But this seems simpler
12	for dir in os.environ['PATH'].split(':'):
13		file = os.path.join(dir, cmd)
14		if os.path.exists(file):
15			return file
16	raise 'Missing command: %s' % cmd
17
18
19def commands(*cmds):
20	results = []
21	for cmd in cmds:
22		results.append(command(cmd))
23
24
25def library(lib):
26	lddirs = [x.rstrip() for x in open('/etc/ld.so.conf', 'r').readlines()]
27	for dir in ['/lib', '/usr/lib'] + lddirs:
28		file = os.path.join(dir, lib)
29		if os.path.exists(file):
30			return file
31	raise 'Missing library: %s' % lib
32
33
34def libraries(*libs):
35	results = []
36	for lib in libs:
37		results.append(library(lib))
38