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

Bug#491574: DDPO: Lintian Column



tags 491574 +patch
thanks

I have attached a patch that implements this feature.

Regards,
Bradley Smith

-- 
Bradley Smith  <brad@brad-smith.co.uk>                  GPG: 0xC718D347
diff --git a/wml/developer.wml b/wml/developer.wml
index c9d5c8d..663bb6e 100644
--- a/wml/developer.wml
+++ b/wml/developer.wml
@@ -79,6 +79,7 @@ if (!empty($_COOKIE['columnsinfo']) and ($_GET['reset'] != 'yes'))
                           bin => 1,
                           buildd => 1,
                           problems => 1,
+                          lintian => 1,
                           popc => 1,
                           section => 1,
                           ordering => 0,
@@ -230,6 +231,7 @@ function print_header_entries_top($login, $key, $name)
         $display_table_th .= html_th("Binary" . html_br() . "Package","&amp;bin=");
         $display_table_th .= html_th("Buildd","&amp;buildd=");
         $display_table_th .= html_th("Debcheck","&amp;problems=");
+        $display_table_th .= html_th("Lintian","&amp;lintian=");
         $display_table_th .= html_th("Popcon","&amp;popc=");
         $display_table_th .= html_th("Watch","&amp;watch=");
         $display_table_th .= html_th("Section","&amp;section=");
@@ -243,6 +245,7 @@ function print_header_entries_top($login, $key, $name)
         $display_table_tds .= html_td(checkbox('bin'));
         $display_table_tds .= html_td(checkbox('buildd'));
         $display_table_tds .= html_td(checkbox('problems'));
+        $display_table_tds .= html_td(checkbox('lintian'));
         $display_table_tds .= html_td(checkbox('popc'));
         $display_table_tds .= html_td(checkbox('watch'));
         $display_table_tds .= html_td(checkbox('section'));
@@ -655,7 +658,7 @@ function format_version($package, $version, $class)
 /*
  This function prints a package table information row
 */
-function print_package_entry($branch, $package, $uploader, $back_tr_color)
+function print_package_entry($branch, $package, $uploader, $back_tr_color, $login)
 {
     global $prefix;
     global $dists;
@@ -945,6 +948,30 @@ function print_package_entry($branch, $package, $uploader, $back_tr_color)
         $line .= html_td($stable_dep) . html_td($testing_dep) . html_td($sid_dep);
     }
 
