[interchange-cvs] interchange - racke modified scripts/expire.PL

interchange-core@interchange.redhat.com interchange-core@interchange.redhat.com
Mon May 27 04:52:01 2002


User:      racke
Date:      2002-05-27 08:51:09 GMT
Modified:  scripts  expire.PL
Log:
merged changes 2.0.2.2 vs 2.0.2.3
+++ 2.0.2.3 +++
updated database setup, so it is now in sync now with interchange.PL
this fixes the problem where the expire script bailed out on
a VariableDatabase in SQL

Revision  Changes    Path
2.4       +66 -19    interchange/scripts/expire.PL


rev 2.4, prev_rev 2.3
Index: expire.PL
===================================================================
RCS file: /anon_cvs/repository/interchange/scripts/expire.PL,v
retrieving revision 2.3
retrieving revision 2.4
diff -u -r2.3 -r2.4
--- expire.PL	30 Mar 2002 12:18:31 -0000	2.3
+++ expire.PL	27 May 2002 08:51:09 -0000	2.4
@@ -50,7 +50,7 @@
 #
 # Interchange session expiration
 #
-# $Id: expire.PL,v 2.3 2002/03/30 12:18:31 racke Exp $
+# $Id: expire.PL,v 2.4 2002/05/27 08:51:09 racke Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -79,11 +79,6 @@
 
 use strict;
 use Fcntl;
-use Vend::Session;
-use Vend::Config qw(get_catalog_default global_config parse_time);
-use Vend::Util qw/errmsg/;
-use Getopt::Std;
-use vars qw/$opt_c $opt_r $opt_e $opt_f $opt_u $opt_v $opt_x/;
 
 BEGIN {
 	($Global::VendRoot = $ENV{MINIVEND_ROOT})
@@ -121,29 +116,81 @@
 #select a DBM
 
 BEGIN {
-	$Global::GDBM = $Global::DB_File = 0;
-    AUTO: {
-        last AUTO if
-            (defined $ENV{MINIVEND_DBFILE} and $Global::DB_File = 1);
-        last AUTO if
-            (defined $ENV{MINIVEND_NODBM});
-        eval {require GDBM_File and $Global::GDBM = 1} ||
-        eval {require DB_File and $Global::DB_File = 1};
-    }
+	$Global::GDBM = $Global::DB_File = $Global::SDBM =
+# LDAP
+	$Global::LDAP =
+# END LDAP
+# SQL
+	$Global::DBI =
+# END SQL
+	0;
+
+# SQL
+	# This is for standard DBI
+	eval {
+			die if $ENV{MINIVEND_NODBI};
+			require DBI and $Global::DBI = 1
+	};
+# END SQL
+# LDAP
+	eval {
+		die if $ENV{MINIVEND_NOLDAP};
+		require Net::LDAP and $Global::LDAP = 1
+	};
+# END LDAP
+
+	# Now can use any type of database
+	AUTO: {
+		last AUTO if 
+			(defined $ENV{MINIVEND_DBFILE} and $Global::DB_File = 1);
+		last AUTO if 
+			(defined $ENV{MINIVEND_SDBM} and $Global::SDBM = 1);
+		last AUTO if 
+			(defined $ENV{MINIVEND_NODBM});
+		eval {require GDBM_File and $Global::GDBM = 1};
+		last AUTO if 
+			(defined $ENV{MINIVEND_GDBM} and $Global::GDBM = 1);
+		last AUTO if
+				!   $ENV{MINIVEND_ALLDBM}
+				and $Global::GDBM;
+		eval {require DB_File and $Global::DB_File = 1};
+		last AUTO if
+				!   $ENV{MINIVEND_ALLDBM}
+				and $Global::GDBM || $Global::DB_File;
+		eval {require SDBM_File and $Global::SDBM = 1};
+	}
+
 	if($Global::GDBM) {
 		require Vend::Table::GDBM;
 		import GDBM_File;
 		$Global::GDBM = 1;
+		$Global::Default_database = 'GDBM'
+			unless defined $Global::Default_database;
 	}
-	elsif($Global::DB_File) {
+	if($Global::DB_File) {
 		require Vend::Table::DB_File;
 		import DB_File;
 		$Global::DB_File = 1;
+		$Global::Default_database = 'DB_FILE'
+			unless defined $Global::Default_database;
 	}
-	else {
-		die "Can't use expire without DBM sessions.\n";
-	}
+	if($Global::SDBM) {
+		require Vend::Table::SDBM;
+		import SDBM_File;
+		$Global::SDBM = 1;
+		$Global::Default_database = 'SDBM'
+			unless defined $Global::Default_database;
+	}
+	$Global::Default_database = 'MEMORY'
+			unless defined $Global::Default_database;
+	require Vend::Table::InMemory;
 }
+
+use Vend::Session;
+use Vend::Config qw(get_catalog_default global_config parse_time);
+use Vend::Util qw/errmsg/;
+use Getopt::Std;
+use vars qw/$opt_c $opt_r $opt_e $opt_f $opt_u $opt_v $opt_x/;
 
 sub logGlobal {  }
 sub logError  {  }