admserv/cfgstuff/start-ds-admin.in | 40 +++++++++++++++++++++++++++++++--- admserv/newinst/src/AdminServer.pm.in | 16 ++++++++++++- 2 files changed, 52 insertions(+), 4 deletions(-)
New commits: commit e4ca916b6ec18feec56c805bacf17b00342d2587 Author: Nathan Kinder nkinder@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 06a720c..8e497f7 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@
diff --git a/admserv/newinst/src/AdminServer.pm.in b/admserv/newinst/src/AdminServer.pm.in index a91aadd..bee77a6 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 @@ -626,6 +628,18 @@ sub removeAdminServer { return; }
+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