[Fedora-directory-commits] adminserver Makefile.am, 1.26, 1.27 configure.ac, 1.15, 1.16 aclocal.m4, 1.23, 1.24 configure, 1.26, 1.27 missing, 1.15, 1.16 install-sh, 1.15, 1.16 compile, 1.14, 1.15 Makefile.in, 1.29, 1.30 depcomp, 1.15, 1.16 config.sub, 1.15, 1.16 config.guess, 1.15, 1.16

Richard Allen Megginson (rmeggins) fedora-directory-commits at redhat.com
Thu Aug 2 14:44:12 UTC 2007


Author: rmeggins

Update of /cvs/dirsec/adminserver
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9517/adminserver

Modified Files:
	Makefile.am configure.ac aclocal.m4 configure missing 
	install-sh compile Makefile.in depcomp config.sub config.guess 
Log Message:
Resolves: bug 250535
Bug Description: improve perldap script execution ability on bundled platforms
Reviewed by: nkinder (Thanks!)
Fix Description: Most platforms will just use perl from PATH.  However, on Solaris and HP-UX, we have to use special 64 bit versions to execute perldap, since perldap is 64 bit on those platforms.  Also, if bundling all of the dependent components into the single package, we need to make sure the perl library path is set correctly to find perldap.
The last step will be to build our version of perldap on the bundled platforms to use rpath to point to the correct runtime library location.
Platforms tested: RHEL4, HP-UX 11.23 IPF 64 bit
Flag Day: no
Doc impact: no



Index: Makefile.am
===================================================================
RCS file: /cvs/dirsec/adminserver/Makefile.am,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- Makefile.am	1 Aug 2007 18:14:53 -0000	1.26
+++ Makefile.am	2 Aug 2007 14:44:09 -0000	1.27
@@ -363,6 +363,7 @@
 runtime_nssmoddir=$(admmoddir)
 runtime_nss_libdir=$(libdir)
 runtime_ldapsdk_libdir=$(libdir)
+perlpath=$(perldir) $(libdir)/perl/arch $(libdir)/perl
 else
 # need to create the LD_LIBRARY_PATH,SHLIB_PATH string to use in scripts
 # sort also strips out duplicates
@@ -374,6 +375,7 @@
 runtime_nssmoddir=$(nssmoddir)
 runtime_nss_libdir=$(nss_libdir)
 runtime_ldapsdk_libdir=$(ldapsdk_libdir)
+perlpath=$(perldir)
 endif
 
 # The root resource bundle is based on English (en) locale;
@@ -463,7 +465,8 @@
 	-e 's, at helpdir\@,$(helpdir),g' \
 	-e 's, at mimemagic\@,$(mimemagic),g' \
 	-e 's, at initdir\@,$(initdir),g' \
-	-e 's, at perldir\@,$(perldir),g' \
+	-e 's, at perlpath\@,$(perlpath),g' \
+	-e 's, at perlexec\@, at perlexec@,g' \
 	-e 's, at infdir\@,$(infdir),g' \
 	-e 's, at dslibdir\@,$(dslibdir),g' \
 	-e 's, at ldifdir\@,$(ldifdir),g'


Index: configure.ac
===================================================================
RCS file: /cvs/dirsec/adminserver/configure.ac,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- configure.ac	1 Aug 2007 18:14:53 -0000	1.15
+++ configure.ac	2 Aug 2007 14:44:09 -0000	1.16
@@ -137,6 +137,14 @@
 # initdir
 initdir=/rc.d
 CXXLINK_REQUIRED=0
+# on most platforms, we will just use perl from PATH
+# On some platforms, we cannot.  Why not just use any old
+# perl?  Because of perldap.  We use a perldap that is
+# compiled to either 32bit or 64bit, so we must use a native
+# perl binary compiled with the same bitsize.  On Solaris
+# and HP-UX, /usr/bin/perl is 32 bit, so we cannot use
+# those with our 64 bit compiled product.
+perlexec='/usr/bin/env perl'
 case $host in
   *-*-linux*)
     AC_DEFINE([XP_UNIX], [1], [UNIX])
@@ -156,6 +164,8 @@
     AC_DEFINE([OS_hpux], [1], [OS HP-UX])
     AC_DEFINE([_POSIX_C_SOURCE], [199506L], [POSIX revision])
     AC_DEFINE([_HPUX_SOURCE], [1], [Source namespace])
