[Fedora-directory-commits] ldapserver buildpaths.mk, 1.5, 1.6 components.mk, 1.32, 1.33 nsperl.mk, 1.4, 1.5

Richard Allen Megginson (rmeggins) fedora-directory-commits at redhat.com
Fri Oct 21 19:21:06 UTC 2005


Author: rmeggins

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

Modified Files:
	buildpaths.mk components.mk nsperl.mk 
Log Message:
Bug(s) fixed: 171066
Bug Description: Get rid of nsperl; use perldap with system perl
Reviewed by: Noriko, Rob, Nathan (Thanks!)
Branch: HEAD
Fix Description: All perl scripts are made executable by using the
#!/usr/bin/env perl *nix trick.  This means that the correct version of
perl must be in the user's PATH e.g. 5.6.1 or later.  This version is
either shipped with the OS or available on all platforms.  On HP/ux, it
is available as a depot which is installed in /opt/perl.  For CGI perl
scripts, the PATH can be set in the admserv.conf, so we may have to do
that for HP/ux.  To make perldap work, some ugly hacks are involved.
Each perl script that uses perldap has a BEGIN section that figures out
where it is in the server root, sets a server root variable, and sets
LD_LIBRARY_PATH and SHLIB_PATH to point to serverroot/shared/lib.
Perldap will be installed under serverroot/lib/perl.  This directory
will have 3 subdirectories: arch - containing the binary files; auto -
containing autoloaded perl modules; and Mozilla - containing the base
perldap .pm files.  The BEGIN section also sets the perl INC path to
find those modules.  The directory gets rid of nsperl plus a lot of old
crufty perl building code that we do not use anymore.  Those are the
removed files.  The admin server code also gets rid of the perl.c wrapper.
Noriko pointed out that this does not take care of upgrade install, so I 
  added several more files and diffs to take care of that case. 
Basically, go through the tasks in o=netscaperoot and replace 
perl?scriptname with just scriptname.  Also, go through all of the 
template generated scripts and replace the shebang line with 
#!/usr/bin/env perl, and make sure they are chmod +x.  I also found a 
few more places that referenced nsperl and removed them.
Platforms tested: RHEL4
Flag Day: no
Doc impact: no
QA impact: should be covered by regular nightly and manual testing
New Tests integrated into TET: none



Index: buildpaths.mk
===================================================================
RCS file: /cvs/dirsec/ldapserver/buildpaths.mk,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- buildpaths.mk	3 Oct 2005 19:53:40 -0000	1.5
+++ buildpaths.mk	21 Oct 2005 19:21:04 -0000	1.6
@@ -135,3 +135,5 @@
 # JAF - activation.jar - http://java.sun.com/products/javabeans/glasgow/jaf.html
 # JWSDP - jaxrpc-api.jar,jaxrpc.jar,saaj.jar - http://java.sun.com/webservices/downloads/webservicespack.html
 # Crimson - crimson.jar - http://xml.apache.org/crimson/
+
+PERLDAP_SOURCE_ROOT = $(MOZILLA_SOURCE_ROOT)


Index: components.mk
===================================================================
RCS file: /cvs/dirsec/ldapserver/components.mk,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- components.mk	3 Oct 2005 19:53:40 -0000	1.32
+++ components.mk	21 Oct 2005 19:21:04 -0000	1.33
@@ -741,3 +741,15 @@
 	- at echo "MAVEN is not required except on Windows."
 endif #WINNT
 
+########### PerLDAP #############
+ifdef PERLDAP_SOURCE_ROOT
+  PERLDAP_BUILT_DIR = $(PERLDAP_SOURCE_ROOT)/directory/perldap/blib
+  PERLDAP_ARCHLIB_DIR = $(PERLDAP_BUILT_DIR)/arch
+  PERLDAP_LIB_DIR = $(PERLDAP_BUILT_DIR)/lib/Mozilla
+  PERLDAP_AUTOLIB_DIR = $(PERLDAP_BUILT_DIR)/lib/auto
+# under the serverroot/lib directory, we should have a perl directory which contains arch/, auto/, and Mozilla/
+  PACKAGE_SRC_DEST += $(PERLDAP_ARCHLIB_DIR) lib/perl
+  PACKAGE_SRC_DEST += $(PERLDAP_LIB_DIR) lib/perl
+  PACKAGE_SRC_DEST += $(PERLDAP_AUTOLIB_DIR) lib/perl
+# else we're using the pre-built zip file - see ldap/cm/Makefile
+endif


