Re: [PATCH] MAINTAINERS: Add "B:" preferred bug reporting method

From: Joe Perches
Date: Fri Jan 15 2016 - 19:23:01 EST


On Fri, 2016-01-15 at 16:45 +0200, Jani Nikula wrote:
> Different subsystems and drivers have different preferred ways of
> receiving bug reports; mailing list or bugzillas at various
> locations. Add "B:" entry for specifying the preference to guide bug
> reporters at the right location.
[]
> diff --git a/MAINTAINERS b/MAINTAINERS
[]
> @@ -75,6 +75,8 @@ Descriptions of section entries:
>   L: Mailing list that is relevant to this area
>   W: Web-page with status/info
>   Q: Patchwork web based patch tracking system site
> + B: Preferred method for reporting bugs; bug tracking system site
> +    or "List" for mailing list.
>   T: SCM tree type and location.
>      Type is one of: git, hg, quilt, stgit, topgit
>   S: Status, one of the following:
> @@ -3655,6 +3657,7 @@ L: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
>  L: dri-devel@xxxxxxxxxxxxxxxxxxxxx
>  W: https://01.org/linuxgraphics/
>  Q: http://patchwork.freedesktop.org/project/intel-gfx/
> +B: https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel

This requires a LoginID & password

Maybe useful to show the open bugs too:
https://bugs.freedesktop.org/buglist.cgi?component=DRM%2FIntel&product=DRI&resolution=---

Maybe the get_maintainer script should be updated.
Something like: (untested)
---
 scripts/get_maintainer.pl | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 1873421..bbe5337 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -47,6 +47,7 @@ my $output_rolestats = 1;
 my $output_section_maxlen = 50;
 my $scm = 0;
 my $web = 0;
+my $bug = 0;
 my $subsystem = 0;
 my $status = 0;
 my $keywords = 1;
@@ -239,6 +240,7 @@ if (!GetOptions(
  'status!' => \$status,
  'scm!' => \$scm,
  'web!' => \$web,
+ 'bug!' => \$bug,
  'pattern-depth=i' => \$pattern_depth,
  'k|keywords!' => \$keywords,
  'sections!' => \$sections,
@@ -276,12 +278,13 @@ if ($sections) {
     $status = 0;
     $subsystem = 0;
     $web = 0;
+    $bug = 0;
     $keywords = 0;
     $interactive = 0;
 } else {
-    my $selections = $email + $scm + $status + $subsystem + $web;
+    my $selections = $email + $scm + $status + $subsystem + $web + $bug;
     if ($selections == 0) {
- die "$P:  Missing required option: email, scm, status, subsystem or web\n";
+ die "$P:  Missing required option: email, scm, status, subsystem, web or bug\n";
     }
 }
 
@@ -505,6 +508,7 @@ my %hash_list_to;
 my @list_to = ();
 my @scm = ();
 my @web = ();
+my @bug = ();
 my @subsystem = ();
 my @status = ();
 my %deduplicate_name_hash = ();
@@ -537,6 +541,11 @@ if ($web) {
     output(@web);
 }
 
+if ($bug) {
+    @bug = uniq(@bug);
+    output(@bug);
+}
+
 exit($exit);
 
 sub ignore_email_address {
@@ -593,6 +602,7 @@ sub get_maintainers {
     @list_to = ();
     @scm = ();
     @web = ();
+    @bug = ();
     @subsystem = ();
     @status = ();
     %deduplicate_name_hash = ();
@@ -802,6 +812,7 @@ MAINTAINER field selection options:
   --status => print status if any
   --subsystem => print subsystem name if any
   --web => print website(s) if any
+  --bug => print bug reporting mechanism(s) if any
 
 Output type options:
   --separator [, ] => separator for multiple entries on 1 line
@@ -1129,6 +1140,8 @@ sub add_categories {
  push(@scm, $pvalue);
      } elsif ($ptype eq "W") {
  push(@web, $pvalue);
+     } elsif ($ptype eq "B") {
+ push(@bug, $pvalue);
      } elsif ($ptype eq "S") {
  push(@status, $pvalue);
      }