mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
image-prelink: Remove bbclass
Upcoming glibc 2.35 is dropping support for prelinker, this just ensures that we do not carry non-working classes. [1] [1] https://patchwork.sourceware.org/project/glibc/patch/20220121172951.285848-2-adhemerval.zanella@linaro.org/ (From OE-Core rev: 857baaf9e3d181ca18264e85d90b899fd94acff9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
c560489f78
commit
ce73f4f9d3
|
@ -1,76 +0,0 @@
|
|||
do_rootfs[depends] += "prelink-native:do_populate_sysroot"
|
||||
|
||||
IMAGE_PREPROCESS_COMMAND:append:libc-glibc = " prelink_setup; prelink_image; "
|
||||
|
||||
python prelink_setup () {
|
||||
oe.utils.write_ld_so_conf(d)
|
||||
}
|
||||
|
||||
inherit linuxloader
|
||||
|
||||
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."
|
||||
|
||||
# The filesystem may not contain sysconfdir so establish what is present
|
||||
# to enable cleanup after temporary creation of sysconfdir if needed
|
||||
presentdir="${IMAGE_ROOTFS}${sysconfdir}"
|
||||
while [ "${IMAGE_ROOTFS}" != "${presentdir}" ] ; do
|
||||
[ ! -d "${presentdir}" ] || break
|
||||
presentdir=`dirname "${presentdir}"`
|
||||
done
|
||||
|
||||
mkdir -p "${IMAGE_ROOTFS}${sysconfdir}"
|
||||
|
||||
# We need a prelink conf on the filesystem, add one if it's missing
|
||||
if [ ! -e ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf ]; then
|
||||
cp ${STAGING_ETCDIR_NATIVE}/prelink.conf \
|
||||
${IMAGE_ROOTFS}${sysconfdir}/prelink.conf
|
||||
dummy_prelink_conf=true;
|
||||
else
|
||||
dummy_prelink_conf=false;
|
||||
fi
|
||||
|
||||
# We need a ld.so.conf with pathnames in,prelink conf on the filesystem, add one if it's missing
|
||||
ldsoconf=${IMAGE_ROOTFS}${sysconfdir}/ld.so.conf
|
||||
if [ -e $ldsoconf ]; then
|
||||
cp $ldsoconf $ldsoconf.prelink
|
||||
fi
|
||||
cat ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf >> $ldsoconf
|
||||
|
||||
dynamic_loader=${@get_linuxloader(d)}
|
||||
|
||||
# prelink!
|
||||
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
|
||||
export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
|
||||
else
|
||||
export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
|
||||
fi
|
||||
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
|
||||
|
||||
# Remove the prelink.conf if we had to add it.
|
||||
if [ "$dummy_prelink_conf" = "true" ]; then
|
||||
rm -f ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf
|
||||
fi
|
||||
|
||||
if [ -e $ldsoconf.prelink ]; then
|
||||
mv $ldsoconf.prelink $ldsoconf
|
||||
else
|
||||
rm $ldsoconf
|
||||
fi
|
||||
|
||||
# Remove any directories temporarily created for sysconfdir
|
||||
cleanupdir="${IMAGE_ROOTFS}${sysconfdir}"
|
||||
while [ "${presentdir}" != "${cleanupdir}" ] ; do
|
||||
rmdir "${cleanupdir}"
|
||||
cleanupdir=`dirname ${cleanupdir}`
|
||||
done
|
||||
|
||||
pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'`
|
||||
echo "Size after prelinking $pre_prelink_size."
|
||||
}
|
Loading…
Reference in New Issue
Block a user