[Fedora-directory-commits] ldapserver/ldap/admin/src Makefile, 1.13, 1.14 configure_instance.cpp, 1.7, 1.8 create_instance.c, 1.22, 1.23 ds_newinst.pl, 1.4, 1.5 ds_viewlog.pl, 1.4, 1.5 getConfigInfo, 1.4, 1.5 import2info, 1.4, 1.5 makemccvlvindexes, 1.4, 1.5 makevlvindex, 1.4, 1.5 makevlvsearch, 1.4, 1.5 migrateInstance, 1.4, 1.5 migrateLocalDB, 1.4, 1.5 migratePwdFile, 1.4, 1.5 migrateTo4, 1.5, 1.6 migratedsgw, 1.4, 1.5 ns-newpwpolicy.pl, 1.4, 1.5 updatedsgw, 1.6, 1.7 upgradeServer, 1.6, 1.7 AddPerlHeader.pl, 1.4, NONE Base.def, 1.5, NONE Base.pm, 1.4, NONE CreateInstall.pl, 1.4, NONE DSAdmin.def, 1.4, NONE DSAdmin.mk, 1.7, NONE DSAdmin.pm, 1.5, NONE DSAdmin.xs, 1.4, NONE Inf.pm, 1.4, NONE

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


Author: rmeggins

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

Modified Files:
	Makefile configure_instance.cpp create_instance.c 
	ds_newinst.pl ds_viewlog.pl getConfigInfo import2info 
	makemccvlvindexes makevlvindex makevlvsearch migrateInstance 
	migrateLocalDB migratePwdFile migrateTo4 migratedsgw 
	ns-newpwpolicy.pl updatedsgw upgradeServer 
Removed Files:
	AddPerlHeader.pl Base.def Base.pm CreateInstall.pl DSAdmin.def 
	DSAdmin.mk DSAdmin.pm DSAdmin.xs Inf.pm 
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/admin/src/Makefile,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Makefile	3 Oct 2005 19:53:52 -0000	1.13
+++ Makefile	21 Oct 2005 19:21:10 -0000	1.14
@@ -348,10 +348,12 @@
 $(BINDIR)/%: %
 	-@$(RM) $@
 	$(CP) $< $@
+	chmod +x $@
 
 $(LDAP_SERVER_RELDIR)/%: % $(LDAP_SERVER_RELDIR)
 	-@$(RM) $@
 	$(CP) $< $@
+	chmod +x $@
 
 $(INST_INCLUDES): install_keywords.h
 	-@$(RM) $@
@@ -360,3 +362,4 @@
 $(SCRIPTSDIR)/template-%: scripts/template-% $(SCRIPTSDIR)
 	-@$(RM) $@
 	$(CP) $< $@
+	chmod +x $@


Index: configure_instance.cpp
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/configure_instance.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- configure_instance.cpp	19 Apr 2005 22:06:55 -0000	1.7
+++ configure_instance.cpp	21 Oct 2005 19:21:10 -0000	1.8
@@ -1964,5 +1964,60 @@
 	}
 	while (ldapent.next() == OKAY);				
 
