DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup
@ 2019-12-16 16:22 Thomas Monjalon
  2019-12-16 16:40 ` Bruce Richardson
  2019-12-16 19:15 ` [dpdk-dev] [PATCH v2] devtools: remove config backup after " Thomas Monjalon
  0 siblings, 2 replies; 7+ messages in thread
From: Thomas Monjalon @ 2019-12-16 16:22 UTC (permalink / raw)
  To: dev; +Cc: olivier.matz, stable, Ali Alnubani, David Marchand

The config options are updated with sed and the short inline option.
In FreeBSD, the suffix argument of the inline option is mandatory.
In order to avoid creating a backup file when using sed inline,
the argument is set as an empty suffix.

The short option '-i' does not expect '=' before the suffix argument,
so it understands '=' as the file suffix.
As a consequence, a backup file named '.config=' was created
in the build directory.

Removing the '=' sign while keeping an empty suffix
avoids creating a backup file.

Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
Cc: olivier.matz@6wind.com
Cc: stable@dpdk.org

Reported-by: Ali Alnubani <alialnu@mellanox.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---

This patch does not work on FreeBSD.
Does it mean the equal sign is required on FreeBSD?
This is not what I see on the documentation:
https://www.freebsd.org/cgi/man.cgi?query=sed&sektion=&n=1

---
 devtools/test-build.sh | 76 +++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 38 deletions(-)

diff --git a/devtools/test-build.sh b/devtools/test-build.sh
index 52305fbb8c..8b6e484a8e 100755
--- a/devtools/test-build.sh
+++ b/devtools/test-build.sh
@@ -141,82 +141,82 @@ config () # <directory> <target> <options>
 		echo 'Customize configuration'
 		# Built-in options (lowercase)
 		! echo $3 | grep -q '+default' || \
-		sed -ri="" 's,(RTE_MACHINE=")native,\1default,' $1/.config
+		sed -ri'' 's,(RTE_MACHINE=")native,\1default,' $1/.config
 		echo $3 | grep -q '+next' || \
-		sed -ri=""           's,(NEXT_ABI=)y,\1n,' $1/.config
+		sed -ri''           's,(NEXT_ABI=)y,\1n,' $1/.config
 		! echo $3 | grep -q '+shared' || \
