[Fedora-directory-commits] ldapserver/ldap/admin/src/scripts template-db2index.pl, 1.4, 1.5

Noriko Hosoi (nhosoi) fedora-directory-commits at redhat.com
Thu Aug 25 21:17:51 UTC 2005


Author: nhosoi

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

Modified Files:
	template-db2index.pl 
Log Message:
[160003] db2index.pl cannot find libldap50.so if only certain parameters are used
In the perl script db2index.pl, before executing any ldap client command line
tools, should have chdir to the <dsroot>/shared/bin, where the rpath is set
from.



Index: template-db2index.pl
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/template-db2index.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- template-db2index.pl	19 Apr 2005 22:07:00 -0000	1.4
+++ template-db2index.pl	25 Aug 2005 21:17:48 -0000	1.5
@@ -40,21 +40,21 @@
 #
 
 sub usage {
-	print(STDERR "Usage: $0 [-v] -D rootdn { -w password | -w - | -j filename } \n");
-	print(STDERR "        -n instance [-t attributeName[:indextypes[:matchingrules]]]\n");
-	print(STDERR " Opts: -D rootdn          - Directory Manager\n");
-	print(STDERR "     : -w password        - Directory Manager's password\n");
-	print(STDERR "     : -w -               - Prompt for Directory Manager's password\n");
-	print(STDERR "     : -j filename        - Read Directory Manager's password from file\n");
-	print(STDERR "     : -n instance        - instance to be indexed\n");
-	print(STDERR "     : -t attributeName[:indextypes[:matchingrules]]\n");
-	print(STDERR "                          - attribute: name of the attribute to be indexed\n");
-	print(STDERR "                            If omitted, all the indexes defined \n");
-	print(STDERR "                            for that instance are generated.\n");
-	print(STDERR "                          - indextypes: comma separated index types\n");
-	print(STDERR "                          - matchingrules: comma separated matrules\n");
-	print(STDERR "                          Example: -t foo:eq,pres\n");
-	print(STDERR "     : -v                 - version\n");
+    print(STDERR "Usage: $0 [-v] -D rootdn { -w password | -w - | -j filename } \n");
+    print(STDERR "        -n instance [-t attributeName[:indextypes[:matchingrules]]]\n");
+    print(STDERR " Opts: -D rootdn          - Directory Manager\n");
+    print(STDERR "     : -w password        - Directory Manager's password\n");
+    print(STDERR "     : -w -               - Prompt for Directory Manager's password\n");
+    print(STDERR "     : -j filename        - Read Directory Manager's password from file\n");
+    print(STDERR "     : -n instance        - instance to be indexed\n");
+    print(STDERR "     : -t attributeName[:indextypes[:matchingrules]]\n");
+    print(STDERR "                          - attribute: name of the attribute to be indexed\n");
+    print(STDERR "                            If omitted, all the indexes defined \n");
+    print(STDERR "                            for that instance are generated.\n");
+    print(STDERR "                          - indextypes: comma separated index types\n");
+    print(STDERR "                          - matchingrules: comma separated matrules\n");
+    print(STDERR "                          Example: -t foo:eq,pres\n");
+    print(STDERR "     : -v                 - verbose\n");
 }
 
 $instance = "";
