From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH 01/19] devtools: add simple script to find duplicate includes Date: Tue, 11 Jul 2017 16:05:57 -0700 Message-ID: <20170711160557.4774128e@xeon-e3> References: <20170711185546.26138-1-stephen@networkplumber.org> <20170711185546.26138-2-stephen@networkplumber.org> <2203089.SAOtEojdoZ@xps> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org To: Thomas Monjalon Return-path: Received: from mail-pg0-f51.google.com (mail-pg0-f51.google.com [74.125.83.51]) by dpdk.org (Postfix) with ESMTP id 164A23257 for ; Wed, 12 Jul 2017 01:06:04 +0200 (CEST) Received: by mail-pg0-f51.google.com with SMTP id u62so3156941pgb.3 for ; Tue, 11 Jul 2017 16:06:04 -0700 (PDT) In-Reply-To: <2203089.SAOtEojdoZ@xps> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, 11 Jul 2017 22:33:55 +0200 Thomas Monjalon wrote: > Hi Stephen, > > 11/07/2017 20:55, Stephen Hemminger: > > This is just a simple check script to find obvious duplications. > > > > Signed-off-by: Stephen Hemminger > > --- > > devtools/dup_include.pl | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 64 insertions(+) > > create mode 100755 devtools/dup_include.pl > > Thank you for this script, but... it is written in Perl! > I don't think it is a good idea to add yet another language to DPDK. > We already have shell and python scripts. > And I am not sure a lot of (young) people are able to parse it ;) > > I would like to propose this shell script: > > dirs='app buildtools drivers examples lib test' > pattern='^[[:space:]]*#include[[:space:]]*[<"](.*)[>"].*' > > for file in $(git ls $dirs) ; do > dups=$(sed -rn "s,$pattern,\1,p" $file | sort | uniq -d) > [ -n "$dups" ] || continue > echo "$file" > echo "$dups" | sed 's,^,\t,' > done Sorry, it is quick and easy. After all it is optional, just like coccinelle and not part of the build. Plus checkpatch is in Perl.