+	// we no longer use nsperl - any CGIs which we used to invoke via perl?perlscript
+	// are now invoked directly by making the perl script executable - we need to
+	// search for all nsexecref: perl?perlscript and replace them with
+	// nsexecref: perlscript
+	filter = NSString("(nsexecref=perl*)");
+	scope = LDAP_SCOPE_SUBTREE;
+	baseDN = name_netscaperootDN;
+
+	ldapent.clear();
+	le = ldapent.retrieve(filter, scope, baseDN);
+	if (le != OKAY)
+	{
+		if (le == NOT_FOUND) {
+			dsLogMessage(SETUP_LOG_INFO, "Slapd",
+						 "No old nsperl references found");
+		} else {
+			dsLogMessage(SETUP_LOG_FATAL, "Slapd",
+						 "ERROR: Could not find old nsperl references\n"
+						 "URL %s user id %s DN %s (%d:%s)",
+						 installInfo->get(SLAPD_KEY_K_LDAP_URL),
+						 installInfo->get(SLAPD_KEY_SERVER_ADMIN_ID),
+						 (const char *)baseDN,
+						 le.errorCode(), le.msg()); 
+			return le.errorCode();
+		}
+	} else {
+		do
+		{
+			LdapEntry repEntry(ldapent.ldap());
+			repEntry.retrieve(ldapent.entryDN());
+			char *val = repEntry.getAttribute("nsexecref");
+			const char *ptr = 0;
+			if (val && *val && (ptr = strstr(val, "perl?"))) {
+				ptr = strchr(ptr, '?');
+				ptr++;
+				NSString newscript = NSString(ptr);
+				repEntry.setAttribute("nsexecref", newscript);
+			}
+			
+			le = repEntry.replace(repEntry.entryDN());
+			if (le != OKAY)
+			{
+				dsLogMessage(SETUP_LOG_FATAL, "Slapd",
+							 "ERROR: Could not fix old nsperl reference\n"
+							 "URL %s user id %s DN %s (%d:%s)" ,
+							 installInfo->get(SLAPD_KEY_K_LDAP_URL),
+							 installInfo->get(SLAPD_KEY_SERVER_ADMIN_ID),
+							 (const char *)repEntry.entryDN(),
+							 le.errorCode(), le.msg()); 
+				return le.errorCode();
+			}
+		}
+		while (ldapent.next() == OKAY);
+	}
+
 	return 0;
 }


Index: create_instance.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/create_instance.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- create_instance.c	6 Sep 2005 21:15:14 -0000	1.22
+++ create_instance.c	21 Oct 2005 19:21:10 -0000	1.23
@@ -765,9 +765,13 @@
             FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
             FILE_PATHSEP, name);
     PR_snprintf(fn, sizeof(fn), "%s%c%s", cs_path, FILE_PATHSEP, name);
+#ifdef USE_NSPERL
     PR_snprintf(myperl, sizeof(myperl), "!%s%cbin%cslapd%cadmin%cbin%cperl",
             s_root, FILE_PATHSEP, FILE_PATHSEP,
             FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
+#else
+	strcpy(myperl, "!/usr/bin/env perl");
+#endif
 
     table[0][0] = "DS-ROOT";
     table[0][1] = s_root;
@@ -812,9 +816,13 @@
             FILE_PATHSEP, name);
     PR_snprintf(fn, sizeof(fn), "%s%cbin%cslapd%cadmin%cbin%c%s", s_root, FILE_PATHSEP, 
             FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, name);
