* [dpdk-dev] [PATCH] devtools: don't use bash extension in checkpatches
[not found] <CGME20180815153249eucas1p2e13cf746fda4b82519b40f3b760a2c33@eucas1p2.samsung.com>
@ 2018-08-15 15:33 ` Ilya Maximets
2018-08-16 5:25 ` Arnon Warshavsky
0 siblings, 1 reply; 8+ messages in thread
From: Ilya Maximets @ 2018-08-15 15:33 UTC (permalink / raw)
To: dev
Cc: Thomas Monjalon, Arnon Warshavsky, Stephen Hemminger,
Ilya Maximets, stable
'read -d' is a bash extension and doesn't work in POSIX shells.
For example 'checkpatches.sh' doesn't work properly on ubuntu,
where 'dash' is a default shell:
./devtools/checkpatches.sh: 52: read: Illegal option -d
Let's use single quotes instead of variable.
Fixes: 7413e7f2aeb3 ("devtools: alert on new calls to exit from libs")
CC: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
---
devtools/checkpatches.sh | 34 ++++++++++++++++------------------
1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
index ba795ad1d..aad35275c 100755
--- a/devtools/checkpatches.sh
+++ b/devtools/checkpatches.sh
@@ -44,12 +44,18 @@ print_usage () {
}
check_forbidden_additions() {
- # This awk script receives a list of expressions to monitor
- # and a list of folders to search these expressions in
- # - No search is done inside comments
- # - Both additions and removals of the expressions are checked
- # A positive balance of additions fails the check
- read -d '' awk_script << 'EOF'
+ # This awk script receives a list of expressions to monitor
+ # and a list of folders to search these expressions in
+ # - No search is done inside comments
+ # - Both additions and removals of the expressions are checked
+ # A positive balance of additions fails the check
+ # ---------------------------------
+ # refrain from new additions of rte_panic() and rte_exit()
+ # multiple folders and expressions are separated by spaces
+ awk -v FOLDERS="lib drivers" \
+ -v EXPRESSIONS="rte_panic\\\( rte_exit\\\(" \
+ -v RET_ON_FAIL=1 \
+ '
BEGIN {
split(FOLDERS,deny_folders," ");
split(EXPRESSIONS,deny_expr," ");
@@ -70,7 +76,7 @@ check_forbidden_additions() {
# non comment code
if (in_comment == 0) {
for (i in deny_expr) {
- forbidden_added = "^\+.*" deny_expr[i];
+ forbidden_added = "^+.*" deny_expr[i];
forbidden_removed="^-.*" deny_expr[i];
current = expressions[deny_expr[i]]
if ($0 ~ forbidden_added) {
@@ -90,13 +96,13 @@ check_forbidden_additions() {
}
# switch to next file , check if the balance of add/remove
# of previous filehad new additions
- ($0 ~ "^\+\+\+ b/") {
+ ($0 ~ "^+++ b/") {
in_file = 0;
if (count > 0) {
exit;
}
for (i in deny_folders) {
- re = "^\+\+\+ b/" deny_folders[i];
+ re = "^+++ b/" deny_folders[i];
if ($0 ~ deny_folders[i]) {
in_file = 1
last_file = $0
@@ -114,15 +120,7 @@ check_forbidden_additions() {
}
exit RET_ON_FAIL
}
- }
-EOF
- # ---------------------------------
- # refrain from new additions of rte_panic() and rte_exit()
- # multiple folders and expressions are separated by spaces
- awk -v FOLDERS="lib drivers" \
- -v EXPRESSIONS="rte_panic\\\( rte_exit\\\(" \
- -v RET_ON_FAIL=1 \
- "$awk_script" -
+ }' -
}
number=0
--
2.17.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] devtools: don't use bash extension in checkpatches
2018-08-15 15:33 ` [dpdk-dev] [PATCH] devtools: don't use bash extension in checkpatches Ilya Maximets
@ 2018-08-16 5:25 ` Arnon Warshavsky
2018-09-14 14:50 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
0 siblings, 1 reply; 8+ messages in thread
From: Arnon Warshavsky @ 2018-08-16 5:25 UTC (permalink / raw)
To: Ilya Maximets; +Cc: dev, Thomas Monjalon, Stephen Hemminger, stable
Hi Ilya
Let's use single quotes instead of variable.
Using the script directly with single quotes loses the ability to reuse it
with an additional set of folders , expressions and RET_ON_FAIL.
If we wish to keep the awk code in this file and not in a separate file,
maybe receiving the awk script parameters from the function
check_forbidden_additions( ) can also preserve the ability to reuse in
future cases.
thanks
/Arnon
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] devtools: don't use bash extension in checkpatches
2018-08-16 5:25 ` Arnon Warshavsky
@ 2018-09-14 14:50 ` Thomas Monjalon
2018-09-14 15:10 ` Ilya Maximets
2018-09-15 19:07 ` Arnon Warshavsky
0 siblings, 2 replies; 8+ messages in thread
From: Thomas Monjalon @ 2018-09-14 14:50 UTC (permalink / raw)
To: Arnon Warshavsky; +Cc: Ilya Maximets, dev, Stephen Hemminger
16/08/2018 07:25, Arnon Warshavsky:
> Hi Ilya
>
> Let's use single quotes instead of variable.
>
>
> Using the script directly with single quotes loses the ability to reuse it
> with an additional set of folders , expressions and RET_ON_FAIL.
I don't know awk. Please could you explain what we are loosing and why?
> If we wish to keep the awk code in this file and not in a separate file,
> maybe receiving the awk script parameters from the function
> check_forbidden_additions( ) can also preserve the ability to reuse in
> future cases.
Yes I feel we could add some parameters to this function.
And yes, we could move the awk script in a separate file.
Actually, it would be better to keep checkpatches.sh as a wrapper script
calling various tools.
Thanks
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] devtools: don't use bash extension in checkpatches
2018-09-14 14:50 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
@ 2018-09-14 15:10 ` Ilya Maximets
2018-09-15 21:07 ` Thomas Monjalon
2018-09-15 19:07 ` Arnon Warshavsky
1 sibling, 1 reply; 8+ messages in thread
From: Ilya Maximets @ 2018-09-14 15:10 UTC (permalink / raw)
To: Thomas Monjalon, Arnon Warshavsky
Cc: dev, Stephen Hemminger, Andrzej Ostruszka
Hi Thomas.
Beside your questions,
There is another patch that targeted to fix this issue:
http://patches.dpdk.org/patch/44020/
And one similar to mine that I missed while sending:
http://patches.dpdk.org/patch/43692/
So, I'm not sure which one should be accepted and if I need to
update my version. What do you think? Stephen? Andrzej?
Best regards, Ilya Maximets.
On 14.09.2018 17:50, Thomas Monjalon wrote:
> 16/08/2018 07:25, Arnon Warshavsky:
>> Hi Ilya
>>
>> Let's use single quotes instead of variable.
>>
>>
>> Using the script directly with single quotes loses the ability to reuse it
>> with an additional set of folders , expressions and RET_ON_FAIL.
>
> I don't know awk. Please could you explain what we are loosing and why?
>
>> If we wish to keep the awk code in this file and not in a separate file,
>> maybe receiving the awk script parameters from the function
>> check_forbidden_additions( ) can also preserve the ability to reuse in
>> future cases.
>
> Yes I feel we could add some parameters to this function.
> And yes, we could move the awk script in a separate file.
> Actually, it would be better to keep checkpatches.sh as a wrapper script
> calling various tools.
>
> Thanks
>
>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] devtools: don't use bash extension in checkpatches
2018-09-14 14:50 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-09-14 15:10 ` Ilya Maximets
@ 2018-09-15 19:07 ` Arnon Warshavsky
2018-09-15 20:37 ` Thomas Monjalon
1 sibling, 1 reply; 8+ messages in thread
From: Arnon Warshavsky @ 2018-09-15 19:07 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: Ilya Maximets, dev, Stephen Hemminger
> HI
> >
> > Let's use single quotes instead of variable.
> >
> >
> > Using the script directly with single quotes loses the ability to reuse
> it
> > with an additional set of folders , expressions and RET_ON_FAIL.
>
> I don't know awk. Please could you explain what we are loosing and why?
>
The awk script was written with intention to be called with future optional
various folders and banned expressions.
The optional reuse takes place inside the function check_forbidden_additions(
)
with different instances passed to the awk script that is loaded using the
apparently unfriendly -d.
(currently only rte_panic)
If we move the parameters to the outer function, i.e
check_forbidden_additions(
params ...)
then there is no problem calling the awk script with single quotes
>
> > If we wish to keep the awk code in this file and not in a separate file,
> > maybe receiving the awk script parameters from the function
> > check_forbidden_additions( ) can also preserve the ability to reuse in
> > future cases.
>
> Yes I feel we could add some parameters to this function.
> And yes, we could move the awk script in a separate file.
> Actually, it would be better to keep checkpatches.sh as a wrapper script
> calling various tools.
>
I was under the wrong impression the opposite was desired, so yes,
moving the entire awk code to a separate file would indeed be the cleanest.
thanks
/Arnon
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] devtools: don't use bash extension in checkpatches
2018-09-15 19:07 ` Arnon Warshavsky
@ 2018-09-15 20:37 ` Thomas Monjalon
2018-09-16 3:13 ` Arnon Warshavsky
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2018-09-15 20:37 UTC (permalink / raw)
To: Arnon Warshavsky; +Cc: Ilya Maximets, dev, Stephen Hemminger
15/09/2018 21:07, Arnon Warshavsky:
> > > If we wish to keep the awk code in this file and not in a separate file,
> > > maybe receiving the awk script parameters from the function
> > > check_forbidden_additions( ) can also preserve the ability to reuse in
> > > future cases.
> >
> > Yes I feel we could add some parameters to this function.
> > And yes, we could move the awk script in a separate file.
> > Actually, it would be better to keep checkpatches.sh as a wrapper script
> > calling various tools.
> >
> I was under the wrong impression the opposite was desired, so yes,
> moving the entire awk code to a separate file would indeed be the cleanest.
OK, who can do this change please?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] devtools: don't use bash extension in checkpatches
2018-09-14 15:10 ` Ilya Maximets
@ 2018-09-15 21:07 ` Thomas Monjalon
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2018-09-15 21:07 UTC (permalink / raw)
To: Ilya Maximets; +Cc: Arnon Warshavsky, dev, Stephen Hemminger, Andrzej Ostruszka
14/09/2018 17:10, Ilya Maximets:
> Hi Thomas.
>
> Beside your questions,
> There is another patch that targeted to fix this issue:
> http://patches.dpdk.org/patch/44020/
> And one similar to mine that I missed while sending:
> http://patches.dpdk.org/patch/43692/
>
> So, I'm not sure which one should be accepted and if I need to
> update my version. What do you think? Stephen? Andrzej?
Generally speaking, I think it's better to avoid bash extensions
and comply with POSIX. That's why I support the proposal of moving
the awk script in its own file, removing the need for "read -d".
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] devtools: don't use bash extension in checkpatches
2018-09-15 20:37 ` Thomas Monjalon
@ 2018-09-16 3:13 ` Arnon Warshavsky
0 siblings, 0 replies; 8+ messages in thread
From: Arnon Warshavsky @ 2018-09-16 3:13 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: Ilya Maximets, dev, Stephen Hemminger
> > I was under the wrong impression the opposite was desired, so yes,
> > moving the entire awk code to a separate file would indeed be the
> cleanest.
>
> OK, who can do this change please?
>
>
> I will do the move to a different file later on this week
thanks
/Arnon
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-09-16 3:13 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20180815153249eucas1p2e13cf746fda4b82519b40f3b760a2c33@eucas1p2.samsung.com>
2018-08-15 15:33 ` [dpdk-dev] [PATCH] devtools: don't use bash extension in checkpatches Ilya Maximets
2018-08-16 5:25 ` Arnon Warshavsky
2018-09-14 14:50 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-09-14 15:10 ` Ilya Maximets
2018-09-15 21:07 ` Thomas Monjalon
2018-09-15 19:07 ` Arnon Warshavsky
2018-09-15 20:37 ` Thomas Monjalon
2018-09-16 3:13 ` Arnon Warshavsky
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).