diff mbox series

[V2] Fix error SRCDIR when using usrmerge DISTRO_FEATURES

Message ID Wnqs.1682583778394705301.Jj4z@lists.openembedded.org
State New
Headers show
Series [V2] Fix error SRCDIR when using usrmerge DISTRO_FEATURES | expand

Commit Message

qiutt@fujitsu.com April 27, 2023, 8:22 a.m. UTC
From 3b1c081d4efffe83f3a63184450cc79bf16356dc Mon Sep 17 00:00:00 2001
From: Qiu Tingting <qiutt@fujitsu.com>
Date: Thu, 27 Apr 2023 15:24:35 +0800
Subject: [PATCH V2] Fix error SRCDIR when using usrmerge DISTRO_FEATURES

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 | 3 +++
1 file changed, 3 insertions(+)

--
2.25.1

Comments

Alexandre Belloni May 4, 2023, 11:56 a.m. UTC | #1
Hello,

I applied it to be able to test, however, your mailer is mangling your
patches and they don't apply without heavily modifying them.

On 27/04/2023 01:22:58-0700, qiutt@fujitsu.com wrote:
> From 3b1c081d4efffe83f3a63184450cc79bf16356dc Mon Sep 17 00:00:00 2001
> From: Qiu Tingting <qiutt@fujitsu.com>
> Date: Thu, 27 Apr 2023 15:24:35 +0800
> Subject: [PATCH V2] Fix error SRCDIR when using usrmerge DISTRO_FEATURES
> 
> 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 | 3 +++
> 1 file changed, 3 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..a2eb4f8f8f 100644
> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
> @@ -122,6 +122,9 @@ RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck
> 
> do_compile_ptest() {
> oe_runmake -C ${B}/tests

All the whitespaces are missing fro the beginning of those two lines

> +� � � �sed -i 's,/usr/usr,/usr,g' \
> +� � � � � �${B}/tests/test_one \
> +� � � � � �${B}/tests/test_script
> }
> 
> do_install_ptest() {
> --
> 2.25.1

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180486): https://lists.openembedded.org/g/openembedded-core/message/180486
> Mute This Topic: https://lists.openembedded.org/mt/98532823/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
qiutt@fujitsu.com May 5, 2023, 2:34 a.m. UTC | #2
On Thu, May 4, 2023 at 07:56 PM, Alexandre Belloni wrote:

> 
> All the whitespaces are missing fro the beginning of those two lines

Could you use the attachments and try again?

Thanks,
Qiu Tingting
Khem Raj May 5, 2023, 3:47 a.m. UTC | #3
I have picked both of the patches and tried the one sent as
attachments and they work ok here. I have then resent them to mailing
list hopefully Alex can pick them up and try

On Thu, May 4, 2023 at 7:34 PM qiutt@fujitsu.com <qiutt@fujitsu.com> wrote:
>
> On Thu, May 4, 2023 at 07:56 PM, Alexandre Belloni wrote:
>
> All the whitespaces are missing fro the beginning of those two lines
>
> Could you use the attachments and try again?
>
> Thanks,
> Qiu Tingting
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180892): https://lists.openembedded.org/g/openembedded-core/message/180892
> Mute This Topic: https://lists.openembedded.org/mt/98532823/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Ross Burton May 10, 2023, 4:26 p.m. UTC | #4
First, please use the commit message convention: the shortlog should start with "e2fsprogs:”.


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

The reason is correct, but the fix is wrong.

$libdir *always* includes $prefix.  This only works in non-usrmerge builds because for historical reasons we pass —libdir=$(base_libdir), which sets libdir=/lib.  This happens to work because /usr/lib is actually where the ptest files are installed, but that is pure coincidence.

Also, this broken part of the Makefile is a rule that *we patch in* (see ptest.patch), so simply fix that patch instead of working around it in with a sed.

Ross
qiutt@fujitsu.com May 15, 2023, 3:04 a.m. UTC | #5
Hi, Ross

Please see "[PATCH V3] e2fsprogs: Fix error SRCDIR when using usrmerge DISTRO_FEATURES". 
First, "e2fsprogs:” is added into commit message.
Then, it is fixed with ptest.patch.

Best regards,
Qiu Tingting
qiutt@fujitsu.com May 18, 2023, 1:54 a.m. UTC | #6
Hi, Ross

> 
> First, please use the commit message convention: the shortlog should start
> with "e2fsprogs:”.
> 

> 
> Also, this broken part of the Makefile is a rule that *we patch in* (see
> ptest.patch), so simply fix that patch instead of working around it in
> with a sed.
> 

Please review "[PATCH V3] e2fsprogs: Fix error SRCDIR when using usrmerge DISTRO_FEATURES".
Thanks.

Best regards,
Qiu Tingting
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..a2eb4f8f8f 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
@@ -122,6 +122,9 @@  RDEPENDS:${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck

do_compile_ptest() {
oe_runmake -C ${B}/tests
+       sed -i 's,/usr/usr,/usr,g' \
+           ${B}/tests/test_one \
+           ${B}/tests/test_script
}

do_install_ptest() {