file: return wrapper to fix builds when file is in buildtools-tarball

Wrapper that adds proper path to magic file was removed in
47db876d09d9a4394048579c21d0b394450ce681 in favor of
environment-setup.d/file.sh which now contains `MAGIC` environment variable.
This breaks builds that rely on external buildtools with `file` included in
buildtools-tarball (e.g. via TOOLCHAIN_HOST_TASK) because do_populate_sysroot
task invokes `file` via `subprocess.check_output` (in is_elf function) and
doesn't use variables from files in environment-setup.d. To address this use
case, we need to preserve the wrapper, but also have
environment-setup.d/file.sh for the purposes described in
47db876d09d9a4394048579c21d0b394450ce681.

(From OE-Core rev: e76b059cf4ba9a79150032d68d012b233dd79a65)

Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Oleksandr Hnatiuk
2023-07-21 01:18:56 -07:00
committed by Richard Purdie
parent 795d8114d4
commit e4890e2276

View File

@@ -45,6 +45,7 @@ do_install:append:class-native() {
}
do_install:append:class-nativesdk() {
create_wrapper ${D}/${bindir}/file MAGIC=${datadir}/misc/magic.mgc
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
cat <<- EOF > ${D}${SDKPATHNATIVE}/environment-setup.d/file.sh
export MAGIC="$OECORE_NATIVE_SYSROOT${datadir}/misc/magic.mgc"