instant-sysroot-target: move task copy_to_target_sysroot out of conflict zone

Task copy_to_target_sysroot creates hardlinks and can run in parallell to e.g
package_ipk which causes sporadic failures as:

| Subprocess output:tar: ./usr/bin/.debug/guitarix: file changed as we read it
| ERROR: Logfile of failure stored in: <...>/temp/log.do_package_write_ipk.25489

There is not much we can do about host's tar
(see https://lists.gnu.org/archive/html/bug-tar/2007-08/msg00013.html) so
ensure copy_to_target_sysroot does not run parallel to package_deb /
package_ipk / package_rpm (depending on what PACKAGE_CLASSES sets).

Fixes [1]

[1] https://github.com/schnitzeltony/meta-mortsgna/issues/12

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
Andreas Müller
2020-01-15 14:19:15 +01:00
parent 5e95d64cca
commit 0cf33d763e

View File

@@ -173,7 +173,7 @@ do_copy_to_target_sysroot() {
fi
}
addtask copy_to_target_sysroot after do_package before do_build
addtask copy_to_target_sysroot after bb.utils.contains('PACKAGE_CLASSES', 'package_deb', 'do_package_write_deb', '', d) bb.utils.contains('PACKAGE_CLASSES', 'package_ipk', 'do_package_write_ipk', '', d) bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', 'do_package_write_rpm', '', d) before do_build
# same as do package
do_copy_to_target_sysroot[vardeps] = "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}"