From 13748d9e7606e19238b6e0d1cdaa561794d0a1de Mon Sep 17 00:00:00 2001 From: Nathan Kinder Date: Jan 28 2011 16:51:41 +0000 Subject: Bug 672468 - Don't use empty path elements in LD_LIBRARY_PATH Many of the command line wrappers and perl scripts have their LD_LIBRARY_PATH and SHLIB_PATH defined with macros that are replaced by configure. It is common for some of these macros to be empty, which results in empty path elements. 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/ldap/admin/src/scripts/start-dirsrv.in b/ldap/admin/src/scripts/start-dirsrv.in index d3788be..f910e90 100755 --- a/ldap/admin/src/scripts/start-dirsrv.in +++ b/ldap/admin/src/scripts/start-dirsrv.in @@ -6,6 +6,11 @@ # 1: Server could not be started # 2: Server already running +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + # Starts a single instance start_instance() { # The first argument is the server ID. Anything @@ -22,9 +27,15 @@ start_instance() { fi prefix="$DS_ROOT" - LD_LIBRARY_PATH=$prefix$SERVER_DIR:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:@pcre_libdir@ + + libpath_add "$prefix$SERVER_DIR" + libpath_add "$prefix@nss_libdir@" + libpath_add "$prefix@libdir@" + libpath_add "@nss_libdir@" + libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH - SHLIB_PATH=$prefix$SERVER_DIR:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:@pcre_libdir@ + SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH DS_CONFIG_DIR=$CONFIG_DIR diff --git a/ldap/admin/src/scripts/template-bak2db.in b/ldap/admin/src/scripts/template-bak2db.in index 12d46ca..093e156 100755 --- a/ldap/admin/src/scripts/template-bak2db.in +++ b/ldap/admin/src/scripts/template-bak2db.in @@ -4,10 +4,17 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-bak2db.pl.in b/ldap/admin/src/scripts/template-bak2db.pl.in index 0d057e7..2656d6d 100644 --- a/ldap/admin/src/scripts/template-bak2db.pl.in +++ b/ldap/admin/src/scripts/template-bak2db.pl.in @@ -125,8 +125,25 @@ $entry = "${dn}${misc}${cn}${nsinstance}${nsarchivedir}${nsdbtype}"; $vstr = ""; if ($verbose != 0) { $vstr = "-v"; } $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-db2bak.in b/ldap/admin/src/scripts/template-db2bak.in index a0fe1f5..5b9fb04 100755 --- a/ldap/admin/src/scripts/template-db2bak.in +++ b/ldap/admin/src/scripts/template-db2bak.in @@ -4,10 +4,17 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-db2bak.pl.in b/ldap/admin/src/scripts/template-db2bak.pl.in index fac526d..27c73b0 100644 --- a/ldap/admin/src/scripts/template-db2bak.pl.in +++ b/ldap/admin/src/scripts/template-db2bak.pl.in @@ -114,9 +114,26 @@ $entry = "${dn}${misc}${cn}${nsarchivedir}${nsdbtype}"; $vstr = ""; if ($verbose != 0) { $vstr = "-v"; } $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; print("Back up directory: $archivedir\n"); open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-db2index.in b/ldap/admin/src/scripts/template-db2index.in index e0e9a55..3dc4740 100755 --- a/ldap/admin/src/scripts/template-db2index.in +++ b/ldap/admin/src/scripts/template-db2index.in @@ -4,10 +4,16 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-db2index.pl.in b/ldap/admin/src/scripts/template-db2index.pl.in index e993d88..431a48f 100644 --- a/ldap/admin/src/scripts/template-db2index.pl.in +++ b/ldap/admin/src/scripts/template-db2index.pl.in @@ -69,8 +69,13 @@ $verbose = 0; $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $i = 0; while ($i <= $#ARGV) @@ -224,3 +229,15 @@ $entry = "${dn}${misc}${cn}${nsinstance}${attribute}${vlvattribute}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-db2ldif.in b/ldap/admin/src/scripts/template-db2ldif.in index e519f3e..2989b77 100755 --- a/ldap/admin/src/scripts/template-db2ldif.in +++ b/ldap/admin/src/scripts/template-db2ldif.in @@ -4,10 +4,17 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-db2ldif.pl.in b/ldap/admin/src/scripts/template-db2ldif.pl.in index af5f0d7..ff36000 100644 --- a/ldap/admin/src/scripts/template-db2ldif.pl.in +++ b/ldap/admin/src/scripts/template-db2ldif.pl.in @@ -258,9 +258,26 @@ $entry = "${dn}${misc}${cn}${nsinstance}${nsincluded}${nsexcluded}${nsreplica}${ $vstr = ""; if ($verbose != 0) { $vstr = "-v"; } $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; print("Exporting to ldif file: ${ldiffile}\n"); open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-dbverify.in b/ldap/admin/src/scripts/template-dbverify.in index 0f71450..8c1a98e 100755 --- a/ldap/admin/src/scripts/template-dbverify.in +++ b/ldap/admin/src/scripts/template-dbverify.in @@ -4,10 +4,17 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in b/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in index 48a8926..3f295c5 100644 --- a/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in +++ b/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in @@ -61,8 +61,13 @@ $verbose = 0; $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $i = 0; while ($i <= $#ARGV) @@ -150,3 +155,15 @@ $entry = "${dn}${misc}${cn}${basedn}${linkdn}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-fixup-memberof.pl.in b/ldap/admin/src/scripts/template-fixup-memberof.pl.in index 3f04d4a..925ab89 100644 --- a/ldap/admin/src/scripts/template-fixup-memberof.pl.in +++ b/ldap/admin/src/scripts/template-fixup-memberof.pl.in @@ -65,8 +65,13 @@ $verbose = 0; $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $i = 0; while ($i <= $#ARGV) @@ -161,3 +166,15 @@ $entry = "${dn}${misc}${cn}${basedn}${filter}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-ldif2db.in b/ldap/admin/src/scripts/template-ldif2db.in index ce64193..8f92acf 100755 --- a/ldap/admin/src/scripts/template-ldif2db.in +++ b/ldap/admin/src/scripts/template-ldif2db.in @@ -4,10 +4,17 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-ldif2db.pl.in b/ldap/admin/src/scripts/template-ldif2db.pl.in index 1d99123..33f02e1 100644 --- a/ldap/admin/src/scripts/template-ldif2db.pl.in +++ b/ldap/admin/src/scripts/template-ldif2db.pl.in @@ -217,8 +217,26 @@ $entry = "${dn}${misc}${cn}${nsinstance}${nsincluded}${nsexcluded}${nsldiffiles} $vstr = ""; if ($verbose != 0) { $vstr = "-v"; } $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; + open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-ldif2ldap.in b/ldap/admin/src/scripts/template-ldif2ldap.in index 1a98e3a..7767c72 100755 --- a/ldap/admin/src/scripts/template-ldif2ldap.in +++ b/ldap/admin/src/scripts/template-ldif2ldap.in @@ -5,10 +5,20 @@ if [ "$prefix" = "/" ] ; then prefix="" fi -PATH=$prefix@ldapsdk_bindir@:@ldapsdk_bindir@ -LD_LIBRARY_PATH=$prefix@ldapsdk_libdir@:@ldapsdk_libdir@:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@ +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix@ldapsdk_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix@ldapsdk_libdir@:@ldapsdk_libdir@:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH +PATH=$prefix@ldapsdk_bindir@:@ldapsdk_bindir@ ldapmodify -a -p {{SERVER-PORT}} -D "$1" -w "$2" -f $3 diff --git a/ldap/admin/src/scripts/template-monitor.in b/ldap/admin/src/scripts/template-monitor.in index e4683ae..29dae9e 100755 --- a/ldap/admin/src/scripts/template-monitor.in +++ b/ldap/admin/src/scripts/template-monitor.in @@ -1,11 +1,22 @@ #!/bin/sh -PATH=$prefix@ldapsdk_bindir@:@ldapsdk_bindir@ -LD_LIBRARY_PATH=$prefix@ldapsdk_libdir@:@ldapsdk_libdir@:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@ +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix@ldapsdk_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix@ldapsdk_libdir@:@ldapsdk_libdir@:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH +PATH=$prefix@ldapsdk_bindir@:@ldapsdk_bindir@ + if [ "x$1" != "x" ]; then MDN="$1"; else MDN="cn=monitor"; diff --git a/ldap/admin/src/scripts/template-ns-accountstatus.pl.in b/ldap/admin/src/scripts/template-ns-accountstatus.pl.in index 258a602..7c216d3 100644 --- a/ldap/admin/src/scripts/template-ns-accountstatus.pl.in +++ b/ldap/admin/src/scripts/template-ns-accountstatus.pl.in @@ -393,8 +393,13 @@ else debug("Running ** $cmd ** $operation\n"); $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $ldapsearch="ldapsearch -1"; $ldapmodify="ldapmodify"; @@ -842,3 +847,15 @@ debug("$modrole, $entry\n"); out("$entry $state.\n"); exit 0; + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-ns-activate.pl.in b/ldap/admin/src/scripts/template-ns-activate.pl.in index 258a602..7c216d3 100644 --- a/ldap/admin/src/scripts/template-ns-activate.pl.in +++ b/ldap/admin/src/scripts/template-ns-activate.pl.in @@ -393,8 +393,13 @@ else debug("Running ** $cmd ** $operation\n"); $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $ldapsearch="ldapsearch -1"; $ldapmodify="ldapmodify"; @@ -842,3 +847,15 @@ debug("$modrole, $entry\n"); out("$entry $state.\n"); exit 0; + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-ns-inactivate.pl.in b/ldap/admin/src/scripts/template-ns-inactivate.pl.in index 258a602..7c216d3 100644 --- a/ldap/admin/src/scripts/template-ns-inactivate.pl.in +++ b/ldap/admin/src/scripts/template-ns-inactivate.pl.in @@ -393,8 +393,13 @@ else debug("Running ** $cmd ** $operation\n"); $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $ldapsearch="ldapsearch -1"; $ldapmodify="ldapmodify"; @@ -842,3 +847,15 @@ debug("$modrole, $entry\n"); out("$entry $state.\n"); exit 0; + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-ns-newpwpolicy.pl.in b/ldap/admin/src/scripts/template-ns-newpwpolicy.pl.in index fe09920..f55ae1a 100755 --- a/ldap/admin/src/scripts/template-ns-newpwpolicy.pl.in +++ b/ldap/admin/src/scripts/template-ns-newpwpolicy.pl.in @@ -47,8 +47,13 @@ use lib qw(@perlpath@); $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; # Add new password policy specific entries ############################################################################# @@ -283,3 +288,15 @@ sub usage { } } # end of $opt_U } + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-restoreconfig.in b/ldap/admin/src/scripts/template-restoreconfig.in index 0e5de9b..480af88 100755 --- a/ldap/admin/src/scripts/template-restoreconfig.in +++ b/ldap/admin/src/scripts/template-restoreconfig.in @@ -1,9 +1,20 @@ #!/bin/sh prefix="{{DS-ROOT}}" -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH cd {{SERVERBIN-DIR}} diff --git a/ldap/admin/src/scripts/template-saveconfig.in b/ldap/admin/src/scripts/template-saveconfig.in index 737c97b..4c8f3d6 100755 --- a/ldap/admin/src/scripts/template-saveconfig.in +++ b/ldap/admin/src/scripts/template-saveconfig.in @@ -1,9 +1,20 @@ #!/bin/sh prefix="{{DS-ROOT}}" -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH cd {{SERVERBIN-DIR}} diff --git a/ldap/admin/src/scripts/template-schema-reload.pl.in b/ldap/admin/src/scripts/template-schema-reload.pl.in index d4a510f..0a9ff46 100644 --- a/ldap/admin/src/scripts/template-schema-reload.pl.in +++ b/ldap/admin/src/scripts/template-schema-reload.pl.in @@ -60,8 +60,13 @@ $verbose = 0; $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $i = 0; while ($i <= $#ARGV) @@ -150,3 +155,15 @@ $entry = "${dn}${misc}${cn}${basedn}${schemadir}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-suffix2instance.in b/ldap/admin/src/scripts/template-suffix2instance.in index 994f8af..8186ef8 100755 --- a/ldap/admin/src/scripts/template-suffix2instance.in +++ b/ldap/admin/src/scripts/template-suffix2instance.in @@ -1,9 +1,20 @@ #!/bin/sh prefix="{{DS-ROOT}}" -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH cd {{SERVERBIN-DIR}} diff --git a/ldap/admin/src/scripts/template-syntax-validate.pl.in b/ldap/admin/src/scripts/template-syntax-validate.pl.in index 4e4fa74..23f43f8 100644 --- a/ldap/admin/src/scripts/template-syntax-validate.pl.in +++ b/ldap/admin/src/scripts/template-syntax-validate.pl.in @@ -65,8 +65,13 @@ $verbose = 0; $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $i = 0; while ($i <= $#ARGV) @@ -161,3 +166,15 @@ $entry = "${dn}${misc}${cn}${basedn}${filter}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-upgradedb.in b/ldap/admin/src/scripts/template-upgradedb.in index 9b6f03d..a36acc6 100755 --- a/ldap/admin/src/scripts/template-upgradedb.in +++ b/ldap/admin/src/scripts/template-upgradedb.in @@ -1,9 +1,20 @@ #!/bin/sh prefix="{{DS-ROOT}}" -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH cd {{SERVERBIN-DIR}} diff --git a/ldap/admin/src/scripts/template-upgradednformat.in b/ldap/admin/src/scripts/template-upgradednformat.in index ea4f18a..d1ff5c8 100755 --- a/ldap/admin/src/scripts/template-upgradednformat.in +++ b/ldap/admin/src/scripts/template-upgradednformat.in @@ -11,10 +11,17 @@ prefix="{{DS-ROOT}}" if [ "$prefix" = "/" ] ; then prefix="" fi -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:$prefix@pcre_libdir@ -if [ -n "$prefix" ] ; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@nss_libdir@" -fi + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH diff --git a/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in b/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in index bd8c257..274dc2f 100644 --- a/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in +++ b/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in @@ -64,8 +64,13 @@ $verbose = 0; $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "$prefix@ldapsdk_bindir@:$prefix/usr/bin:@ldapsdk_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; -$ENV{'SHLIB_PATH'} = "$prefix@nss_libdir@:$prefix/usr/lib:@nss_libdir@:/usr/lib"; + +libpath_add("$prefix@nss_libdir@"); +libpath_add("$prefix/usr/lib"); +libpath_add("@nss_libdir@"); +libpath_add("/usr/lib"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; $i = 0; while ($i <= $#ARGV) @@ -178,3 +183,15 @@ $entry = "${dn}${misc}${cn}${basedn}${args}"; open(FOO, "| ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" ); print(FOO "$entry"); close(FOO); + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-verify-db.pl.in b/ldap/admin/src/scripts/template-verify-db.pl.in index 25bb46b..c352eb2 100644 --- a/ldap/admin/src/scripts/template-verify-db.pl.in +++ b/ldap/admin/src/scripts/template-verify-db.pl.in @@ -170,8 +170,11 @@ my $dbdirs = getDbDir($startpoint); my $prefix = "{{DS-ROOT}}"; $ENV{'PATH'} = "{{INST-DIR}}:$prefix@db_bindir@:$prefix/usr/bin:@db_bindir@:/usr/bin"; -$ENV{'LD_LIBRARY_PATH'} = "@db_libdir@:@libdir@"; -$ENV{'SHLIB_PATH'} = "@db_libdir@:@libdir@"; + +libpath_add("@db_libdir@"); +libpath_add("@libdir@"); + +$ENV{'SHLIB_PATH'} = "$ENV{'LD_LIBRARY_PATH'}"; # Check transaction logs by db_printlog for (my $i = 0; "$$dbdirs[$i]" ne ""; $i++) @@ -256,3 +259,15 @@ else print "Good\n"; exit(0); } + +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"; + } + } +} diff --git a/ldap/admin/src/scripts/template-vlvindex.in b/ldap/admin/src/scripts/template-vlvindex.in index e6cd743..193667a 100755 --- a/ldap/admin/src/scripts/template-vlvindex.in +++ b/ldap/admin/src/scripts/template-vlvindex.in @@ -1,9 +1,20 @@ #!/bin/sh prefix="{{DS-ROOT}}" -LD_LIBRARY_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ + +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "$prefix{{SERVER-DIR}}" +libpath_add "$prefix@nss_libdir@" +libpath_add "$prefix@libdir@" +libpath_add "@nss_libdir@" +libpath_add "$prefix@pcre_libdir@" + export LD_LIBRARY_PATH -SHLIB_PATH=$prefix/{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@:$prefix@pcre_libdir@ +SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH cd {{SERVERBIN-DIR}} diff --git a/wrappers/cl-dump.in b/wrappers/cl-dump.in index 9a6301a..d42c6f2 100755 --- a/wrappers/cl-dump.in +++ b/wrappers/cl-dump.in @@ -43,8 +43,15 @@ # wrapper for cl-dump.pl # set the library paths and call cl-dump.pl -LD_LIBRARY_PATH=@nss_libdir@:/usr/lib -SHLIB_PATH=@nss_libdir@:/usr/lib +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "/usr/lib" + +SHLIB_PATH=$LD_LIBRARY_PATH export LD_LIBRARY_PATH SHLIB_PATH @bindir@/cl-dump.pl "$@" diff --git a/wrappers/dbscan.in b/wrappers/dbscan.in index 115a126..942ffc9 100755 --- a/wrappers/dbscan.in +++ b/wrappers/dbscan.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@nspr_libdir@:@db_libdir@ BIN_DIR=@bindir@ COMMAND=dbscan-bin @@ -14,7 +13,14 @@ COMMAND=dbscan-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nspr_libdir@" +libpath_add "@db_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/infadd.in b/wrappers/infadd.in index 89eb0ea..3ebc40b 100755 --- a/wrappers/infadd.in +++ b/wrappers/infadd.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@ BIN_DIR=@bindir@ COMMAND=infadd-bin @@ -14,7 +13,16 @@ COMMAND=infadd-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/initscript.in b/wrappers/initscript.in index e84ff9d..8be58db 100644 --- a/wrappers/initscript.in +++ b/wrappers/initscript.in @@ -54,6 +54,11 @@ success() } } +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + # On Solaris /var/run is in tmpfs and gets wiped out upon reboot # we have to recreate the /var/run/@package_name@ directory # We also have to make sure that the directory is writable @@ -120,7 +125,10 @@ fi start() { if [ -n "$INSTANCES" ]; then - LD_LIBRARY_PATH=@libdir@/@package_name@:@nss_libdir@:@pcre_libdir@ + libpath_add "@libdir@/@package_name@" + libpath_add "@nss_libdir@" + libpath_add "@pcre_libdir@" + export LD_LIBRARY_PATH echo "Starting $prog: " # Start every slapd instance that isn't already running diff --git a/wrappers/ldap-agent.in b/wrappers/ldap-agent.in index 266507a..62c3d6e 100755 --- a/wrappers/ldap-agent.in +++ b/wrappers/ldap-agent.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@netsnmp_libdir@ BIN_DIR=@sbindir@ COMMAND=ldap-agent-bin @@ -17,7 +16,16 @@ export MIBS ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@netsnmp_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/ldclt.in b/wrappers/ldclt.in index 079e33c..7f0a3cc 100755 --- a/wrappers/ldclt.in +++ b/wrappers/ldclt.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@ BIN_DIR=@bindir@ COMMAND=ldclt-bin @@ -14,7 +13,16 @@ COMMAND=ldclt-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" + export LD_LIBRARY_PATH SASL_PATH=@sasl_path@ export SASL_PATH diff --git a/wrappers/ldif.in b/wrappers/ldif.in index 8fcaf17..5407920 100755 --- a/wrappers/ldif.in +++ b/wrappers/ldif.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@ BIN_DIR=@bindir@ COMMAND=ldif-bin @@ -14,7 +13,16 @@ COMMAND=ldif-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/migratecred.in b/wrappers/migratecred.in index dd44800..49de8d7 100755 --- a/wrappers/migratecred.in +++ b/wrappers/migratecred.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@serverdir@:@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@:@pcre_libdir@ BIN_DIR=@bindir@ COMMAND=migratecred-bin @@ -14,7 +13,18 @@ COMMAND=migratecred-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@serverdir@" +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" +libpath_add "@pcre_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/mmldif.in b/wrappers/mmldif.in index a11932e..aa09bae 100755 --- a/wrappers/mmldif.in +++ b/wrappers/mmldif.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@serverdir@:@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@:@pcre_libdir@ BIN_DIR=@bindir@ COMMAND=mmldif-bin @@ -14,7 +13,18 @@ COMMAND=mmldif-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@serverdir@" +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" +libpath_add "@pcre_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/pwdhash.in b/wrappers/pwdhash.in index b3ef3fa..69618fa 100755 --- a/wrappers/pwdhash.in +++ b/wrappers/pwdhash.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@serverdir@:@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@:@pcre_libdir@ BIN_DIR=@bindir@ COMMAND=pwdhash-bin @@ -14,7 +13,18 @@ COMMAND=pwdhash-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@serverdir@" +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" +libpath_add "@pcre_libdir@" + export LD_LIBRARY_PATH diff --git a/wrappers/repl-monitor.in b/wrappers/repl-monitor.in index 116dbb5..cba72a1 100755 --- a/wrappers/repl-monitor.in +++ b/wrappers/repl-monitor.in @@ -43,8 +43,15 @@ # wrapper for repl-monitor.pl # set the library paths and call repl-monitor.pl -LD_LIBRARY_PATH=@nss_libdir@:/usr/lib -SHLIB_PATH=@nss_libdir@:/usr/lib +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "/usr/lib" + +SHLIB_PATH=$LD_LIBRARY_PATH export LD_LIBRARY_PATH SHLIB_PATH @bindir@/repl-monitor.pl "$@" diff --git a/wrappers/rsearch.in b/wrappers/rsearch.in index cebecf1..a78abd7 100755 --- a/wrappers/rsearch.in +++ b/wrappers/rsearch.in @@ -4,7 +4,6 @@ ## (1) Specify variables used by this script. ## ############################################################################### -LIB_DIR=@nss_libdir@:@nspr_libdir@:@ldapsdk_libdir@:@sasl_libdir@ BIN_DIR=@bindir@ COMMAND=rsearch-bin @@ -14,7 +13,16 @@ COMMAND=rsearch-bin ## search order this command wrapper uses to find shared libraries. ## ############################################################################### -LD_LIBRARY_PATH=${LIB_DIR} +libpath_add() { + [ -z "$1" ] && return + LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$1 +} + +libpath_add "@nss_libdir@" +libpath_add "@nspr_libdir@" +libpath_add "@ldapsdk_libdir@" +libpath_add "@sasl_libdir@" + export LD_LIBRARY_PATH