lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180716212019.sjxyxqeltgdcuqqr@redhat.com>
Date:   Mon, 16 Jul 2018 17:20:19 -0400
From:   Don Zickus <dzickus@...hat.com>
To:     Joe Perches <joe@...ches.com>
Cc:     Prarit Bhargava <prarit@...hat.com>, linux-kernel@...r.kernel.org,
        jtoppins@...hat.com
Subject: Re: [PATCH] get_maintainer.pl: Add optional
 .get_maintainer.MAINTAINERS override

On Fri, Jul 13, 2018 at 05:11:58PM -0700, Joe Perches wrote:
> On Fri, 2018-07-13 at 14:51 -0400, Don Zickus wrote:
> > On Fri, Jul 06, 2018 at 03:14:28PM -0700, Joe Perches wrote:
> > > On Fri, 2018-07-06 at 15:09 -0700, Joe Perches wrote:
> > > > On Fri, 2018-07-06 at 17:58 -0400, Don Zickus wrote:
> > > > > We have an internal use case of multiple MAINTAINER files, some folks have
> > > > > more rights to patches than others so they are not allowed to be cc'd (think
> > > > > embargoed stuff).
> > > 
> > > How about:
> > 
> > Hi Joe,
> > 
> > You are probably busy with stuff, but wanted to softly poke you to see what
> > is going on with this patch and if there is anything we can help with?
> 
> Hey Don.  No worries.
> 
> Tell me again if the --find-maintainer-files=<path or file> should
> be exclusive or should it also read any existing MAINTAINERS file?

Hi Joe,

We were looking for it to be exclusive.  If we backport a patch, we want our
internal maintainers to be cc'd not the upstream maintainers.  I don't think
upstream needs any more spam. :-)

> 
> What if anything is wrong with what I suggested?

You posted multiple versions of a similar patch, each needed some
tweaks.  But were pretty close to working.

If I had a <dir> with a MAINTAINERS directory beneath it with files behind
that, I just wanted to run:

get_maintainers.pl --find-maintainer-files <dir>/  # find <dir>/MAINTAINERS/
get_maintainers.pl --find-maintainer-files <dir>/MAINTAINER/<file>  # restricted list

That's it.  I attached a patch you provided that worked for me. I added a

+  push(@mfiles, "${path}") if -f "${path}";

to your last version of the patch to get things working for me.  You may
want a different solution there.

Cheers,
Don

---
 scripts/get_maintainer.pl | 39 +++++++++++++++++++++------------------
 1 file changed, 21 insertions(+), 18 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index c87fa734e3e1..f7a7d46340a8 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -60,7 +60,7 @@ my $pattern_depth = 0;
 my $self_test = undef;
 my $version = 0;
 my $help = 0;
-my $find_maintainer_files = 0;
+my $find_maintainer_files;
 
 my $vcs_used = 0;
 
@@ -262,7 +262,7 @@ if (!GetOptions(
 		'sections!' => \$sections,
 		'fe|file-emails!' => \$file_emails,
 		'f|file' => \$from_filename,
-		'find-maintainer-files' => \$find_maintainer_files,
+		'find-maintainer-files:s' => \$find_maintainer_files,
 		'self-test:s' => \$self_test,
 		'v|version' => \$version,
 		'h|help|usage' => \$help,
@@ -384,26 +384,30 @@ sub find_ignore_git {
 read_all_maintainer_files();
 
 sub read_all_maintainer_files {
-    if (-d "${lk_path}MAINTAINERS") {
-        opendir(DIR, "${lk_path}MAINTAINERS") or die $!;
-        my @files = readdir(DIR);
-        closedir(DIR);
-        foreach my $file (@files) {
-            push(@mfiles, "${lk_path}MAINTAINERS/$file") if ($file !~ /^\./);
-        }
-    }
-
-    if ($find_maintainer_files) {
-        find( { wanted => \&find_is_maintainer_file,
-                preprocess => \&find_ignore_git,
-                no_chdir => 1,
-        }, "${lk_path}");
+    my $path = defined $find_maintainer_files && $find_maintainer_files ne ""
+	? $find_maintainer_files : $lk_path;
+    if (-d "${path}MAINTAINERS") {
+	opendir(DIR, "${path}MAINTAINERS") or die $!;
+	my @files = readdir(DIR);
+	closedir(DIR);
+	foreach my $file (@files) {
+	    push(@mfiles, "${path}MAINTAINERS/$file") if ($file !~ /^\./);
+	}
+    }
+
+    if (defined $find_maintainer_files && (-d $find_maintainer_files)) {
+	find( { wanted => \&find_is_maintainer_file,
+		preprocess => \&find_ignore_git,
+		no_chdir => 1,
+	      }, "${path}");
     } else {
-        push(@mfiles, "${lk_path}MAINTAINERS") if -f "${lk_path}MAINTAINERS";
+	push(@mfiles, "${path}MAINTAINERS") if -f "${path}MAINTAINERS";
+	push(@mfiles, "${path}") if -f "${path}";
     }
 
+    die "$P: No MAINTAINER files found in $path\n" if (scalar(@mfiles) == 0);
     foreach my $file (@mfiles) {
-        read_maintainer_file("$file");
+	read_maintainer_file("$file");
     }
 }
 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