+    if(isdisplayed('lintian'))
+    {
+        $lintian_file = file("/org/qa.debian.org/data/lintian-list.txt");
+        foreach ($lintian_file as $fline) {
+            if (strpos($fline, $package . " ") === 0) {
+                list($dummy, $errors, $warnings) = split(" ", $fline);
+                break;
+            }
+        }
+
+        $ulogin = urlencode($login);
+        $lintianurl = "http://lintian.debian.org/reports/maintainer/$ulogin.html#$package";;
+
+        if($errors)
+            $line .= html_td(html_a($errors, $lintianurl));
+        else
+            $line .= html_td(html_a("-", $lintianurl, "dash"));
+
+        if($warnings)
+            $line .= html_td(html_a($warnings, $lintianurl));
+        else
+            $line .= html_td(html_a("-", $lintianurl, "dash"));
+    }
+
     if(isdisplayed('popc'))
     {
         static $popcon_db;
@@ -968,7 +995,7 @@ function print_package_entry($branch, $package, $uploader, $back_tr_color)
  This function prints a package table information for specific branch 
  given in argument
 */
-function print_package_entries($branch, $packages, $comaint)
+function print_package_entries($branch, $packages, $comaint, $login)
 {
     global $prefix;
     global $uploads_db;
@@ -1004,7 +1031,7 @@ function print_package_entries($branch, $packages, $comaint)
     {
         if (($uploader_array[$package] && !strcmp($comaint, "no")) ||
             (!$uploader_array[$package] && !strcmp($comaint, "only"))) continue;
-        $tr = print_package_entry($branch, $package, $uploader_array[$package], $back_tr_color);
+        $tr = print_package_entry($branch, $package, $uploader_array[$package], $back_tr_color, $login);
         if($tr)
         {
             $trs[] = $tr;
@@ -1034,6 +1061,7 @@ function print_package_entries($branch, $packages, $comaint)
     if(isdisplayed('bin')) $ths .= html_th("Binary" . html_br() . "Package", "", 2, 1);
     if(isdisplayed('buildd')) $ths .= html_th("Buildd", "", 2, 1);
     if(isdisplayed('problems')) $ths .= html_th("Debcheck", "", 1, 3);
+    if(isdisplayed('lintian')) $ths .= html_th("Lintian", "", 1, 2);
     if(isdisplayed('popc')) $ths .= html_th("Popcon", "", 2, 1);
     if(isdisplayed('watch')) $ths .= html_th("Watch", "", 1, 2);
     if(isdisplayed('section')) $ths .= html_th("Section" . html_br() . "Priority", "", 2, 1);
@@ -1074,6 +1102,11 @@ function print_package_entries($branch, $packages, $comaint)
         $ths .= html_th("Te");
         $ths .= html_th("Un");
     }
+    if(isdisplayed('lintian'))
+    {
+        $ths .= html_th(html_span("(E)", "", "", "title=\"Errors\""));
+        $ths .= html_th(html_span("(W)", "", "", "title=\"Warnings\""));
+    }
     if(isdisplayed('watch'))
     {
         $ths .= html_th("Unstable");
@@ -1105,7 +1138,7 @@ function print_subscribed_packages($login, $comaint)
             continue;
         }
 	preg_match("/^([^:]*):(.*)/", $section, $secarray);
-	print_package_entries($secarray[1], $secarray[2], $comaint);
+	print_package_entries($secarray[1], $secarray[2], $comaint, $login);
     }
 }
 
@@ -1120,30 +1153,30 @@ function print_uploaded_packages($login, $comaint)
 
     $packages = dba_fetch($login, $incoming_db);
     if($packages)
-        print_package_entries("Pending uploads", $packages, $comaint);
+        print_package_entries("Pending uploads", $packages, $comaint, $login);
 
     static $wnpp_db;
     if (!$wnpp_db) $wnpp_db = dba_open("/org/qa.debian.org/data/bts/wnpp_by_maint.db", 'r-', 'db4');
     $packages = dba_fetch("op:$login", $wnpp_db);
     if($packages)
-        print_package_entries("Owned WNPP bugs", $packages, $comaint);
+        print_package_entries("Owned WNPP bugs", $packages, $comaint, $login);
 
     $packages = dba_fetch("bpo:$login", $incoming_db);
     if($packages)
-        print_package_entries("Stable backports", $packages, $comaint);
+        print_package_entries("Stable backports", $packages, $comaint, $login);
 
     global $uploads_db;
     $packages = dba_fetch("nmu:$login", $uploads_db);
     if($packages)
-        print_package_entries("Non-maintainer uploads", $packages, $comaint);
+        print_package_entries("Non-maintainer uploads", $packages, $comaint, $login);
 
     $packages = dba_fetch($login, $uploads_db);
     if($packages)
-        print_package_entries("Sponsored uploads", $packages, $comaint);
+        print_package_entries("Sponsored uploads", $packages, $comaint, $login);
 
     $packages = dba_fetch("qa:$login", $uploads_db);
     if($packages)
-        print_package_entries("QA uploads", $packages, $comaint);
+        print_package_entries("QA uploads", $packages, $comaint, $login);
 }
 
 function print_developer($login, $key, $name, $comaint, $pack_array)
@@ -1162,7 +1195,7 @@ function print_developer($login, $key, $name, $comaint, $pack_array)
     foreach ($components as $component) {
         $packages = dba_fetch("$login:$component", $pack_db);
         if ($packages != "") {
-            print_package_entries($component, $packages, $comaint);
+            print_package_entries($component, $packages, $comaint, $login);
             $no_packages = true;
         } elseif (! $no_packages) {
             print html_h("No packages in unstable", 3);
@@ -1172,7 +1205,7 @@ function print_developer($login, $key, $name, $comaint, $pack_array)
     }
     print_subscribed_packages($login, $comaint);
     if(isdisplayed('packages'))
-        print_package_entries("url", isdisplayed('packages'), $comaint);
+        print_package_entries("url", isdisplayed('packages'), $comaint, $login);
     if(isdisplayed('uploads'))
         print_uploaded_packages($login, $comaint);
     if(isdisplayed('uploader')) {
@@ -1305,7 +1338,7 @@ if ($excuse = $_REQUEST['excuse'] and preg_match($filter_re, $excuse)) {
 
 } elseif($packages = $_REQUEST['packages'] and preg_match($filter_re, $packages)) {
     start_output();
-    print_package_entries("Packages", $packages, $comaint);
+    print_package_entries("Packages", $packages, $comaint, $login);
     printBackLink();
 
 } elseif($task = $_REQUEST['task'] and preg_match($filter_re, $task)) {

Attachment: signature.asc
Description: PGP signature


Reply to: