diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2020-07-03 08:16:37 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-07-05 15:04:40 +0100 |
commit | 90c3e86381eb65f72ba350cecf13de2037a5541c (patch) | |
tree | b4b87830781c3802c454112d4c701e352e488031 | |
parent | 4a2370583b5124ed654b41076e2701ce6bf15132 (diff) | |
download | poky-90c3e86381eb65f72ba350cecf13de2037a5541c.tar.gz |
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: f02c1904330da47a25cf85f0077712f584f4ee5b)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/archiver.bbclass | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 0744089f74..aff1f9dbb0 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass | |||
@@ -583,7 +583,7 @@ addtask do_deploy_archives_setscene | |||
583 | 583 | ||
584 | addtask do_ar_original after do_unpack | 584 | addtask do_ar_original after do_unpack |
585 | addtask do_unpack_and_patch after do_patch do_preconfigure | 585 | addtask do_unpack_and_patch after do_patch do_preconfigure |
586 | addtask do_ar_patched after do_unpack_and_patch before do_configure | 586 | addtask do_ar_patched after do_unpack_and_patch |
587 | addtask do_ar_configured after do_unpack_and_patch | 587 | addtask do_ar_configured after do_unpack_and_patch |
588 | addtask do_ar_mirror after do_fetch | 588 | addtask do_ar_mirror after do_fetch |
589 | addtask do_dumpdata | 589 | addtask do_dumpdata |