diff options
Diffstat (limited to 'meta/classes/image-prelink.bbclass')
-rw-r--r-- | meta/classes/image-prelink.bbclass | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/meta/classes/image-prelink.bbclass b/meta/classes/image-prelink.bbclass index d4bb3aec39..53c4b0b112 100644 --- a/meta/classes/image-prelink.bbclass +++ b/meta/classes/image-prelink.bbclass | |||
@@ -1,6 +1,10 @@ | |||
1 | do_rootfs[depends] += "prelink-native:do_populate_sysroot" | 1 | do_rootfs[depends] += "prelink-native:do_populate_sysroot" |
2 | 2 | ||
3 | IMAGE_PREPROCESS_COMMAND += "prelink_image; " | 3 | IMAGE_PREPROCESS_COMMAND += "prelink_setup; prelink_image; " |
4 | |||
5 | python prelink_setup () { | ||
6 | oe.utils.write_ld_so_conf(d) | ||
7 | } | ||
4 | 8 | ||
5 | prelink_image () { | 9 | prelink_image () { |
6 | # export PSEUDO_DEBUG=4 | 10 | # export PSEUDO_DEBUG=4 |
@@ -20,6 +24,13 @@ prelink_image () { | |||
20 | dummy_prelink_conf=false; | 24 | dummy_prelink_conf=false; |
21 | fi | 25 | fi |
22 | 26 | ||
27 | # We need a ld.so.conf with pathnames in,prelink conf on the filesystem, add one if it's missing | ||
28 | ldsoconf=${IMAGE_ROOTFS}${sysconfdir}/ld.so.conf | ||
29 | if [ -e $ldsoconf ]; then | ||
30 | cp $ldsoconf $ldsoconf.prelink | ||
31 | fi | ||
32 | cat ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf >> $ldsoconf | ||
33 | |||
23 | # prelink! | 34 | # prelink! |
24 | ${STAGING_DIR_NATIVE}${sbindir_native}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf | 35 | ${STAGING_DIR_NATIVE}${sbindir_native}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf |
25 | 36 | ||
@@ -28,6 +39,12 @@ prelink_image () { | |||
28 | rm -f ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf | 39 | rm -f ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf |
29 | fi | 40 | fi |
30 | 41 | ||
42 | if [ -e $ldsoconf.prelink ]; then | ||
43 | mv $ldsoconf.prelink $ldsoconf | ||
44 | else | ||
45 | rm $ldsoconf | ||
46 | fi | ||
47 | |||
31 | pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'` | 48 | pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'` |
32 | echo "Size after prelinking $pre_prelink_size." | 49 | echo "Size after prelinking $pre_prelink_size." |
33 | } | 50 | } |