From nobody Fri Apr 26 03:36:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+43664+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43664+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1562950896; cv=none; d=zoho.com; s=zohoarc; b=aGmwuYqzSU4YfA67GNiZ6oAoMUDOZcKZceijpc5Eu+itxAVTuUwb5E+GqJqceVoTm36O2R7uvcn5LIUFtU/iF3heR3LdHhuQqva6Rk0y9+UIeuh6ahY9/wn5w/rylC0cAbPkguLto5KPwIYKfDlYyHkuen2q9mvVFWT+kez0Rgs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562950896; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=EzISPbGVNoSEuAZiZ+NyJaUgcacg6A6ld1q3tZgo8vc=; b=Z1oPYKvgSPtmh9H8mghBHG8ix7zdSTJfCDgKUeglELfdJ+grde9+g1TALwBFpUIF+nSQpoS4KDoUov1i/ICtAIwOIRDro5cmbGXITadIQiQXQb0vXvU+pyTDNRuiOH3KDwz15tRpPMlm9O9ApjpxdiQK5S0wrw8ly44PNBR8SAQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43664+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 156295089649247.02947846580139; Fri, 12 Jul 2019 10:01:36 -0700 (PDT) Return-Path: X-Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by groups.io with SMTP; Fri, 12 Jul 2019 10:01:35 -0700 X-Received: by mail-wm1-f68.google.com with SMTP id h19so9662941wme.0 for ; Fri, 12 Jul 2019 10:01:35 -0700 (PDT) X-Gm-Message-State: APjAAAWnB4GbyT58SKU6YSQV9oIrsv4njJqY3z+NBkmRs22SYFbVNoyM KEL5EccgqzRfdhGKmA+Bzy1AeJqDq8o= X-Google-Smtp-Source: APXvYqwx5g059hDTuby6ROs1XI3sXsT9xPEFC+wVOUM+Xy2AWwvSGvYVGccLKcSDxeiHXnimI6Cg3Q== X-Received: by 2002:a1c:a01a:: with SMTP id j26mr10749830wme.112.1562950893435; Fri, 12 Jul 2019 10:01:33 -0700 (PDT) X-Received: from vanye.hemma.eciton.net (cpc92302-cmbg19-2-0-cust304.5-4.cable.virginm.net. [82.1.209.49]) by smtp.gmail.com with ESMTPSA id g11sm9044816wru.24.2019.07.12.10.01.32 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 12 Jul 2019 10:01:32 -0700 (PDT) From: "Leif Lindholm" To: devel@edk2.groups.io Cc: Andrew Fish , Laszlo Ersek , Michael D Kinney , Philippe Mathieu-Daude , Bob Feng , Liming Gao Subject: [edk2-devel] [PATCH 1/3] Maintainers.txt: update for filesystem area descriptions Date: Fri, 12 Jul 2019 18:01:26 +0100 Message-Id: <20190712170128.6495-2-leif.lindholm@linaro.org> In-Reply-To: <20190712170128.6495-1-leif.lindholm@linaro.org> References: <20190712170128.6495-1-leif.lindholm@linaro.org> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,leif.lindholm@linaro.org Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1562950896; bh=wvAcJ93Y/IHcjTuYiCVrkkai2ychKDDJIO61rWAVs3g=; h=Cc:Date:From:Reply-To:Subject:To; b=nLr5+iN2Th+yUlzBK0Fi6STk8tAiWZphO49MJHA1Ki9bhvPxsrBBiKsf4X8UL+qVELt fP7HbvjpxbxoVcz/ikDx6AnxaxadgIYfoeagplvZgUgkriPXWdsvaKSA6h2Yeafx2k5fp HxxtNQspBxSMrg9bzPpew4F+2BK5Xbl9YCY= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Add comment describing new F: and X: tags for associating maintainership sections with specific filesystem paths, including wildcards. Add global section associating *all* code with devel@edk2.groups.io, with a default '*' F: tag directing all modifications that do not hit a rule to the stewards. Also tag all files in top directory as maintained by the stewards. Signed-off-by: Leif Lindholm Reviewed-by: Philippe Mathieu-Daude Tested-by: Philippe Mathieu-Daude Reviewed-by: Bob Feng Reviewed-by: Laszlo Ersek --- Maintainers.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/Maintainers.txt b/Maintainers.txt index eb41dba7b128..3102b16b2f06 100644 --- a/Maintainers.txt +++ b/Maintainers.txt @@ -36,6 +36,22 @@ Descriptions of section entries: Obsolete: Old code. Something tagged obsolete generally means it has been replaced by a better system and you should be using that. + F: Files and directories with wildcard patterns. + A trailing slash includes all files and subdirectory files. + F: MdeModulePkg/ all files in and below MdeModulePkg + F: MdeModulePkg/* all files in MdeModulePkg, but not below + F: */Pci/* all files in a directory called Pci, at any dept= h in + the hierarchy, but not below + One pattern per line. Multiple F: lines per section acceptable. + X: Files and directories that are NOT maintained, same rules as F: + Files exclusions are tested after file matches. + Can be useful for excluding a specific subdirectory, for instance: + F: NetworkPkg/ + X: NetworkPkg/Ip6Dxe/ + matches all files in and below NetworkPkg excluding NetworkPkg/Ip6Dxe/ + Filenames not caught by any F: rule get matched as being located in the = top- + level directory. (Internally, the script looks for a match called '', + so please don't add a file called that in the top-level directory.) =20 EDK II ------ @@ -44,8 +60,14 @@ L: https://edk2.groups.io/g/devel/ T: git - https://github.com/tianocore/edk2.git T: git (mirror) - https://bitbucket.org/tianocore/edk2.git =20 +All patches CC:d here +L: devel@edk2.groups.io +F: * +F: */ + Tianocore Stewards ------------------ +F: * M: Andrew Fish M: Laszlo Ersek M: Leif Lindholm @@ -63,16 +85,19 @@ M: Liming Gao EDK II Packages: ---------------- ArmPkg +F: ArmPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/ArmPkg M: Leif Lindholm M: Ard Biesheuvel =20 ArmPlatformPkg +F: ArmPlatformPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg M: Leif Lindholm M: Ard Biesheuvel =20 ArmVirtPkg +F: ArmVirtPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/ArmVirtPkg M: Laszlo Ersek M: Ard Biesheuvel @@ -81,26 +106,31 @@ R: Julien Grall R: Leif Lindholm =20 BaseTools +F: BaseTools/ W: https://github.com/tianocore/tianocore.github.io/wiki/BaseTools M: Bob Feng M: Liming Gao =20 CryptoPkg +F: CryptoPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/CryptoPkg M: Jian Wang R: Ting Ye =20 DynamicTablesPkg +F: DynamicTablesPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/DynamicTablesPkg M: Sami Mujawar M: Alexei Fedorov =20 EmbeddedPkg +F: EmbeddedPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/EmbeddedPkg M: Leif Lindholm M: Ard Biesheuvel =20 EmulatorPkg +F: EmulatorPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg M: Jordan Justen M: Andrew Fish @@ -108,29 +138,34 @@ M: Ray Ni S: Maintained =20 FatPkg +F: FatPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/Edk2-fat-driver M: Ray Ni T: svn - https://svn.code.sf.net/p/edk2-fatdriver2/code/trunk/EnhancedFat T: git - https://github.com/tianocore/edk2-FatPkg.git =20 FmpDevicePkg +F: FmpDevicePkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/FmpDevicePkg M: Liming Gao M: Michael D Kinney =20 IntelFsp2Pkg +F: IntelFsp2Pkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/IntelFsp2Pkg M: Chasel Chiu R: Nate DeSimone R: Star Zeng =20 IntelFsp2WrapperPkg +F: IntelFsp2WrapperPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/IntelFsp2WrapperP= kg M: Chasel Chiu R: Nate DeSimone R: Star Zeng =20 MdeModulePkg +F: MdeModulePkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/MdeModulePkg M: Jian J Wang M: Hao A Wu @@ -140,16 +175,19 @@ R: Ray Ni R: Star Zeng =20 MdePkg +F: MdePkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/MdePkg M: Michael D Kinney M: Liming Gao =20 NetworkPkg +F: NetworkPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/NetworkPkg M: Siyuan Fu M: Jiaxin Wu =20 OvmfPkg +F: OvmfPkg/ W: http://www.tianocore.org/ovmf/ M: Jordan Justen M: Laszlo Ersek @@ -167,16 +205,19 @@ R: David Woodhouse S: Maintained =20 PcAtChipsetPkg +F: PcAtChipsetPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/PcAtChipsetPkg M: Ray Ni =20 SecurityPkg +F: SecurityPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/SecurityPkg M: Jiewen Yao M: Jian Wang R: Chao Zhang =20 ShellPkg +F: ShellPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/ShellPkg M: Jaben Carsey M: Ray Ni @@ -190,21 +231,25 @@ M: Leif Lindholm (ARM/AA= rch64) M: Ard Biesheuvel (ARM/AArch64) =20 SignedCapsulePkg +F: SignedCapsulePkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/SignedCapsulePkg M: Jiewen Yao M: Chao Zhang =20 SourceLevelDebugPkg +F: SourceLevelDebugPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/SourceLevelDebugP= kg M: Hao A Wu =20 UefiCpuPkg +F: UefiCpuPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/UefiCpuPkg M: Eric Dong M: Ray Ni R: Laszlo Ersek =20 UefiPayloadPkg +F: UefiPayloadPkg/ W: https://github.com/tianocore/tianocore.github.io/wiki/UefiPayloadPkg M: Maurice Ma M: Guo Dong @@ -212,6 +257,7 @@ M: Benjamin You S: Maintained =20 StandaloneMmPkg +F: StandaloneMmPkg/ M: Achin Gupta M: Jiewen Yao R: Supreeth Venkatesh --=20 2.20.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43664): https://edk2.groups.io/g/devel/message/43664 Mute This Topic: https://groups.io/mt/32444045/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 03:36:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+43665+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43665+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1562950897; cv=none; d=zoho.com; s=zohoarc; b=oCjfKQ781FjlfS8ajK6QIWb4cPy02ri7fmjk1pPXdpB8sOajWo1qJr9QxKgGDd75sAbj6Xt+QfzlZ1xjGe5AqHfaJQ3LA7wZ324vEFhjLCaZ2vydpQvO1NrtJjD6Tq98Sx1hQESSpJMSym1sTDEbRE5IXDXhHQpBOQMaeq9Y4HE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562950897; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=rb9CD7CpO+15/wxYsIj/N2wA0w/TPBwSIZorlcx2AOY=; b=SXmZ97mQXwAUERrZ6LQ6iW9b+hhE3dwhWKUkwZ38Nkv87BHMTnoVQzXcn1rZXQ6CT6F6iGeia/FxjHWbqGjqCtneFhUDdI+TpBdtE2TE4JoH1tIRdI3tfcHMo0JLHRZSa48qNB+Lg0FSZrrlZxLNJnrrJs0Uwd15WxWcxDLPR6c= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43665+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1562950897574512.5445564751845; Fri, 12 Jul 2019 10:01:37 -0700 (PDT) Return-Path: X-Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by groups.io with SMTP; Fri, 12 Jul 2019 10:01:36 -0700 X-Received: by mail-wm1-f68.google.com with SMTP id 207so9576394wma.1 for ; Fri, 12 Jul 2019 10:01:36 -0700 (PDT) X-Gm-Message-State: APjAAAVwp8GQF5hFYs8m/DTlIlRVq4v7iZiHK9KvGEW6uA8eA1jcm5KO fsTSwn7K4dYqwTHmT6UjRrauwf85ln0= X-Google-Smtp-Source: APXvYqyWReWGNNC5I/1Sk53hKh/aFD2qJk2S9Gh000cVoM52mGZjdCFM5GkxX24ovv6Ol1iyrCUJZw== X-Received: by 2002:a1c:be11:: with SMTP id o17mr10445288wmf.115.1562950894717; Fri, 12 Jul 2019 10:01:34 -0700 (PDT) X-Received: from vanye.hemma.eciton.net (cpc92302-cmbg19-2-0-cust304.5-4.cable.virginm.net. [82.1.209.49]) by smtp.gmail.com with ESMTPSA id g11sm9044816wru.24.2019.07.12.10.01.33 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 12 Jul 2019 10:01:33 -0700 (PDT) From: "Leif Lindholm" To: devel@edk2.groups.io Cc: Andrew Fish , Laszlo Ersek , Michael D Kinney , Philippe Mathieu-Daude , Bob Feng , Liming Gao Subject: [edk2-devel] [PATCH 2/3] Maintainers.txt: add wildcard path association for Arm/AArch64 Date: Fri, 12 Jul 2019 18:01:27 +0100 Message-Id: <20190712170128.6495-3-leif.lindholm@linaro.org> In-Reply-To: <20190712170128.6495-1-leif.lindholm@linaro.org> References: <20190712170128.6495-1-leif.lindholm@linaro.org> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,leif.lindholm@linaro.org Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1562950897; bh=Jo5zLD72cQUm8w7eQS7ogiXNkZz0U9SsMCR4qYDxUXU=; h=Cc:Date:From:Reply-To:Subject:To; b=PbQDHUx4GWOejA0ImN0R+zb7/dlWj+mfQBQMRgcVbqkzIKPOxX2rcZXOZeI0PyZ66EY YaJzq/HGlWDNin6n9M3Jz4/bGGI5GtqwdbT6+tYZcPYGO0uCJIc5cPj5AZhnlGphvHgbd iYYW2q5SNcbhpAAcJ1yb9/KA4K2XJkVCPvc= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Add Ard and Leif as responsible for any path matching F: */Arm/ F: */AArch64/ Signed-off-by: Leif Lindholm Reviewed-by: Philippe Mathieu-Daude Tested-by: Philippe Mathieu-Daude Reviewed-by: Bob Feng Reviewed-by: Laszlo Ersek --- Maintainers.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Maintainers.txt b/Maintainers.txt index 3102b16b2f06..52d8215691b1 100644 --- a/Maintainers.txt +++ b/Maintainers.txt @@ -82,6 +82,14 @@ EDK II Releases: W: https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Pl= anning M: Liming Gao =20 +EDK II Architectures: +--------------------- +ARM, AARCH64 +F: */AArch64/ +F: */Arm/ +M: Leif Lindholm +M: Ard Biesheuvel + EDK II Packages: ---------------- ArmPkg --=20 2.20.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43665): https://edk2.groups.io/g/devel/message/43665 Mute This Topic: https://groups.io/mt/32444048/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 03:36:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+43666+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43666+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1562950898; cv=none; d=zoho.com; s=zohoarc; b=Xz/C9hCG/gxuE/OLDrH1TKEdNLYUnKaSns8eM8cG8Q7pSDY5oH1/L7srmSBK5n2nR+cskEZGibLyovNaRSXRiRcZKrfeFDP1HasKKKiEMmHtCgQ6mRjSsBrpFqukvEVm2U3AnuIM05a77Fsj/w/Il5NA+MYomkMn2hY8fYPQXHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562950898; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=FMPSUkGREvu9YIigJSPnCbaJxstxwJiBCOtmy9Yy0qM=; b=oJhgfZ2RqDyCcdTR7udC+Do/75j3Y92+uQX0oADSArEhfc0DVQoA3ZM0iJ6m4scYAWPpvQFkyMs1OxUGW/Mm/hDhXEGaIVIWcHB0E3yD5VzdymFDZkQwAjSASNJwYQzzE+vXlqGdwObkWpS1MOvDmYlu2CgWfQavqyA1PH+QcfE= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43666+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1562950898815669.2398826093968; Fri, 12 Jul 2019 10:01:38 -0700 (PDT) Return-Path: X-Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by groups.io with SMTP; Fri, 12 Jul 2019 10:01:38 -0700 X-Received: by mail-wm1-f52.google.com with SMTP id x15so9568616wmj.3 for ; Fri, 12 Jul 2019 10:01:37 -0700 (PDT) X-Gm-Message-State: APjAAAXjk+9Eb+R3N8bMpGIrmCiXw62+0W2NvWgOSIcslen0QEGOzzxV /vdOBkSnxFc/RmqrVDGEmYeI+B9JbUA= X-Google-Smtp-Source: APXvYqyronUVZ/qKF1REopyeBEMCVJZxwd0RubhhzkwU0swPRE1ZwtsdAGF25YSXJVLCFROyd+XB6w== X-Received: by 2002:a1c:6454:: with SMTP id y81mr10515263wmb.105.1562950895917; Fri, 12 Jul 2019 10:01:35 -0700 (PDT) X-Received: from vanye.hemma.eciton.net (cpc92302-cmbg19-2-0-cust304.5-4.cable.virginm.net. [82.1.209.49]) by smtp.gmail.com with ESMTPSA id g11sm9044816wru.24.2019.07.12.10.01.34 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 12 Jul 2019 10:01:35 -0700 (PDT) From: "Leif Lindholm" To: devel@edk2.groups.io Cc: Andrew Fish , Laszlo Ersek , Michael D Kinney , Philippe Mathieu-Daude , Bob Feng , Liming Gao Subject: [edk2-devel] [PATCH 3/3] BaseTools: add GetMaintainer.py script Date: Fri, 12 Jul 2019 18:01:28 +0100 Message-Id: <20190712170128.6495-4-leif.lindholm@linaro.org> In-Reply-To: <20190712170128.6495-1-leif.lindholm@linaro.org> References: <20190712170128.6495-1-leif.lindholm@linaro.org> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,leif.lindholm@linaro.org Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1562950898; bh=JeGImNdDAjGPXnzo0dBWJ8U0F/zY8cDBGStQeXp3Yb0=; h=Cc:Date:From:Reply-To:Subject:To; b=uq7MKvac9L+GZeI0a6qNkMZ1SjRSreUx4vnEX3re7DreQj4uFfJxRpyKpL1N7vh7llK 7wGMSdC039qXhd+iSBCRvuKbK1OSVdunoEm5VXDcNxI916UQtRCcO58TV4CcLL+LgFUS1 u2Sb+qQSucodeegBK0TCeloFlcrOSmDxIZ4= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Add a new script GetMaintainer.py that uses the new Maintainer.txt format to determine which addresses to cc on patch submission. Signed-off-by: Leif Lindholm Reviewed-by: Philippe Mathieu-Daude Tested-by: Philippe Mathieu-Daude Acked-by: Laszlo Ersek Reviewed-by: Bob Feng --- BaseTools/Scripts/GetMaintainer.py | 190 +++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 BaseTools/Scripts/GetMaintainer.py diff --git a/BaseTools/Scripts/GetMaintainer.py b/BaseTools/Scripts/GetMain= tainer.py new file mode 100644 index 000000000000..fbc63522db77 --- /dev/null +++ b/BaseTools/Scripts/GetMaintainer.py @@ -0,0 +1,190 @@ +## @file +# Retrieves the people to request review from on submission of a commit. +# +# Copyright (c) 2019, Linaro Ltd. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +from __future__ import print_function +from collections import defaultdict +from collections import OrderedDict +import argparse +import os +import re +import SetupGit + +EXPRESSIONS =3D { + 'exclude': re.compile(r'^X:\s*(?P.*?)\r*$'), + 'file': re.compile(r'^F:\s*(?P.*?)\r*$'), + 'list': re.compile(r'^L:\s*(?P.*?)\r*$'), + 'maintainer': re.compile(r'^M:\s*(?P.*<.*?>)\r*$'), + 'reviewer': re.compile(r'^R:\s*(?P.*?)\r*$'), + 'status': re.compile(r'^S:\s*(?P.*?)\r*$'), + 'tree': re.compile(r'^T:\s*(?P.*?)\r*$'), + 'webpage': re.compile(r'^W:\s*(?P.*?)\r*$') +} + +def printsection(section): + """Prints out the dictionary describing a Maintainers.txt section.""" + print('=3D=3D=3D') + for key in section.keys(): + print("Key: %s" % key) + for item in section[key]: + print(' %s' % item) + +def pattern_to_regex(pattern): + """Takes a string containing regular UNIX path wildcards + and returns a string suitable for matching with regex.""" + + pattern =3D pattern.replace('.', r'\.') + pattern =3D pattern.replace('?', r'.') + pattern =3D pattern.replace('*', r'.*') + + if pattern.endswith('/'): + pattern +=3D r'.*' + elif pattern.endswith('.*'): + pattern =3D pattern[:-2] + pattern +=3D r'(?!.*?/.*?)' + + return pattern + +def path_in_section(path, section): + """Returns True of False indicating whether the path is covered by + the current section.""" + if not 'file' in section: + return False + + for pattern in section['file']: + regex =3D pattern_to_regex(pattern) + + match =3D re.match(regex, path) + if match: + # Check if there is an exclude pattern that applies + for pattern in section['exclude']: + regex =3D pattern_to_regex(pattern) + + match =3D re.match(regex, path) + if match: + return False + + return True + + return False + +def get_section_maintainers(path, section): + """Returns a list with email addresses to any M: and R: entries + matching the provided path in the provided section.""" + maintainers =3D [] + lists =3D [] + + if path_in_section(path, section): + for address in section['maintainer'], section['reviewer']: + # Convert to list if necessary + if isinstance(address, list): + maintainers +=3D address + else: + lists +=3D [address] + for address in section['list']: + # Convert to list if necessary + if isinstance(address, list): + lists +=3D address + else: + lists +=3D [address] + + return maintainers, lists + +def get_maintainers(path, sections, level=3D0): + """For 'path', iterates over all sections, returning maintainers + for matching ones.""" + maintainers =3D [] + lists =3D [] + for section in sections: + tmp_maint, tmp_lists =3D get_section_maintainers(path, section) + if tmp_maint: + maintainers +=3D tmp_maint + if tmp_lists: + lists +=3D tmp_lists + + if not maintainers: + # If no match found, look for match for (nonexistent) file + # REPO.working_dir/ + print('"%s": no maintainers found, looking for default' % path) + if level =3D=3D 0: + maintainers =3D get_maintainers('', sections, level= =3Dlevel + 1) + else: + print("No maintainers set for project.") + if not maintainers: + return None + + return maintainers + lists + +def parse_maintainers_line(line): + """Parse one line of Maintainers.txt, returning any match group and it= s key.""" + for key, expression in EXPRESSIONS.items(): + match =3D expression.match(line) + if match: + return key, match.group(key) + return None, None + +def parse_maintainers_file(filename): + """Parse the Maintainers.txt from top-level of repo and + return a list containing dictionaries of all sections.""" + with open(filename, 'r') as text: + line =3D text.readline() + sectionlist =3D [] + section =3D defaultdict(list) + while line: + key, value =3D parse_maintainers_line(line) + if key and value: + section[key].append(value) + + line =3D text.readline() + # If end of section (end of file, or non-tag line encountered)= ... + if not key or not value or not line: + # ...if non-empty, append section to list. + if section: + sectionlist.append(section.copy()) + section.clear() + + return sectionlist + +def get_modified_files(repo, args): + """Returns a list of the files modified by the commit specified in 'ar= gs'.""" + commit =3D repo.commit(args.commit) + return commit.stats.files + +if __name__ =3D=3D '__main__': + PARSER =3D argparse.ArgumentParser( + description=3D'Retrieves information on who to cc for review on a = given commit') + PARSER.add_argument('commit', + action=3D"store", + help=3D'git revision to examine (default: HEAD)', + nargs=3D'?', + default=3D'HEAD') + PARSER.add_argument('-l', '--lookup', + help=3D'Find section matches for path LOOKUP', + required=3DFalse) + ARGS =3D PARSER.parse_args() + + REPO =3D SetupGit.locate_repo() + + CONFIG_FILE =3D os.path.join(REPO.working_dir, 'Maintainers.txt') + + SECTIONS =3D parse_maintainers_file(CONFIG_FILE) + + if ARGS.lookup: + FILES =3D [ARGS.lookup] + else: + FILES =3D get_modified_files(REPO, ARGS) + + ADDRESSES =3D [] + + for file in FILES: + print(file) + addresslist =3D get_maintainers(file, SECTIONS) + if addresslist: + ADDRESSES +=3D addresslist + + for address in list(OrderedDict.fromkeys(ADDRESSES)): + print(' %s' % address) --=20 2.20.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43666): https://edk2.groups.io/g/devel/message/43666 Mute This Topic: https://groups.io/mt/32444053/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-