[Fedora-directory-commits] ldapserver Makefile.am, 1.52, 1.53 configure.ac, 1.34, 1.35 aclocal.m4, 1.44, 1.45 configure, 1.55, 1.56 missing, 1.34, 1.35 install-sh, 1.34, 1.35 depcomp, 1.34, 1.35 compile, 1.34, 1.35 config.guess, 1.33, 1.34 Makefile.in, 1.61, 1.62 config.sub, 1.33, 1.34

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


Author: rmeggins

Update of /cvs/dirsec/ldapserver
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9035/ldapserver

Modified Files:
	Makefile.am configure.ac aclocal.m4 configure missing 
	install-sh depcomp compile config.guess Makefile.in config.sub 
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/ldapserver/Makefile.am,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- Makefile.am	24 Jul 2007 20:06:39 -0000	1.52
+++ Makefile.am	2 Aug 2007 14:39:00 -0000	1.53
@@ -989,6 +989,9 @@
 # i.e. it literally copies in '${prefix}' rather than expanding it out - we want this instead:
 # LD_LIBRARY_PATH = /usr/lib/fedora-ds
 if BUNDLE
+# on the systems on which we bundle, perldap will be in libdir/perl, so we need to point
+# the perlpath there - on other systems, perldap will be installed as a site module into
+# the system perl
 fixupcmd = sed \
 	-e 's, at bindir\@,$(bindir),g' \
 	-e 's, at sbindir\@,$(sbindir),g' \
@@ -1029,10 +1032,11 @@
 	-e 's, at PACKAGE_BASE_VERSION\@,$(PACKAGE_BASE_VERSION),g' \
 	-e 's, at BUILDNUM\@,$(BUILDNUM),g' \
 	-e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \
-	-e 's, at perldir\@,$(perldir),g' \
+	-e 's, at perlpath\@,$(perldir) $(libdir)/perl/arch $(libdir)/perl,g' \
 	-e 's, at defaultuser\@,$(defaultuser),g' \
 	-e 's, at defaultgroup\@,$(defaultgroup),g' \
-	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g'
+	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g' \
+	-e 's, at perlexec\@, at perlexec@,g'
 else
 fixupcmd = sed \
 	-e 's, at bindir\@,$(bindir),g' \
@@ -1074,10 +1078,11 @@
 	-e 's, at PACKAGE_BASE_VERSION\@,$(PACKAGE_BASE_VERSION),g' \
 	-e 's, at BUILDNUM\@,$(BUILDNUM),g' \
 	-e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \
-	-e 's, at perldir\@,$(perldir),g' \
+	-e 's, at perlpath\@,$(perldir),g' \
 	-e 's, at defaultuser\@,$(defaultuser),g' \
 	-e 's, at defaultgroup\@,$(defaultgroup),g' \
-	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g'
+	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g' \
+	-e 's, at perlexec\@, at perlexec@,g'
 endif
 
 %: %.in


Index: configure.ac
===================================================================
RCS file: /cvs/dirsec/ldapserver/configure.ac,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- configure.ac	13 Jul 2007 18:35:32 -0000	1.34
+++ configure.ac	2 Aug 2007 14:39:00 -0000	1.35
@@ -238,6 +238,14 @@
 # Deal with platform dependent defines
 # relative to sysconfdir
 initdir=/rc.d
+# 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])
@@ -260,6 +268,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'
     platform="hpux"
     ;;
   hppa*-hp-hpux*)
@@ -272,6 +282,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'
     platform="hpux"
     ;;
   sparc-sun-solaris*)
@@ -299,6 +311,8 @@
     LIBCRUN=-lCrun
     AC_SUBST([LIBCRUN], [$LIBCRUN])
     platform="solaris"
+    # assume 64 bit
+    perlexec='/opt/perl5x/bin/perl'
     # relative to sysconfdir
     initdir=/init.d
     ;;
@@ -307,6 +321,7 @@
     ;;
 esac
 AC_SUBST(initdir)
+AC_SUBST(perlexec)
 
 AM_CONDITIONAL(HPUX,test "$platform" = "hpux")
 AM_CONDITIONAL(SOLARIS,test "$platform" = "solaris")




Index: configure
===================================================================
RCS file: /cvs/dirsec/ldapserver/configure,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- configure	24 Jul 2007 20:06:40 -0000	1.55
+++ configure	2 Aug 2007 14:39:00 -0000	1.56
@@ -465,7 +465,7 @@
 #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 CP!
 P 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 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 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 CP!
 P 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 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.
@@ -23245,6 +23245,14 @@
 # Deal with platform dependent defines
 # relative to sysconfdir
 initdir=/rc.d
+# 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*)
 
