DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch
@ 2017-04-28 16:34 Ferruh Yigit
  2017-07-06 10:37 ` Jerin Jacob
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Ferruh Yigit @ 2017-04-28 16:34 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit

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 patch to the get_maintainer.pl
script, like:
DPDK_GETMAINTAINER_PATH=~/linux/scripts/get_maintainer.pl

Can be used individually:
./devtools/get_maintainer.sh <my.patch>

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 <ferruh.yigit@intel.com>
---
 devtools/get_maintainer.sh | 76 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 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 0000000..16b5154
--- /dev/null
+++ b/devtools/get_maintainer.sh
@@ -0,0 +1,76 @@
+#!/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) <patch>
+	END_OF_HELP
+}
+
+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 rm $f; done
+	for d in $FOLDERS; do rmdir $d; done
+}
+
+workaround
+$DPDK_GETMAINTAINER_PATH $options $@
+fix_workaround
-- 
2.9.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch
  2017-04-28 16:34 [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch Ferruh Yigit
@ 2017-07-06 10:37 ` Jerin Jacob
  2017-08-03 10:54 ` Thomas Monjalon
  2017-08-04 14:01 ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
  2 siblings, 0 replies; 7+ messages in thread
From: Jerin Jacob @ 2017-07-06 10:37 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Thomas Monjalon, dev

-----Original Message-----
> Date: Fri, 28 Apr 2017 17:34:20 +0100
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> To: Thomas Monjalon <thomas@monjalon.net>
> CC: dev@dpdk.org, Ferruh Yigit <ferruh.yigit@intel.com>
> Subject: [dpdk-dev] [PATCH] devtools: add script to get maintainers from
>  patch
> X-Mailer: git-send-email 2.8.4
> 
> 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 patch to the get_maintainer.pl
> script, like:
> DPDK_GETMAINTAINER_PATH=~/linux/scripts/get_maintainer.pl
> 
> Can be used individually:
> ./devtools/get_maintainer.sh <my.patch>
> 
> 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 <ferruh.yigit@intel.com>

Cool stuff.

Should we also update the contribution guide for this scheme? so
that it will increase the chance for maintainers to get the direct email and
enable more timely patch review.

Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch
  2017-04-28 16:34 [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch Ferruh Yigit
  2017-07-06 10:37 ` Jerin Jacob
@ 2017-08-03 10:54 ` Thomas Monjalon
  2017-08-04 14:01 ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2017-08-03 10:54 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev

Hi,

Sorry for looking at it just now.

28/04/2017 18:34, Ferruh Yigit:
> This is a wrapper to Linux kernel get_maintainer.pl file and only
> supports parsing MAINTAINERS file (no git fallback etc..)

That's the reason the same file format was used in DPDK ;)

> Requires DPDK_GETMAINTAINER_PATH devel config option set, please check
> devtools/load-devel-config.
> 
> DPDK_GETMAINTAINER_PATH should be full patch to the get_maintainer.pl
> script, like:
> DPDK_GETMAINTAINER_PATH=~/linux/scripts/get_maintainer.pl
> 
> Can be used individually:
> ./devtools/get_maintainer.sh <my.patch>
> 
> Or via git send-email, to add maintainers automatically:
> git send-email --to-cmd ./devtools/get_maintainer.sh \
> --cc dev@dpdk.org HEAD -4

Please, could you update the contributor's guide?

> Currently there is an ugly workaround to be able to use Linux script out
> of the kernel tree, later better method can replace it.

Yes it is very ugly :/
Could you try to send a patch to Linux to avoid such workaround?
If we need to keep this workaround, we should at least make sure
the files are always well removed, thanks to a trap invocation.
[...]
> +workaround
> +$DPDK_GETMAINTAINER_PATH $options $@
> +fix_workaround

Please check how trap is used in devtools/test-build.sh
Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH v2] devtools: add script to get maintainers from patch
  2017-04-28 16:34 [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch Ferruh Yigit
  2017-07-06 10:37 ` Jerin Jacob
  2017-08-03 10:54 ` Thomas Monjalon
@ 2017-08-04 14:01 ` Ferruh Yigit
  2017-11-07 23:35   ` Thomas Monjalon
  2 siblings, 1 reply; 7+ messages in thread
From: Ferruh Yigit @ 2017-08-04 14:01 UTC (permalink / raw)
  To: Thomas Monjalon, John McNamara; +Cc: dev, Ferruh Yigit

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 <my.patch>

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 <ferruh.yigit@intel.com>
---

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) <patch>
+	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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH v2] devtools: add script to get maintainers from patch
  2017-08-04 14:01 ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
@ 2017-11-07 23:35   ` Thomas Monjalon
  2017-11-07 23:41     ` Ferruh Yigit
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2017-11-07 23:35 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev, John McNamara

04/08/2017 16:01, Ferruh Yigit:
> 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 <my.patch>
> 
> 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 <ferruh.yigit@intel.com>

Sorry for having missed this very convenient patch for months.

Applied, thanks

Have you tried to send a patch to Linux
in order to avoid the workaround below?

> +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
> +}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH v2] devtools: add script to get maintainers from patch
  2017-11-07 23:35   ` Thomas Monjalon
@ 2017-11-07 23:41     ` Ferruh Yigit
  2017-11-07 23:45       ` Thomas Monjalon
  0 siblings, 1 reply; 7+ messages in thread
From: Ferruh Yigit @ 2017-11-07 23:41 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, John McNamara

On 11/7/2017 3:35 PM, Thomas Monjalon wrote:
> 04/08/2017 16:01, Ferruh Yigit:
>> 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 <my.patch>
>>
>> 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 <ferruh.yigit@intel.com>
> 
> Sorry for having missed this very convenient patch for months.
> 
> Applied, thanks
> 
> Have you tried to send a patch to Linux
> in order to avoid the workaround below?

No, not tried, but that list looks like put intentionally so not sure if a patch
helps.

> 
>> +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
>> +}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH v2] devtools: add script to get maintainers from patch
  2017-11-07 23:41     ` Ferruh Yigit
@ 2017-11-07 23:45       ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2017-11-07 23:45 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev, John McNamara

08/11/2017 00:41, Ferruh Yigit:
> On 11/7/2017 3:35 PM, Thomas Monjalon wrote:
> > Have you tried to send a patch to Linux
> > in order to avoid the workaround below?
> 
> No, not tried, but that list looks like put intentionally so not sure if a patch
> helps.

checkpatch has an option to be run outside of Linux.


> >> +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
> >> +}
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-11-07 23:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-28 16:34 [dpdk-dev] [PATCH] devtools: add script to get maintainers from patch Ferruh Yigit
2017-07-06 10:37 ` Jerin Jacob
2017-08-03 10:54 ` Thomas Monjalon
2017-08-04 14:01 ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
2017-11-07 23:35   ` Thomas Monjalon
2017-11-07 23:41     ` Ferruh Yigit
2017-11-07 23:45       ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).