[interchange-cvs] interchange - heins modified 2 files

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Wed Feb 5 18:02:00 2003


User:      heins
Date:      2003-02-05 23:01:27 GMT
Modified:  code/UI_Tag version.coretag
Modified:  dist/lib/UI/pages/admin index.html
Log:
* Check for SQL::Statement version (with hooks for testing any version,
  lower or higher) at admin index load time, and provide warning that
  things won't work properly.

Revision  Changes    Path
1.5       +29 -1     interchange/code/UI_Tag/version.coretag


rev 1.5, prev_rev 1.4
Index: version.coretag
===================================================================
RCS file: /var/cvs/interchange/code/UI_Tag/version.coretag,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- version.coretag	27 Sep 2002 05:19:09 -0000	1.4
+++ version.coretag	5 Feb 2003 23:01:27 -0000	1.5
@@ -154,6 +154,8 @@
                     URI::URL                URI::URL
 
 				/);
+		my %l_than = ('SQL::Statement' => '0.1021');
+		my %g_than = ('SQL::Statement' => '0.1021');
 		my %info = (
 				'Safe::Hole'    => 'IMPORTANT: SQL and some tags will not work in embedded Perl.',
 				'SQL::Statement'=> 'IMPORTANT: UI Database editors will not work properly.',
@@ -199,13 +201,39 @@
 
 		);
 		foreach my $name ( sort keys %wanted) {
+			no strict 'refs';
 			eval "require $name";
 			if($@) {
 				my $info = errmsg($info{$name} || "May affect program operation.");
 				push @out, "$name " . errmsg('not found') . ". $info"
 			}
+			elsif($l_than{$name}) {
+				my $ver = ${"${name}::VERSION"};
+				$ver =~ s/^(\d+\.\d+)\..*/$1/;
+				if($ver > $l_than{$name}) {
+					my $info = errmsg($info{$name} || "May affect program operation.");
+					my $ex = errmsg(
+								'%s too high a version, need %s or lower',
+								$ver,
+								$l_than{$name},
+							);
+					push @out, "$name $ex. $info";
+				}
+			}
+			elsif($g_than{$name}) {
+				my $ver = ${"${name}::VERSION"};
+				$ver =~ s/^(\d+\.\d+)\..*/$1/;
+				if($ver < $g_than{$name}) {
+					my $info = errmsg($info{$name} || "May affect program operation.");
+					my $ex = errmsg(
+								'%s too low a version, need %s or higher',
+								$ver,
+								$g_than{$name},
+							);
+					push @out, "$name $ex. $info";
+				}
+			}
 			else {
-				no strict 'refs';
 				my $ver = ${"$name" . "::VERSION"};
 				$ver = $ver ? "v$ver" : 'no version info';
 				push @out, "$name " . errmsg('found') . " ($ver).";



2.11      +1 -1      interchange/dist/lib/UI/pages/admin/index.html


rev 2.11, prev_rev 2.10
Index: index.html
===================================================================
RCS file: /var/cvs/interchange/dist/lib/UI/pages/admin/index.html,v
retrieving revision 2.10
retrieving revision 2.11
diff -u -r2.10 -r2.11
--- index.html	14 Jan 2003 02:25:50 -0000	2.10
+++ index.html	5 Feb 2003 23:01:27 -0000	2.11
@@ -71,7 +71,7 @@
 	my $data = q{[version extended=1 modules=1 joiner="<P>"]};
 	$dbstatus = q{[version extended=1 modtest="GDBM_File"][version extended=1 modtest="DB_File"]};
 	return unless $data =~ /IMPORTANT/ or $dbstatus < 1;
-	my @lines = grep /not\s+found/, split '<P>', $data;
+	my @lines = grep /not\s+found|IMPORTANT/, split /<P>/, $data;
 	my @important = grep /IMPORTANT/, @lines;
 	my @minor = grep $_ !~ /IMPORTANT/, @lines;
 	my $imp = join '<P>', @important;