pkgsrc-Bulk archive

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

Re: top-ten patch



Min Sik Kim <minskim%NetBSD.org@localhost> wrote:
> On May 8, 2005, at 2:34 PM, Jan Schaumann wrote:

> >Attached find a patch to calculate and list the top-ten offenders in a
> >bulk-build.  I have used this in my last IRIX build for the
> >pkgsrc-2005Q1 branch, but since post-build has changed a bit for
> >pkgsrc-current, I'd like somebody else to test this before I commit  
> >it.
> >
> 
> I ran my recent Linux bulk build with the patch applied, but the  
> result doesn't include the top ten list.  It only has a link.

Hmm, strange.  I just finished another build (though from the branch),
and that worked fine, too.  Just to make sure, here's the patch that
applies to the branch -- it might need minor adjustment for -current.
Could you try to weave that into your mk/bulk/post-build and see if it
works?

If you still have all the build-results, then you don't actually need to
run a full bulk-build, but can just run post-build to see if it works
fine...

-Jan

-- 
Free Speech Online - Stop Internet Censorship
   --- Electronic Frontier Foundation -- http://www.eff.org ---
Index: post-build
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bulk/post-build,v
retrieving revision 1.48
diff -b -u -r1.48 post-build
--- post-build  23 Nov 2004 19:31:46 -0000      1.48
+++ post-build  13 May 2005 14:23:34 -0000
@@ -82,10 +82,10 @@
 
 $report_head = <<EOF;
 Package                    Breaks  Maintainer
---------------------------------------------------------------
+----------------------------------------------------------------------
 EOF
 $report_form = <<EOF;
-@<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<
+@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<
 $pkg                       $nbrokenby  $maintainer
 EOF
 
@@ -204,7 +204,7 @@
                '<td align="right" 
class="pkg-'.$state_style.'">'.$nbrokenby.'</td>'
                if $nbrokenby > 0;
 
-       if ($pinfo->{nerrors} != 0 && $verbose && $state eq "broken") {
+       if ($pinfo->{nerrors} != 0 && $verbose && ($state eq "broken" || $state 
eq "topten")) {
                print swrite($report_form, $pkg, $nbrokenby > 0 ? $nbrokenby : 
"", $maintainer);
        }
 
@@ -413,6 +413,7 @@
 <p>
   Jump to:<br/>
   <ul>
+    <li><a href="#topten">Top Ten Offenders</a></li>
     <li><a href="#broken">Broken packages</a></li>
     <li><a href="#broken depends">Broken dependencies</a></li>
     <li><a href="#not packaged">Not packaged</a></li>
@@ -422,19 +423,20 @@
 EOHTML
 
        my %state_head = (
+               "topten" => "Top Ten Offenders",
                "broken" => "Broken packages",
                "broken depends" => "Broken dependencies",
                "not packaged" => "Not packaged"
        );
 
-       # only include broken packages in the email, see also pkgResult().
-       if ($verbose && scalar(@{$broken->{"broken"}})) {
-               print "\n\n$state_head{broken}\n\n";
+       foreach my $state ("topten", "broken", "broken depends", "not 
packaged") {
+               next unless scalar(@{$broken->{$state}});
+               
+               if ($verbose && ($state eq "topten" || $state eq "broken")) {
+                       print "\n\n$state_head{$state}\n\n";
                print $report_head;
        }
 
-       foreach my $state ("broken", "broken depends", "not packaged") {
-               next unless scalar(@{$broken->{$state}});
 
                print HTML <<EOHTML;
 
@@ -532,6 +534,12 @@
                $res->{$state} = [ sort { $a->{pkg} cmp $b->{pkg} } 
@{$res->{$state}} ];
        }
 
+       $res->{"topten"} = [ sort { $b->{nbrokenby} <=> $a->{nbrokenby} } 
@{$res->{"broken"}} ];
+
+       for (my $count = $#{$res->{"topten"}}; $count >= 10; $count--) {
+               pop(@{$res->{"topten"}});
+       }
+
        return $res;
 }
 

Attachment: pgpczylDbVlVm.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index