icu: remove host references in nativesdk to fix reproducibility

Fix is only done for target. Use same code for nativesdk.

Backport from poky master: https://git.yoctoproject.org/poky/commit/?id=c63b8f28ac52047fad689b78d605aa792baf1ad8

(From OE-Core rev: dc6306883cc2c7d4d98d595442e5bf4037a160c5)

(From OE-Core rev: fc46705cc629a151f85717a57f7d789de8fd9b64)

Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c63b8f28ac)
Signed-off-by: Bhabu Bindu <bindu.bhabu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Oleksandr Hnatiuk
2025-02-17 12:44:31 +05:30
committed by Steve Sakoman
parent 656d4b9b42
commit 5872b7ea08

View File

@@ -30,7 +30,7 @@ TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
ASNEEDED = ""
do_compile:prepend:class-target () {
remove_build_host_references_from_libicutu () {
# Make sure certain build host references do not end up being compiled
# in the image. This only affects libicutu and icu-dbg
sed \
@@ -39,6 +39,14 @@ do_compile:prepend:class-target () {
-i ${B}/tools/toolutil/Makefile
}
do_compile:prepend:class-target () {
remove_build_host_references_from_libicutu
}
do_compile:prepend:class-nativesdk () {
remove_build_host_references_from_libicutu
}
PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
do_install:append:class-native() {
mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
@@ -49,6 +57,15 @@ do_install:append:class-native() {
cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
}
remove_build_host_references() {
sed -i \
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${HOSTTOOLS_DIR}/::g' \
${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/Makefile.inc \
${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/pkgdata.inc
}
do_install:append:class-target() {
# The native pkgdata can not generate the correct data file.
# Use icupkg to re-generate it.
@@ -56,14 +73,12 @@ do_install:append:class-target() {
rm -f ${D}/${datadir}/${BPN}/${@icu_install_folder(d)}/icudt${ICU_MAJOR_VER}b.dat
icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${@icu_install_folder(d)}/icudt${ICU_MAJOR_VER}b.dat
fi
# Remove build host references...
sed -i \
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${HOSTTOOLS_DIR}/::g' \
${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/Makefile.inc \
${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/pkgdata.inc
remove_build_host_references
}
do_install:append:class-nativesdk() {
remove_build_host_references
}
PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"