+    # assume 64 bit
+    perlexec='/opt/perl_64/bin/perl'
     CXXLINK_REQUIRED=1
     httpdgroup=nogroup
     platform="hpux"
@@ -172,6 +182,8 @@
     AC_DEFINE([_HPUX_SOURCE], [1], [Source namespace])
     CXXLINK_REQUIRED=1
     httpdgroup=nogroup
+    # assume 64 bit
+    perlexec='/opt/perl_64/bin/perl'
     platform="hpux"
 	;;
   sparc-sun-solaris*)
@@ -197,12 +209,15 @@
     AC_SUBST([LIBCRUN], [$LIBCRUN])
     CXXLINK_REQUIRED=1
     platform="solaris"
+    # assume 64 bit
+    perlexec='/opt/perl5x/bin/perl'
     # relative to sysconfdir
     initdir=/init.d
 	;;
   *)
 esac
 AC_SUBST(initdir)
+AC_SUBST(perlexec)
 AM_CONDITIONAL([CXXLINK_REQUIRED], test "$CXXLINK_REQUIRED" = 1)
 AM_CONDITIONAL([HPUX],test "$platform" = "hpux")
 AM_CONDITIONAL([SOLARIS],test "$platform" = "solaris")




Index: configure
===================================================================
RCS file: /cvs/dirsec/adminserver/configure,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- configure	1 Aug 2007 18:14:53 -0000	1.26
+++ configure	2 Aug 2007 14:44:09 -0000	1.27
@@ -468,7 +468,7 @@
 ac_default_prefix=/opt/fedora-ds
 ac_subdirs_all="$ac_subdirs_all mod_admserv"
 ac_subdirs_all="$ac_subdirs_all mod_restartd"
-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 CP!
 P CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS PACKAGE_BASE_NAME PACKAGE_BASE_VERSION debug_defs BUNDLE_TRUE BUNDLE_FALSE LIBSOCKET LIBNSL LIBCSTD LIBCRUN initdir CXXLINK_REQUIRED_TRUE CXXLINK_REQUIRED_FALSE HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE HTTPD APXS APR_CONFIG PKG_CONFIG ICU_CONFIG nsspcache instconfigdir dslibdir nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf httpdconfdir mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE 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 CP!
 P CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS PACKAGE_BASE_NAME PACKAGE_BASE_VERSION debug_defs BUNDLE_TRUE BUNDLE_FALSE LIBSOCKET LIBNSL LIBCSTD LIBCRUN initdir perlexec CXXLINK_REQUIRED_TRUE CXXLINK_REQUIRED_FALSE HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE HTTPD APXS APR_CONFIG PKG_CONFIG ICU_CONFIG nsspcache instconfigdir dslibdir nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf httpdconfdir mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -23188,6 +23188,14 @@
 # initdir
 initdir=/rc.d
 CXXLINK_REQUIRED=0
+# on most platforms, we will just use perl from PATH
+# On some platforms, we cannot.  Why not just use any old
+# perl?  Because of perldap.  We use a perldap that is
+# compiled to either 32bit or 64bit, so we must use a native
+# perl binary compiled with the same bitsize.  On Solaris
+# and HP-UX, /usr/bin/perl is 32 bit, so we cannot use
+# those with our 64 bit compiled product.
+perlexec='/usr/bin/env perl'
 case $host in
   *-*-linux*)
 
@@ -23255,6 +23263,8 @@
 #define _HPUX_SOURCE 1
 _ACEOF
 
+    # assume 64 bit
+    perlexec='/opt/perl_64/bin/perl'
     CXXLINK_REQUIRED=1
     httpdgroup=nogroup
     platform="hpux"
@@ -23307,6 +23317,8 @@
 
     CXXLINK_REQUIRED=1
     httpdgroup=nogroup
+    # assume 64 bit
+    perlexec='/opt/perl_64/bin/perl'
     platform="hpux"
 	;;
   sparc-sun-solaris*)
@@ -23374,6 +23386,8 @@
 
     CXXLINK_REQUIRED=1
     platform="solaris"
+    # assume 64 bit
+    perlexec='/opt/perl5x/bin/perl'
     # relative to sysconfdir
     initdir=/init.d
 	;;
@@ -23382,6 +23396,7 @@
 
 
 
+
 if test "$CXXLINK_REQUIRED" = 1; then
   CXXLINK_REQUIRED_TRUE=
   CXXLINK_REQUIRED_FALSE='#'