-		sed -ri=""         's,(SHARED_LIB=)n,\1y,' $1/.config
+		sed -ri''         's,(SHARED_LIB=)n,\1y,' $1/.config
 		! echo $3 | grep -q '+debug' || ( \
-		sed -ri=""  's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
-		sed -ri=""           's,(_DEBUG.*=)n,\1y,' $1/.config
-		sed -ri=""  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
-		sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
+		sed -ri'' 's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
+		sed -ri''           's,(_DEBUG.*=)n,\1y,' $1/.config
+		sed -ri''  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
+		sed -ri'' 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
 
 		# Automatic configuration
 		test "$DPDK_DEP_NUMA" != n || \
-		sed -ri=""             's,(NUMA.*=)y,\1n,' $1/.config
-		sed -ri=""    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
-		sed -ri=""             's,(BYPASS=)n,\1y,' $1/.config
+		sed -ri''             's,(NUMA.*=)y,\1n,' $1/.config
+		sed -ri''    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
+		sed -ri''             's,(BYPASS=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ARCHIVE" != y || \
-		sed -ri=""       's,(RESOURCE_TAR=)n,\1y,' $1/.config
+		sed -ri''       's,(RESOURCE_TAR=)n,\1y,' $1/.config
 		test "$DPDK_DEP_BPF" != y || \
-		sed -ri=""         's,(PMD_AF_XDP=)n,\1y,' $1/.config
+		sed -ri''         's,(PMD_AF_XDP=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ISAL" != y || \
-		sed -ri=""           's,(PMD_ISAL=)n,\1y,' $1/.config
+		sed -ri''           's,(PMD_ISAL=)n,\1y,' $1/.config
 		test "$DPDK_DEP_MLX" != y || \
-		sed -ri=""           's,(MLX._PMD=)n,\1y,' $1/.config
+		sed -ri''           's,(MLX._PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_NFB" != y || \
-		sed -ri=""            's,(NFB_PMD=)n,\1y,' $1/.config
+		sed -ri''            's,(NFB_PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SZE" != y || \
-		sed -ri=""       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
+		sed -ri''       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""          's,(BNX2X_PMD=)n,\1y,' $1/.config
+		sed -ri''          's,(BNX2X_PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""           's,(PMD_ZLIB=)n,\1y,' $1/.config
+		sed -ri''           's,(PMD_ZLIB=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
+		sed -ri''   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
 		test "$DPDK_DEP_PCAP" != y || \
-		sed -ri=""               's,(PCAP=)n,\1y,' $1/.config
+		sed -ri''               's,(PCAP=)n,\1y,' $1/.config
 		test -z "$ARMV8_CRYPTO_LIB_PATH" || \
-		sed -ri=""   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
+		sed -ri''   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
 		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
+		sed -ri''       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
 		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
+		sed -ri''      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
 		test -z "$LIBSSO_SNOW3G_PATH" || \
-		sed -ri=""         's,(PMD_SNOW3G=)n,\1y,' $1/.config
+		sed -ri''         's,(PMD_SNOW3G=)n,\1y,' $1/.config
 		test -z "$LIBSSO_KASUMI_PATH" || \
-		sed -ri=""         's,(PMD_KASUMI=)n,\1y,' $1/.config
+		sed -ri''         's,(PMD_KASUMI=)n,\1y,' $1/.config
 		test -z "$LIBSSO_ZUC_PATH" || \
-		sed -ri=""            's,(PMD_ZUC=)n,\1y,' $1/.config
+		sed -ri''            's,(PMD_ZUC=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(PMD_CCP=)n,\1y,' $1/.config
+		sed -ri''            's,(PMD_CCP=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""        's,(PMD_OPENSSL=)n,\1y,' $1/.config
+		sed -ri''        's,(PMD_OPENSSL=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(QAT_SYM=)n,\1y,' $1/.config
+		sed -ri''            's,(QAT_SYM=)n,\1y,' $1/.config
 		test -z "$FLEXRAN_SDK" || \
-		sed -ri=""     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
-		sed -ri=""           's,(SCHED_.*=)n,\1y,' $1/.config
+		sed -ri''     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
+		sed -ri''           's,(SCHED_.*=)n,\1y,' $1/.config
 		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
+		sed -ri''   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
 		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""          's,(MVPP2_PMD=)n,\1y,' $1/.config
+		sed -ri''          's,(MVPP2_PMD=)n,\1y,' $1/.config
 		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""         's,(MVNETA_PMD=)n,\1y,' $1/.config
+		sed -ri''         's,(MVNETA_PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ELF" != y || \
-		sed -ri=""            's,(BPF_ELF=)n,\1y,' $1/.config
+		sed -ri''            's,(BPF_ELF=)n,\1y,' $1/.config
 		test "$DPDK_DEP_JSON" != y || \
-		sed -ri=""          's,(TELEMETRY=)n,\1y,' $1/.config
+		sed -ri''          's,(TELEMETRY=)n,\1y,' $1/.config
 		build_config_hook $1 $2 $3
 
 		# Explicit enabler/disabler (uppercase)
 		for option in $(echo $3 | sed 's,[~+], &,g') ; do
 			pattern=$(echo $option | cut -c2-)
 			if echo $option | grep -q '^~' ; then
-				sed -ri="" "s,($pattern=)y,\1n," $1/.config
+				sed -ri'' "s,($pattern=)y,\1n," $1/.config
 			elif echo $option | grep -q '^+' ; then
-				sed -ri="" "s,($pattern=)n,\1y," $1/.config
+				sed -ri'' "s,($pattern=)n,\1y," $1/.config
 			fi
 		done
 	fi
-- 
2.24.0


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

* Re: [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup
  2019-12-16 16:22 [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup Thomas Monjalon
@ 2019-12-16 16:40 ` Bruce Richardson
  2019-12-16 16:47   ` Thomas Monjalon
  2019-12-16 19:15 ` [dpdk-dev] [PATCH v2] devtools: remove config backup after " Thomas Monjalon
  1 sibling, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2019-12-16 16:40 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, olivier.matz, stable, Ali Alnubani, David Marchand

On Mon, Dec 16, 2019 at 05:22:42PM +0100, Thomas Monjalon wrote:
> The config options are updated with sed and the short inline option.
> In FreeBSD, the suffix argument of the inline option is mandatory.
> In order to avoid creating a backup file when using sed inline,
> the argument is set as an empty suffix.
> 
> The short option '-i' does not expect '=' before the suffix argument,
> so it understands '=' as the file suffix.
> As a consequence, a backup file named '.config=' was created
> in the build directory.
> 
> Removing the '=' sign while keeping an empty suffix
> avoids creating a backup file.
> 
> Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
> Cc: olivier.matz@6wind.com
> Cc: stable@dpdk.org
> 
> Reported-by: Ali Alnubani <alialnu@mellanox.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> 
> This patch does not work on FreeBSD.
> Does it mean the equal sign is required on FreeBSD?
> This is not what I see on the documentation:
> https://www.freebsd.org/cgi/man.cgi?query=sed&sektion=&n=1
> 
> ---

It appears it is needed, which is why the "=" was added in the first place.
See commit: 4a4a20c4775b ("devtools: support FreeBSD"), by Olivier

Is having the backup file a big issue?

Regards,
/Bruce

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

* Re: [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup
  2019-12-16 16:40 ` Bruce Richardson
@ 2019-12-16 16:47   ` Thomas Monjalon
  2019-12-16 16:59     ` Bruce Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2019-12-16 16:47 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, olivier.matz, Ali Alnubani, David Marchand

16/12/2019 17:40, Bruce Richardson:
> On Mon, Dec 16, 2019 at 05:22:42PM +0100, Thomas Monjalon wrote:
> > The config options are updated with sed and the short inline option.
> > In FreeBSD, the suffix argument of the inline option is mandatory.
> > In order to avoid creating a backup file when using sed inline,
> > the argument is set as an empty suffix.
> > 
> > The short option '-i' does not expect '=' before the suffix argument,
> > so it understands '=' as the file suffix.
> > As a consequence, a backup file named '.config=' was created
> > in the build directory.
> > 
> > Removing the '=' sign while keeping an empty suffix
> > avoids creating a backup file.
> > 
> > Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
> > Cc: olivier.matz@6wind.com
> > Cc: stable@dpdk.org
> > 
> > Reported-by: Ali Alnubani <alialnu@mellanox.com>
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> > 
> > This patch does not work on FreeBSD.
> > Does it mean the equal sign is required on FreeBSD?
> > This is not what I see on the documentation:
> > https://www.freebsd.org/cgi/man.cgi?query=sed&sektion=&n=1
> > 
> > ---
> 
> It appears it is needed, which is why the "=" was added in the first place.
> See commit: 4a4a20c4775b ("devtools: support FreeBSD"), by Olivier
> 
> Is having the backup file a big issue?

No it's not a big issue.
But I really would like to know how to have a common behaviour on BSD an Linux
for a thing as simple as "sed -i" !
And why the mandatory "=" is not documented on FreeBSD?

It cannot be so much broken. We probably miss something...



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

* Re: [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup
  2019-12-16 16:47   ` Thomas Monjalon
@ 2019-12-16 16:59     ` Bruce Richardson
  2019-12-16 17:45       ` Thomas Monjalon
  0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2019-12-16 16:59 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, olivier.matz, Ali Alnubani, David Marchand

On Mon, Dec 16, 2019 at 05:47:03PM +0100, Thomas Monjalon wrote:
> 16/12/2019 17:40, Bruce Richardson:
> > On Mon, Dec 16, 2019 at 05:22:42PM +0100, Thomas Monjalon wrote:
> > > The config options are updated with sed and the short inline option.
> > > In FreeBSD, the suffix argument of the inline option is mandatory.
> > > In order to avoid creating a backup file when using sed inline,
> > > the argument is set as an empty suffix.
> > > 
> > > The short option '-i' does not expect '=' before the suffix argument,
> > > so it understands '=' as the file suffix.
> > > As a consequence, a backup file named '.config=' was created
> > > in the build directory.
> > > 
> > > Removing the '=' sign while keeping an empty suffix
> > > avoids creating a backup file.
> > > 
> > > Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
> > > Cc: olivier.matz@6wind.com
> > > Cc: stable@dpdk.org
> > > 
> > > Reported-by: Ali Alnubani <alialnu@mellanox.com>
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > ---
> > > 
> > > This patch does not work on FreeBSD.
> > > Does it mean the equal sign is required on FreeBSD?
> > > This is not what I see on the documentation:
> > > https://www.freebsd.org/cgi/man.cgi?query=sed&sektion=&n=1
> > > 
> > > ---
> > 
> > It appears it is needed, which is why the "=" was added in the first place.
> > See commit: 4a4a20c4775b ("devtools: support FreeBSD"), by Olivier
> > 
> > Is having the backup file a big issue?
> 
> No it's not a big issue.
> But I really would like to know how to have a common behaviour on BSD an Linux
> for a thing as simple as "sed -i" !
> And why the mandatory "=" is not documented on FreeBSD?
> 
> It cannot be so much broken. We probably miss something...
> 
I think FreeBSD just requires a space between the -i and the ''. Testing
that seems to work for me on BSD. I assume it also should work on Linux.

/Bruce

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

* Re: [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup
  2019-12-16 16:59     ` Bruce Richardson
@ 2019-12-16 17:45       ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2019-12-16 17:45 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, olivier.matz, Ali Alnubani, David Marchand

16/12/2019 17:59, Bruce Richardson:
> On Mon, Dec 16, 2019 at 05:47:03PM +0100, Thomas Monjalon wrote:
> > 16/12/2019 17:40, Bruce Richardson:
> > > On Mon, Dec 16, 2019 at 05:22:42PM +0100, Thomas Monjalon wrote:
> > > > The config options are updated with sed and the short inline option.
> > > > In FreeBSD, the suffix argument of the inline option is mandatory.
> > > > In order to avoid creating a backup file when using sed inline,
> > > > the argument is set as an empty suffix.
> > > > 
> > > > The short option '-i' does not expect '=' before the suffix argument,
> > > > so it understands '=' as the file suffix.
> > > > As a consequence, a backup file named '.config=' was created
> > > > in the build directory.
> > > > 
> > > > Removing the '=' sign while keeping an empty suffix
> > > > avoids creating a backup file.
> > > > 
> > > > Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
> > > > Cc: olivier.matz@6wind.com
> > > > Cc: stable@dpdk.org
> > > > 
> > > > Reported-by: Ali Alnubani <alialnu@mellanox.com>
> > > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > > ---
> > > > 
> > > > This patch does not work on FreeBSD.
> > > > Does it mean the equal sign is required on FreeBSD?
> > > > This is not what I see on the documentation:
> > > > https://www.freebsd.org/cgi/man.cgi?query=sed&sektion=&n=1
> > > > 
> > > > ---
> > > 
> > > It appears it is needed, which is why the "=" was added in the first place.
> > > See commit: 4a4a20c4775b ("devtools: support FreeBSD"), by Olivier
> > > 
> > > Is having the backup file a big issue?
> > 
> > No it's not a big issue.
> > But I really would like to know how to have a common behaviour on BSD an Linux
> > for a thing as simple as "sed -i" !
> > And why the mandatory "=" is not documented on FreeBSD?
> > 
> > It cannot be so much broken. We probably miss something...
> > 
> I think FreeBSD just requires a space between the -i and the ''. Testing
> that seems to work for me on BSD. I assume it also should work on Linux.

Thanks Bruce, I will send a v2.



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

* [dpdk-dev] [PATCH v2] devtools: remove config backup after test build setup
  2019-12-16 16:22 [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup Thomas Monjalon
  2019-12-16 16:40 ` Bruce Richardson
@ 2019-12-16 19:15 ` Thomas Monjalon
  2020-05-24 22:02   ` Thomas Monjalon
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2019-12-16 19:15 UTC (permalink / raw)
  To: dev; +Cc: olivier.matz, stable, Ali Alnubani, David Marchand

The config options are updated with sed and the short in-place option.
In order to avoid creating a backup file when using sed in-place,
the argument was tentatively set as an empty suffix.
On Linux, the suffix argument is optional, without space or equal before.
On FreeBSD, the suffix argument of the in-place option is mandatory.
This argument cannot be an empty string if no space before.

In GNU sed, the short option '-i' does not expect '=' before the suffix
argument, so it understands '=' as the file suffix.
As a consequence, a backup file named '.config=' was created
on Linux in the build directory.

There is no common solution (without creating a function)
to skip the backup file with GNU sed and BSD sed.
It is solved by always creating a .config.tmp backup file
which is removed at the end of the configuration.

Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
Cc: olivier.matz@6wind.com
Cc: stable@dpdk.org

Reported-by: Ali Alnubani <alialnu@mellanox.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

---

v1: try removing = sign
v2: do not skip backup file

---
 devtools/test-build.sh | 78 ++++++++++++++++++++++--------------------
 1 file changed, 40 insertions(+), 38 deletions(-)

diff --git a/devtools/test-build.sh b/devtools/test-build.sh
index 52305fbb8c..f451d91ad3 100755
--- a/devtools/test-build.sh
+++ b/devtools/test-build.sh
@@ -141,84 +141,86 @@ config () # <directory> <target> <options>
 		echo 'Customize configuration'
 		# Built-in options (lowercase)
 		! echo $3 | grep -q '+default' || \
-		sed -ri="" 's,(RTE_MACHINE=")native,\1default,' $1/.config
+		sed -ri.tmp 's,(RTE_MACHINE=")native,\1default,' $1/.config
 		echo $3 | grep -q '+next' || \
-		sed -ri=""           's,(NEXT_ABI=)y,\1n,' $1/.config
+		sed -ri.tmp           's,(NEXT_ABI=)y,\1n,' $1/.config
 		! echo $3 | grep -q '+shared' || \
-		sed -ri=""         's,(SHARED_LIB=)n,\1y,' $1/.config
+		sed -ri.tmp         's,(SHARED_LIB=)n,\1y,' $1/.config
 		! echo $3 | grep -q '+debug' || ( \
-		sed -ri=""  's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
-		sed -ri=""           's,(_DEBUG.*=)n,\1y,' $1/.config
-		sed -ri=""  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
-		sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
+		sed -ri.tmp 's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
+		sed -ri.tmp           's,(_DEBUG.*=)n,\1y,' $1/.config
+		sed -ri.tmp  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
+		sed -ri.tmp 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
 
 		# Automatic configuration
 		test "$DPDK_DEP_NUMA" != n || \
-		sed -ri=""             's,(NUMA.*=)y,\1n,' $1/.config
-		sed -ri=""    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
-		sed -ri=""             's,(BYPASS=)n,\1y,' $1/.config
+		sed -ri.tmp             's,(NUMA.*=)y,\1n,' $1/.config
+		sed -ri.tmp    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
+		sed -ri.tmp             's,(BYPASS=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ARCHIVE" != y || \
-		sed -ri=""       's,(RESOURCE_TAR=)n,\1y,' $1/.config
+		sed -ri.tmp       's,(RESOURCE_TAR=)n,\1y,' $1/.config
 		test "$DPDK_DEP_BPF" != y || \
-		sed -ri=""         's,(PMD_AF_XDP=)n,\1y,' $1/.config
+		sed -ri.tmp         's,(PMD_AF_XDP=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ISAL" != y || \
-		sed -ri=""           's,(PMD_ISAL=)n,\1y,' $1/.config
+		sed -ri.tmp           's,(PMD_ISAL=)n,\1y,' $1/.config
 		test "$DPDK_DEP_MLX" != y || \
-		sed -ri=""           's,(MLX._PMD=)n,\1y,' $1/.config
+		sed -ri.tmp           's,(MLX._PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_NFB" != y || \
-		sed -ri=""            's,(NFB_PMD=)n,\1y,' $1/.config
+		sed -ri.tmp            's,(NFB_PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SZE" != y || \
-		sed -ri=""       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
+		sed -ri.tmp       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""          's,(BNX2X_PMD=)n,\1y,' $1/.config
+		sed -ri.tmp          's,(BNX2X_PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""           's,(PMD_ZLIB=)n,\1y,' $1/.config
+		sed -ri.tmp           's,(PMD_ZLIB=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
+		sed -ri.tmp   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
 		test "$DPDK_DEP_PCAP" != y || \
-		sed -ri=""               's,(PCAP=)n,\1y,' $1/.config
+		sed -ri.tmp               's,(PCAP=)n,\1y,' $1/.config
 		test -z "$ARMV8_CRYPTO_LIB_PATH" || \
-		sed -ri=""   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
+		sed -ri.tmp   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
 		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
+		sed -ri.tmp       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
 		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
+		sed -ri.tmp      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
 		test -z "$LIBSSO_SNOW3G_PATH" || \
-		sed -ri=""         's,(PMD_SNOW3G=)n,\1y,' $1/.config
+		sed -ri.tmp         's,(PMD_SNOW3G=)n,\1y,' $1/.config
 		test -z "$LIBSSO_KASUMI_PATH" || \
-		sed -ri=""         's,(PMD_KASUMI=)n,\1y,' $1/.config
+		sed -ri.tmp         's,(PMD_KASUMI=)n,\1y,' $1/.config
 		test -z "$LIBSSO_ZUC_PATH" || \
-		sed -ri=""            's,(PMD_ZUC=)n,\1y,' $1/.config
+		sed -ri.tmp            's,(PMD_ZUC=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(PMD_CCP=)n,\1y,' $1/.config
+		sed -ri.tmp            's,(PMD_CCP=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""        's,(PMD_OPENSSL=)n,\1y,' $1/.config
+		sed -ri.tmp        's,(PMD_OPENSSL=)n,\1y,' $1/.config
 		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(QAT_SYM=)n,\1y,' $1/.config
+		sed -ri.tmp            's,(QAT_SYM=)n,\1y,' $1/.config
 		test -z "$FLEXRAN_SDK" || \
-		sed -ri=""     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
-		sed -ri=""           's,(SCHED_.*=)n,\1y,' $1/.config
+		sed -ri.tmp     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
+		sed -ri.tmp           's,(SCHED_.*=)n,\1y,' $1/.config
 		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
+		sed -ri.tmp   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
 		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""          's,(MVPP2_PMD=)n,\1y,' $1/.config
+		sed -ri.tmp          's,(MVPP2_PMD=)n,\1y,' $1/.config
 		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""         's,(MVNETA_PMD=)n,\1y,' $1/.config
+		sed -ri.tmp         's,(MVNETA_PMD=)n,\1y,' $1/.config
 		test "$DPDK_DEP_ELF" != y || \
-		sed -ri=""            's,(BPF_ELF=)n,\1y,' $1/.config
+		sed -ri.tmp            's,(BPF_ELF=)n,\1y,' $1/.config
 		test "$DPDK_DEP_JSON" != y || \
-		sed -ri=""          's,(TELEMETRY=)n,\1y,' $1/.config
+		sed -ri.tmp          's,(TELEMETRY=)n,\1y,' $1/.config
 		build_config_hook $1 $2 $3
 
 		# Explicit enabler/disabler (uppercase)
 		for option in $(echo $3 | sed 's,[~+], &,g') ; do
 			pattern=$(echo $option | cut -c2-)
 			if echo $option | grep -q '^~' ; then
-				sed -ri="" "s,($pattern=)y,\1n," $1/.config
+				sed -ri.tmp "s,($pattern=)y,\1n," $1/.config
 			elif echo $option | grep -q '^+' ; then
-				sed -ri="" "s,($pattern=)n,\1y," $1/.config
+				sed -ri.tmp "s,($pattern=)n,\1y," $1/.config
 			fi
 		done
+
+		rm -f $1/.config.tmp
 	fi
 }
 
-- 
2.24.0


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

* Re: [dpdk-dev] [PATCH v2] devtools: remove config backup after test build setup
  2019-12-16 19:15 ` [dpdk-dev] [PATCH v2] devtools: remove config backup after " Thomas Monjalon
@ 2020-05-24 22:02   ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2020-05-24 22:02 UTC (permalink / raw)
  To: dev; +Cc: olivier.matz, stable, Ali Alnubani, David Marchand

16/12/2019 20:15, Thomas Monjalon:
> The config options are updated with sed and the short in-place option.
> In order to avoid creating a backup file when using sed in-place,
> the argument was tentatively set as an empty suffix.
> On Linux, the suffix argument is optional, without space or equal before.
> On FreeBSD, the suffix argument of the in-place option is mandatory.
> This argument cannot be an empty string if no space before.
> 
> In GNU sed, the short option '-i' does not expect '=' before the suffix
> argument, so it understands '=' as the file suffix.
> As a consequence, a backup file named '.config=' was created
> on Linux in the build directory.
> 
> There is no common solution (without creating a function)
> to skip the backup file with GNU sed and BSD sed.
> It is solved by always creating a .config.tmp backup file
> which is removed at the end of the configuration.
> 
> Fixes: 4a4a20c4775b ("devtools: support FreeBSD")
> Cc: olivier.matz@6wind.com
> Cc: stable@dpdk.org
> 
> Reported-by: Ali Alnubani <alialnu@mellanox.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> ---
> 
> v1: try removing = sign
> v2: do not skip backup file
> 
> ---
>  devtools/test-build.sh | 78 ++++++++++++++++++++++--------------------
>  1 file changed, 40 insertions(+), 38 deletions(-)

This file should be removed in 20.11 when dropping make support.
No need for this short-live half-fix.
Marked as rejected.



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

end of thread, other threads:[~2020-05-24 22:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-16 16:22 [dpdk-dev] [PATCH] devtools: avoid config backup during test build setup Thomas Monjalon
2019-12-16 16:40 ` Bruce Richardson
2019-12-16 16:47   ` Thomas Monjalon
2019-12-16 16:59     ` Bruce Richardson
2019-12-16 17:45       ` Thomas Monjalon
2019-12-16 19:15 ` [dpdk-dev] [PATCH v2] devtools: remove config backup after " Thomas Monjalon
2020-05-24 22:02   ` 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).