This commit is contained in:
S.Çağlar Onur
2005-10-12 15:27:49 +00:00
parent 1fd978e9c1
commit f86d71f8d7
2 changed files with 46 additions and 0 deletions
+3
View File
@@ -68,6 +68,9 @@ class Installer:
import pisi.comariface as comariface import pisi.comariface as comariface
comariface.run_postinstall(self.pkginfo.name) comariface.run_postinstall(self.pkginfo.name)
self.update_databases() self.update_databases()
ctx.ui.info("Regenerating /etc/ld.so.cache...")
util.env_update()
def check_requirements(self): def check_requirements(self):
"""check system requirements""" """check system requirements"""
+43
View File
@@ -19,6 +19,7 @@
# standard python modules # standard python modules
import os import os
import re
import sys import sys
import sha import sha
import shutil import shutil
@@ -446,3 +447,45 @@ def clean_locks(top = '.'):
def package_name(name, version, release): def package_name(name, version, release):
return name + '-' + version + '-' + release + ctx.const.package_prefix return name + '-' + version + '-' + release + ctx.const.package_prefix
def env_update():
if not os.path.exists("/etc/env.d"):
os.makedirs("/etc/env.d", 0755)
list = []
for file in os.listdir("/etc/env.d"):
if not os.path.isdir(os.path.join("/etc/env.d", file)):
list.append(file)
list.sort()
keys = {}
for file in list:
f = open(os.path.join("/etc/env.d", file), "r")
for line in f:
if not re.search("^#", line.strip()):
currentLine = line.strip().split("=")
try:
if keys.has_key(currentLine[0]):
keys[currentLine[0]] += ":" + currentLine[1].replace("\"", "")
else:
keys[currentLine[0]] = currentLine[1].replace("\"", "")
except IndexError:
pass
# generate profile.env
keys["PATH"] += ":/bin/:/sbin/:/usr/bin/"
f = open("/etc/profile.env", "w")
for key in keys:
f.write("export %s=\"%s\"\n" % (key, keys[key]))
f.close()
# generate ld.co.conf
f = open("/etc/ld.so.conf", "w")
for path in keys["LDPATH"].split(":"):
f.write("%s\n" % path)
f.close()
# run ldconfig
run_batch("/sbin/ldconfig -X -r /")