summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2007-10-05 23:45:50 +0000
committerRich Megginson <rmeggins@redhat.com>2007-10-05 23:45:50 +0000
commitb786eb2121dc924b985966036095f3f9ca638cf6 (patch)
tree1747652ad5f4da7e8c8a6e46850dc193840d66ca
parentb47079a1c1f3e29762925554f7bfaf9f22dedddd (diff)
downloadds-b786eb2121dc924b985966036095f3f9ca638cf6.tar.gz
ds-b786eb2121dc924b985966036095f3f9ca638cf6.tar.xz
ds-b786eb2121dc924b985966036095f3f9ca638cf6.zip
Resolves: bug 248169
Bug Description: init script modification needed for kerberos auth Reviewed by: nhosoi (Thanks!) Fix Description: I just took Simo's initial patch and ran with it. The initconfigdir parameter is the directory containing the config file for the init script. configure will first try to use $(sysconfdir)/sysconfig, then $(sysconfdir)/default (Solaris and Debian, among others), then the package config directory (the default on HP-UX), for this parameter. The init script and startup script will look in the initconfigdir to find the init config file to source. For directory server, an instance specific file can be used, named e.g. dirsrv-localhost which will apply to the slapd-localhost instance only. A default init config file is provided for dirsrv and dirsrv-admin, with some examples of how it could be used. Platforms tested: RHEL5 x86_64 Flag Day: Yes - autotool file changes Doc impact: Yes. We will need to document how the user can supply environment to the servers at startup time without having to edit the init scripts or the startup scripts. QA impact: should be covered by regular nightly and manual testing New Tests integrated into TET: none
-rw-r--r--Makefile.am14
-rw-r--r--Makefile.in88
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac15
-rw-r--r--ldap/admin/src/initconfig.in22
-rwxr-xr-xldap/admin/src/scripts/template-start-slapd.in6
-rw-r--r--wrappers/initscript.in9
7 files changed, 139 insertions, 33 deletions
diff --git a/Makefile.am b/Makefile.am
index d1fd67df..9be7c4a0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -78,6 +78,7 @@ serverdir = $(libdir)@serverdir@
serverplugindir = $(libdir)@serverplugindir@
taskdir = $(datadir)@scripttemplatedir@
initdir = $(sysconfdir)@initdir@
+initconfigdir = $(sysconfdir)@initconfigdir@
instconfigdir = @instconfigdir@
perldir = $(libdir)@perldir@
infdir = $(datadir)@infdir@
@@ -241,6 +242,8 @@ task_SCRIPTS = ldap/admin/src/scripts/template-bak2db \
init_SCRIPTS = wrappers/$(PACKAGE_NAME)
+initconfig_SCRIPTS = ldap/admin/src/$(PACKAGE_NAME)
+
inf_DATA = ldap/admin/src/slapd.inf \
ldap/admin/src/scripts/dscreate.map \
ldap/admin/src/scripts/dsorgentries.map
@@ -1039,7 +1042,8 @@ fixupcmd = sed \
-e 's,@defaultuser\@,$(defaultuser),g' \
-e 's,@defaultgroup\@,$(defaultgroup),g' \
-e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
- -e 's,@perlexec\@,@perlexec@,g'
+ -e 's,@perlexec\@,@perlexec@,g' \
+ -e 's,@initconfigdir\@,$(initconfigdir),g'
else
fixupcmd = sed \
-e 's,@bindir\@,$(bindir),g' \
@@ -1086,7 +1090,8 @@ fixupcmd = sed \
-e 's,@defaultuser\@,$(defaultuser),g' \
-e 's,@defaultgroup\@,$(defaultgroup),g' \
-e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
- -e 's,@perlexec\@,@perlexec@,g'
+ -e 's,@perlexec\@,@perlexec@,g' \
+ -e 's,@initconfigdir\@,$(initconfigdir),g'
endif
%: %.in
@@ -1094,4 +1099,9 @@ endif
$(fixupcmd) $^ > $@
%/$(PACKAGE_NAME): %/initscript.in
+ if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ $(fixupcmd) $^ > $@
+
+%/$(PACKAGE_NAME): %/initconfig.in
+ if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
$(fixupcmd) $^ > $@
diff --git a/Makefile.in b/Makefile.in
index 139e8a24..d8c291fa 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -93,11 +93,12 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(serverdir)" \
"$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" \
- "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" \
- "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" \
- "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" \
- "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"
+ "$(DESTDIR)$(initdir)" "$(DESTDIR)$(initconfigdir)" \
+ "$(DESTDIR)$(perldir)" "$(DESTDIR)$(sbindir)" \
+ "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" \
+ "$(DESTDIR)$(infdir)" "$(DESTDIR)$(propertydir)" \
+ "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" \
+ "$(DESTDIR)$(schemadir)"
serverLTLIBRARIES_INSTALL = $(INSTALL)
serverpluginLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(server_LTLIBRARIES) $(serverplugin_LTLIBRARIES)
@@ -690,11 +691,12 @@ rsearch_bin_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
initSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+initconfigSCRIPT_INSTALL = $(INSTALL_SCRIPT)
perlSCRIPT_INSTALL = $(INSTALL_SCRIPT)
sbinSCRIPT_INSTALL = $(INSTALL_SCRIPT)
taskSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-SCRIPTS = $(bin_SCRIPTS) $(init_SCRIPTS) $(perl_SCRIPTS) \
- $(sbin_SCRIPTS) $(task_SCRIPTS)
+SCRIPTS = $(bin_SCRIPTS) $(init_SCRIPTS) $(initconfig_SCRIPTS) \
+ $(perl_SCRIPTS) $(sbin_SCRIPTS) $(task_SCRIPTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -917,6 +919,7 @@ icu_lib = @icu_lib@
includedir = @includedir@
infdir = $(datadir)@infdir@
infodir = @infodir@
+initconfigdir = $(sysconfdir)@initconfigdir@
initdir = $(sysconfdir)@initdir@
install_sh = @install_sh@
instconfigdir = @instconfigdir@
@@ -1153,6 +1156,7 @@ task_SCRIPTS = ldap/admin/src/scripts/template-bak2db \
ldap/admin/src/scripts/template-dbverify
init_SCRIPTS = wrappers/$(PACKAGE_NAME)
+initconfig_SCRIPTS = ldap/admin/src/$(PACKAGE_NAME)
inf_DATA = ldap/admin/src/slapd.inf \
ldap/admin/src/scripts/dscreate.map \
ldap/admin/src/scripts/dsorgentries.map
@@ -1910,7 +1914,8 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_FALSE@ -e 's,@defaultuser\@,$(defaultuser),g' \
@BUNDLE_FALSE@ -e 's,@defaultgroup\@,$(defaultgroup),g' \
@BUNDLE_FALSE@ -e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
-@BUNDLE_FALSE@ -e 's,@perlexec\@,@perlexec@,g'
+@BUNDLE_FALSE@ -e 's,@perlexec\@,@perlexec@,g' \
+@BUNDLE_FALSE@ -e 's,@initconfigdir\@,$(initconfigdir),g'
# these are for the config files and scripts that we need to generate and replace
@@ -1967,7 +1972,8 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_TRUE@ -e 's,@defaultuser\@,$(defaultuser),g' \
@BUNDLE_TRUE@ -e 's,@defaultgroup\@,$(defaultgroup),g' \
@BUNDLE_TRUE@ -e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
-@BUNDLE_TRUE@ -e 's,@perlexec\@,@perlexec@,g'
+@BUNDLE_TRUE@ -e 's,@perlexec\@,@perlexec@,g' \
+@BUNDLE_TRUE@ -e 's,@initconfigdir\@,$(initconfigdir),g'
all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -3742,6 +3748,25 @@ uninstall-initSCRIPTS:
echo " rm -f '$(DESTDIR)$(initdir)/$$f'"; \
rm -f "$(DESTDIR)$(initdir)/$$f"; \
done
+install-initconfigSCRIPTS: $(initconfig_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ test -z "$(initconfigdir)" || $(mkdir_p) "$(DESTDIR)$(initconfigdir)"
+ @list='$(initconfig_SCRIPTS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f $$d$$p; then \
+ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+ echo " $(initconfigSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(initconfigdir)/$$f'"; \
+ $(initconfigSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(initconfigdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-initconfigSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(initconfig_SCRIPTS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+ echo " rm -f '$(DESTDIR)$(initconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(initconfigdir)/$$f"; \
+ done
install-perlSCRIPTS: $(perl_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(perldir)" || $(mkdir_p) "$(DESTDIR)$(perldir)"
@@ -8876,7 +8901,7 @@ check: $(BUILT_SOURCES)
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \
$(DATA) config.h
installdirs:
- for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"; do \
+ for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(initconfigdir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -9001,9 +9026,9 @@ info: info-am
info-am:
install-data-am: install-configDATA install-infDATA \
- install-initSCRIPTS install-nodist_propertyDATA \
- install-perlSCRIPTS install-propertyDATA \
- install-sampledataDATA install-schemaDATA \
+ install-initSCRIPTS install-initconfigSCRIPTS \
+ install-nodist_propertyDATA install-perlSCRIPTS \
+ install-propertyDATA install-sampledataDATA install-schemaDATA \
install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \
install-taskSCRIPTS
@@ -9038,12 +9063,12 @@ ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-configDATA uninstall-infDATA uninstall-info-am \
- uninstall-initSCRIPTS uninstall-nodist_propertyDATA \
- uninstall-perlSCRIPTS uninstall-propertyDATA \
- uninstall-sampledataDATA uninstall-sbinPROGRAMS \
- uninstall-sbinSCRIPTS uninstall-schemaDATA \
- uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \
- uninstall-taskSCRIPTS
+ uninstall-initSCRIPTS uninstall-initconfigSCRIPTS \
+ uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \
+ uninstall-propertyDATA uninstall-sampledataDATA \
+ uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS \
+ uninstall-schemaDATA uninstall-serverLTLIBRARIES \
+ uninstall-serverpluginLTLIBRARIES uninstall-taskSCRIPTS
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic clean-libtool \
@@ -9057,10 +9082,10 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
install-binPROGRAMS install-binSCRIPTS install-configDATA \
install-data install-data-am install-exec install-exec-am \
install-infDATA install-info install-info-am \
- install-initSCRIPTS install-man install-nodist_propertyDATA \
- install-perlSCRIPTS install-propertyDATA \
- install-sampledataDATA install-sbinPROGRAMS \
- install-sbinSCRIPTS install-schemaDATA \
+ install-initSCRIPTS install-initconfigSCRIPTS install-man \
+ install-nodist_propertyDATA install-perlSCRIPTS \
+ install-propertyDATA install-sampledataDATA \
+ install-sbinPROGRAMS install-sbinSCRIPTS install-schemaDATA \
install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \
install-strip install-taskSCRIPTS installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
@@ -9068,12 +9093,12 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-configDATA uninstall-infDATA uninstall-info-am \
- uninstall-initSCRIPTS uninstall-nodist_propertyDATA \
- uninstall-perlSCRIPTS uninstall-propertyDATA \
- uninstall-sampledataDATA uninstall-sbinPROGRAMS \
- uninstall-sbinSCRIPTS uninstall-schemaDATA \
- uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \
- uninstall-taskSCRIPTS
+ uninstall-initSCRIPTS uninstall-initconfigSCRIPTS \
+ uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \
+ uninstall-propertyDATA uninstall-sampledataDATA \
+ uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS \
+ uninstall-schemaDATA uninstall-serverLTLIBRARIES \
+ uninstall-serverpluginLTLIBRARIES uninstall-taskSCRIPTS
dirver.h: Makefile
@@ -9093,6 +9118,11 @@ ns-slapd.properties: makstrdb
$(fixupcmd) $^ > $@
%/$(PACKAGE_NAME): %/initscript.in
+ if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ $(fixupcmd) $^ > $@
+
+%/$(PACKAGE_NAME): %/initconfig.in
+ if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
$(fixupcmd) $^ > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/configure b/configure
index 291ebcda..308f301b 100755
--- a/configure
+++ b/configure
@@ -465,7 +465,7 @@ ac_includes_default="\
#endif"
ac_default_prefix=/opt/$PACKAGE_NAME
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE with_fhs_opt configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir infdir defaultuser defaultgroup instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir perlexec HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG PACKAGE_BASE_VERSION nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir sasl_path svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE with_fhs_opt configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir infdir defaultuser defaultgroup instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir perlexec initconfigdir HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG PACKAGE_BASE_VERSION nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir sasl_path svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -23342,6 +23342,7 @@ _ACEOF
# assume 64 bit
perlexec='/opt/perl_64/bin/perl'
platform="hpux"
+ initconfigdir="/$PACKAGE_NAME/config"
;;
hppa*-hp-hpux*)
@@ -23390,6 +23391,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
# assume 64 bit
+ initconfigdir="/$PACKAGE_NAME/config"
perlexec='/opt/perl_64/bin/perl'
platform="hpux"
;;
@@ -23477,6 +23479,19 @@ esac
+# set default initconfigdir if not already set
+# value will be set so as to be relative to $(sysconfdir)
+if test -z "$initconfigdir" ; then
+ if test -d /etc/sysconfig ; then
+ initconfigdir=/sysconfig
+ elif test -d /etc/default ; then
+ initconfigdir=/default
+ else
+ initconfigdir="/$PACKAGE_NAME/config"
+ fi
+fi
+
+
if test "$platform" = "hpux"; then
@@ -26076,6 +26091,7 @@ s,@LIBCSTD@,$LIBCSTD,;t t
s,@LIBCRUN@,$LIBCRUN,;t t
s,@initdir@,$initdir,;t t
s,@perlexec@,$perlexec,;t t
+s,@initconfigdir@,$initconfigdir,;t t
s,@HPUX_TRUE@,$HPUX_TRUE,;t t
s,@HPUX_FALSE@,$HPUX_FALSE,;t t
s,@SOLARIS_TRUE@,$SOLARIS_TRUE,;t t
diff --git a/configure.ac b/configure.ac
index 042de1ee..d47de5b4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -275,6 +275,7 @@ case $host in
# assume 64 bit
perlexec='/opt/perl_64/bin/perl'
platform="hpux"
+ initconfigdir="/$PACKAGE_NAME/config"
;;
hppa*-hp-hpux*)
AC_DEFINE([XP_UNIX], [1], [UNIX])
@@ -287,6 +288,7 @@ case $host in
AC_DEFINE([_POSIX_C_SOURCE], [199506L], [POSIX revision])
AC_DEFINE([_HPUX_SOURCE], [1], [Source namespace])
# assume 64 bit
+ initconfigdir="/$PACKAGE_NAME/config"
perlexec='/opt/perl_64/bin/perl'
platform="hpux"
;;
@@ -327,6 +329,19 @@ esac
AC_SUBST(initdir)
AC_SUBST(perlexec)
+# set default initconfigdir if not already set
+# value will be set so as to be relative to $(sysconfdir)
+if test -z "$initconfigdir" ; then
+ if test -d /etc/sysconfig ; then
+ initconfigdir=/sysconfig
+ elif test -d /etc/default ; then
+ initconfigdir=/default
+ else
+ initconfigdir="/$PACKAGE_NAME/config"
+ fi
+fi
+AC_SUBST(initconfigdir)
+
AM_CONDITIONAL(HPUX,test "$platform" = "hpux")
AM_CONDITIONAL(SOLARIS,test "$platform" = "solaris")
diff --git a/ldap/admin/src/initconfig.in b/ldap/admin/src/initconfig.in
new file mode 100644
index 00000000..aa2c4674
--- /dev/null
+++ b/ldap/admin/src/initconfig.in
@@ -0,0 +1,22 @@
+# This file is sourced by @package_name@ upon startup to set
+# the default environment for all directory server instances.
+# To set instance specific defaults, make a copy of this
+# file in the same directory called @package_name@-instance
+# where "instance" is the name of your directory server
+# instance e.g. @package_name@-localhost for the
+# slapd-localhost instance
+
+# In order to make more file descriptors available
+# to the directory server, first make sure the system
+# hard limits are raised, then use ulimit - uncomment
+# out the following line and change the value to the
+# desired value
+# ulimit -n 8192
+
+# In order to use SASL/GSSAPI the directory
+# server needs to know where to find its keytab
+# file - uncomment the following line and set
+# the path and filename appropriately
+# KRB5_KTNAME=@instconfigdir@/slapd-instance/keytab ; export KRB5_KTNAME
+
+# other environment settings can be added here too
diff --git a/ldap/admin/src/scripts/template-start-slapd.in b/ldap/admin/src/scripts/template-start-slapd.in
index 59d32345..f2f70c5b 100755
--- a/ldap/admin/src/scripts/template-start-slapd.in
+++ b/ldap/admin/src/scripts/template-start-slapd.in
@@ -6,6 +6,12 @@ export LD_LIBRARY_PATH
SHLIB_PATH=$prefix{{SERVER-DIR}}:$prefix@nss_libdir@:$prefix@libdir@:@nss_libdir@
export SHLIB_PATH
+# source env. for all instances
+[ -f @initconfigdir@/@package_name@ ] && . @initconfigdir@/@package_name@
+
+# source env. for this instance
+[ -f @initconfigdir@/@package_name@-{{SERV-ID}} ] && . @initconfigdir@/@package_name@-{{SERV-ID}}
+
# Script that starts the ns-slapd server.
# Exit status can be:
# 0: Server started successfully
diff --git a/wrappers/initscript.in b/wrappers/initscript.in
index 28a5d37e..320d3506 100644
--- a/wrappers/initscript.in
+++ b/wrappers/initscript.in
@@ -86,6 +86,8 @@ instbase="@instconfigdir@"
umask 077
+[ -f @initconfigdir@/@package_name@ ] && . @initconfigdir@/@package_name@
+
INSTANCES=""
for FILE in `/bin/ls -d $instbase/slapd-* 2>/dev/null`; do
@@ -143,7 +145,12 @@ start() {
rm -f $pidfile
rm -f $startpidfile
fix_pid_dir_ownership $instbase/slapd-$instance
- $exec -D $instbase/slapd-$instance -i $pidfile -w $startpidfile
+ # start the directory server in a subshell so that the instance specific
+ # init config environment will not apply to any other instance
+ (
+ [ -f @initconfigdir@/@package_name@-$instance ] && . @initconfigdir@/@package_name@-$instance
+ $exec -D $instbase/slapd-$instance -i $pidfile -w $startpidfile
+ )
if [ $? -eq 0 ]; then
server_started=1 # well, perhaps not running, but started ok
else