Message ID | 20210831145017.856776-1-mdr@ashroe.eu (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CA994A0C46; Tue, 31 Aug 2021 16:51:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8EE8040142; Tue, 31 Aug 2021 16:51:23 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 52B1340041 for <dev@dpdk.org>; Tue, 31 Aug 2021 16:51:21 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10093"; a="282202924" X-IronPort-AV: E=Sophos;i="5.84,366,1620716400"; d="scan'208";a="282202924" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Aug 2021 07:51:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,366,1620716400"; d="scan'208";a="600976675" Received: from silpixa00396680.ir.intel.com (HELO silpixa00396680.ger.corp.intel.com) ([10.237.223.54]) by fmsmga001.fm.intel.com with ESMTP; 31 Aug 2021 07:50:58 -0700 From: Ray Kinsella <mdr@ashroe.eu> To: dev@dpdk.org Cc: bruce.richardson@intel.com, stephen@networkplumber.org, ferruh.yigit@intel.com, thomas@monjalon.net, ktraynor@redhat.com, mdr@ashroe.eu, aconole@redhat.com Date: Tue, 31 Aug 2021 15:50:14 +0100 Message-Id: <20210831145017.856776-1-mdr@ashroe.eu> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210618163659.85933-1-mdr@ashroe.eu> References: <20210618163659.85933-1-mdr@ashroe.eu> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v10 0/3] devtools: scripts to count and track symbols X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
devtools: scripts to count and track symbols
|
|
Message
Ray Kinsella
Aug. 31, 2021, 2:50 p.m. UTC
Scripts to count and track the lifecycle of DPDK symbols. The symbol-tool script reports on the growth of symbols over releases and list expired symbols. The notify-symbol-maintainers script consumes the input from symbol-tool and generates email notifications of expired symbols. v2: reworked to fix pylint errors v3: sent with the correct in-reply-to v4: fix typos picked up by the CI v5: fix terminal_size & directory args v6: added list-expired, to list expired experimental symbols v7: fix typo in comments v8: added tool to notify maintainers of expired symbols v9: removed hardcoded emails addressed and script names v10: added ability to identify and notify the original contributors Ray Kinsella (3): devtools: script to track symbols over releases devtools: script to send notifications of expired symbols maintainers: add new abi scripts MAINTAINERS | 2 + devtools/notify-symbol-maintainers.py | 256 ++++++++++++++ devtools/symbol-tool.py | 482 ++++++++++++++++++++++++++ 3 files changed, 740 insertions(+) create mode 100755 devtools/notify-symbol-maintainers.py create mode 100755 devtools/symbol-tool.py
Comments
Ray Kinsella <mdr@ashroe.eu> writes: > Scripts to count and track the lifecycle of DPDK symbols. > > The symbol-tool script reports on the growth of symbols over releases > and list expired symbols. The notify-symbol-maintainers script > consumes the input from symbol-tool and generates email notifications > of expired symbols. > > v2: reworked to fix pylint errors > v3: sent with the correct in-reply-to > v4: fix typos picked up by the CI > v5: fix terminal_size & directory args > v6: added list-expired, to list expired experimental symbols > v7: fix typo in comments > v8: added tool to notify maintainers of expired symbols > v9: removed hardcoded emails addressed and script names > v10: added ability to identify and notify the original contributors > > Ray Kinsella (3): > devtools: script to track symbols over releases > devtools: script to send notifications of expired symbols > maintainers: add new abi scripts > > MAINTAINERS | 2 + > devtools/notify-symbol-maintainers.py | 256 ++++++++++++++ > devtools/symbol-tool.py | 482 ++++++++++++++++++++++++++ > 3 files changed, 740 insertions(+) > create mode 100755 devtools/notify-symbol-maintainers.py > create mode 100755 devtools/symbol-tool.py I get a whole mess of flake8 issues from this series (mostly 'backslash is redundant' and whitespace issues). I'm using flake8 because it pretty well enforces PEP8 style guide. I would like to see it addressed, but also I see that many of the python files in the DPDK tree don't actually pass. Example:: $ flake8 ./usertools/dpdk-devbind.py | wc -l 34 $ flake8 ./usertools/dpdk-devbind.py | sed 's@./usertools/dpdk-devbind.py[:0-9]* @@' | sort -u E128 continuation line under-indented for visual indent E302 expected 2 blank lines, found 1 E305 expected 2 blank lines after class or function definition, found 1 E501 line too long (105 > 79 characters) E501 line too long (80 > 79 characters) E501 line too long (82 > 79 characters) E501 line too long (83 > 79 characters) E501 line too long (84 > 79 characters) E501 line too long (85 > 79 characters) E501 line too long (86 > 79 characters) E501 line too long (91 > 79 characters) E502 the backslash is redundant between brackets E722 do not use bare 'except' Looks like we repeat the same kinds of errors everywhere (this is on multiple tools). Some of our in-tree python is better than others (like app/test/autotest.py which only has 1 flake). Maybe we can address this. Other comments inline on the patches.
On Wed, 01 Sep 2021 08:31:27 -0400 Aaron Conole <aconole@redhat.com> wrote: > $ flake8 ./usertools/dpdk-devbind.py | sed 's@./usertools/dpdk-devbind.py[:0-9]* @@' | sort -u > E128 continuation line under-indented for visual indent > E302 expected 2 blank lines, found 1 > E305 expected 2 blank lines after class or function definition, found 1 > E501 line too long (105 > 79 characters) > E501 line too long (80 > 79 characters) > E501 line too long (82 > 79 characters) > E501 line too long (83 > 79 characters) > E501 line too long (84 > 79 characters) > E501 line too long (85 > 79 characters) > E501 line too long (86 > 79 characters) > E501 line too long (91 > 79 characters) Current practice on many projects has allowed lines up to 100 characters.
Stephen Hemminger <stephen@networkplumber.org> writes: > On Wed, 01 Sep 2021 08:31:27 -0400 > Aaron Conole <aconole@redhat.com> wrote: > >> $ flake8 ./usertools/dpdk-devbind.py | sed 's@./usertools/dpdk-devbind.py[:0-9]* @@' | sort -u >> E128 continuation line under-indented for visual indent >> E302 expected 2 blank lines, found 1 >> E305 expected 2 blank lines after class or function definition, found 1 >> E501 line too long (105 > 79 characters) >> E501 line too long (80 > 79 characters) >> E501 line too long (82 > 79 characters) >> E501 line too long (83 > 79 characters) >> E501 line too long (84 > 79 characters) >> E501 line too long (85 > 79 characters) >> E501 line too long (86 > 79 characters) >> E501 line too long (91 > 79 characters) > > Current practice on many projects has allowed lines up to 100 characters. It is probably okay to run with '--ignore=E501' (which will squelch the character limit).
On 01/09/2021 20:04, Aaron Conole wrote: > Stephen Hemminger <stephen@networkplumber.org> writes: > >> On Wed, 01 Sep 2021 08:31:27 -0400 >> Aaron Conole <aconole@redhat.com> wrote: >> >>> $ flake8 ./usertools/dpdk-devbind.py | sed 's@./usertools/dpdk-devbind.py[:0-9]* @@' | sort -u >>> E128 continuation line under-indented for visual indent >>> E302 expected 2 blank lines, found 1 >>> E305 expected 2 blank lines after class or function definition, found 1 >>> E501 line too long (105 > 79 characters) >>> E501 line too long (80 > 79 characters) >>> E501 line too long (82 > 79 characters) >>> E501 line too long (83 > 79 characters) >>> E501 line too long (84 > 79 characters) >>> E501 line too long (85 > 79 characters) >>> E501 line too long (86 > 79 characters) >>> E501 line too long (91 > 79 characters) >> >> Current practice on many projects has allowed lines up to 100 characters. > > It is probably okay to run with '--ignore=E501' (which will squelch the > character limit). I added # noqa : E501 in the appropriate places, as we can't depend on folks using --ignore=E501.