@@ -71,81 +71,81 @@
 $i = 0;
 while ($i <= $#ARGV) 
 {
-	if ("$ARGV[$i]" eq "-n")
-	{	
-		# instance
-		$i++; $instance = $ARGV[$i];
-	}
-	elsif ("$ARGV[$i]" eq "-D") 
-	{	
-		# Directory Manager
-		$i++; $rootdn = $ARGV[$i];
-	}
-	elsif ("$ARGV[$i]" eq "-w") 
-	{	
-		# Directory Manager's password
-		$i++; $passwd = $ARGV[$i];
-	} 
-	elsif ("$ARGV[$i]" eq "-j")
-	{
-		 # Read Directory Manager's password from a file
-		$i++; $passwdfile = $ARGV[$i];
-	}
-	elsif ("$ARGV[$i]" eq "-t") 
-	{	
-		# Attribute to index
-		$i++; $attribute_arg = $ARGV[$i];
-	}
-	elsif ("$ARGV[$i]" eq "-T") 
-	{	
-		# Vlvattribute to index
-		$i++; $vlvattribute_arg = $ARGV[$i];
-	}
-	elsif ("$ARGV[$i]" eq "-v") 
-	{	
-		# verbose
-		$verbose = 1;
-	}
-	else
-	{
-		&usage; exit(1);
-	}
-	$i++;
+    if ("$ARGV[$i]" eq "-n")
+    {    
+        # instance
+        $i++; $instance = $ARGV[$i];
+    }
+    elsif ("$ARGV[$i]" eq "-D") 
+    {    
+        # Directory Manager
+        $i++; $rootdn = $ARGV[$i];
+    }
+    elsif ("$ARGV[$i]" eq "-w") 
+    {    
+        # Directory Manager's password
+        $i++; $passwd = $ARGV[$i];
+    } 
+    elsif ("$ARGV[$i]" eq "-j")
+    {
+         # Read Directory Manager's password from a file
+        $i++; $passwdfile = $ARGV[$i];
+    }
+    elsif ("$ARGV[$i]" eq "-t") 
+    {    
+        # Attribute to index
+        $i++; $attribute_arg = $ARGV[$i];
+    }
+    elsif ("$ARGV[$i]" eq "-T") 
+    {    
+        # Vlvattribute to index
+        $i++; $vlvattribute_arg = $ARGV[$i];
+    }
+    elsif ("$ARGV[$i]" eq "-v") 
+    {    
+        # verbose
+        $verbose = 1;
+    }
+    else
+    {
+        &usage; exit(1);
+    }
+    $i++;
 }
 
 if ($passwdfile ne ""){
 # Open file and get the password
-	unless (open (RPASS, $passwdfile)) {
-		die "Error, cannot open password file $passwdfile\n";
-	}
-	$passwd = <RPASS>;
-	chomp($passwd);
-	close(RPASS);
+    unless (open (RPASS, $passwdfile)) {
+        die "Error, cannot open password file $passwdfile\n";
+    }
+    $passwd = <RPASS>;
+    chomp($passwd);
+    close(RPASS);
 } elsif ($passwd eq "-"){
 # Read the password from terminal
-	die "The '-w -' option requires an extension library (Term::ReadKey) which is not\n",
-	    "part of the standard perl distribution. If you want to use it, you must\n",
-	    "download and install the module. You can find it at\n",
-	    "http://www.perl.com/CPAN/CPAN.html\n";
+    die "The '-w -' option requires an extension library (Term::ReadKey) which is not\n",
+        "part of the standard perl distribution. If you want to use it, you must\n",
+        "download and install the module. You can find it at\n",
+        "http://www.perl.com/CPAN/CPAN.html\n";
 # Remove the previous line and uncomment the following 6 lines once you have installed Term::ReadKey module.
 # use Term::ReadKey; 
-#	print "Bind Password: ";
-#	ReadMode('noecho'); 
-#	$passwd = ReadLine(0); 
-#	chomp($passwd);
-#	ReadMode('normal');
+#    print "Bind Password: ";
+#    ReadMode('noecho'); 
+#    $passwd = ReadLine(0); 
+#    chomp($passwd);
+#    ReadMode('normal');
 }
 
 if ( $rootdn eq "" || $passwd eq "" ) 
 { 
-	&usage; 
-	exit(1); 
+    &usage; 
+    exit(1); 
 }
 
 $vstr = "";
 if ($verbose != 0) 
 { 
-	$vstr = "-v"; 
+    $vstr = "-v"; 
 }
 
 ($s, $m, $h, $dy, $mn, $yr, $wdy, $ydy, $r) = localtime(time);
@@ -154,74 +154,72 @@
 
 if ( $instance eq "" )
 {
-	&usage;
-	exit(1);
+    &usage;
+    exit(1);
 }
-else
+
+# No attribute name has been specified: let's get them from the configuration
+$attribute="";
+$indexes_list="";
+$vlvattribute="";
+$vlvindexes_list="";
+chdir("$dsroot{{SEP}}shared{{SEP}}bin");
+if ( $attribute_arg eq "" && $vlvattribute_arg eq "" )
 {
-    # No attribute name has been specified: let's get them from the configuration
-    $attribute="";
-    $indexes_list="";
-    $vlvattribute="";
-    $vlvindexes_list="";
-    if ( $attribute_arg eq "" && $vlvattribute_arg eq "" )
-    {
-        # Get the list of indexes from the entry
-        $indexes_list="$dsroot{{SEP}}shared{{SEP}}bin{{SEP}}ldapsearch $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -s one " .
-        "-b \"cn=index,cn=\"$instance\", cn=ldbm database,cn=plugins,cn=config\" \"(&(objectclass=*)(nsSystemIndex=false))\" cn";
-    
-        # build the values of the attribute nsIndexAttribute
-        open(LDAP1, "$indexes_list |");
-        while (<LDAP1>) {
-            s/\n //g;
-            if (/^cn: (.*)\n/) {
-                $IndexAttribute="nsIndexAttribute";
-                $attribute="$attribute$IndexAttribute: $1\n";
-            }
-        }
-        close(LDAP1);
-        if ( $attribute eq "" )
-        {
-            # No attribute to index, just exit
-            exit(0);
+    # Get the list of indexes from the entry
+    $indexes_list="$dsroot{{SEP}}shared{{SEP}}bin{{SEP}}ldapsearch $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -s one " .
+    "-b \"cn=index,cn=\"$instance\", cn=ldbm database,cn=plugins,cn=config\" \"(&(objectclass=*)(nsSystemIndex=false))\" cn";
+
+    # build the values of the attribute nsIndexAttribute
+    open(LDAP1, "$indexes_list |");
+    while (<LDAP1>) {
+        s/\n //g;
+        if (/^cn: (.*)\n/) {
+            $IndexAttribute="nsIndexAttribute";
+            $attribute="$attribute$IndexAttribute: $1\n";
         }
+    }
+    close(LDAP1);
+    if ( $attribute eq "" )
+    {
+        # No attribute to index, just exit
+        exit(0);
+    }
+
+    # Get the list of indexes from the entry
+    $vlvindexes_list="$dsroot{{SEP}}shared{{SEP}}bin{{SEP}}ldapsearch $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -s sub -b \"cn=\"$instance\", cn=ldbm database,cn=plugins,cn=config\" \"objectclass=vlvIndex\" cn";
 
-        # Get the list of indexes from the entry
-        $vlvindexes_list="$dsroot{{SEP}}shared{{SEP}}bin{{SEP}}ldapsearch $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -s sub -b \"cn=\"$instance\", cn=ldbm database,cn=plugins,cn=config\" \"objectclass=vlvIndex\" cn";
-    
-        # build the values of the attribute nsIndexVlvAttribute
-        open(LDAP1, "$vlvindexes_list |");
-        while (<LDAP1>) {
-            s/\n //g;
-            if (/^cn: (.*)\n/) {
-                $vlvIndexAttribute="nsIndexVlvAttribute";
-                $vlvattribute="$vlvattribute$vlvIndexAttribute: $1\n";
-            }
+    # build the values of the attribute nsIndexVlvAttribute
+    open(LDAP1, "$vlvindexes_list |");
+    while (<LDAP1>) {
+        s/\n //g;
+        if (/^cn: (.*)\n/) {
+            $vlvIndexAttribute="nsIndexVlvAttribute";
+            $vlvattribute="$vlvattribute$vlvIndexAttribute: $1\n";
         }
-        close(LDAP1);
     }
-    else
+    close(LDAP1);
+}
+else
+{
+    if ( $attribute_arg ne "" )
     {
-        if ( $attribute_arg ne "" )
-        {
-            $attribute="nsIndexAttribute: $attribute_arg\n";
-        }
-        if ( $vlvattribute_arg ne "" )
-        {
-            $vlvattribute="nsIndexVlvAttribute: $vlvattribute_arg\n";
-        }
+        $attribute="nsIndexAttribute: $attribute_arg\n";
+    }
+    if ( $vlvattribute_arg ne "" )
+    {
+        $vlvattribute="nsIndexVlvAttribute: $vlvattribute_arg\n";
     }
-    
-    # Build the task entry to add
-    
-    $dn = "dn: cn=$taskname, cn=index, cn=tasks, cn=config\n";
-    $misc = "changetype: add\nobjectclass: top\nobjectclass: extensibleObject\n";
-    $cn =  "cn: $taskname\n";
-    $nsinstance = "nsInstance: ${instance}\n";
-    
-    $entry = "${dn}${misc}${cn}${nsinstance}${attribute}${vlvattribute}";
 }
-chdir("$dsroot{{SEP}}shared{{SEP}}bin");
+
+# Build the task entry to add
+
+$dn = "dn: cn=$taskname, cn=index, cn=tasks, cn=config\n";
+$misc = "changetype: add\nobjectclass: top\nobjectclass: extensibleObject\n";
+$cn =  "cn: $taskname\n";
+$nsinstance = "nsInstance: ${instance}\n";
+
+$entry = "${dn}${misc}${cn}${nsinstance}${attribute}${vlvattribute}";
 open(FOO, "| $dsroot{{SEP}}shared{{SEP}}bin{{SEP}}ldapmodify $vstr -h {{SERVER-NAME}} -p {{SERVER-PORT}} -D \"$rootdn\" -w \"$passwd\" -a" );
 print(FOO "$entry");
 close(FOO);




More information about the Fedora-directory-commits mailing list