@@ -23327,6 +23335,8 @@
 #define _HPUX_SOURCE 1
 _ACEOF
 
+    # assume 64 bit
+    perlexec='/opt/perl_64/bin/perl'
     platform="hpux"
     ;;
   hppa*-hp-hpux*)
@@ -23375,6 +23385,8 @@
 #define _HPUX_SOURCE 1
 _ACEOF
 
+    # assume 64 bit
+    perlexec='/opt/perl_64/bin/perl'
     platform="hpux"
     ;;
   sparc-sun-solaris*)
@@ -23449,6 +23461,8 @@
     LIBCRUN=$LIBCRUN
 
     platform="solaris"
+    # assume 64 bit
+    perlexec='/opt/perl5x/bin/perl'
     # relative to sysconfdir
     initdir=/init.d
     ;;
@@ -23460,6 +23474,7 @@
 
 
 
+
 if test "$platform" = "hpux"; then
   HPUX_TRUE=
   HPUX_FALSE='#'
@@ -26044,6 +26059,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 HPUX_TRUE@,$HPUX_TRUE,;t t
 s, at HPUX_FALSE@,$HPUX_FALSE,;t t
 s, at SOLARIS_TRUE@,$SOLARIS_TRUE,;t t












Index: Makefile.in
===================================================================
RCS file: /cvs/dirsec/ldapserver/Makefile.in,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- Makefile.in	24 Jul 2007 20:06:40 -0000	1.61
+++ Makefile.in	2 Aug 2007 14:39:00 -0000	1.62
@@ -938,6 +938,7 @@
 nss_libdir = @nss_libdir@
 oldincludedir = @oldincludedir@
 perldir = $(libdir)@perldir@
+perlexec = @perlexec@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 propertydir = $(datadir)@propertydir@
@@ -1898,10 +1899,11 @@
 @BUNDLE_FALSE@	-e 's, at PACKAGE_BASE_VERSION\@,$(PACKAGE_BASE_VERSION),g' \
 @BUNDLE_FALSE@	-e 's, at BUILDNUM\@,$(BUILDNUM),g' \
 @BUNDLE_FALSE@	-e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \
- at BUNDLE_FALSE@	-e 's, at perldir\@,$(perldir),g' \
+ at BUNDLE_FALSE@	-e 's, at perlpath\@,$(perldir),g' \
 @BUNDLE_FALSE@	-e 's, at defaultuser\@,$(defaultuser),g' \
 @BUNDLE_FALSE@	-e 's, at defaultgroup\@,$(defaultgroup),g' \
- at BUNDLE_FALSE@	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g'
+ at BUNDLE_FALSE@	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g' \
+ at BUNDLE_FALSE@	-e 's, at perlexec\@, at perlexec@,g'
 
 
 # these are for the config files and scripts that we need to generate and replace
@@ -1910,6 +1912,9 @@
 # LD_LIBRARY_PATH = ${prefix}/lib/fedora-ds
 # i.e. it literally copies in '${prefix}' rather than expanding it out - we want this instead:
 # LD_LIBRARY_PATH = /usr/lib/fedora-ds
+# on the systems on which we bundle, perldap will be in libdir/perl, so we need to point
+# the perlpath there - on other systems, perldap will be installed as a site module into
+# the system perl
 @BUNDLE_TRUE at fixupcmd = sed \
 @BUNDLE_TRUE@	-e 's, at bindir\@,$(bindir),g' \
 @BUNDLE_TRUE@	-e 's, at sbindir\@,$(sbindir),g' \
@@ -1950,10 +1955,11 @@
 @BUNDLE_TRUE@	-e 's, at PACKAGE_BASE_VERSION\@,$(PACKAGE_BASE_VERSION),g' \
 @BUNDLE_TRUE@	-e 's, at BUILDNUM\@,$(BUILDNUM),g' \
 @BUNDLE_TRUE@	-e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \
- at BUNDLE_TRUE@	-e 's, at perldir\@,$(perldir),g' \
+ at BUNDLE_TRUE@	-e 's, at perlpath\@,$(perldir) $(libdir)/perl/arch $(libdir)/perl,g' \
 @BUNDLE_TRUE@	-e 's, at defaultuser\@,$(defaultuser),g' \
 @BUNDLE_TRUE@	-e 's, at defaultgroup\@,$(defaultgroup),g' \
- at BUNDLE_TRUE@	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g'
+ at BUNDLE_TRUE@	-e 's, at with_fhs_opt\@, at with_fhs_opt@,g' \
+ at BUNDLE_TRUE@	-e 's, at perlexec\@, at perlexec@,g'
 
 all: $(BUILT_SOURCES) config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-am






More information about the Fedora-directory-commits mailing list