]> git.donarmstrong.com Git - wannabuild.git/commitdiff
Update BD-Problem even when the state does not change
authorJoachim Breitner <nomeata@debian.org>
Wed, 29 Jul 2009 22:49:50 +0000 (00:49 +0200)
committerJoachim Breitner <nomeata@debian.org>
Wed, 29 Jul 2009 22:49:50 +0000 (00:49 +0200)
bin/wanna-build

index 22af9fef83478824ecde361d660406f70ce617bf..669a93e8507b36ab82bfdfde3b891594f29d2ee6 100755 (executable)
@@ -2643,6 +2643,7 @@ sub call_edos_depcheck {
        my $change = 
            (defined $interesting_packages{$key} and $pkg->{'State'} eq 'Needs-Build') ||
            (not defined $interesting_packages{$key} and $pkg->{'State'} eq 'BD-Uninstallable');
+       my $problemchange = $interesting_packages{$key} ne $pkg->{'BD-Problem'};
        if ($change) {
            if (defined $interesting_packages{$key}) {
                    change_state( \$pkg, 'BD-Uninstallable' );
@@ -2650,10 +2651,19 @@ sub call_edos_depcheck {
            } else {
                    change_state( \$pkg, 'Needs-Build' );
            }
+       }
+       if ($problemchange) {
+           if (defined $interesting_packages{$key}) {
+                   $pkg->{'BD-Problem'} = $interesting_packages{$key};
+           }   
+       }
+       if ($change) {
            log_ta( $pkg, "--merge-all" );
-           $db{$key} = $pkg;
            print "edos-builddebchange changed state of ${key}_$pkg->{'Version'} to $pkg->{'State'}\n" if $verbose;
        }
+       if ($change || $problemchange) {
+           $db{$key} = $pkg;
+       }
     }
 }