+#ifdef USE_NSPERL
     PR_snprintf(myperl, sizeof(myperl), "!%s%cbin%cslapd%cadmin%cbin%cperl",
             s_root, FILE_PATHSEP, FILE_PATHSEP,
             FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
+#else
+	strcpy(myperl, "!/usr/bin/env perl");
+#endif
 
     table[0][0] = "DS-ROOT";
     table[0][1] = s_root;


Index: ds_newinst.pl
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/ds_newinst.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ds_newinst.pl	19 Apr 2005 22:06:55 -0000	1.4
+++ ds_newinst.pl	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,3 +1,4 @@
+#!/usr/bin/env perl
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under
 # the terms of the GNU General Public License as published by the Free Software


Index: ds_viewlog.pl
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/ds_viewlog.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ds_viewlog.pl	19 Apr 2005 22:06:55 -0000	1.4
+++ ds_viewlog.pl	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: getConfigInfo
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/getConfigInfo,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- getConfigInfo	19 Apr 2005 22:06:55 -0000	1.4
+++ getConfigInfo	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: import2info
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/import2info,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- import2info	19 Apr 2005 22:06:55 -0000	1.4
+++ import2info	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: makemccvlvindexes
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/makemccvlvindexes,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- makemccvlvindexes	19 Apr 2005 22:06:55 -0000	1.4
+++ makemccvlvindexes	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: makevlvindex
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/makevlvindex,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- makevlvindex	19 Apr 2005 22:06:55 -0000	1.4
+++ makevlvindex	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: makevlvsearch
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/makevlvsearch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- makevlvsearch	19 Apr 2005 22:06:55 -0000	1.4
+++ makevlvsearch	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: migrateInstance
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/migrateInstance,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- migrateInstance	19 Apr 2005 22:06:55 -0000	1.4
+++ migrateInstance	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: migrateLocalDB
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/migrateLocalDB,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- migrateLocalDB	19 Apr 2005 22:06:55 -0000	1.4
+++ migrateLocalDB	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: migratePwdFile
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/migratePwdFile,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- migratePwdFile	19 Apr 2005 22:06:55 -0000	1.4
+++ migratePwdFile	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: migrateTo4
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/migrateTo4,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- migrateTo4	19 Apr 2005 22:06:55 -0000	1.5
+++ migrateTo4	21 Oct 2005 19:21:10 -0000	1.6
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: migratedsgw
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/migratedsgw,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- migratedsgw	19 Apr 2005 22:06:55 -0000	1.4
+++ migratedsgw	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: ns-newpwpolicy.pl
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/ns-newpwpolicy.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ns-newpwpolicy.pl	19 Apr 2005 22:06:55 -0000	1.4
+++ ns-newpwpolicy.pl	21 Oct 2005 19:21:10 -0000	1.5
@@ -1,4 +1,4 @@
-# perl script
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under
@@ -39,6 +39,28 @@
 # END COPYRIGHT BLOCK
 #
 
+# enable the use of our bundled perldap with our bundled ldapsdk libraries
+# all of this nonsense can be omitted if the mozldapsdk and perldap are
+# installed in the operating system locations (e.g. /usr/lib /usr/lib/perl5)
+BEGIN {
+	my $savedir = `pwd`;
+	my $dirname = `dirname $0`;
+	chdir $dirname;
+	my $sroot = `pwd`;
+	$sroot =~ s@/slapd-.*@@;
+	chomp($sroot);
+	chdir $savedir;
+	push @INC, "$sroot/lib/perl/arch", "$sroot/lib/perl";
+	if ($ENV{LD_LIBRARY_PATH}) {
+		$ENV{LD_LIBRARY_PATH} .= ":";
+	}
+	$ENV{LD_LIBRARY_PATH} .= "$sroot/shared/lib";
+	# this is only needed for HP/ux PA-RISC, but it doesn't hurt other platforms
+	if ($ENV{SHLIB_PATH}) {
+		$ENV{SHLIB_PATH} .= ":";
+	}
+	$ENV{SHLIB_PATH} .= "$sroot/shared/lib";
+}
 # Add new password policy specific entries
 
 #############################################################################


Index: updatedsgw
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/updatedsgw,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- updatedsgw	19 Apr 2005 22:06:55 -0000	1.6
+++ updatedsgw	21 Oct 2005 19:21:10 -0000	1.7
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under


Index: upgradeServer
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/upgradeServer,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- upgradeServer	7 Sep 2005 00:54:20 -0000	1.6
+++ upgradeServer	21 Oct 2005 19:21:10 -0000	1.7
@@ -1,4 +1,4 @@
-#!perl
+#!/usr/bin/env perl
 #
 # BEGIN COPYRIGHT BLOCK
 # This Program is free software; you can redistribute it and/or modify it under
@@ -266,7 +266,7 @@
       last; # not found, just abort
     }
     if ($inClEntry && /^nsslapd-changelogdir:\s*/i) {
-      $clDir = $';
+      $clDir = $'; #'
       chomp($clDir);
       last;
     }
@@ -407,6 +407,48 @@
   return $version;
 }
 
+sub instantiate_new_package_scripts {
+
+  my @newtemplates = (
+    "$sroot/bin/slapd/admin/scripts/template-cl-dump.pl",
+    "$sroot/bin/slapd/admin/scripts/template-migrate5to7",
+    "$sroot/bin/slapd/admin/scripts/template-migrate6to7",
+    "$sroot/bin/slapd/admin/scripts/template-migrateInstance7",
+    "$sroot/bin/slapd/admin/scripts/template-migrateTo4",
+    "$sroot/bin/slapd/admin/scripts/template-migrateTo7",
+    "$sroot/bin/slapd/admin/scripts/template-repl-monitor-cgi.pl",
+  );
+
+  foreach $src ( @newtemplates ) {
+    $dest = "$sroot/bin/slapd/admin/bin/$1" if $src =~ /.*template-(.*)$/;
+	# repl mon cgi script goes in bin/admin/admin/bin
+	if ($src =~ /repl-monitor-cgi.pl/) {
+		$dest =~ s@/bin/slapd/admin/bin/@/bin/admin/admin/bin/@;
+	}
+    unless ( open ( template, $src )) {
+      print "Can't open $src: $!\n";
+      next;
+    }
+    unless ( open ( target, ">$dest" )) {
+      print "Can't open $dest: $!\n";
+	  close template;
+      next;
+    }
+    while ( <template> ) {
+      s#{{PERL-EXEC}}#!/usr/bin/env perl#g;
+      s#{{DS-ROOT}}#$sroot#g;
+      s#{{SEP}}#${PS}#g;
+      print target;
+    }
+    close template;
+    close target;
+
+	chmod 0755, $dest;  
+  }
+
+  return 0;
+}
+
 #
 # Some scripts generated by create_instance may not
 # get generated during in-place upgrade. This function