Index: nsperl.mk
===================================================================
RCS file: /cvs/dirsec/ldapserver/nsperl.mk,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- nsperl.mk	19 Apr 2005 22:06:42 -0000	1.4
+++ nsperl.mk	21 Oct 2005 19:21:04 -0000	1.5
@@ -39,8 +39,6 @@
 #
 
 NSPERL_RELDATE := 20020626
-NSPERL_VERSION := nsPerl5.6.1
-NSPERL_COMPONENT_DIR = $(COMPONENTS_DIR)/nsPerl/$(NSPERL_RELDATE)/$(NSOBJDIR_NAME_32)
 # default; will be redefined below for specific platform
 #PERL=$(NSPERL_COMPONENT_DIR)/lib/$(NSPERL_VERSION)/nsperl
 PERL=/share/builds/sbstools/nsPerl/$(NSPERL_RELDATE)/$(NSOBJDIR_NAME_32)/nsperl
@@ -55,66 +53,3 @@
 ifdef USE_PERL_FROM_PATH
 PERL = $(shell perl -e 'print "$$\n"')
 endif
-
-NSPERL_ZIP_FILE = nsperl561.zip
-
-# This makefile sets up the environment so that we can build and link
-# perl xsubs.  It assumes that you have a perl base directory that has
-# a bin and lib subdir and that which perl yields base dir/bin/perl[.exe]
-# also, this is only really necessary for NT, since this usually just
-# works in the NFS world of unix
-# for unix, we derive the paths from the Config information
-ifdef USE_OLD_NTPERL
-PERL_EXE = $(shell $(PERL) -e '($$foo = $$) =~ s@\\@/@g ; print "$$foo\n"')
-PERL_EXENT = $(subst \,/,$(PERL_EXE))
-PERL_BASEDIR = $(dir $(PERL_EXENT))
-PERL_ROOT = $(subst /bin/,,$(PERL_BASEDIR))
-IS_ACTIVESTATE = $(shell $(PERL) -v | grep -i activestate)
-else
-PERL_CONFIG = $(shell $(PERL) -e 'use Config; foreach $$item (qw(installprivlib installarchlib installsitelib installsitearch prefixexp)) { ($$foo = $$Config{$$item}) =~ s@\\@/@g ; print "$$foo "; } print "\\\n"')
-PERL_LIB = $(word 1, $(PERL_CONFIG))
-PERL_ARCHLIB = $(word 2, $(PERL_CONFIG))
-SITELIB = $(word 3, $(PERL_CONFIG))
-SITEARCH = $(word 4, $(PERL_CONFIG))
-PERL_ROOT = $(word 5, $(PERL_CONFIG))
-endif
-
-ifdef USE_OLD_NTPERL
-PERL_LIB = $(PERL_ROOT)/lib
-PERL_ARCHLIB = $(PERL_LIB)
-PERL_SITE = site
-SITELIB = $(PERL_ROOT)/$(PERL_SITE)/lib
-SITEARCH = $(SITELIB)
-endif
-
-INSTALLSITEARCH = $(SITEARCH)
-INSTALLSITELIB = $(SITELIB)
-SITEARCHEXP = $(SITEARCH)
-SITELIBEXP = $(SITELIB)
-XSUBPPDIR = $(PERL_LIB)/ExtUtils
-XSUBPP = $(XSUBPPDIR)/xsubpp
-XSPROTOARG =
-XSUBPPDEPS = $(XSUBPPDIR)/typemap
-XSUBPPARGS = -typemap $(XSUBPPDIR)/typemap
-PERL_INC = -I$(PERL_ARCHLIB)/CORE
-
-SITEHACK = $(subst $(PERL_ROOT)/,,$(SITELIB))
-ARCHHACK = $(subst $(PERL_ROOT)/,,$(PERL_ARCHLIB))
-
-ifeq ($(ARCH), WINNT)
-ifdef IS_ACTIVESTATE
-# C compilation/linking does not work for activestate; force C++
-PERL_CFLAGS = -TP -D_CONSOLE -DNO_STRICT -DPERL_OBJECT
-ifeq ($(DEBUG), full)
-PERL_CFLAGS += -DNDEBUG
-endif
-LIBPERL_A = /LIBPATH:$(PERL_ARCHLIB)/CORE perlCAPI.lib perlcore.lib PerlCRT.lib
-else
-LIBPERL_A = /LIBPATH:$(PERL_ARCHLIB)/CORE perl56.lib
-endif
-else
-ifeq ($(DEBUG), full)
-PERL_CFLAGS = -UDEBUG
-endif
-LIBPERL_A = -L$(PERL_ARCHLIB)/CORE -lperl
-endif




More information about the Fedora-directory-commits mailing list