| SECTION = "devel" |
| # Need binutils for libiberty.a |
| # Would need transfig-native for documentation if it wasn't disabled |
| DEPENDS = "elfutils binutils" |
| SUMMARY = "An ELF prelinking utility" |
| DESCRIPTION = "The prelink package contains a utility which modifies ELF shared libraries \ |
| and executables, so that far fewer relocations need to be resolved at \ |
| runtime and thus programs come up faster." |
| LICENSE = "GPLv2" |
| LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" |
| SRCREV = "927979bbd115eeb8a75db3231906ef6aca4c4eb6" |
| PV = "1.0+git${SRCPV}" |
| |
| # |
| # The cron script attempts to re-prelink the system daily -- on |
| # systems where users are adding applications, this might be reasonable |
| # but for embedded, we should be re-running prelink -a after an update. |
| # |
| # Default is prelinking is enabled. |
| # |
| SUMMARY_${PN}-cron = "Cron scripts to control automatic prelinking" |
| DESCRIPTION_${PN}-cron = "Cron scripts to control automatic prelinking. \ |
| See: ${sysconfdir}/cron.daily/prelink for configuration information." |
| |
| FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default" |
| |
| PACKAGES =+ "${PN}-cron" |
| |
| SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink \ |
| file://prelink.conf \ |
| file://prelink.cron.daily \ |
| file://prelink.default \ |
| file://macros.prelink" |
| |
| TARGET_OS_ORIG := "${TARGET_OS}" |
| OVERRIDES_append = ":${TARGET_OS_ORIG}" |
| |
| S = "${WORKDIR}/git" |
| |
| inherit autotools |
| |
| BBCLASSEXTEND = "native" |
| |
| EXTRA_OECONF = "--disable-selinux --with-pkgversion=${PV}-${PR} \ |
| --with-bugurl=http://bugzilla.yoctoproject.org/" |
| |
| do_configure_prepend () { |
| # Disable documentation! |
| echo "all:" > ${S}/doc/Makefile.am |
| } |
| |
| do_install_append () { |
| install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default ${D}${sysconfdir}/rpm |
| install -m 0644 ${WORKDIR}/prelink.conf ${D}${sysconfdir}/prelink.conf |
| install -m 0644 ${WORKDIR}/prelink.cron.daily ${D}${sysconfdir}/cron.daily/prelink |
| install -m 0644 ${WORKDIR}/prelink.default ${D}${sysconfdir}/default/prelink |
| install -m 0644 ${WORKDIR}/macros.prelink ${D}${sysconfdir}/rpm/macros.prelink |
| } |
| |
| # If we're using image-prelink, we want to skip this on the host side |
| # but still do it if the package is installed on the target... |
| pkg_postinst_prelink() { |
| #!/bin/sh |
| |
| if [ "x$D" != "x" ]; then |
| ${@bb.utils.contains('USER_CLASSES', 'image-prelink', 'exit 0', 'exit 1', d)} |
| fi |
| |
| prelink -a |
| } |
| |
| pkg_prerm_prelink() { |
| #!/bin/sh |
| |
| if [ "x$D" != "x" ]; then |
| exit 1 |
| fi |
| |
| prelink -au |
| } |
| |