@@ -25875,6 +25890,7 @@
 s, at LIBCSTD@,$LIBCSTD,;t t
 s, at LIBCRUN@,$LIBCRUN,;t t
 s, at initdir@,$initdir,;t t
+s, at perlexec@,$perlexec,;t t
 s, at CXXLINK_REQUIRED_TRUE@,$CXXLINK_REQUIRED_TRUE,;t t
 s, at CXXLINK_REQUIRED_FALSE@,$CXXLINK_REQUIRED_FALSE,;t t
 s, at HPUX_TRUE@,$HPUX_TRUE,;t t








Index: Makefile.in
===================================================================
RCS file: /cvs/dirsec/adminserver/Makefile.in,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- Makefile.in	1 Aug 2007 18:14:53 -0000	1.29
+++ Makefile.in	2 Aug 2007 14:44:09 -0000	1.30
@@ -489,6 +489,7 @@
 nsspcache = @nsspcache@
 oldincludedir = @oldincludedir@
 perldir = $(libdir)@perldir@
+perlexec = @perlexec@
 piddir = $(localstatedir)@piddir@
 pidfile = @pidfile@
 prefix = @prefix@
@@ -776,6 +777,12 @@
 # nssmoddir is the same
 @BUNDLE_FALSE at runtime_nssmoddir = $(nssmoddir)
 @BUNDLE_TRUE at runtime_nssmoddir = $(admmoddir)
+ at BUNDLE_FALSE@runtime_nss_libdir = $(nss_libdir)
+ at BUNDLE_TRUE@runtime_nss_libdir = $(libdir)
+ at BUNDLE_FALSE@runtime_ldapsdk_libdir = $(ldapsdk_libdir)
+ at BUNDLE_TRUE@runtime_ldapsdk_libdir = $(libdir)
+ at BUNDLE_FALSE@perlpath = $(perldir)
+ at BUNDLE_TRUE@perlpath = $(perldir) $(libdir)/perl/arch $(libdir)/perl
 # need to create the LD_LIBRARY_PATH,SHLIB_PATH string to use in scripts
 # sort also strips out duplicates
 @BUNDLE_FALSE at LIBDIRLIST = $(nspr_libdir) $(nss_libdir) $(ldapsdk_libdir) $(adminutil_libdir) $(icu_libdir) $(libdir)
@@ -810,8 +817,6 @@
 # ADMConfigDir = ${prefix}/etc/packagename
 # i.e. it literally copies in '${prefix}' rather than expanding it out - we want this instead:
 # ADMConfigDir = /etc/packagename
-# NOTE: nss_libdir and ldapsdk_libdir are only needed for those platforms which link Apache
-# directly to the openldap libs, for the LD_PRELOAD hack in start-ds-admin
 fixupcmd = sed \
 	-e 's, at ECHO_C\@,$(ECHO_C),g' \
 	-e 's, at ECHO_N\@,$(ECHO_N),g' \
@@ -837,8 +842,8 @@
 	-e 's, at pidfile\@,$(pidfile),g' \
 	-e 's, at admservport\@,$(admservport),g' \
 	-e 's, at LIBPATH\@,$(LIBPATH),g' \
-	-e 's, at nss_libdir\@,$(nss_libdir),g' \
-	-e 's, at ldapsdk_libdir\@,$(ldapsdk_libdir),g' \
+	-e 's, at nss_libdir\@,$(runtime_nss_libdir),g' \
+	-e 's, at ldapsdk_libdir\@,$(runtime_ldapsdk_libdir),g' \
 	-e 's, at admmoddir\@,$(admmoddir),g' \
 	-e 's, at nssmoddir\@,$(runtime_nssmoddir),g' \
 	-e 's, at instconfigdir\@,$(instconfigdir),g' \
@@ -855,7 +860,8 @@
 	-e 's, at helpdir\@,$(helpdir),g' \
 	-e 's, at mimemagic\@,$(mimemagic),g' \
 	-e 's, at initdir\@,$(initdir),g' \
-	-e 's, at perldir\@,$(perldir),g' \
+	-e 's, at perlpath\@,$(perlpath),g' \
+	-e 's, at perlexec\@, at perlexec@,g' \
 	-e 's, at infdir\@,$(infdir),g' \
 	-e 's, at dslibdir\@,$(dslibdir),g' \
 	-e 's, at ldifdir\@,$(ldifdir),g'










More information about the Fedora-directory-commits mailing list