From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476177; cv=none; d=zohomail.com; s=zohoarc; b=c2FVn2w2KgpMFU85zzg+mQHSEDmU6+ZdXtDhaj+7GQ2Xo8muFQ8AR+ps2sLFT1j9QLKsS/lz/McxYbiHP8bdRuFQEUvSKy3cd7EjR4wyWtSBI909gHmsnl3q9UNO7AmFbCWAdjqf38gtYxUPjpWqe5gASDNXUB+KHkJhReX79g0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476177; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jS5orBCRXtQ6207/qf1uOG+6aWOOe4PQGuReXIq6bSU=; b=jT2xHG891tVsZBnT2ZOYp9pblAwE80UCJeJLiCjhX7zQxdQOKuHm0flmYxsMcGFZhWd+1ec/BCZNP7Am+zZYZz5RRgFkR4nyP0H74oG8W3nXSgXBwguXs783omGWJXh0LRYhg7rJmqpyVypJ+HmVR3GnS2cuGGGXBZhcQO6vhkk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476177062158.80162178484113; Thu, 11 Dec 2025 10:02:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkz4-0000fS-Gj; Thu, 11 Dec 2025 13:01:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkyz-0000dP-7i for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:41 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyw-00060A-Br for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:40 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-477770019e4so3998375e9.3 for ; Thu, 11 Dec 2025 10:01:37 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42fa8b8601csm7819940f8f.22.2025.12.11.10.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:33 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id AC56C5F87A; Thu, 11 Dec 2025 18:01:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476097; x=1766080897; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jS5orBCRXtQ6207/qf1uOG+6aWOOe4PQGuReXIq6bSU=; b=aHQVbc8vJsdkfl8oC3cwVT1Gd/8TOBDCZeMmL3stT047Um9ZXyJ2oiOC2XfRf8eyC+ I2tyu90lixJyS6E1BRJDM1Ojcffp1ahYaA6hggpLIpP3aExfK/GOlAtbsm88YcvNO60v dMCidheVszslh4uswYkZzAcCBROrvQNxyfl2WK4y1UDsEigE9BcAdvqiEMWyv/TM1B8w st/AdmKebESVVOuWcc14yRyj+orgu2eRZAo8rCW9jGXOEOvxMRkOgcgjlXvmxWdE2MYh xBdXu9v/DJhQd34xAWNdES4hO3ctwfN9vnguFuNvWEbHpUQJ85vzjXvcDJK4FjMc2sOr d6Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476097; x=1766080897; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jS5orBCRXtQ6207/qf1uOG+6aWOOe4PQGuReXIq6bSU=; b=pfrq5Mtua+tKjJyWFe9+Rlh/SKWsVx7TBZ156mpp5FOr1QZEJxVWTT6rvd1QF4sZ9w NZWqlL2RlJLaP8pz8hm3yQqSMGCeVhXsC99MBWS97P5PMWqvv8aupX2mCPEOhqCSrHma 7Rp/yJ1m2x1iMsBPKBy4jPL5sfsYG7FlfymHEBdhXfwn6mqBNk8J3L2oQzxdlFKa/y0x qN5Bp6irp9c0MLbjoNxx8Z9QhkQWf00HcgqXGxOD2M4Zlfc5nGXJUH/JVSYADMvhWAqq Pjs7QsWSEG6KxXuTwxvBjnw7OCOuVjVETixu1OqiDnHf/Rh+pJNpthu6UOoslriJdK1B zt1Q== X-Gm-Message-State: AOJu0YzPTlB6slBL3SsD4dX1vxyX+8WguncDHOqGLKp/SmhBtVV9sPrT QoOedGcVf9w8ZXtn00P0SQKjzqFZg3rNaXix4MCtrfVghyJRDZx8nWrFY16mRdDjIUQ= X-Gm-Gg: AY/fxX6WwVcrbZ9NrZdlakcCqYK+YiPQJsHjmMIwR984M6DRN3+YNNnTqt6bzRUzbEi rrOcxuQ7fI7XNg7CDFhtPYJAPfu+92eO2lNRh3fj2miRq5OREkRo7wJWs7ddRubTykeaZ/V0H3j DVloKrbGi5m+g1WqNq741w4d6xC1D0UMp0J2BOA9uy4zK0e2r3P67x5QQCiYlBWrFvvZ4Z2IoaA nFfRy+Wea0Y10wnnusx+3HCCqT6Boybhi091W+xaQLYnhmFUZ/WjR/ZgPSwxxH5u1OGPJQ2oW8q d4BdWdRL+s7NqFSy4Tejvft25Ae7td0cwHTlcoM7/IM8Wc+luRXhQHPv0DwnSrGJJtDGZ/bkVJx 53g/2MLsxRaSuNMlQ0qdldHnh2f2Wnm5M4yuB3HD1OXLkIa7c2yBQFgbdWC4SaooJmn7hC9u7Nu dzvfAbuo/l7K8= X-Google-Smtp-Source: AGHT+IEt4qbL5cL/X3c8mxr6zxzLnFxiLyRZ1RCidMgPJbwlVVe4/4qtU3lnweIVzFdm7dpyKVgyjw== X-Received: by 2002:a05:600c:45c4:b0:477:a246:8398 with SMTP id 5b1f17b1804b1-47a837fd4ffmr70061045e9.2.1765476094046; Thu, 11 Dec 2025 10:01:34 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 1/9] MAINTAINERS: fix missing names Date: Thu, 11 Dec 2025 18:01:24 +0000 Message-ID: <20251211180132.3186564-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476177687158500 The form is Name so lets fix that up before we enforce it. Signed-off-by: Alex Benn=C3=A9e --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 63e9ba521bc..05b644cfc9b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2519,7 +2519,7 @@ F: hw/virtio/vhost-user-snd* F: include/hw/virtio/vhost-user-snd.h =20 vhost-user-scmi -R: mzamazal@redhat.com +R: Milan Zamazal S: Supported F: hw/virtio/vhost-user-scmi* F: include/hw/virtio/vhost-user-scmi.h --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476124; cv=none; d=zohomail.com; s=zohoarc; b=hsqNjqHDydOaySXzMmCRe4/Wi6ChnNxA4TeCUN0gaI7plTK2ojJ7SlpN30bIDUa6yszY0oxt5jJxRgimoUbVhJUf9DxEO9K7D09u75GA3UtyzD6snk/H/63XihnY7L401t/ejNbZ+idF4Ff2GUK25gWEJqpQwHCOvps+sfyR9q8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476124; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cWQolvt16cWTZUVbyb/ELIWzQoLluK0PM6lqjSDIQio=; b=ddUHkmn+ko6rxZIrYFHMifywkEBmXWwLg68tdGo4ZqyU+VkLKeLlb9uoeFkFvHWY2iz0eqH8W+HX/FWODKZ6IrCs2CupF9TAlFszr3yfJPCSaIB3dD5sfVZhajCynlnQY6crhhv5WU84MhEfGx+C1zOjkcq7isHUxTxyJwv4mqA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476124338818.8928679759291; Thu, 11 Dec 2025 10:02:04 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkyz-0000dx-St; Thu, 11 Dec 2025 13:01:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkyv-0000cL-VH for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:40 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyu-0005zr-Eb for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:37 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4779cc419b2so4803825e9.3 for ; Thu, 11 Dec 2025 10:01:35 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47a89dac074sm45577045e9.8.2025.12.11.10.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:33 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C07F95F87D; Thu, 11 Dec 2025 18:01:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476094; x=1766080894; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cWQolvt16cWTZUVbyb/ELIWzQoLluK0PM6lqjSDIQio=; b=KVBbZ6dvgoYnZ66thjN6Ks8Mu5fIEgxypjBzlFB4SQ1MzFecjVFSXhQATJtPnxrVE6 m+1l9yIcmR3QtnASlPPaJXTQn3qub7l4f0l5/8Z4KXkQGUUZpuTxeCo1dyZUkfdbMbZh pbztibhaVEPaBQ+Jjjre+2ltIyIUox76CtOPXu86MKy9p2TMSVy1ZLH6cbPdDY7skh4E c3iVLsYSV+DwtvFbgBKTGWg9cbaKJvussRGFNFhz2No326vLk2h3/+2+gVWY8vR2qvru qFqlpgXfKNssPJx9NJlbhV71QGpl7wdf3RgrIbgSlpL1azpKNl1BCmzzOqO0EmFVSIwz uYiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476094; x=1766080894; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cWQolvt16cWTZUVbyb/ELIWzQoLluK0PM6lqjSDIQio=; b=VDOpxPiQXTD6WpQPsc3wlO17FsF1pdgAuA+UvHD2hU0tbQIOjLS2aOfsntBZFZBLPu BkcwSm1Z3R5oZAx9gZrDWud7aZfePrUeuTeJV9POO1XRQg8f6mH1yqoKPrMbf8hpMhbf lCzsDh0wp3OrIm7Lfr10CeEruKuBgcq6yiiLQTLZ1/JriU3FBybwFfZLpw6PN2idUTP+ FqNQwEtX54V/KhDC36QueY3BeIDpVizobxiwRU+XpsXOZ+RdaSjxYOoDHUAbO2xk+q7d vcSIsMDyAZn2MlUJ15Pv9yQZU2Ldw2n01Fep9nH6isViG8rQ7kalkTqoFcxp/eSYkTcw 4x+w== X-Gm-Message-State: AOJu0Yyn6k9YRbVv/Z2AOsXIvQ8KC28/m8KpS/aO/lCGI90hLRd0Eaqa kLTAS315PjC8k44qXQVf91GN6sTvwoKBQXOqX+XWnp9uTNwq5Bw/aQUpigZ4uw4fsDo= X-Gm-Gg: AY/fxX540+LK9lRhUez625k0tSiX9g7bgwFbaRWhncu0SRLgS7/CyWx2lNDUIaDwV0p swjV7qBfoy5od9dqh1SlVFbwKg6qd7l80jmIn9hn5Q8KS6blNpN4i1e5oQ88ZtIU+5dhFHn8bXi 5hFgLrHxaAY/CH32sapqm+sqNiMYO4r6sP9pV0W2k+sXUi6YNd585YoTzxSFvrD5gWz/NfOI/Gt eZRNAbq7cvMDHnHlJTPjevDwCUW5TAN4r2R5IHSymRepu3W8j9dWGLvSxGuHSjj+8e0y8r5Ojec MX22cNLUTK2vRWO5+cV800CYElYCOpADn0TRbegf2h6mAYwB0ELB3AhQkvYI+MlKe1thto1NC+b vx5l5444kxIvfPb8YtiB2jF+5bvXUiy49aHHGRC79Z+US2emD4PbUrSbr1e71TqVwbn8E+oaVgs O105TWwQqLewama8LqY7vntg== X-Google-Smtp-Source: AGHT+IHwJ+i4OYZzT+YvN8YtMYtwn/SB5NPWYvtbE+Eg/70C4vzBzDaLSYFIf5T3mFlQ58HI+UMEtg== X-Received: by 2002:a05:600c:3f0f:b0:477:a978:3a7b with SMTP id 5b1f17b1804b1-47a8384333fmr68800735e9.22.1765476094429; Thu, 11 Dec 2025 10:01:34 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 2/9] MAINTAINERS: fix libvirt entry Date: Thu, 11 Dec 2025 18:01:25 +0000 Message-ID: <20251211180132.3186564-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476125753158500 We have a particular tag for lists so lets use it. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: J=C3=A1n Tomko --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 05b644cfc9b..a3fdc4ca911 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4466,7 +4466,7 @@ F: gitdm.config F: contrib/gitdm/* =20 Incompatible changes -R: devel@lists.libvirt.org +L: devel@lists.libvirt.org F: docs/about/deprecated.rst =20 Build System --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476177; cv=none; d=zohomail.com; s=zohoarc; b=isrE+1YxCI71COsp1cn/gO2TI3ntM+RkAzYuD9OdNOm4BWkcx+7bbJ4vFkzIWlv0Hrk6Sc+W6IjolRjOXtS7hutqQa51xUSwWH1T4rSFdGd7GKgmAROyB/N3a/P+HlVqKMbYhqL1ugq/RsMwDzEIAvVTXRblEma5QCw1SPQWiNg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476177; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zqtmNswMbkYyEU+NhJq72TVMbc6kD4yPFILIwQaGzrE=; b=hhxKJvyLnnCzc5COYeBjacaZ3vR3RKEmlAq2Vh8+QnWBxX/dnyk4Vrzo90e4vuamX93hCkFWLli8SYiTIsccbNg2bZVM9Xh+AiKqRktmBd/jzvXQec8CQjts8yxjsYJFjS1IyDNEmepYCsPTXbxKgzibUUoCzE01vvjy159Qvh4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476177394328.56746799838254; Thu, 11 Dec 2025 10:02:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkz3-0000fF-Ar; Thu, 11 Dec 2025 13:01:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkyz-0000dM-6I for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:41 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyu-0005zy-MV for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:38 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-42b47f662a0so254936f8f.0 for ; Thu, 11 Dec 2025 10:01:36 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42fa8b8a950sm7857530f8f.32.2025.12.11.10.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:33 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D75535F892; Thu, 11 Dec 2025 18:01:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476095; x=1766080895; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zqtmNswMbkYyEU+NhJq72TVMbc6kD4yPFILIwQaGzrE=; b=gN6nwbrUHSULI6cfeRhrGby1w5S7SYDEHhaTjgbNVQGCmMDpzzClbYUhLlI8bGl61f cKCzc8ZiGqrQ33vnB6hl5As846FIDVDqBFCgrH2j2QUdxbB4sSfuN0N7pzYsbnLdhnaJ G3rUFgn7Elm4QAmEK/8Wb4iYRgPiPL1jVAlKVryDdQB76RCjGQbo0ooWvZbyz2vdnEKX V88HTpxDUsCe2OlM2pWBPBmZqa16Aqf43jCWUy5r4H1yT4IMJhoKfl06rInDBzHH/4PU vy1g8FIyLDx2V0zisO0XFuF8hNncvZT01lqZMbbYggITFWyFM3zS93H34k+ZZ+6reAb2 UuiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476095; x=1766080895; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=zqtmNswMbkYyEU+NhJq72TVMbc6kD4yPFILIwQaGzrE=; b=FVDGYRtpxXU7IjfXfnDFKwXLjIFArxAPOt1+//Lk9RkB4zLTA5V6ATwU+HzulGDBGb 9ZA258yZFIvx6gx+PzBpYiWKqsugGmbJ/hCAgh9zyLohp96rf58TTyVZXcgaJ4wnPYfx yZRHjD1aGRKkv4eV2kq/VUj3/5W1oQ/8iGw4D+uaKTBoJAdcI9dKOJqxvXm67fPpQ5YL y4aX+OYC7+Q3kOk7qnmQO8ZnkvitB7kUkPiP68KhldJ12jao/E2A5pcdOKume/ofxJvt CyJYNXBe3DMTunUoth+dPhEslifwV+RAbKuy9NBSRmtbMUjaoTzadIY1xztSETWAQnHp ue2g== X-Gm-Message-State: AOJu0YwllFOdz6VCqXIrmI8pIacwxK4EXzmrVak1Vqmc8zIW0pdbyl82 3+SWJAkTDZ+vyn1RQ5SsCcTRUcpcj4v+68WKZZs/zYJckiOVN9LQmVAm20vDXaYCWXA= X-Gm-Gg: AY/fxX7xFxCmsCvDoxalipHkc5lF6uybO9pIma1hPEXR2Ryf3xZqRqWBo7YZkuhJy92 yzqDv8yarIcEGUcMbc1lJ585/CNdAs5vh5baDd8ngYIHG7TUyfrVFElZ60mlcHEOIS2VxowaV2D NIaJu0KScHR4Sbc49rTZHGK4g2p0yyV+6kTLCLl1se5M7hbtx/aOyImDxR6P4MPWPVINCgl0bAu cEyt1/7o9Ma30uG/x9kh7e5mgV0SPLioVmYgY8gJFNpVC+i7v6DUw46G4Z30j7U1F1E+Ofjt1sz LnN9kFl2rNrIoG3rYzoXrfiqDZ1GL4UFYO8Q6O5H9eFMkGcc1DnfL6z6jMia5Zyf+SVOqeTbaha UxzW/f+3tzXMnE0TUjFrIyMe2enYiZbMuYwEVGRcporVGdheJJWjpNIui6vKfJuUJivjkmrixX4 XJB5HpDMt3FsU= X-Google-Smtp-Source: AGHT+IFmb61jMTBPRLp0mm/VGiASOfskbtXklrhUS30Py39UYj786+iLBTtuHPoaWHlZpylwSiqouw== X-Received: by 2002:a05:6000:208a:b0:42b:2db2:159f with SMTP id ffacd0b85a97d-42fab242bdamr3777340f8f.12.1765476095065; Thu, 11 Dec 2025 10:01:35 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 3/9] MAINTAINERS: regularise the status fields Date: Thu, 11 Dec 2025 18:01:26 +0000 Message-ID: <20251211180132.3186564-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476177736158500 Orphaned isn't a state, Orphan is. Likewise all the other "Odd Fixes" are capitalised so fix the ones that are not. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index a3fdc4ca911..4488364c14e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2662,7 +2662,7 @@ F: hw/i2c/i2c_mux_pca954x.c F: include/hw/i2c/i2c_mux_pca954x.h =20 pcf8574 -S: Orphaned +S: Orphan F: hw/gpio/pcf8574.c F: include/gpio/pcf8574.h =20 @@ -2884,7 +2884,7 @@ S390 3270 device M: Halil Pasic M: Christian Borntraeger R: Collin Walling -S: Odd fixes +S: Odd Fixes F: include/hw/s390x/3270-ccw.h F: hw/char/terminal3270.c F: hw/s390x/3270-ccw.c @@ -3795,7 +3795,7 @@ F: tests/unit/test-uuid.c =20 Yank feature M: Lukas Straub -S: Odd fixes +S: Odd Fixes F: util/yank.c F: migration/yank_functions* F: tests/unit/test-yank.c --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476123; cv=none; d=zohomail.com; s=zohoarc; b=a+LN96ZJGqIqsGA1FPQn78L/J4gghei/pEsQzLV6Pdpq5qW5RNxWavKcqrfdPt7mVS6K9oFY//8hr5/2lsSkHIK1AaO+dl8YkkEmL4ViC6GReBikao2XW437pqQeFOCAAlc49tIFv9iCaq13jtSrtKNDT/zuN4WqaeX6RjktA/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476123; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+y4zgoD+f0fN2QJ3KEy8mPHZuzX+JykDpAucVMG5uT4=; b=Q/q+9p+IxgtFjrE8d9P0RGmHs/05wjhzsUjNhtsf5Gp78y8f2JXvM3WQs/PFfwhYu44+wmUkgwt2FVFcTkFWopP5bkBeOszwhSjI6QIKnLiVBXdk2u0nv5rUyuWh3iat86CVIZs4S2D++t1LQOHuGeZOavHnsaF/444FtkseO/U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476123571131.04254635380676; Thu, 11 Dec 2025 10:02:03 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkz1-0000eJ-0p; Thu, 11 Dec 2025 13:01:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkyz-0000dO-6I for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:41 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyw-000607-1k for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:39 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4779adb38d3so3919235e9.2 for ; Thu, 11 Dec 2025 10:01:37 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47a89ef88d6sm18559145e9.8.2025.12.11.10.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:34 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EBFD45F898; Thu, 11 Dec 2025 18:01:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476096; x=1766080896; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+y4zgoD+f0fN2QJ3KEy8mPHZuzX+JykDpAucVMG5uT4=; b=z5cMY8nEZntFyiZX/U+ZN1TUcVLvmdRweuWpIlAKYFKDzx452EKsr/jcy7Ak/AzIXE 0KWskxujoTBu3zKjLDxp612YjtjmTtDmkl0DVZhSJwgbV5KAecInpehv0tFz4trJ1Ex7 IVN7VyZz31NWzZE5Q6A8GDGr2QrMDTzpa8dtbM9109sgczzAMgX5rhI3oAqxb7VwjqPF hYblx690y0jc+9aN9NlTfVLpgYFl+9BOUvCaFUB5w9x3K5q6hkDiSwX6YvI2ZoSZJxXX VvUG/Frp7T5yCW5nNQirXyeoTAdur+uNN3diCpPBfTXDL+MDKVjx5xchPA2WSPqSuukx 48jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476096; x=1766080896; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+y4zgoD+f0fN2QJ3KEy8mPHZuzX+JykDpAucVMG5uT4=; b=cn7sbTH/wMrHdYiKP1EJzCGrER7A1w72xKt1ErDYxNl9HOeGsf62zCta59PEL8tSZM yFeCLfUw/OGLcpXMEcYk9P7xD38vDoKchJe2Jj47H939m563Wl7+hBDMKnq/azsqsV8/ JPYYCVmChAPid8Tw1B0NQxLivLH+HOlzpRCUTtENfsg6zRsbYNCd9/IVWkHJMzTKiwP2 jyIHaNUUr7VnV19EX42xTFtAARMgac6d1u4tELASrQhRddZeEzSJZDDus9tgfvZkzJ8d 9hoxRvqVbE8BgwW6/s9VKLqhrzZCLMUbJUinind3GmU0MUnqakOt57K7k/RDGOAESNNL +wVQ== X-Gm-Message-State: AOJu0YyE+r//PxagVKUs8HhAiPuloG5ipYkZKYHm6CRQsADGyb8AXljk 0Fdgzge/4c0hwHHuwwDDz/TDzjLvOHX6MNJ7tLt6WRlvEHW1mPLRF3Xq5ZVRWr6AONI= X-Gm-Gg: AY/fxX4obCbtjA9w0b2B0QPxvsX37FNJvtJJ3IkCRDWUcD2SMqrJ6T86B6RnOe3MVsO ec7reitT3uIFsppcXLyhboqlSEaQXmmkYcuDAVxsK9Xp9Bp51kAfCN3+HKyCMvfww9UYdf5DvNp Sb23L8wAZ609J6AJM1RpWBZTl/b//k1tKkljjAaLgHhgPIO1Yps698nzNVWWiJ1zAmZZxtn/3Cq sXrkM8yMF2xsROy5X+qNS1YkhFlEHgtEaZ7AZny6Q5xn9LCVUVo3ZfaxzPGq4KYB3WD30BWOt/e 2+8kxSl3Hr3Qg/ERwvGWXCIzstLagxXnK/Q4Eh+EVeN/9tP+V4mkGbqTXZgTuMrTwRXrMjZQQTi cX+st4U5oqdLMj1zohBcFW9wxTgmJNx0J2/+FEWdUOQvTVTnhEB/tPd8TAEbPEhM/9J6LfMUE6S Mr9UkcqcaSFcM= X-Google-Smtp-Source: AGHT+IFId4bZZeZ1h79bDzQ61jLcGMeqhkkS+WyOENeIoltQe5dm8T2cTtmw0/KNkqKLBkZy7c0Egw== X-Received: by 2002:a05:600c:3b88:b0:46f:d682:3c3d with SMTP id 5b1f17b1804b1-47a8aef793dmr31249715e9.13.1765476096292; Thu, 11 Dec 2025 10:01:36 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 4/9] scripts/get_maintainer.py: minimal argument parsing Date: Thu, 11 Dec 2025 18:01:27 +0000 Message-ID: <20251211180132.3186564-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476125752158500 Signed-off-by: Alex Benn=C3=A9e --- scripts/get_maintainer.py | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 scripts/get_maintainer.py diff --git a/scripts/get_maintainer.py b/scripts/get_maintainer.py new file mode 100755 index 00000000000..2b8fc7ae9ee --- /dev/null +++ b/scripts/get_maintainer.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python +# +# get_maintainer.py: Print selected MAINTAINERS information +# +# usage: scripts/get_maintainer.py [OPTIONS] +# scripts/get_maintainer.py [OPTIONS] -f +# +# (c) 2025, Alex Benn=C3=A9e +# based on get_maintainers.pl +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from argparse import ArgumentParser, ArgumentTypeError +from os import path +from pathlib import Path + + +def valid_file_path(arg): + """ + Checks if arg exists and is a regular file or raises ArgumentTypeError. + """ + if not path.exists(arg): + raise ArgumentTypeError(f"File '{arg}' does not exist.") + if not path.isfile(arg): + raise ArgumentTypeError(f"Path '{arg}' is not a regular file.") + return Path(path.abspath(arg)) + + +def main(): + parser =3D ArgumentParser(description=3D'Extract maintainer informatio= n. ') + + # We can either specify patches or an individual file + group =3D parser.add_mutually_exclusive_group() + group.add_argument('patch', nargs=3D'*', type=3Dvalid_file_path, + help=3D'path to patch file') + group.add_argument('-f', '--file', type=3Dvalid_file_path, + help=3D'path to source file') + + args =3D parser.parse_args() + + + +if __name__ =3D=3D '__main__': + main() --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476188; cv=none; d=zohomail.com; s=zohoarc; b=Qb1kOdW3P8DOZDBqvAt35wkAd5Zoma+m/H/96UUcN9TlWanBfy/oHRk95DXBPQVgzbM/jbzi+w7x9VTnL9LyW1cOZLjw+iPO86481oJWf5jYqVxpfOlCZAFhgvAOxalkWOcrd3NmhuDoWD39q8wbxJ7iHVBH+wrUIic6pDnhDBY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476188; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xjNIuzyK5V5xqm/v+ERCVfRQjHJqruku7oF2X8AM9z0=; b=UVkIrTOohtXqeZRVdthFSuO6O9slZGOsmEfg30dDt0APZr+AGBEi421s38D/eqPkT6abNM4PIpHuHzK35MHKiIY0EhfxJ1K4dTvZTrEXqd96tPz38Z2jTJzqfuczGJJ9wfVGkvmbBKDaOkJbEr6W6BQHPDQDbiLdeHxaNn0l+gc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476188266265.64551304224926; Thu, 11 Dec 2025 10:03:08 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkzD-0000mi-1F; Thu, 11 Dec 2025 13:01:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkz4-0000fe-O0 for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:46 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyy-00060O-So for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:45 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-477b5e0323bso1961695e9.0 for ; Thu, 11 Dec 2025 10:01:38 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42fa8b85d1esm6915549f8f.26.2025.12.11.10.01.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:36 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0DF0A5F8BC; Thu, 11 Dec 2025 18:01:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476097; x=1766080897; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xjNIuzyK5V5xqm/v+ERCVfRQjHJqruku7oF2X8AM9z0=; b=cI8r9hMkgsEriZ9SapfslnbZ4CovY10YpgexImvpTbhClTlZkkoebOVRCgyRsf9PDY 32Z23iShDkpxB2IYVdZItA7eUt5J+UPT9vtpJAMJ3CudRp0kyTzyPoBpW11oGu6m11jc Me6CwS24BH0P9jGhcLXA8I0nduKcUXRAfqKD80WEm2K9sF5F9IjYrvqlr/WdxzTAwsY2 2044QFGn6Gl2t8xy3t3JsFxSyw0/ISVVxjBLCbTyRYb0cBeVii3PQv6w7ncEfOM4b/ed XuKWOizF9XgC+7UyxpJjU9bPtRxDwHbpROFvT/OAQvyTZgzdnOY1S04qnwJBVLHa5hB1 0uGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476097; x=1766080897; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xjNIuzyK5V5xqm/v+ERCVfRQjHJqruku7oF2X8AM9z0=; b=FwMJEsZwnoV9bHoJt91Axc/E1Nbn4hqEJgcEqgNsqFxkaw6UBP8bM10FyQCk8ybs9g wW3qI77/5f1ibz5pYN4ZaaFRtWiaKBVUILBc2ibWXEq87LzRvqjAoQKphD8XSI9aJBEm CqSt6JDFmY6MxDQ6KdM1mDOXT6vK71deWhCRqje2EnszB02YoFmeKUsbdcm070l8jlrx fgSLgT6usgV1Fp0X96HCn9k5sqZfSpfvbSVdalN7q9FUxQ9qj5TEy+AjhIePemo/WKZI uawUO1rnTExbwqydkKzXfGPRjJgWggx0eB3zIvxMAaovp5/TvRJJ4OiY9QnKvr3at/Y9 lZjw== X-Gm-Message-State: AOJu0YwNOiIJW+rSUKG7pWpYoGJggMEPJI4jOXLVdUk5xUTmYNWBRgFh kblZwtpJ58OkweKyVWIYQ+FRs10SvD6QxRvJtVelvZSZHJ60iMmQ8mfK1nUlGGO5rKI= X-Gm-Gg: AY/fxX6JNr25V23LL0LJGQHWdXzHew7D3wj3qHqpSXGhee/5lDnnf0ZW/nyWl9POg1t ECKKApha62r+mypaypYIEuNR3Wa9v9NISNR6LEnri7o//4X+mZesMOwz/rbmTRUlgRXNWUgEB9q Vvo5Jj8mogH0LPsI2Ndy7sLyffCwY8WWsm1s3tFNfnFXIC55mdVeRZW0Y3Rsbws3D5girGytRhp nu4nML3DUHPMr28t0YAqvYxBum2KKz7dILoCnmWF0aIlhBph9qxL0IlN4UVLptuFs5QgfmcaWav n+RqYDeT2XvlwOuvm0MJzPAZL5+SI4DyHDZyA7p1Xteyr65sSeWRvV4KLYomQzUCKJ6mMECTOiv fxPwzzI34RcL40YMH6K4mpsWGru+HCzFCvFb0CZyCZsIL0It5EzUMu40deVv1dxe8N9UQTaVGkX JXRiSll2LZog8= X-Google-Smtp-Source: AGHT+IESRZ5jXW92nTehu9/xS2VHvAEWK1m0YkhocFOsedoaRwXD6l3OFo+uOzvhegVs/QOzMmr5KA== X-Received: by 2002:adf:e2d1:0:b0:429:eb05:1c69 with SMTP id ffacd0b85a97d-42fab23d7a2mr3364175f8f.2.1765476097163; Thu, 11 Dec 2025 10:01:37 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 5/9] scripts/get_maintainer.py: resolve the source path Date: Thu, 11 Dec 2025 18:01:28 +0000 Message-ID: <20251211180132.3186564-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476189823158500 We will need this to automagically find MAINTAINERS. Use the same logic as the perl script by looking for expected files and directories. Signed-off-by: Alex Benn=C3=A9e --- scripts/get_maintainer.py | 77 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/scripts/get_maintainer.py b/scripts/get_maintainer.py index 2b8fc7ae9ee..c713f290cc7 100755 --- a/scripts/get_maintainer.py +++ b/scripts/get_maintainer.py @@ -15,6 +15,59 @@ from pathlib import Path =20 =20 +# +# Helper functions for dealing with the source path +# + +def is_qemu_src_root(directory): + """ + Checks if the given path appears to be the root of a QEMU source tree, + based on the presence of key files and directories. + """ + if not path.isdir(directory): + return False + + required_files =3D ['COPYING', 'MAINTAINERS', 'Makefile', 'VERSION'] + required_dirs =3D ['docs', 'linux-user', 'system'] + + for f in required_files: + if not path.isfile(path.join(directory, f)): + return False + for d in required_dirs: + if not path.isdir(path.join(directory, d)): + return False + return True + + +def find_src_root(): + """ + Walks up the directory tree from the script's location + to find the QEMU source root. + Returns the absolute path of the root directory if found, or None. + """ + script_dir =3D path.dirname(path.abspath(__file__)) + current_dir =3D script_dir + + while True: + if is_qemu_src_root(current_dir): + return current_dir + + # Move up to the parent directory + parent_dir =3D path.dirname(current_dir) + + # If we reached the filesystem root and haven't found it, stop + if parent_dir =3D=3D current_dir: + break + + current_dir =3D parent_dir + + return None + +# +# Argument validation +# + + def valid_file_path(arg): """ Checks if arg exists and is a regular file or raises ArgumentTypeError. @@ -26,7 +79,21 @@ def valid_file_path(arg): return Path(path.abspath(arg)) =20 =20 +def valid_src_root(arg): + """ + Checks if arg is a valid QEMU source root or raise ArgumentTypeError. + """ + abs_path =3D path.abspath(arg) + if not is_qemu_src_root(abs_path): + raise ArgumentTypeError(f"Path '{arg}' is not a valid QEMU source = tree") + return abs_path + + def main(): + """ + Main entry point for the script. + """ + parser =3D ArgumentParser(description=3D'Extract maintainer informatio= n. ') =20 # We can either specify patches or an individual file @@ -36,6 +103,16 @@ def main(): group.add_argument('-f', '--file', type=3Dvalid_file_path, help=3D'path to source file') =20 + # We need to know or be told where the root of the source tree is + src =3D find_src_root() + + if src is None: + parser.add_argument('--src', type=3Dvalid_src_root, required=3DTru= e, + help=3D'Root of QEMU source tree') + else: + parser.add_argument('--src', type=3Dvalid_src_root, default=3Dsrc, + help=3Df'Root of QEMU source tree (default: {s= rc})') + args =3D parser.parse_args() =20 =20 --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476177; cv=none; d=zohomail.com; s=zohoarc; b=i+pN+8irnHkS7QUvuR54doTTqaTlHm7wS+ht6/wSzBW4Q3mo2vkVP8IvX8sbrttLigmRwwFLOtf5J0UiOEudRCVyZ083V9wc/mWNHLuPEDJLVC1daltOkQusV1w4xqX4hFHlw1rI7bY49JE6XXuiSWhsOPITESNdwxc0iNk0Omk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476177; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fydy/wFOHMaXv3Q3vL3Fm5k0awg5d++ulTrLBQ4Tnf4=; b=jwVLExqTf1paeanqGnWxl7iFWe0SOgMWot20U9HVmmc9HUhpWp0qYAC9u+hL1UkSLAeW9jgn1iTli6KccNNEvRsJBQteAOENK2osDAjQVnG1u4taPqFiPZS0w0ytGhwDdfd6nk7rBVkVQmN7vTdoembmN+KRljxHedURCTq65y4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476177708520.9753471698433; Thu, 11 Dec 2025 10:02:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkz6-0000fj-DJ; Thu, 11 Dec 2025 13:01:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkz2-0000el-Rb for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:44 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyz-00060j-VO for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:44 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4779cc419b2so4804935e9.3 for ; Thu, 11 Dec 2025 10:01:41 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47a89f74291sm46025705e9.11.2025.12.11.10.01.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:36 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 25F3C5F8DF; Thu, 11 Dec 2025 18:01:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476100; x=1766080900; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fydy/wFOHMaXv3Q3vL3Fm5k0awg5d++ulTrLBQ4Tnf4=; b=tLfbr170GOi5QWQ2s+owDAuMuTRSsR4IYEpmshQ1H1Pzeq5oa3PXQ1uW3FxFp7vHag pDKwdQYICAQveDKe4fUJOPO9UJGLv0umoKcJNnPy6ZBWA+sxXFNFKtlgBm4vnzYp76E/ 1pFjn1kaSy/fkXX2vtEcrgGequGlug8RGrKOMHx90af+tAepwX4NkiRE1dZCiAHOy8cT Xbthdv6/6kJ9H5qCUWhroeoCj5ENSgZZd9pd48lyjPtDVzw6IHfSGMNF9zOJk4X5RlZG 6SZ8p0MRkSqSP00Vnz8uzU+UJBOdr+9Gr+EnnaKXuuRt8ASLMwmaqFURxEoQzRW9vvYs 1vpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476100; x=1766080900; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fydy/wFOHMaXv3Q3vL3Fm5k0awg5d++ulTrLBQ4Tnf4=; b=Wdq2SXLgePgmfZbCIWLISkYjbFEfsqGd0tepGgfZobWWhvIkek/5Z1UDiEfI9/PSor eKT9yQvNrxL2Tx7lEhR6Dr21yONZpKEsSrV5WnSm1W+6mzOtJpHecfYNGW6EeyNRtGsI zm7f+imxKRAdio+1zVEcgKaIh2lT6SqeLH22sccrfPlYA2veK2uqmIkUl1WTOqsxOLLA W2pKcjVzb4h7bmcn5iTXgZN90ObQ7oYDrja8H46G5aStFgPO+o6fNr3Xm+kagAoDscVM rpU6+1wdCYb0XmChcwVBrEykSOfCjM5NxQuHxO+8F/SSmLca9DzN5DF8j3INx6UbBcVI F5bg== X-Gm-Message-State: AOJu0Yx8VEkpDy8QS66/KtQKifF34DMEEo9gkxRiRWy/PY7t6pOrECXD v8CWcPp27Iav0rTsHPIZLnEEx1DTzdZTWEeRQz7Eb2Aftp0CRslXEBro5YjnCsMszE4K4cJEnJj qEnB+ X-Gm-Gg: AY/fxX7vN9eqbK1khRvvULOz64Q/ftpSbn9dX1tlNxeUGI6eHk1mSrriHxs6t3hgTEX QdLGE0TCkjbKoLdg+PgQssUEih4JBeTk/w/atX7NxJ2vpt7UE53Udf+CWI8hvv+h0NRVXWeGzEk /NozY8aMcdlnk5p1xMXYf5vWckI4a+c9h3uoEKQ0jGojOnzHk97dqUba/bydG5UX8Nq3dWT7TcP qfxYKQM5C7cDm0wbEkAaeQiDTBqYzZONlZ3tb1BXjVFQkx3PA6tkGJN8WW+NoaXowNIPykuJaUW XY+UGQqbpeavzAZifOspzJPXEQOJ+FtipDo0nJenBhgALPugOIANurVNzJ8xarrEflsD9X1Jfw+ sK/yomMPKgv0QQF6d7dKhZasFsjLqyDyNr+MAOMRT/OG43kZsA2CpA/YtuOE5RNk6hHTsbB7uKG aCbZQdlbo9MhI= X-Google-Smtp-Source: AGHT+IEMcialEH4Jr7Ci6fpb2+K7C+llv6Tb6xNVnC2zOsMSe7BpTnL/7a6mvHspv2BA6STodu9isg== X-Received: by 2002:a05:600c:6305:b0:477:561f:6fc8 with SMTP id 5b1f17b1804b1-47a837fcba9mr63441345e9.5.1765476099824; Thu, 11 Dec 2025 10:01:39 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 6/9] scripts/get_maintainer.py: initial parsing of MAINTAINERS Date: Thu, 11 Dec 2025 18:01:29 +0000 Message-ID: <20251211180132.3186564-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_ABUSE_SURBL=1.25, URIBL_PH_SURBL=0.61 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476179732158500 Add the basic infrastructure to parse MAINTAINERS and generate a list of MaintainerSection objects we can use later. Add a --validate argument so we can use the script to ensure MAINTAINERS is always parse-able in our CI. Signed-off-by: Alex Benn=C3=A9e --- scripts/get_maintainer.py | 165 +++++++++++++++++++++++++++++++++++++- 1 file changed, 164 insertions(+), 1 deletion(-) diff --git a/scripts/get_maintainer.py b/scripts/get_maintainer.py index c713f290cc7..7b8ce2b65e3 100755 --- a/scripts/get_maintainer.py +++ b/scripts/get_maintainer.py @@ -10,9 +10,156 @@ # # SPDX-License-Identifier: GPL-2.0-or-later =20 -from argparse import ArgumentParser, ArgumentTypeError +from argparse import ArgumentParser, ArgumentTypeError, BooleanOptionalAct= ion from os import path from pathlib import Path +from enum import StrEnum, auto +from re import compile as re_compile + +# +# Subsystem MAINTAINER entries +# +# The MAINTAINERS file is an unstructured text file where the +# important information is in lines that follow the form: +# +# X: some data +# +# where X is a documented tag and the data is variously an email, +# path, regex or link. Other lines should be ignored except the +# preceding non-blank or underlined line which represents the name of +# the "subsystem" or general area of the project. +# +# A blank line denominates the end of a section. +# + +tag_re =3D re_compile(r"^([A-Z]):") + + +class UnhandledTag(Exception): + "Exception for unhandled tags" + + +class BadStatus(Exception): + "Exception for unknown status" + + +class Status(StrEnum): + "Maintenance status" + + UNKNOWN =3D auto() + SUPPORTED =3D 'Supported' + MAINTAINED =3D 'Maintained' + ODD_FIXES =3D 'Odd Fixes' + ORPHAN =3D 'Orphan' + OBSOLETE =3D 'Obsolete' + + @classmethod + def _missing_(cls, value): + # _missing_ is only invoked by the enum machinery if 'value' does = not + # match any existing enum member's value. + # So, if we reach this point, 'value' is inherently invalid for th= is enum. + raise BadStatus(f"'{value}' is not a valid maintenance status.") + + +person_re =3D re_compile(r"^(?P[^<]+?)\s*<(?P[a-zA-Z0-9._%+-]= +@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})>\s*(?:@(?P\w+))?$") + + +class BadPerson(Exception): + "Exception for un-parsable person" + + +class Person: + "Class representing a maintainer or reviewer and their details" + + def __init__(self, info): + match =3D person_re.search(info) + + if match is None: + raise BadPerson(f"Failed to parse {info}") + + self.name =3D match.group('name') + self.email =3D match.group('email') + + +class MaintainerSection: + "Class representing a section of MAINTAINERS" + + def _expand(self, pattern): + if pattern.endswith("/"): + return f"{pattern}*" + return pattern + + def __init__(self, section, entries): + self.section =3D section + self.status =3D Status.UNKNOWN + self.maintainers =3D [] + self.reviewers =3D [] + self.files =3D [] + self.files_exclude =3D [] + self.trees =3D [] + self.lists =3D [] + self.web =3D [] + self.keywords =3D [] + + for e in entries: + (tag, data) =3D e.split(": ", 2) + + if tag =3D=3D "M": + person =3D Person(data) + self.maintainers.append(person) + elif tag =3D=3D "R": + person =3D Person(data) + self.reviewers.append(person) + elif tag =3D=3D "S": + self.status =3D Status(data) + elif tag =3D=3D "L": + self.lists.append(data) + elif tag =3D=3D 'F': + pat =3D self._expand(data) + self.files.append(pat) + elif tag =3D=3D 'W': + self.web.append(data) + elif tag =3D=3D 'K': + self.keywords.append(data) + elif tag =3D=3D 'T': + self.trees.append(data) + elif tag =3D=3D 'X': + pat =3D self._expand(data) + self.files_exclude.append(pat) + else: + raise UnhandledTag(f"'{tag}' is not understood.") + + + +def read_maintainers(src): + """ + Read the MAINTAINERS file, return a list of MaintainerSection objects. + """ + + mfile =3D path.join(src, 'MAINTAINERS') + entries =3D [] + + section =3D None + fields =3D [] + + with open(mfile, 'r', encoding=3D'utf-8') as f: + for line in f: + if not line.strip(): # Blank line found, potential end of a s= ection + if section: + new_section =3D MaintainerSection(section, fields) + entries.append(new_section) + # reset for next section + section =3D None + fields =3D [] + elif tag_re.match(line): + fields.append(line.strip()) + else: + if line.startswith("-") or line.startswith("=3D"): + continue + + section =3D line.strip() + + return entries =20 =20 # @@ -103,6 +250,12 @@ def main(): group.add_argument('-f', '--file', type=3Dvalid_file_path, help=3D'path to source file') =20 + # Validate MAINTAINERS + parser.add_argument('--validate', + action=3DBooleanOptionalAction, + default=3DNone, + help=3D"Just validate MAINTAINERS file") + # We need to know or be told where the root of the source tree is src =3D find_src_root() =20 @@ -115,6 +268,16 @@ def main(): =20 args =3D parser.parse_args() =20 + try: + # Now we start by reading the MAINTAINERS file + maint_sections =3D read_maintainers(args.src) + except Exception as e: + print(f"Error: {e}") + exit(-1) + + if args.validate: + print(f"loaded {len(maint_sections)} from MAINTAINERS") + exit(0) =20 =20 if __name__ =3D=3D '__main__': --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476137; cv=none; d=zohomail.com; s=zohoarc; b=GpF9uY9hrOVlnDgI9XdO1tqEd8KBR2Q8mhNZCtiXG+Ombblo4fZUBja+Y0N+q2epF4pwNMuwLSfjWfm2RSG1C97IryoL4qOrhvdn3awBkqXPGQaJ7w7U+K5PFsp3JldKzFJt3DUm/vpsZOPRS4ewO7B995vYnGESXBrqgA31Hlw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476137; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TWn+H+QO/mlabJco1FHXHcY3lt3eGKIBuWinFFufa28=; b=Vjf3tCA7DVAz1Mr2oZyC9Dz1dIB+Wfj3ZoqPT9YnkZk7XznRrmHvtO5DQkHU007OhAMoMkmfgPaDPjEsJUYsfF0aUxepAvrmWSaTu5feJvzyIRXmmYB6kIFOMRVf+WA/IINy+mUkO1RH6fr3DUtjbnNwSHVtHd75MpETSY5nD+8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476137866945.3287356459462; Thu, 11 Dec 2025 10:02:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkz9-0000h2-4R; Thu, 11 Dec 2025 13:01:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkz4-0000fd-Nj for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:46 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkz0-00060k-Pi for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:45 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-42e2e628f8aso220271f8f.1 for ; Thu, 11 Dec 2025 10:01:41 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42fa8a702a1sm7819381f8f.13.2025.12.11.10.01.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:36 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 3DDDC5F8ED; Thu, 11 Dec 2025 18:01:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476100; x=1766080900; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TWn+H+QO/mlabJco1FHXHcY3lt3eGKIBuWinFFufa28=; b=RsG1NdScn6G36yJZhVGk22fBQF12VD6au1hvaEIB8JpDeenrPNaRPdpj8PSQTh5kPm U6qcBnK3Ma4CSD3Q1JcqvQwKePm+FxN3gtnkeRqB5Gj3bHHTFh8SqHVhEhqTxecTi9+S vb6tcBdC799WattNTb2eQOGzXwi/+bvRjOf2FT4xbePnRIHrV//ll4/jSaV6h5Fb1ws/ Yq87uILdLQpiRudpYrHT+ENkjYBZ1G1uNfzzl+yO1Mmbn0WZ+eA3rXgIvRIXHzfJSOQw dZf7WfpcWHWHzzob0Lvez8BtH1yncB4OLjFiP01gnY5EErrE85/jNE9grWN8HYKR3WWd dtfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476100; x=1766080900; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TWn+H+QO/mlabJco1FHXHcY3lt3eGKIBuWinFFufa28=; b=ev0A7ZU5iasRVDlaFltVah4O5RcOwz/MaVd2/HQFXov62H3bUhNy+M4ztHtvk15Xe/ 8/VboeglLr+f00WFBwTTZkhtrTWzuyc3lJ0JO/7zi46EnBXV69+0KvmTE62biiw0+BFj Day0QhAKuNgnpTJS+HTWeWClLc6pj/Nk/DuhemvVNj5xE1UCNB+bopLar8+/zLhELcO5 vAoBeY6Np3zih3M7LOBCrQG+fnA/+i7nLDs3tDeXkbNhsVey93HCrFau6lzZR3gvCEjG Y8ccfSDy//m3Ol56YK+gT7BIhS1ggfZaDNRqPcrFmHYkSFmOoY2rcyZBL4HX8tCyl5Xl xQHQ== X-Gm-Message-State: AOJu0Yws0rgvmp91YMr/E8mUyTyM5xP3ygSa4Fa5x8ULWl6A+L6v0MMy nLjxekQDRkcUgygMnsUZFy1lmlaMriyrCjq39Pm4y7Wks4hTWwjr31TticYMluByt1U= X-Gm-Gg: AY/fxX72N7oZ3SflmcJkpHJ4gcGDn7+xxtSL+1mNLK+L6A9cmJ74PHNgrwkI/o8Pmkh kDqi0qApWM5PbSyrfGXu8cxn2d5pzVMAaGIOgpu0NmZelzmdgQr1xRMK4IfsqQLIhZQJJQRnCzB k9XJ+v8rS6iKb+QF3PhIBAQS9aQ/drQwCxgBDwXVjC4q/1r9e50u/gxVbTiRcsX9SI9YXWQPsl+ I8IHjZvjr7cMrORWONb5Fi3t+Gr71ENpgPgvsFMe+mpHtE+nAvCiNEL/sOmUwkOguKoYM50ii8y SJhTVA3TjJDZseMxd8E9p5EkFodqFLpEH8Crb70czidPaLn5iMo24wb+SpQKxBY9OWlwEoPf8aK Jk+pjmc7rtiC2LRkxLpXjwtHdJAsHaLTLreajNtZyi69fQ3iwm/7nbQcG6772c9Rl9BdBYBVRaI Lq5ub0TTkbRK4= X-Google-Smtp-Source: AGHT+IG88qxFtc0LAd4yOiJaf9kfmgdh425dEW9N4UUGp4/HYnFgVEEgCiqwba1zGUXnqunQh/c7vA== X-Received: by 2002:a05:6000:290f:b0:401:5ad1:682 with SMTP id ffacd0b85a97d-42fa39d1f95mr7070827f8f.14.1765476099421; Thu, 11 Dec 2025 10:01:39 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 7/9] scripts/get_maintainer.py: add support for -f Date: Thu, 11 Dec 2025 18:01:30 +0000 Message-ID: <20251211180132.3186564-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476139488158500 Now we have our sections we can add support for checking each file against the maintainer list and gathering the ones we want. Finally we can print the list out. Signed-off-by: Alex Benn=C3=A9e --- scripts/get_maintainer.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/scripts/get_maintainer.py b/scripts/get_maintainer.py index 7b8ce2b65e3..bf45865438e 100755 --- a/scripts/get_maintainer.py +++ b/scripts/get_maintainer.py @@ -129,6 +129,32 @@ def __init__(self, section, entries): else: raise UnhandledTag(f"'{tag}' is not understood.") =20 + def __str__(self) -> str: + entries =3D [] + + for m in self.maintainers: + entries.append(f"{m.name} <{m.email}> (maintainer: {self.secti= on})") + + for r in self.reviewers: + entries.append(f"{r.name} <{r.email}> (reviewer: {self.section= })") + + for l in self.lists: + entries.append(f"{l} (open list: {self.section})") + + return "\n".join(entries) + + def is_file_covered(self, filename): + "Is filename covered by this maintainer section" + + for fx in self.files_exclude: + if filename.match(fx): + return False + + for f in self.files: + if filename.match(f): + return True + + return False =20 =20 def read_maintainers(src): @@ -279,6 +305,15 @@ def main(): print(f"loaded {len(maint_sections)} from MAINTAINERS") exit(0) =20 + relevent_maintainers =3D None + + if args.file: + relevent_maintainers =3D [ms for ms in maint_sections if + ms.is_file_covered(args.file)] + + for rm in relevent_maintainers: + print(rm) + =20 if __name__ =3D=3D '__main__': main() --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476158; cv=none; d=zohomail.com; s=zohoarc; b=DqtU7MnxZkgSxyI+p+bLOU6b4wYhU4MRYT+nDysWQGrlePos+kCUz+6M0+WSjyRM5WEACPWNnqSjWW6+RLi4H68OTkihUdykH/+4LICgQb0681kbbj+kkkJSswZ7XRsXAgI8aPsk9aA+p/QweP4MRE55d1I0bwCihNheknZQlDI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476158; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LidZloD1YOJfGlaIqFd+HDx8s5jEhhnCWmmrV/Nz338=; b=Ge+Po82kkSjWTo0R24E9vzpHUYybFagFIAH4KQJ472DmUm21w6vye9G5M5GraQZ+3+hqmkWRMGB6+qer/IUc/XZ3YR/QBKQ7VUEY6E05iOr7ebaUA9LCnOb83fQAA0UMZ/2cm3FNlSpaOMqmzh179JfBRmPFnLCH90rcRh9TFYQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476158693859.4356024172132; Thu, 11 Dec 2025 10:02:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkzC-0000mE-Ko; Thu, 11 Dec 2025 13:01:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkz4-0000ff-Nw for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:46 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkz0-00060y-Pj for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:45 -0500 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-42b47f662a0so254984f8f.0 for ; Thu, 11 Dec 2025 10:01:41 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42fa8b9b259sm6863545f8f.41.2025.12.11.10.01.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:36 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 53FD35F943; Thu, 11 Dec 2025 18:01:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476100; x=1766080900; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LidZloD1YOJfGlaIqFd+HDx8s5jEhhnCWmmrV/Nz338=; b=sHJT2tNbLdTH+q5xZL8JEPhhV0A2keyXRUNipY4lPl/KuZDlQ4Z5MST4xLmLwdUcGL 85xbdeN3dKjZnKcPpGdNGg+kjcds6f12vj9kQW5jWsesR4rTeUUPGBXhNFRUvde6Ws60 Kvu3aXd2FRsDjljhFt5iZ772JDMqCKDMvtOrykOYp0cNZBS5HWnVNZACRM1sOTzvG8eA z2KXHAS6iqYKJ3yfcTolNG3VbgzheuVES5jvHc9qXhxMU5EPk5yIsGRocFTDxRujvAvF brDZx/UgJxIenK4uHjfnvGHW9D7Rjti9LTnbIv9l904+scKF9D7PfzENQQaEvYky5a3Q MFug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476100; x=1766080900; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LidZloD1YOJfGlaIqFd+HDx8s5jEhhnCWmmrV/Nz338=; b=XgXInxLeobD0JTcfvlzJljheirtyFQWJDsBQcH/6Dp7HKcZPHWpOX49+khyPKNqzuZ MPxWwUaQu0vQIxhvR0EY6/7JMTwGgKilbSORrPhu7LrJy/i2fBUNT8b0MlMcDtPiZjmx xVrDd0nMYX8BNgrsVDhng2aAYuQRmlN/jVcPxDtXNmDWdlk5fewZgtugVaRp3sYikMJt zFTkpFaSCjorZV4Q8SR3O7YO4XbQgwzL7CpOjpeIhxHQBzb58zpnxxwJVPI+ZX1KNn3g xjpQ8Skjk6YBDZ8j6izxS/ZvFGvAkxCBx8E9fW34Av5CctSsyFIggECjGW+DocpHVB1Q jCyQ== X-Gm-Message-State: AOJu0YwUybj/oR/c6pIQqcANc+7G3oNClWMm7qj18TnNTlOU1jvO1+Y7 fLB2M4K8sq0NPOLVlYJ0aRDWMPHyyUfM7mqIi9GMa1SH8+35SZlv36PpZvWoHrvPxvk= X-Gm-Gg: AY/fxX4xeuPK2DrEftTzUqXe+NlYC+1a41whP+3jSvUxQWPPptoW9GVEu78kGP1Y/Lc ojGQEjUN8/KBICKopLDQeReLwAT+bkTWx/fxFHH6Z4zeci78FQLLLCdDHp15Np+wDZhRy/vrLuq uBn28Y9bWbI4WpEYAF2YJl1p2UiV33hyu+TEljalhk78OVSJOcjnsAnT4Rp27usekeLgwdjBWXm wspdsauTOGdaG+ptivH/pBstPiU0XhcNHScVy02R2Ja1AeUYDgtWAhXA6COTx8F+xHpaubRSBpS lsKmrnJH1j1h1MbeUGV5h6InH77yBLDXFfhUmIAllCMSg19OnbWSXZFj4eLGExYz+DNA1L26kpy nqsuotC+nxz16AkMCDqXDhwh/ZuQTLLnLw4FAcc2c7wIaeRsgptBKiX/cl4jn7brMRTtNVhOtsh k8+sqE2oBPRWo= X-Google-Smtp-Source: AGHT+IFzdkqmGlzmCjDTC7QqrtJPRwCSWmgSvoFYb0mNxPz2tNOIee+DiLxvG3GJ2tvPAY2BNxGgzw== X-Received: by 2002:a5d:5f88:0:b0:42f:8817:7ee with SMTP id ffacd0b85a97d-42fab28c9b3mr4134595f8f.31.1765476098785; Thu, 11 Dec 2025 10:01:38 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 8/9] scripts/get_maintainer.py: add support reading patch files Date: Thu, 11 Dec 2025 18:01:31 +0000 Message-ID: <20251211180132.3186564-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476159611158500 Not so different from individual files, we just need to parse the patch looking for the files and add them to the list. As we can parse multiple patches we also need to ensure the final list of sections is unique so we don't repeat ourselves. Signed-off-by: Alex Benn=C3=A9e --- scripts/get_maintainer.py | 47 ++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/scripts/get_maintainer.py b/scripts/get_maintainer.py index bf45865438e..daeefecef64 100755 --- a/scripts/get_maintainer.py +++ b/scripts/get_maintainer.py @@ -15,6 +15,7 @@ from pathlib import Path from enum import StrEnum, auto from re import compile as re_compile +from re import sub as re_sub =20 # # Subsystem MAINTAINER entries @@ -187,6 +188,29 @@ def read_maintainers(src): =20 return entries =20 +# +# Helper functions for dealing with patch files +# +patchfile_re =3D re_compile(r"\+\+\+\s+(\S+)") + +#TODO: also return a list of keyword hits for K:? +def extract_filenames_from_patch(patchfile): + """ + Read a patchfile and return a list of files which are modified by + the patch. + """ + file_list =3D [] + + with open(patchfile, 'r', encoding=3D'utf-8') as f: + for line in f: + m =3D patchfile_re.match(line) + if m: + # strip leading [ab]/ + stripped =3D re_sub(r'^[^/]*/', '', m.group(1)) + as_path =3D Path(path.abspath(stripped)) + file_list.append(as_path) + + return file_list =20 # # Helper functions for dealing with the source path @@ -305,14 +329,27 @@ def main(): print(f"loaded {len(maint_sections)} from MAINTAINERS") exit(0) =20 - relevent_maintainers =3D None + # Build array of Path objects representing the files + files =3D [] =20 if args.file: - relevent_maintainers =3D [ms for ms in maint_sections if - ms.is_file_covered(args.file)] + files.append(args.file) + + if args.patch: + for p in args.patch: + pfiles =3D extract_filenames_from_patch(p) + files.extend(pfiles) + + # unique set of maintainer sections + maintained: set[MaintainerSection] =3D set() + + for f in files: + fmaint =3D [ms for ms in maint_sections if ms.is_file_covered(f)] + for m in fmaint: + maintained.add(m) =20 - for rm in relevent_maintainers: - print(rm) + for rm in maintained: + print(str(rm)) =20 =20 if __name__ =3D=3D '__main__': --=20 2.47.3 From nobody Mon Feb 9 18:53:21 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1765476187; cv=none; d=zohomail.com; s=zohoarc; b=Otrw9MSuwV6obd+FZo+ps59uQsMZG26fHuTlvMtNAfyC529I2uxuxXfkFuidUgvRoGmu8XCqzXO+G9E4q8XI+9/eD47nzVr+TCBZNbBh9IPg1oldJkVQgDQmrAw9zFEq4e8K9qDRhp5pMMN5+2cJmoKkijhkmJF3k1yiR0Nhnus= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1765476187; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IlUfoKCtrzpDxxKvD3ZWXZavaxQbw25a3orNPzaQiEk=; b=Ewvtooul8fakt0sFaanrtkFlI9x0dLU3+WvIDLUEYMBdW4SNaHFo9q8WXQlyLDvEFicM/mperfvYTZQahnrRA9hRkN9yrLi9tzNrfMRnvvEqdcaPLflPWG5+lOmqlOn9Ar1GZjFtTYu5yNkgPtfvoVJc0KL5tMD1zdbfoZ60rG4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1765476187844622.5836297019657; Thu, 11 Dec 2025 10:03:07 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vTkz8-0000gi-DJ; Thu, 11 Dec 2025 13:01:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vTkz4-0000fc-NX for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:46 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vTkyy-00060h-Sx for qemu-devel@nongnu.org; Thu, 11 Dec 2025 13:01:45 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-4779cb0a33fso5360495e9.0 for ; Thu, 11 Dec 2025 10:01:40 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47a89f036a9sm49651595e9.12.2025.12.11.10.01.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 10:01:36 -0800 (PST) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 6BB2C5F94A; Thu, 11 Dec 2025 18:01:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765476099; x=1766080899; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IlUfoKCtrzpDxxKvD3ZWXZavaxQbw25a3orNPzaQiEk=; b=QjiJfidXd9/u1a5duBk2rOCnEBm3qF78LJj93Suq/VygM288gKTfS13MfaCazFHBND 2EFXTW+2ytIBTPftJiVbqVwts+DOIMuChAJGiM2LC0S96TYfEE8UybeVULgl9z4o5d6a LleMmQqvaPlUTsDhNGQ6qIbxaSS6Yr5IrflT83SjKZz34FqVo+yYYqJtg50Q3JZekYDY k1gMYRkU28wEITmZRNe0XpTmESTqaaQmuokWEGDFsMkVzHA2bo3HmHxYncaVrjTkI5zK TKUMbJF1ro8gLuLD++sBT75WTV7pvgzb1UfTNAamqU1AuloarMDZ6tcnj33yyuoGYRq7 0IcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765476099; x=1766080899; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=IlUfoKCtrzpDxxKvD3ZWXZavaxQbw25a3orNPzaQiEk=; b=OSYK9NLhIrdvxVA4cxA5uF2/x3CpdvUsHnWNJYPvg1xwLEiFByrh3UzAtmg0oP42hB K6N8reI3Y3veoRhNVrbeMrDQDELashGZEPrX9Q0++FoLTOglPH0PuYE6LzsV+4oAZSBd YpKx3tKaIEu/qPZXei5kH1jwqeJr31kjrai1YZNVFzd+DWCBMsJCgtGCo8BE7f7WbmyY 77KxYzQ0cv6eekp2dBQkozQ6ynlKFBY3UMoLYBpDDqSg7Ii6pPop07qk2LMFkAls53TU ZFkPcpxzQIOmxMYmGXAUZQ7MfzGg/Ut0eM9Vtb7TBQbkBi3dfVfPQ+TtQvvPZ6Li37u1 gkvQ== X-Gm-Message-State: AOJu0YwWyIB1sFCIt84EBHCGd998rPsI3aJ2Dmr2ApK5HIz0l06ZLWrJ CkwX3ycxzMb4/1rId9D4Pc2U7Igh7IY6lPaYtYIiOD1CrNaDc8/fbMO7sh0w12EN12s= X-Gm-Gg: AY/fxX7Ioq1pggGjecedeue6x/ySgNLBMuLstcgRqhxiN7Qgt16ROXCGtxIsAF6F/gx ULm/95rDbM7RuMt8UE5gOLXXljUvl5i87iNoOA9/tC9nW9TY/44CiRclPQaF+J41P1Guj4TSH2K /P4AxIxn0GIK2r/01lbrwfZzmAA6CsEaCFhkvMbzFno3DWnQ/MJn4RMtGGiXqkD98Ha9vjtueds dLEdxKCtI6CVBKf+Em5Of/VllFWVFm9Rs328kxtaEea+cenUAx/CgIbJ1qbEcv3Zs3F7becP0eE rpCTv3031pQ9VDdFmnONDsDLqzPYMy9LnWsphF5+R7V8MuCMOYD5FJA5IeisRux995+0p9Vq1on TITmhBxjE05/GyEvT6sUQv+eDXKU1/+by+dmWsOrL7eyAdHiZZ3hYpkKZPFiZ3SlyYm/agT10pd 6A6njk6vUauUY= X-Google-Smtp-Source: AGHT+IFNNajq4jlOgpTAff0Bllofa3dLmQDGbeK90xVAxVciXlJC3XflfsI4+r0xjkMiMpN5RMx1xw== X-Received: by 2002:a05:600c:3151:b0:477:557b:691d with SMTP id 5b1f17b1804b1-47a838586d6mr78631615e9.25.1765476098137; Thu, 11 Dec 2025 10:01:38 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , John Snow Subject: [RFC PATCH 9/9] gitlab: add a check-maintainers task Date: Thu, 11 Dec 2025 18:01:32 +0000 Message-ID: <20251211180132.3186564-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251211180132.3186564-1-alex.bennee@linaro.org> References: <20251211180132.3186564-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1765476189805158500 Now we have a more flexible get_maintainer script we can use it to validate MAINTAINERS. Signed-off-by: Alex Benn=C3=A9e --- .gitlab-ci.d/static_checks.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitlab-ci.d/static_checks.yml b/.gitlab-ci.d/static_checks.yml index 61fe2fa39ab..c74698ad948 100644 --- a/.gitlab-ci.d/static_checks.yml +++ b/.gitlab-ci.d/static_checks.yml @@ -23,6 +23,15 @@ check-dco: before_script: - apk -U add git =20 +check-maintainers: + extends: .base_job_template + stage: build + image: python:3.10-alpine + needs: [] + script: scripts/get_maintainer.py --validate + variables: + GIT_DEPTH: 1 + check-python-minreqs: extends: .base_job_template stage: test --=20 2.47.3