[Fedora-directory-commits] ldapserver/ldap/cm Makefile, 1.35, 1.36 fixSetupInf.pl, 1.6, 1.7

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


Author: rmeggins

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

Modified Files:
	Makefile fixSetupInf.pl 
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: Makefile
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/cm/Makefile,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- Makefile	4 Oct 2005 17:03:43 -0000	1.35
+++ Makefile	21 Oct 2005 19:21:12 -0000	1.36
@@ -185,6 +185,10 @@
 PACKAGE_STAGE_DIR=$(OBJDIR)/package
 endif
 
+ifdef INTERNAL_BUILD
+	PERLDAP := perldap
+endif
+
 # these are files and directories in the import adminsrv directory which we don't
 # make a local copy of, we just import directly into the tar file or create a
 # symlink to
@@ -565,29 +569,6 @@
 	$(PERL) -w fixPerlDAPInf.pl $(dir $@)/perldap.inf
 endif
 
-# this is the rule to pull nsPerl
-ifndef NSPERL_PULL_METHOD
-NSPERL_PULL_METHOD = FTP
-endif
-
-$(INSTDIR)/nsperl/$(NSPERL_ZIP_FILE):
-ifdef INTERNAL_BUILD
-	$(RM) $@
-	$(FTP_PULL) -method $(NSPERL_PULL_METHOD) \
-		-objdir $(dir $@) \
-		-componentdir $(NSPERL_COMPONENT_DIR) \
-		-files $(notdir $@),nsperl.inf
-	@if [ ! -f $@ ] ; \
-	then echo "Error: could not get component NSPERL file $@" ; \
-	exit 1 ; \
-	fi
-	$(PERL) -w fixNSPerlInf.pl $(dir $@)/nsperl.inf nsperl561
-# one more hack to nsperl - we must remove LDIF.pm because it
-# conflicts with the one in perldap - bug 600138
-# SITEHACK is defined in nsperl.mk
-#	$(ZIP) -d $(dir $@)/$(NSPERL_ZIP_FILE) lib/nsPerl5.6.1/$(SITEHACK)/Mozilla/LDAP/LDIF.pm
-endif
-
 $(INSTDIR)/slapd:
 	$(MKDIR) -p $@
 
@@ -597,7 +578,6 @@
 
 # ---THE UNIX PACKAGE---
 packageDirectory: $(INSTDIR)/slapd \
-	$(INSTDIR)/nsperl/$(NSPERL_ZIP_FILE) \
 	$(INSTDIR)/perldap/$(PERLDAP_ZIP_FILE) \
 	$(ADMSERV_DEP)
 
@@ -712,15 +692,15 @@
 # build the combined packages tar file; use h flag to follow symlinks
 ifdef BUILD_SHIP
 ifndef BUILD_PATCH
-	cd $(INSTDIR); $(TAR) cvfh - setup.inf setup slapd nsperl \
-	perldap dsktune $(ADMIN_IMPORTS) | gzip -f > $(BUILD_SHIP)/$(FTPNAMEGZ)
+	cd $(INSTDIR); $(TAR) cvfh - setup.inf setup slapd \
+	$(PERLDAP) dsktune $(ADMIN_IMPORTS) | gzip -f > $(BUILD_SHIP)/$(FTPNAMEGZ)
 endif
 ifeq ($(DEBUG), optimize)
 #	$(REMSH) "/u/svbld/bin/preRtm $(BUILD_SHIP) $(FTPNAMEGZ) svbld"
 endif
 else
-	cd $(INSTDIR); $(TAR) cvfh - setup.inf setup slapd nsperl \
-	perldap dsktune $(ADMIN_IMPORTS) | gzip -f > ../all$(NS_BUILD_FLAVOR).tar.gz
+	cd $(INSTDIR); $(TAR) cvfh - setup.inf setup slapd  \
+	$(PERLDAP) dsktune $(ADMIN_IMPORTS) | gzip -f > ../all$(NS_BUILD_FLAVOR).tar.gz
 endif # BUILD_SHIP
 #cp $(INSTDIR).tar.gz  $(BUILD_SHIP)
 #cp $(INSTDIR)/all$(NS_BUILD_FLAVOR).tar.gz  $(BUILD_SHIP)
@@ -891,8 +871,7 @@
 
 SLAPD_DIR=slapd
 
-_perl: $(INSTDIR)/nsperl/$(NSPERL_ZIP_FILE) \
-	$(INSTDIR)/perldap/$(PERLDAP_ZIP_FILE)
+_perl: $(INSTDIR)/perldap/$(PERLDAP_ZIP_FILE)
 
 # ------------------------- all below this line is packageDirectory --------------------------
 


Index: fixSetupInf.pl
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/cm/fixSetupInf.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- fixSetupInf.pl	19 Apr 2005 22:07:20 -0000	1.6
+++ fixSetupInf.pl	21 Oct 2005 19:21:12 -0000	1.7
@@ -65,10 +65,6 @@
 			$_ .= ", slapd";
 			$addedSlapd = 1;
 		}
-		if (! /nsperl/) {
-			$_ .= ", nsperl";
-			$addedNSperl = 1;
-		}
 		if (! /perldap/) {
 			$_ .= ", perldap";
 			$addedPerLDAP = 1;
@@ -99,11 +95,6 @@
 	print OUT "ComponentInfoFile = slapd/slapd.inf\n";
 }
 
-if ($addedNSperl) {
-	print OUT "\n[nsperl]\n";
-	print OUT "ComponentInfoFile = nsperl/nsperl.inf\n";
-}
-
 if ($addedPerLDAP) {
 	print OUT "\n[perldap]\n";
 	print OUT "ComponentInfoFile = perldap/perldap.inf\n";




More information about the Fedora-directory-commits mailing list