From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id BC751374C for ; Fri, 4 Aug 2017 16:01:34 +0200 (CEST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Aug 2017 07:01:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,321,1498546800"; d="scan'208";a="135526333" Received: from silpixa00372839.ir.intel.com (HELO silpixa00372839.ger.corp.intel.com) ([10.237.222.154]) by fmsmga005.fm.intel.com with ESMTP; 04 Aug 2017 07:01:31 -0700 From: Ferruh Yigit To: Thomas Monjalon , John McNamara Cc: dev@dpdk.org, Ferruh Yigit Date: Fri, 4 Aug 2017 15:01:25 +0100 Message-Id: <20170804140125.76823-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.13.3 In-Reply-To: <20170428163420.25785-1-ferruh.yigit@intel.com> References: <20170428163420.25785-1-ferruh.yigit@intel.com> Subject: [dpdk-dev] [PATCH v2] devtools: add script to get maintainers from patch X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Aug 2017 14:01:35 -0000 This is a wrapper to Linux kernel get_maintainer.pl file and only supports parsing MAINTAINERS file (no git fallback etc..) Requires DPDK_GETMAINTAINER_PATH devel config option set, please check devtools/load-devel-config. DPDK_GETMAINTAINER_PATH should be full path to the get_maintainer.pl script, like: DPDK_GETMAINTAINER_PATH=~/linux/scripts/get_maintainer.pl Can be used individually: ./devtools/get_maintainer.sh Or via git send-email, to add maintainers automatically: git send-email --to-cmd ./devtools/get_maintainer.sh \ --cc dev@dpdk.org HEAD -4 Currently there is an ugly workaround to be able to use Linux script out of the kernel tree, later better method can replace it. Signed-off-by: Ferruh Yigit --- v2: * add trap * update contributors guide --- devtools/get_maintainer.sh | 85 +++++++++++++++++++++++++++++++++++++ doc/guides/contributing/patches.rst | 4 ++ 2 files changed, 89 insertions(+) create mode 100755 devtools/get_maintainer.sh diff --git a/devtools/get_maintainer.sh b/devtools/get_maintainer.sh new file mode 100755 index 000000000..5ae6b5aed --- /dev/null +++ b/devtools/get_maintainer.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. All rights reserved. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# Load config options: +# - DPDK_GETMAINTAINER_PATH +. $(dirname $(readlink -e $0))/load-devel-config + +options="--no-git-fallback" +options="$options --no-rolestats" + +print_usage () { + cat <<- END_OF_HELP + usage: $(basename $0) + END_OF_HELP +} + +# Requires DPDK_GETMAINTAINER_PATH devel config option set, +# please check devtools/load-devel-config. +# DPDK_GETMAINTAINER_PATH should be full path to the get_maintainer.pl script, +# like: +# DPDK_GETMAINTAINER_PATH=~/linux/scripts/get_maintainer.pl + +if [ ! -x "$DPDK_GETMAINTAINER_PATH" ] ; then + print_usage >&2 + echo + echo 'Cannot execute DPDK_GETMAINTAINER_PATH' >&2 + exit 1 +fi + +FILES="COPYING CREDITS Kbuild" +FOLDERS="Documentation arch include fs init ipc kernel scripts" + +# Kernel script checks for some files and folders to run +workaround () { + for f in $FILES; do + if [ ! -f $f ]; then touch $f; fi + done + + for d in $FOLDERS; do + if [ ! -d $d ]; then mkdir $d; fi + done +} + +fix_workaround () { + for f in $FILES; do if [ -f $f ]; then rm -f $f; fi; done + for d in $FOLDERS; do if [ -d $d ]; then rmdir $d; fi; done +} + +# clean workaround on exit +trap fix_workaround EXIT + +workaround +$DPDK_GETMAINTAINER_PATH $options $@ +# fix_workaround called on exit by trap diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index 27e218b24..14867ba05 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -404,6 +404,10 @@ The appropriate maintainer can be found in the ``MAINTAINERS`` file:: git send-email --to maintainer@some.org --cc dev@dpdk.org 000*.patch +Script ``get_maintainer.sh`` can be used to select maintainers automatically:: + + git send-email --to-cmd ./devtools/get_maintainer.sh --cc dev@dpdk.org 000*.patch + New additions can be sent without a maintainer:: git send-email --to dev@dpdk.org 000*.patch -- 2.13.3