mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
RPM has the ability to validate files that have been prelinked, however the necessary configuration and staging was not done properly. Resolve this issue by fixing the macro paths, providing the missing RPM macro, and correcting a defect in the way the prelink image class was working with the necessary configuration file. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
do_rootfs[depends] += "prelink-native:do_populate_sysroot"
|
|
|
|
IMAGE_PREPROCESS_COMMAND += "prelink_image; "
|
|
|
|
prelink_image () {
|
|
# export PSEUDO_DEBUG=4
|
|
# /bin/env | /bin/grep PSEUDO
|
|
# echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
|
# echo "LD_PRELOAD=$LD_PRELOAD"
|
|
|
|
pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'`
|
|
echo "Size before prelinking $pre_prelink_size."
|
|
|
|
# We need a prelink conf on the filesystem, add one if it's missing
|
|
if [ ! -e ${IMAGE_ROOTFS}/etc/prelink.conf ]; then
|
|
cp ${STAGING_DIR_NATIVE}/etc/prelink.conf \
|
|
${IMAGE_ROOTFS}/etc/prelink.conf
|
|
dummy_prelink_conf=true;
|
|
else
|
|
dummy_prelink_conf=false;
|
|
fi
|
|
|
|
# prelink!
|
|
${STAGING_DIR_NATIVE}/usr/sbin/prelink --root ${IMAGE_ROOTFS} -amR
|
|
|
|
# Remove the prelink.conf if we had to add it.
|
|
if [ "$dummy_prelink_conf" == "true" ]; then
|
|
rm -f ${IMAGE_ROOTFS}/etc/prelink.conf
|
|
fi
|
|
|
|
# Cleanup temporary file, it's not needed...
|
|
rm -f ${IMAGE_ROOTFS}/etc/prelink.cache
|
|
|
|
pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'`
|
|
echo "Size after prelinking $pre_prelink_size."
|
|
}
|
|
|
|
EXPORT_FUNCTIONS prelink_image
|