diff mbox series

[V1] Fix error SRCDIR when using usrmerge DISTRO_FEATURES

Message ID 1682490667-2414-1-git-send-email-qiutt@fujitsu.com
State New
Headers show
Series [V1] Fix error SRCDIR when using usrmerge DISTRO_FEATURES | expand

Commit Message

qiutt@fujitsu.com April 26, 2023, 6:31 a.m. UTC
From: Qiu Tingting <qiutt@fujitsu.com>

When build e2fsprogs ptest with usrmerge DISTRO_FEATURES,
in test_script and test_one scripts, value of SRCDIR has problem.
  SRCDIR=/usr/usr/lib/e2fsprogs/ptest/test

ptest log
  # ptest-runner e2fsprogs
  START: ptest-runner
  2022-12-17T11:08
  BEGIN: /usr/lib/e2fsprogs/ptest
  ls: cannot access '/usr/usr/lib/e2fsprogs/ptest/test/[a-zA-Z]_*': No such file or directory
  ./test_script: line 54: /usr/usr/lib/e2fsprogs/ptest/test/test_post: No such file or directory
  DURATION: 0
  END: /usr/lib/e2fsprogs/ptest
  2022-12-17T11:08
  STOP: ptest-runner
  TOTAL: 1 FAIL: 0

Reason
  In Makefile.in, SRCDIR is set by prefix and libdir.
    @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_one
    @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_script
  prefix=/usr
  libdir=/usr/lib (when usrmerge is set)

solution
  After ptest compiling, check and modify SRCDIR in test_script and test_one.

Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
---
 meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb | 2 ++
 1 file changed, 2 insertions(+)

Comments

Luca Ceresoli April 26, 2023, 9:23 a.m. UTC | #1
Hello Qiu,

On Wed, 26 Apr 2023 14:31:07 +0800
"qiutt@fujitsu.com" <qiutt@fujitsu.com> wrote:

