From 2525b5f46e9ae809cf8fe535287f4d5249ffe63f Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Fri, 3 Jul 2020 08:16:37 -0500 Subject: classes/archive: do_configure should not depend on do_ar_patched The commit d4be264061 ("classes/archiver: run do_unpack_and_patch after do_preconfigure") correctly moved do_unpack_and_patch to depend on do_preconfigure, but left do_ar_patched as a dependency of do_configure introduced from 8a7c779487 ("classes/archiver: Create patched archive before configuring"). Having do_configure depend on do_ar_patched is blatantly wrong. Firstly, doing so causes the taskhash of do_configure to change which is undesirable. Secondly, the anon python that sets up the tasks carefully skips GCC recipes that depend on gcc-source to provide their source code since running do_unpack_and_patch in them would delete the source code. Adding in the dependency effectively bypasses this and makes these recipes delete the shared gcc-source This fixes errors (for real this time) like: cat: .../gcc/defaults.h: No such file or directory when making certain configuration changes. For posterity, you could easily reproduce gcc-source being erased by running the commands (replacing aarch64 with your correct target arch): bitbake -c cleanall gcc-source gcc-cross-aarch64 bitbake -c do_deploy_archives gcc-source # The following would fail because # gcc-cross-aarch64:do_unpack_and_patch erases shared source, so # do_configure after that fails. bitbake gcc-cross-aarch64 (From OE-Core rev: 2399fdf98a6e6e4245c2e7ed1f72404ebece3eca) Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie (cherry picked from commit f02c1904330da47a25cf85f0077712f584f4ee5b) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/classes/archiver.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta') diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index bf275f4543..1a3c190604 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -584,7 +584,7 @@ addtask do_deploy_archives_setscene addtask do_ar_original after do_unpack addtask do_unpack_and_patch after do_patch do_preconfigure -addtask do_ar_patched after do_unpack_and_patch before do_configure +addtask do_ar_patched after do_unpack_and_patch addtask do_ar_configured after do_unpack_and_patch addtask do_ar_mirror after do_fetch addtask do_dumpdata -- cgit v1.2.3-54-g00ecf