[Rt-commit] rt branch, 3.8-trunk, updated. rt-3.8.7-353-gd10b128

Ruslan Zakirov ruz at bestpractical.com
Tue Apr 20 16:38:59 EDT 2010


The branch, 3.8-trunk has been updated
       via  d10b128ed7f2ecd44396329d8f6cffe1d7962dc6 (commit)
       via  1f0c8c2bce0b46cd20e96190a4d8aedb8111c153 (commit)
       via  4d739e5d8b38b360a712a2a4bfd57e0a707963a0 (commit)
       via  fa170bdc0fa9d742e361f8916994fcd59810a698 (commit)
       via  61234d10be21f1bc82cdf3c4dc8990bf4ecfaa25 (commit)
      from  5fc7de4b1c8d4d5e03b96d140a7e228f5f7fc485 (commit)

Summary of changes:
 sbin/rt-test-dependencies.in |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)

- Log -----------------------------------------------------------------
commit 61234d10be21f1bc82cdf3c4dc8990bf4ecfaa25
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Apr 21 00:32:17 2010 +0400

    return scalar on error unless array wanted
    
    in after fix check we call the function in scalar context

diff --git a/sbin/rt-test-dependencies.in b/sbin/rt-test-dependencies.in
index f6261fe..937d608 100755
--- a/sbin/rt-test-dependencies.in
+++ b/sbin/rt-test-dependencies.in
@@ -439,8 +439,9 @@ sub test_dep {
     }
     else {
         eval "use $module $version ()";
-        if ($@) {
-            my $error = $@;
+        if ( my $error = $@ ) {
+            return 0 unless wantarray;
+
             $error =~ s/\n(.*)$//s;
             $error =~ s/at \(eval \d+\) line \d+\.$//;
             undef $error unless $error =~ /this is only/;

commit fa170bdc0fa9d742e361f8916994fcd59810a698
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Apr 21 00:33:45 2010 +0400

    s/if/unless/ - it was reversed logic
    
    we want to show errors when those are not related to version
    check, for example compilation errors

diff --git a/sbin/rt-test-dependencies.in b/sbin/rt-test-dependencies.in
index 937d608..c7051f4 100755
--- a/sbin/rt-test-dependencies.in
+++ b/sbin/rt-test-dependencies.in
@@ -444,7 +444,7 @@ sub test_dep {
 
             $error =~ s/\n(.*)$//s;
             $error =~ s/at \(eval \d+\) line \d+\.$//;
-            undef $error unless $error =~ /this is only/;
+            undef $error if $error =~ /this is only/;
 
             return ( 0, $error );
         }

commit 4d739e5d8b38b360a712a2a4bfd57e0a707963a0
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Apr 21 00:36:11 2010 +0400

    don't show version when error is not minimum version check failure

diff --git a/sbin/rt-test-dependencies.in b/sbin/rt-test-dependencies.in
index c7051f4..1864cf0 100755
--- a/sbin/rt-test-dependencies.in
+++ b/sbin/rt-test-dependencies.in
@@ -147,7 +147,8 @@ sub conclude {
             for my $name ( keys %$missing ) {
                 my $module  = $missing->{$name};
                 my $version = $module->{version};
-                print_found( $name . ( $version ? " >= $version" : "" ),
+                my $error = $module->{error};
+                print_found( $name . ( $version && !$error ? " >= $version" : "" ),
                     0, $module->{error} );
             }
         }

commit 1f0c8c2bce0b46cd20e96190a4d8aedb8111c153
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Apr 21 00:37:19 2010 +0400

    third argument "avoid" in test_dep function

diff --git a/sbin/rt-test-dependencies.in b/sbin/rt-test-dependencies.in
index 1864cf0..b525bc3 100755
--- a/sbin/rt-test-dependencies.in
+++ b/sbin/rt-test-dependencies.in
@@ -434,6 +434,7 @@ sub test_deps {
 sub test_dep {
     my $module = shift;
     my $version = shift;
+    my $avoid = shift;
 
     if ( $args{'list-deps'} ) {
         print $module, ': ', $version || 0, "\n"; 
@@ -449,9 +450,16 @@ sub test_dep {
 
             return ( 0, $error );
         }
-        else {
-            return 1;
+        
+        if ( $avoid ) {
+            my $version = $module->VERSION;
+            if ( grep $version eq $_, @$avoid ) {
+                return 0 unless wantarray;
+                return (0, "It's known that there are problems with RT and version '$version' of '$module' module. If it's the latest available version of the module then you have to downgrade manually.");
+            }
         }
+
+        return 1;
     }
 }
 

commit d10b128ed7f2ecd44396329d8f6cffe1d7962dc6
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Apr 21 00:38:22 2010 +0400

    pass avoid argument and avoid DBD::Oracle 1.22

diff --git a/sbin/rt-test-dependencies.in b/sbin/rt-test-dependencies.in
index b525bc3..f003341 100755
--- a/sbin/rt-test-dependencies.in
+++ b/sbin/rt-test-dependencies.in
@@ -380,8 +380,11 @@ GD::Graph
 GD::Text
 .
 
-if ($args{'download'}) {
+my %AVOID = (
+    'DBD::Oracle' => [qw(1.22)],
+);
 
+if ($args{'download'}) {
     download_mods();
 }
 
@@ -405,7 +408,8 @@ foreach my $type (sort grep $args{$_}, keys %args) {
     if ( $args{'install'} ) {
         for my $module (keys %missing) {
             resolve_dep($module, $missing{$module}{version});
-            delete $missing{$module} if test_dep($module, $missing{$module}{version});
+            delete $missing{$module}
+                if test_dep($module, $missing{$module}{version}, $AVOID{$module});
         }
     }
 
@@ -421,8 +425,8 @@ sub test_deps {
     while(@deps) {
         my $module = shift @deps;
         my $version = shift @deps;
-        my($test, $error) = test_dep($module, $version);
-        my $msg = $module . ($version ? " >= $version" : '');
+        my($test, $error) = test_dep($module, $version, $AVOID{$module});
+        my $msg = $module . ($version && !$error ? " >= $version" : '');
         print_found($msg, $test, $error);
 
         $missing{$module} = { version => $version, error => $error } unless $test;

-----------------------------------------------------------------------


More information about the Rt-commit mailing list