From patchwork Wed Sep 4 11:30:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lars Kurth X-Patchwork-Id: 11129903 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B98A6112C for ; Wed, 4 Sep 2019 11:32:04 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9F05F22DBF for ; Wed, 4 Sep 2019 11:32:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9F05F22DBF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5TUX-0006VO-Fn; Wed, 04 Sep 2019 11:30:25 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5TUW-0006Uw-9j for xen-devel@lists.xenproject.org; Wed, 04 Sep 2019 11:30:24 +0000 X-Inumbo-ID: 604baa06-cf07-11e9-978d-bc764e2007e4 Received: from mail.xenproject.org (unknown [104.130.215.37]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 604baa06-cf07-11e9-978d-bc764e2007e4; Wed, 04 Sep 2019 11:30:20 +0000 (UTC) Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5TUQ-0005cF-QR; Wed, 04 Sep 2019 11:30:18 +0000 Received: from localhost ([127.0.0.1] helo=localhost.localdomain) by xenbits.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5TUQ-0004TJ-KZ; Wed, 04 Sep 2019 11:30:18 +0000 From: Lars Kurth To: xen-devel@lists.xenproject.org Date: Wed, 4 Sep 2019 12:30:10 +0100 Message-Id: <0b543489f930ab966d916e47a738d77de793b8c4.1567596460.git-series.lars.kurth@citrix.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: References: In-Reply-To: References: Subject: [Xen-devel] [PATCH v4 3/3] Add logic to use V section entry in THE REST for identifying xen trees X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Lars Kurth , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Specifically: * Move check until after the MAINTAINERS file has been read * Add get_xen_maintainers_file_version() for check * Remove top_of_tree as not needed any more * Fail with extended error message when used out of tree Signed-off-by: Lars Kurth Acked-by: Ian Jackson --- scripts/get_maintainer.pl | 57 ++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 174dfb7..2e661f4 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -265,11 +265,6 @@ if ($email && die "$P: Please select at least 1 email option\n"; } -if (!top_of_tree($xen_path)) { - die "$P: The current directory does not appear to be " - . "a Xen source tree.\n"; -} - ## Read MAINTAINERS for type/value pairs my @typevalue = (); @@ -311,6 +306,16 @@ while (<$maint>) { } close($maint); +# Check whether we have a V entry under the REST +# and use it to get the file's version number +my $maintainers_file_version = get_xen_maintainers_file_version(); +if (!$maintainers_file_version) { + die "$P: the MAINTAINERS file ". + "in the current directory does not appear to be from ". + "the xen.git source tree or a sister tree.\n\n". + "A 'V: xen-maintainers-' entry under THE REST ". + "is needed to identify a Xen MAINTAINERS file.\n\n"; +} # # Read mail address map @@ -564,6 +569,31 @@ sub range_has_maintainer { return 0; } +sub get_xen_maintainers_file_version { + my $tvi = find_first_section(); + + while ($tvi < @typevalue) { + my $start = find_starting_index($tvi); + my $end = find_ending_index($tvi); + my $i; + + for ($i = $start; $i < $end; $i++) { + my $line = $typevalue[$i]; + if ($line =~ m/^V:\s*(.*)/) { + # Note that get_maintainer_role() requires processing + # of more of the file. So do it directly + if ($typevalue[$start] eq "THE REST") { + if ($line =~ m/xen-maintainers-(.*)/) { + return $1; + } + } + } + } + $tvi = $end + 1; + } + return 0; +} + sub get_maintainers { %email_hash_name = (); %email_hash_address = (); @@ -867,23 +897,6 @@ Notes: EOT } -sub top_of_tree { - my ($xen_path) = @_; - - if ($xen_path ne "" && substr($xen_path,length($xen_path)-1,1) ne "/") { - $xen_path .= "/"; - } - if ( (-f "${xen_path}COPYING") - && (-f "${xen_path}MAINTAINERS") - && (-f "${xen_path}Makefile") - && (-d "${xen_path}docs") - && (-f "${xen_path}CODING_STYLE") - && (-d "${xen_path}xen")) { - return 1; - } - return 0; -} - sub parse_email { my ($formatted_email) = @_;