admserv/cfgstuff/start-ds-admin.in | 40 +++++++++++++++++++++++++++++++---
admserv/newinst/src/AdminServer.pm.in | 16 ++++++++++++-
2 files changed, 52 insertions(+), 4 deletions(-)
New commits:
commit 82b2fd2fceab6eb0396e4a07535c00f2f9e549a5
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Thu Jan 27 14:28:09 2011 -0800
Bug 672468 - Don't use empty path elements in LD_LIBRARY_PATH
This patch adds a bit more logic to the creation of the libpath
to avoid empty path elements and leading and trailing colons.
diff --git a/admserv/cfgstuff/start-ds-admin.in b/admserv/cfgstuff/start-ds-admin.in
index 4b6ffa8..2d0e4bf 100644
--- a/admserv/cfgstuff/start-ds-admin.in
+++ b/admserv/cfgstuff/start-ds-admin.in
@@ -27,9 +27,43 @@
unset PASSWORD_PIPE
-LD_LIBRARY_PATH=@LIBPATH@:${LD_LIBRARY_PATH};export LD_LIBRARY_PATH
-LIBPATH=@LIBPATH@:${LIBPATH}:/usr/threads/lib:/usr/ibmcxx/lib:/usr/lib:/lib; export
LIBPATH
-SHLIB_PATH=@LIBPATH@:${SHLIB_PATH}; export SHLIB_PATH
+ldlibpath_add() {
+ [ -z "$1" ] && return
+ LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1
+}
+
+shlibpath_add() {
+ [ -z "$1" ] && return
+ SHLIB_PATH=${SHLIB_PATH:+$SHLIB_PATH:}$1
+}
+
+libpath_add() {
+ [ -z "$1" ] && return
+ LIBPATH=${LIBPATH:+$LIBPATH:}$1
+}
+
+OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
+OLD_SHLIB_PATH=${SHLIB_PATH}
+OLD_LIBPATH=${LIBPATH}
+LD_LIBRARY_PATH=
+SHLIB_PATH=
+LIBPATH=
+
+ldlibpath_add "@LIBPATH@"
+ldlibpath_add "${OLD_LD_LIBRARY_PATH}"
+export LD_LIBRARY_PATH
+
+shlibpath_add "@LIBPATH@"
+shlibpath_add "${OLD_SHLIB_PATH}"
+export SHLIB_PATH
+
+libpath_add "@LIBPATH@"
+libpath_add "${OLD_LIBPATH}"
+libpath_add "/usr/threads/lib"
+libpath_add "/usr/ibmcxx/lib"
+libpath_add "/usr/lib"
+libpath_add "/lib"
+export LIBPATH
HTTPD=@HTTPD@
OS=`uname -s`
diff --git a/admserv/newinst/src/AdminServer.pm.in
b/admserv/newinst/src/AdminServer.pm.in
index 5f235c9..853fdd7 100644
--- a/admserv/newinst/src/AdminServer.pm.in
+++ b/admserv/newinst/src/AdminServer.pm.in
@@ -369,7 +369,9 @@ sub updateHttpConfFiles {
# this is required on some platforms in order to execute the config command
my $savepath = $ENV{SHLIB_PATH} || $ENV{LD_LIBRARY_PATH};
- $ENV{LD_LIBRARY_PATH} = "@LIBPATH@:$savepath";
+ $ENV{LD_LIBRARY_PATH} = "";
+ libpath_add("@LIBPATH@");
+ libpath_add("$savepath");
$ENV{SHLIB_PATH} = $ENV{LD_LIBRARY_PATH};
my $cmd = "@cgibindir@/config op=set
configuration.nsSuiteSpotUser=\"$user\"";
if (!defined($origport) or ($port != $origport)) { # need to change the port number
@@ -737,6 +739,18 @@ sub updateSelinuxPolicy {
}
}
+sub libpath_add {
+ my $libpath = shift;
+
+ if ($libpath) {
+ if ($ENV{'LD_LIBRARY_PATH'}) {
+ $ENV{'LD_LIBRARY_PATH'} =
"$ENV{'LD_LIBRARY_PATH'}:$libpath";
+ } else {
+ $ENV{'LD_LIBRARY_PATH'} = "$libpath";
+ }
+ }
+}
+
1;
# emacs settings
Show replies by thread