[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#532187: please mark bugs already closed by an upload in versioned view



* Bernhard R. Link <brlink@debian.org> [090608 19:37]:
> * Don Armstrong <don@debian.org> [090607 23:23]:
> > On Sun, 07 Jun 2009, Bernhard R. Link wrote:
> > > When a package is uploaded to unstable and not yet built and
> > > installed on all architectures, debugs output is quite confusing, as
> > > all bugs are still displayed as "Outstanding".
> >
> > This is because they are outstanding.
>
> At least the upload pending bugs are not suddenly more outstanding then
> before the upload.

If I understand the code correctly, then the pending tag seems to no longer
exists after closing the bug. No idea if not removing that now that
closed no longer means closed in another way to improve the situation
here.

> > If you want to look at the view
> > from a particular architecture (say the one you upload) apend
> > arch=i386 or arch=source or similar.
> 
> While it is possible to do this or to just remove the dist=unstable,
> it would be much nicer, if it would be something useful without extra
> intervention.
> 
> I think such a new "Outstanding on some architectures only" category
> would massively improve the current situation.

I've attached an patch that might do what I think it should do. I've
no idea how I can test debbugs and my perl is not that good, but the
changes needed seem to be relatively trivial.

Thanks in advance,
        Bernhard R. Link
=== modified file 'Debbugs/Status.pm'
--- Debbugs/Status.pm	2010-02-05 07:38:18 +0000
+++ Debbugs/Status.pm	2010-08-12 21:11:15 +0000
@@ -913,13 +913,14 @@
 	  @source_versions{@sourceversions} = (1) x @sourceversions;
 	  # If the bug has not been fixed in the versions actually
 	  # distributed, then it cannot be archived.
-	  if ('found' eq max_buggy(bug => $param{bug},
+	  my $max_buggy = max_buggy(bug => $param{bug},
 				   sourceversions => [keys %source_versions],
 				   found          => $status->{found_versions},
 				   fixed          => $status->{fixed_versions},
 				   version_cache  => $version_cache,
 				   package        => $status->{package},
-				  )) {
+				  );
+	  if ('found' eq $max_buggy or 'partly-fixed' eq $max_buggy) {
 	       print STDERR "Cannot archive $param{bug} because it's found\n" if $DEBUG;
 	       return $cannot_archive;
 	  }
@@ -1098,6 +1099,9 @@
 	  if ($presence eq 'fixed') {
 	       $status{pending} = 'done';
 	  }
+	  elsif ($presence eq 'partly-fixed') {
+	       $status{pending} = 'archmissing';
+	  }
 	  elsif ($presence eq 'absent') {
 	       $status{pending} = 'absent';
 	  }
@@ -1111,8 +1115,9 @@
                                  ...
                                 );
 
-Returns 'found', 'absent', 'fixed' or undef based on whether the bug
-is found, absent, fixed, or no information is available in the
+Returns 'found', 'absent', 'fixed', 'partly-fixed' or undef based on
+whether the bug is found, absent, fixed, found and fixed,
+or no information is available in the
 distribution (dist) and/or architecture (arch) specified.
 
 
@@ -1339,9 +1344,13 @@
 				 package => $package,
 				);
 	       if ($buggy eq 'found') {
-		    return 'found';
+		    $maxbuggy = 'found';
 	       } elsif ($buggy eq 'fixed') {
-		    $maxbuggy = 'fixed';
+		    if ($maxbuffy eq 'found') {
+		         $maxbuggy = 'partly-fixed';
+		    } else {
+		         $maxbuggy = 'fixed';
+		    }
 	       }
 	  }
      }

=== modified file 'cgi/common.pl'
--- cgi/common.pl	2007-06-26 17:44:40 +0000
+++ cgi/common.pl	2010-08-12 19:37:00 +0000
@@ -87,7 +87,7 @@
 );
 my @common_grouping = ( 'severity', 'pending' );
 my %common_grouping_order = (
-    'pending' => [ qw( pending forwarded pending-fixed fixed done absent ) ],
+    'pending' => [ qw( pending forwarded pending-fixed archmissing fixed done absent ) ],
     'severity' => \@gSeverityList,
 );
 my %common_grouping_display = (
@@ -102,6 +102,7 @@
 	"done"		=> "resolved",
 	"forwarded"	=> "forwarded to upstream software authors",
 	"absent"	=> "not applicable to this version",
+	"archmissing"	=> "outstanding one some architectures only",
     },
     'severity' => \%gSeverityDisplay,
 );

=== modified file 'cgi/pkgreport.cgi'
--- cgi/pkgreport.cgi	2010-04-16 17:06:52 +0000
+++ cgi/pkgreport.cgi	2010-08-12 21:03:15 +0000
@@ -196,8 +196,9 @@
     "status" => [ {
         "nam" => "Status",
         "pri" => [map { "pending=$_" }
-            qw(pending forwarded pending-fixed fixed done absent)],
+            qw(pending forwarded pending-fixed archmissing fixed done absent)],
         "ttl" => ["Outstanding","Forwarded","Pending Upload",
+                  "Resolved on some Architectures",
                   "Fixed in NMU","Resolved","From other Branch"],
         "def" => "Unknown Pending Status",
         "ord" => [0,1,2,3,4,5,6],


Reply to: