On 6/21/21 4:48 PM, Richard Purdie wrote:
[Please note: This e-mail is from an EXTERNAL e-mail address]
On Fri, 2021-06-18 at 10:30 +0800, Yu, Mingli wrote:
From: Mingli Yu <[email protected]>
After the commit(60dcb230f6 perl: split perl-cross into its own recipe)
introduced, the source files mainly come from two parts, one is from
SRI_URI during do_fetch and the other with below means during do_configure.
do_configure_prepend() {
cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S}
}
And the source files will be changed during do_compile with below
logic in Makefile.
$(CROSSPATCHED): %.applied: %.patch
patch -p1 -i $< && touch $@
And there comes build failure with below steps:
$ bitbake perl-native
Make a change as below
$ git diff
diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
b/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
index b77bbd1fd4..4c5e35ab80 100644
--- a/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
+++ b/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
@@ -33,6 +33,7 @@ do_compile () {
do_install_class-native() {
mkdir -p ${D}/${datadir}/perl-cross/
cp -rf ${S}/* ${D}/${datadir}/perl-cross/
+ echo "test" > ${D}/${datadir}/perl-cross/testfile
}
$ bitbake perl-native
| NOTE: make -j 48
| make crosspatch
| make[1]: Entering directory
'/buildarea1/myu2/wr_build/wr1021_20210616_perl/build/tmp-glibc/work/x86_64-linux/perl-native/5.34.0-r0/perl-5.34.0'
| patch -p1 -i cnf/diffs/perl5-5.34.0/time-hires.patch && touch
cnf/diffs/perl5-5.34.0/time-hires.applied
| patch -p1 -i cnf/diffs/perl5-5.34.0/xconfig.patch && touch
cnf/diffs/perl5-5.34.0/xconfig.applied
| patch -p1 -i cnf/diffs/perl5-5.34.0/posix-makefile.patch && touch
cnf/diffs/perl5-5.34.0/posix-makefile.applied
| File dist/Time-HiRes/Makefile.PL is read-only; trying to patch anyway
| patching file dist/Time-HiRes/Makefile.PL
| Reversed (or previously applied) patch detected! Assume -R? [n]
| Apply anyway? [n]
| Skipping patch.
| 4 out of 4 hunks ignored -- saving rejects to file
dist/Time-HiRes/Makefile.PL.rej
| patch -p1 -i cnf/diffs/perl5-5.34.0/test-commonsense.patch && touch
cnf/diffs/perl5-5.34.0/test-commonsense.applied
| File perl.h is read-only; trying to patch anyway
| patching file perl.h
| Reversed (or previously applied) patch detected! Assume -R? [n]
| Apply anyway? [n]
| Skipping patch.
| 1 out of 1 hunk ignored -- saving rejects to file perl.h.rej
| make[1]: *** [Makefile:64: cnf/diffs/perl5-5.34.0/time-hires.applied] Error
1
[snip]
It's because the source files patched twice, so let do_fetch always
executed to make sure the source files which come from SRC_URI brand
new in each build to avoid the source files patched twice to fix the
build failure as above.
Signed-off-by: Mingli Yu <[email protected]>
---
meta/recipes-devtools/perl/perl_5.34.0.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-devtools/perl/perl_5.34.0.bb
b/meta/recipes-devtools/perl/perl_5.34.0.bb
index 7935a58723..2e48110d2b 100644
--- a/meta/recipes-devtools/perl/perl_5.34.0.bb
+++ b/meta/recipes-devtools/perl/perl_5.34.0.bb
@@ -382,3 +382,5 @@ EOF
chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl
cat ${SYSROOT_DESTDIR}${bindir}/nativeperl
}
+
+do_fetch[nostamp] = "1"
This patch is incorrect, it would cause tasks to rerun all the time and is not
the correct way to solve this problem. We don't use nostamp tasks in mid tree
tasks.
Hi RP,
Any suggestion to solve the issue? I'm also researching a better solution.
Thanks,
Cheers,
Richard
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#153249):
https://lists.openembedded.org/g/openembedded-core/message/153249
Mute This Topic: https://lists.openembedded.org/mt/83620027/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-