diff options
Diffstat (limited to 'meta/classes/image-prelink.bbclass')
-rw-r--r-- | meta/classes/image-prelink.bbclass | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/meta/classes/image-prelink.bbclass b/meta/classes/image-prelink.bbclass deleted file mode 100644 index ebf6e6d7ee..0000000000 --- a/meta/classes/image-prelink.bbclass +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | do_rootfs[depends] += "prelink-native:do_populate_sysroot" | ||
2 | |||
3 | IMAGE_PREPROCESS_COMMAND_append_libc-glibc = " prelink_setup; prelink_image; " | ||
4 | |||
5 | python prelink_setup () { | ||
6 | oe.utils.write_ld_so_conf(d) | ||
7 | } | ||
8 | |||
9 | inherit linuxloader | ||
10 | |||
11 | prelink_image () { | ||
12 | # export PSEUDO_DEBUG=4 | ||
13 | # /bin/env | /bin/grep PSEUDO | ||
14 | # echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" | ||
15 | # echo "LD_PRELOAD=$LD_PRELOAD" | ||
16 | |||
17 | pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'` | ||
18 | echo "Size before prelinking $pre_prelink_size." | ||
19 | |||
20 | # The filesystem may not contain sysconfdir so establish what is present | ||
21 | # to enable cleanup after temporary creation of sysconfdir if needed | ||
22 | presentdir="${IMAGE_ROOTFS}${sysconfdir}" | ||
23 | while [ "${IMAGE_ROOTFS}" != "${presentdir}" ] ; do | ||
24 | [ ! -d "${presentdir}" ] || break | ||
25 | presentdir=`dirname "${presentdir}"` | ||
26 | done | ||
27 | |||
28 | mkdir -p "${IMAGE_ROOTFS}${sysconfdir}" | ||
29 | |||
30 | # We need a prelink conf on the filesystem, add one if it's missing | ||
31 | if [ ! -e ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf ]; then | ||
32 | cp ${STAGING_ETCDIR_NATIVE}/prelink.conf \ | ||
33 | ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf | ||
34 | dummy_prelink_conf=true; | ||
35 | else | ||
36 | dummy_prelink_conf=false; | ||
37 | fi | ||
38 | |||
39 | # We need a ld.so.conf with pathnames in,prelink conf on the filesystem, add one if it's missing | ||
40 | ldsoconf=${IMAGE_ROOTFS}${sysconfdir}/ld.so.conf | ||
41 | if [ -e $ldsoconf ]; then | ||
42 | cp $ldsoconf $ldsoconf.prelink | ||
43 | fi | ||
44 | cat ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf >> $ldsoconf | ||
45 | |||
46 | dynamic_loader=${@get_linuxloader(d)} | ||
47 | |||
48 | # prelink! | ||
49 | if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then | ||
50 | bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..." | ||
51 | if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then | ||
52 | export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct ` | ||
53 | else | ||
54 | export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS | ||
55 | fi | ||
56 | ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader | ||
57 | else | ||
58 | ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader | ||
59 | fi | ||
60 | |||
61 | # Remove the prelink.conf if we had to add it. | ||
62 | if [ "$dummy_prelink_conf" = "true" ]; then | ||
63 | rm -f ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf | ||
64 | fi | ||
65 | |||
66 | if [ -e $ldsoconf.prelink ]; then | ||
67 | mv $ldsoconf.prelink $ldsoconf | ||
68 | else | ||
69 | rm $ldsoconf | ||
70 | fi | ||
71 | |||
72 | # Remove any directories temporarily created for sysconfdir | ||
73 | cleanupdir="${IMAGE_ROOTFS}${sysconfdir}" | ||
74 | while [ "${presentdir}" != "${cleanupdir}" ] ; do | ||
75 | rmdir "${cleanupdir}" | ||
76 | cleanupdir=`dirname ${cleanupdir}` | ||
77 | done | ||
78 | |||
79 | pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'` | ||
80 | echo "Size after prelinking $pre_prelink_size." | ||
81 | } | ||