From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas.monjalon@6wind.com>
Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com
 [209.85.212.178]) by dpdk.org (Postfix) with ESMTP id 8DF6F5963
 for <dev@dpdk.org>; Fri, 23 Oct 2015 17:54:38 +0200 (CEST)
Received: by wicfx6 with SMTP id fx6so37327265wic.1
 for <dev@dpdk.org>; Fri, 23 Oct 2015 08:54:38 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to
 :references;
 bh=LRRhX5OlSNn1KyJm71AhQSEn6zR7L4OSlJWovRYsNU0=;
 b=Ys/ceZUUWS31xuRrSIlpApwBTyt5xnFClV3HS7P7NwFYsE5NLIDUt8WPYwz7ZdnFKu
 UvlzuH0IrNRPtx+tlHDMZIzT3uJV5UyGSNPwVg1e6ZfgnHZ42UZp6BvhfTgFjcBBh3nR
 x9owLUS8J+3VwjVUvwBk8rAAwdS2IwFY2sBYWV/fTMwYxbNZGKDJuExBbdpNe7I7bwWu
 Fhqs33rmdZ58fCgy4XtBaQkxuo6FwCcFtEDGjqzJirPKQYjtqhl0+x2NtJp13Z9f7ccQ
 xbR/KrApYd8igk2ocJUa6F0RsP/xnMkoPHapHrYKCcuJmzlKlES2xWAX0eiSE1CaKGKi
 zPwQ==
X-Gm-Message-State: ALoCoQlM2eQsz6VOpq4/k6lCn2vVy+InLO/9ovseR2E6laecEwPkfqZts7CoX+qM/g2JdpEbEz7k
X-Received: by 10.194.179.165 with SMTP id dh5mr6524321wjc.134.1445615678393; 
 Fri, 23 Oct 2015 08:54:38 -0700 (PDT)
Received: from localhost.localdomain (136-92-190-109.dsl.ovh.fr.
 [109.190.92.136])
 by smtp.gmail.com with ESMTPSA id cq8sm2187837wib.12.2015.10.23.08.54.37
 for <dev@dpdk.org> (version=TLSv1/SSLv3 cipher=OTHER);
 Fri, 23 Oct 2015 08:54:37 -0700 (PDT)
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: dev@dpdk.org
Date: Fri, 23 Oct 2015 17:53:25 +0200
Message-Id: <1445615606-3885-2-git-send-email-thomas.monjalon@6wind.com>
X-Mailer: git-send-email 2.5.2
In-Reply-To: <1445615606-3885-1-git-send-email-thomas.monjalon@6wind.com>
References: <1445615606-3885-1-git-send-email-thomas.monjalon@6wind.com>
Subject: [dpdk-dev] [PATCH 1/2] scripts: add checkpatch wrapper
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Oct 2015 15:54:38 -0000

This script can be used to call checkpatch.pl from Linux with some
custom DPDK options.

The path to the original Linux script must be set in an environment
variable. A script is added to load any configuration variables
required by development tools from a file .develconfig, or
~/.config/dpdk/devel.config or /etc/dpdk/devel.config.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 scripts/checkpatches.sh      | 30 ++++++++++++++++++++++++++++++
 scripts/load-devel-config.sh | 14 ++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100755 scripts/checkpatches.sh
 create mode 100755 scripts/load-devel-config.sh

diff --git a/scripts/checkpatches.sh b/scripts/checkpatches.sh
new file mode 100755
index 0000000..192b931
--- /dev/null
+++ b/scripts/checkpatches.sh
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+# Load config options:
+# - DPDK_CHECKPATCH_PATH
+# - DPDK_CHECKPATCH_LINE_LENGTH
+. scripts/load-devel-config.sh
+if [ ! -x "$DPDK_CHECKPATCH_PATH" ] ; then
+	echo 'Cannot execute DPDK_CHECKPATCH_PATH' >&2
+	exit 1
+fi
+
+length=${DPDK_CHECKPATCH_LINE_LENGTH:-80}
+
+# override default Linux options
+options="$options --max-line-length=$length"
+options="$options --show-types"
+options="$options --ignore=LINUX_VERSION_CODE,FILE_PATH_CHANGES,\
+VOLATILE,PREFER_PACKED,PREFER_ALIGNED,PREFER_PRINTF,PREFER_KERNEL_TYPES,\
+SPLIT_STRING,LINE_SPACING,PARENTHESIS_ALIGNMENT,NETWORKING_BLOCK_COMMENT_STYLE,\
+NEW_TYPEDEFS,COMPLEX_MACRO,COMPARISON_TO_NULL"
+
+status=0
+for p in "$@" ; do
+	printf -- "\n### $p\n\n"
+	report=$($DPDK_CHECKPATCH_PATH $options "$p" 2>/dev/null)
+	[ $? -ne 0 ] || continue
+	printf '%s\n' "$report" | head -n -6
+	status=$(($status + 1))
+done
+exit $status
diff --git a/scripts/load-devel-config.sh b/scripts/load-devel-config.sh
new file mode 100755
index 0000000..489f007
--- /dev/null
+++ b/scripts/load-devel-config.sh
@@ -0,0 +1,14 @@
+#! /bin/echo must be loaded with .
+
+# Load DPDK devel config and allow override
+# from system file
+test ! -r /etc/dpdk/devel.config ||
+        . /etc/dpdk/devel.config
+# from user file
+test ! -r ~/.config/dpdk/devel.config ||
+        . ~/.config/dpdk/devel.config
+# from local file
+test ! -r $(dirname $(readlink -m $0))/../.develconfig ||
+        . $(dirname $(readlink -m $0))/../.develconfig
+
+# The config files must export variables in the shell style
-- 
2.5.2