poky/meta/classes/image-prelink.bbclass
Mark Hatle 6c6d4f4bff rpm: Fix rpm usage of prelink on the target
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>
2011-02-25 17:34:20 -06:00

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