]> git.donarmstrong.com Git - wannabuild.git/commitdiff
add_packages / generic version check:
authorAndreas Barth <aba@not.so.argh.org>
Sun, 24 Apr 2011 12:42:51 +0000 (12:42 +0000)
committerAndreas Barth <aba@not.so.argh.org>
Sun, 24 Apr 2011 12:42:51 +0000 (12:42 +0000)
+ binNMU-versions are accepted now as well
slurp set-uploaded fully into the generic state machine
binNMU_version: return correct version if there is no binNMU

bin/wanna-build
lib/WannaBuild.pm

index 39afe1b236232936fa9200d2a7289ba1587bb592..ebdbedee3cace05692575b43de254df29ea5e265 100755 (executable)
@@ -455,11 +455,10 @@ BEGIN {
         'set-building'  => { 'noversion' => 1, 'nopkgdef' => 1, },
         'set-built'     => { 'builder' => 1, to => 'Built', action => 'built', 'from' => [qw<Building Build-Attempted>]},
         'set-attempted' => { 'builder' => 1, to => 'Build-Attempted', action => 'attempted', 'from' => [qw<Building Build-Attempted>]},
-        'set-uploaded'  => { 'builder' => 1, 'noversion' => 1 },
+        'set-uploaded'  => { 'builder' => 1, to => 'Uploaded', action => 'uploaded', 'from' => [qw<Building Built Build-Attempted>], binversion => 1, },
         'set-failed'    => { 'builder' => 1, to => 'Failed', action => 'failed', from => [qw<Building Built Build-Attempted Dep-Wait Failed>], warnfrom => [qw<Needs-Build Uploaded Dep-Wait BD-Uninstallable>], },
         'set-dep-wait'  => { 'builder' => 1, warnfrom => [qw<Needs-Build Failed BD-Uninstallable>], },
         'set-update'    => { 'noversion' => 1, }
-
     };
 }
 
@@ -492,8 +491,9 @@ sub add_packages {
             }
         }
         if (!($actions->{$op_mode}) || !($actions->{$op_mode}->{'noversion'})) {
-            if ( !pkg_version_eq($pkg,$version)) {
-                print "$pkg->{package}: version mismatch ($pkg->{'version'}";
+            my $nmuver = binNMU_version($pkg->{version}, $pkg->{'binary_nmu_version'});
+            if ((!pkg_version_eq($pkg,$version) || $actions->{$op_mode}->{'binversion'}) && !version_eq( $nmuver, $version )) {
+                print "$pkg->{package}: version mismatch ($nmuver";
                 print " by $pkg->{'builder'}" if $pkg->{'builder'};
                 print ")\n";
                 next;
@@ -515,9 +515,6 @@ sub add_packages {
         if ($op_mode eq "set-building") {
             add_one_building( $name, $version, $pkg );
         }
-        elsif ($op_mode eq "set-uploaded") {
-            add_one_uploaded( $name, $version, $pkg );
-        }
         elsif ($op_mode eq "set-failed") {
            print "$pkg->{'package'}: already registered as failed; will append new message\n" if $pkg->{'state'} eq "Failed";
            $pkg->{'builder'} = $user;
@@ -719,43 +716,6 @@ sub add_one_building {
 }
 
 
-sub add_one_uploaded {
-       my $name = shift;
-       my $version = shift;
-       my $pkg = shift;
-
-       if ($pkg->{'state'} eq "Uploaded" &&
-               pkg_version_eq($pkg,$version)) {
-               print "$name: already uploaded\n";
-               return;
-       }
-       if (!isin( $pkg->{'state'}, qw(Building Built Build-Attempted))) {
-               print "$name: not taken for building (state is $pkg->{'state'}). ",
-                         "Skipping.\n";
-               return;
-       }
-       # strip epoch -- buildd-uploader used to go based on the filename.
-       # (to remove at some point)
-       my $pkgver;
-       ($pkgver = $pkg->{'version'}) =~ s/^\d+://;
-       $version =~ s/^\d+://; # for command line use
-       if ($pkg->{'binary_nmu_version'} ) {
-               my $nmuver = binNMU_version($pkgver, $pkg->{'binary_nmu_version'});
-               if (!version_eq( $nmuver, $version )) {
-                       print "$name: version mismatch ($nmuver registered). Skipping.\n";
-                       return;
-               }
-       } elsif (!version_eq($pkgver, $version)) {
-               print "$name: version mismatch ($pkg->{'version'} registered). Skipping.\n";
-               return;
-       }
-
-       change_state( \$pkg, 'Uploaded' );
-       log_ta( $pkg, "--uploaded" );
-       update_source_info($pkg);
-       print "$name: registered as uploaded\n" if $verbose;
-}
-
 sub add_one_notforus {
        my $pkg = shift;
        my $state = $pkg->{'state'};
index dab9a3b346276a813592e2cd44176a8211c943cf..05c3c359833e7dfb2aa79d119ae4f5c62a4c52d6 100644 (file)
@@ -170,7 +170,8 @@ sub binNMU_version {
        my $v = shift;
        my $binNMUver = shift;
 
-       return "$v+b$binNMUver";
+       return "$v+b$binNMUver" if $binNMUver;
+        return $v;
 }