@@ -418,8 +460,18 @@
 #
 sub instantiate_new_scripts {
 
-  @newtemplates = (
-    "$sroot/bin/slapd/admin/scripts/template-db2index.pl"
+  my @newtemplates = (
+    "$sroot/bin/slapd/admin/scripts/template-verify-db.pl",
+    "$sroot/bin/slapd/admin/scripts/template-db2index.pl",
+    "$sroot/bin/slapd/admin/scripts/template-bak2db.pl",
+    "$sroot/bin/slapd/admin/scripts/template-db2bak.pl",
+    "$sroot/bin/slapd/admin/scripts/template-db2ldif.pl",
+    "$sroot/bin/slapd/admin/scripts/template-dsml-activate.pl",
+    "$sroot/bin/slapd/admin/scripts/template-ldif2db.pl",
+    "$sroot/bin/slapd/admin/scripts/template-ns-accountstatus.pl",
+    "$sroot/bin/slapd/admin/scripts/template-ns-activate.pl",
+    "$sroot/bin/slapd/admin/scripts/template-ns-inactivate.pl",
+    "$sroot/bin/slapd/admin/scripts/template-ns-newpwpolicy.pl"
   );
 
   $host = localhost;
@@ -444,7 +496,7 @@
       next;
     }
     while ( <template> ) {
-      s#{{PERL-EXEC}}#!$sroot/bin/slapd/admin/bin/perl#g;
+      s#{{PERL-EXEC}}#!/usr/bin/env perl#g;
       s#{{DS-ROOT}}#$sroot#g;
       s#{{SEP}}#${PS}#g;
       s#{{ROOT-DN}}#$rootdn#g;
@@ -460,20 +512,28 @@
 }
 
 # copy schema is safe even if same version
-copy_schema_files;
+copy_schema_files if ($prefix);
 
 # modify only if necessary
-modify_dse_ldif;
+modify_dse_ldif if ($prefix);
 
 # fix changelog is safe even if same version - no op
-my $clDir = get_changelog_dir;
-if ($clDir && -d $clDir) {
-  my $oldclversion = getChangelogVersion($clDir);
-  my $clversion = "2.0"; # with DS 6.1
-
-  if ($oldclversion < $clversion) {
-  fix_changelog($clDir, $clversion);
-  }
+if ($prefix) {
+	my $clDir = get_changelog_dir;
+	if ($clDir && -d $clDir) {
+		my $oldclversion = getChangelogVersion($clDir);
+		my $clversion = "2.0"; # with DS 6.1
+		
+		if ($oldclversion < $clversion) {
+			fix_changelog($clDir, $clversion);
+		}
+	}
+}
+
+# fix instance specific scripts
+if ($prefix) {
+	instantiate_new_scripts ();
+} else {
+# fix non instance specific (package) scripts
+	instantiate_new_package_scripts ();
 }
-
-instantiate_new_scripts ();


--- AddPerlHeader.pl DELETED ---


--- Base.def DELETED ---


--- Base.pm DELETED ---


--- CreateInstall.pl DELETED ---


--- DSAdmin.def DELETED ---


--- DSAdmin.mk DELETED ---


--- DSAdmin.pm DELETED ---


--- DSAdmin.xs DELETED ---


--- Inf.pm DELETED ---




More information about the 389-commits mailing list