> From: Qiu Tingting <qiutt@fujitsu.com>
> 
> When build e2fsprogs ptest with usrmerge DISTRO_FEATURES,
> in test_script and test_one scripts, value of SRCDIR has problem.
>   SRCDIR=/usr/usr/lib/e2fsprogs/ptest/test
> 
> ptest log
>   # ptest-runner e2fsprogs
>   START: ptest-runner
>   2022-12-17T11:08
>   BEGIN: /usr/lib/e2fsprogs/ptest
>   ls: cannot access '/usr/usr/lib/e2fsprogs/ptest/test/[a-zA-Z]_*': No such file or directory
>   ./test_script: line 54: /usr/usr/lib/e2fsprogs/ptest/test/test_post: No such file or directory
>   DURATION: 0
>   END: /usr/lib/e2fsprogs/ptest
>   2022-12-17T11:08
>   STOP: ptest-runner
>   TOTAL: 1 FAIL: 0
> 
> Reason
>   In Makefile.in, SRCDIR is set by prefix and libdir.
>     @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_one
>     @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_script
>   prefix=/usr
>   libdir=/usr/lib (when usrmerge is set)
> 
> solution
>   After ptest compiling, check and modify SRCDIR in test_script and test_one.
> 
> Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
> ---
>  meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> index 2620610903..3219817c08 100644
> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> @@ -122,6 +122,8 @@ RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck
>  
>  do_compile_ptest() {
>  	oe_runmake -C ${B}/tests
> +	sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_one
> +	sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_script

There is a duplicate '-i' in each line.

Also the regex would more readable by using another spearator character,
which would allow getting rid of the backslashes e.g.: 

sed -i 's,/usr/usr,/usr,g' -i ${B}/tests/test_one

Best regards,
Luca
Luca Ceresoli April 26, 2023, 9:26 a.m. UTC | #2
Hi Qiu,

On Wed, 26 Apr 2023 11:23:22 +0200
"Luca Ceresoli via lists.openembedded.org"
<luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:

> Hello Qiu,
> 
> On Wed, 26 Apr 2023 14:31:07 +0800
> "qiutt@fujitsu.com" <qiutt@fujitsu.com> wrote:
> 
> > From: Qiu Tingting <qiutt@fujitsu.com>
> > 
> > When build e2fsprogs ptest with usrmerge DISTRO_FEATURES,
> > in test_script and test_one scripts, value of SRCDIR has problem.
> >   SRCDIR=/usr/usr/lib/e2fsprogs/ptest/test
> > 
> > ptest log
> >   # ptest-runner e2fsprogs
> >   START: ptest-runner
> >   2022-12-17T11:08
> >   BEGIN: /usr/lib/e2fsprogs/ptest
> >   ls: cannot access '/usr/usr/lib/e2fsprogs/ptest/test/[a-zA-Z]_*': No such file or directory
> >   ./test_script: line 54: /usr/usr/lib/e2fsprogs/ptest/test/test_post: No such file or directory
> >   DURATION: 0
> >   END: /usr/lib/e2fsprogs/ptest
> >   2022-12-17T11:08
> >   STOP: ptest-runner
> >   TOTAL: 1 FAIL: 0
> > 
> > Reason
> >   In Makefile.in, SRCDIR is set by prefix and libdir.
> >     @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_one
> >     @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_script
> >   prefix=/usr
> >   libdir=/usr/lib (when usrmerge is set)
> > 
> > solution
> >   After ptest compiling, check and modify SRCDIR in test_script and test_one.
> > 
> > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
> > ---
> >  meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> > index 2620610903..3219817c08 100644
> > --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> > +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> > @@ -122,6 +122,8 @@ RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck
> >  
> >  do_compile_ptest() {
> >  	oe_runmake -C ${B}/tests
> > +	sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_one
> > +	sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_script  
> 
> There is a duplicate '-i' in each line.
> 
> Also the regex would more readable by using another spearator character,
> which would allow getting rid of the backslashes e.g.: 
> 
> sed -i 's,/usr/usr,/usr,g' -i ${B}/tests/test_one

And I forgot, this can be done in single command on both files:

sed -i 's,/usr/usr,/usr,g' \
    ${B}/tests/test_one \
    ${B}/tests/test_script 

Or maybe, in case it makes sense:

sed -i 's,/usr/usr,/usr,g' ${B}/tests/test_*

Best regards,
Luca
qiutt@fujitsu.com April 27, 2023, 12:38 a.m. UTC | #3
Hi, Luca

Thanks for your reviewing, It looks good.
I will send patch v2 for it.

Best regards,
Qiu Tingting

________________________________
发件人: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> 代表 Luca Ceresoli via lists.openembedded.org <luca.ceresoli=bootlin.com@lists.openembedded.org>
发送时间: 2023年4月26日 17:26
收件人: Luca Ceresoli via lists.openembedded.org <luca.ceresoli=bootlin.com@lists.openembedded.org>
抄送: luca.ceresoli@bootlin.com <luca.ceresoli@bootlin.com>; Qiu, Tingting/仇 婷婷 <qiutt@fujitsu.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; FNST fnstml-fujitsuten <fnstml-fujitsuten@fujitsu.com>
主题: Re: [OE-core] [PATCH V1] Fix error SRCDIR when using usrmerge DISTRO_FEATURES

Hi Qiu,

On Wed, 26 Apr 2023 11:23:22 +0200
"Luca Ceresoli via lists.openembedded.org"
<luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:

> Hello Qiu,
>
> On Wed, 26 Apr 2023 14:31:07 +0800
> "qiutt@fujitsu.com" <qiutt@fujitsu.com> wrote:
>
> > From: Qiu Tingting <qiutt@fujitsu.com>
> >
> > When build e2fsprogs ptest with usrmerge DISTRO_FEATURES,
> > in test_script and test_one scripts, value of SRCDIR has problem.
> >   SRCDIR=/usr/usr/lib/e2fsprogs/ptest/test
> >
> > ptest log
> >   # ptest-runner e2fsprogs
> >   START: ptest-runner
> >   2022-12-17T11:08
> >   BEGIN: /usr/lib/e2fsprogs/ptest
> >   ls: cannot access '/usr/usr/lib/e2fsprogs/ptest/test/[a-zA-Z]_*': No such file or directory
> >   ./test_script: line 54: /usr/usr/lib/e2fsprogs/ptest/test/test_post: No such file or directory
> >   DURATION: 0
> >   END: /usr/lib/e2fsprogs/ptest
> >   2022-12-17T11:08
> >   STOP: ptest-runner
> >   TOTAL: 1 FAIL: 0
> >
> > Reason
> >   In Makefile.in, SRCDIR is set by prefix and libdir.
> >     @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_one
> >     @echo "SRCDIR=${prefix}${libdir}/e2fsprogs/ptest/test" >> test_script
> >   prefix=/usr
> >   libdir=/usr/lib (when usrmerge is set)
> >
> > solution
> >   After ptest compiling, check and modify SRCDIR in test_script and test_one.
> >
> > Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
> > ---
> >  meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> > index 2620610903..3219817c08 100644
> > --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> > +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> > @@ -122,6 +122,8 @@ RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck
> >
> >  do_compile_ptest() {
> >      oe_runmake -C ${B}/tests
> > +   sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_one
> > +   sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_script
>
> There is a duplicate '-i' in each line.
>
> Also the regex would more readable by using another spearator character,
> which would allow getting rid of the backslashes e.g.:
>
> sed -i 's,/usr/usr,/usr,g' -i ${B}/tests/test_one

And I forgot, this can be done in single command on both files:

sed -i 's,/usr/usr,/usr,g' \
    ${B}/tests/test_one \
    ${B}/tests/test_script

Or maybe, in case it makes sense:

sed -i 's,/usr/usr,/usr,g' ${B}/tests/test_*

Best regards,
Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
diff mbox series

Patch

diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
index 2620610903..3219817c08 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
@@ -122,6 +122,8 @@  RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck
 
 do_compile_ptest() {
 	oe_runmake -C ${B}/tests
+	sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_one
+	sed -i 's/\/usr\/usr/\/usr/g' -i ${B}/tests/test_script
 }
 
 do_install_ptest() {