From 89ecf8cabebfd13e50473fba7fb98f65a52b02d8 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sun, 20 Jan 2013 21:56:57 +1000 Subject: Make path to ldconfig configurable The FHS (2.3) says having ldconfig in /sbin is optional and it is usually located in /usr/sbin. So /sbin/ldconfig should not be hard coded in pacman. Instead, provide a configure option --with-ldconfig that defaults to the current path. Signed-off-by: Allan McRae --- test/pacman/pactest.py | 4 ++++ test/pacman/pmtest.py | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py index ea44be5c..2b1dee63 100755 --- a/test/pacman/pactest.py +++ b/test/pacman/pactest.py @@ -85,6 +85,9 @@ def create_parser(): parser.add_option("--scriptlet-shell", type = "string", dest = "scriptletshell", default = "/bin/sh", help = "specify path to shell used for install scriptlets") + parser.add_option("--ldconfig", type = "string", + dest = "ldconfig", default = "/sbin/ldconfig", + help = "specify path to ldconfig") return parser @@ -104,6 +107,7 @@ if __name__ == "__main__": env.pacman["valgrind"] = opts.valgrind env.pacman["manual-confirm"] = opts.manualconfirm env.pacman["scriptlet-shell"] = opts.scriptletshell + env.pacman["ldconfig"] = opts.ldconfig if opts.testcases is None or len(opts.testcases) == 0: print "no tests defined, nothing to do" diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index af5d342b..1d198f04 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -120,11 +120,12 @@ class pmtest(object): logdir = os.path.join(self.root, os.path.dirname(util.LOGFILE)) etcdir = os.path.join(self.root, os.path.dirname(util.PACCONF)) bindir = os.path.join(self.root, "bin") - sbindir = os.path.join(self.root, "sbin") + ldconfig = os.path.basename(pacman["ldconfig"]) + ldconfigdir = os.path.join(self.root, os.path.dirname(pacman["ldconfig"][1:])) shell = pacman["scriptlet-shell"][1:] shelldir = os.path.join(self.root, os.path.dirname(shell)) sys_dirs = [dbdir, cachedir, syncdir, tmpdir, logdir, etcdir, bindir, - sbindir, shelldir] + ldconfigdir, shelldir] for sys_dir in sys_dirs: if not os.path.isdir(sys_dir): vprint("\t%s" % sys_dir[len(self.root)+1:]) @@ -134,7 +135,7 @@ class pmtest(object): if shell != "bin/sh": shutil.copy("/bin/sh", os.path.join(self.root, shell)) shutil.copy(os.path.join(util.SELFPATH, "ldconfig.stub"), - os.path.join(sbindir, "ldconfig")) + os.path.join(ldconfigdir, ldconfig)) ld_so_conf = open(os.path.join(etcdir, "ld.so.conf"), "w") ld_so_conf.close() -- cgit v1.2.3-24-g4f1b