mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 18:49:32 +02:00
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
18
meta/recipes-devtools/prelink/prelink/prelink.conf
Normal file
18
meta/recipes-devtools/prelink/prelink/prelink.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
# This config file contains a list of directories both with binaries
|
||||
# and libraries prelink should consider by default.
|
||||
# If a directory name is prefixed with `-l ', the directory hierarchy
|
||||
# will be walked as long as filesystem boundaries are not crossed.
|
||||
# If a directory name is prefixed with `-h ', symbolic links in a
|
||||
# directory hierarchy are followed.
|
||||
-l /usr/local/sbin
|
||||
-l /sbin
|
||||
-l /usr/sbin
|
||||
-l /usr/local/bin
|
||||
-l /bin
|
||||
-l /usr/bin
|
||||
-l /usr/X11R6/bin
|
||||
-l /usr/games
|
||||
-l /usr/local/lib
|
||||
-l /lib
|
||||
-l /usr/lib
|
||||
-l /usr/X11R6/lib
|
||||
40
meta/recipes-devtools/prelink/prelink/prelink.cron.daily
Normal file
40
meta/recipes-devtools/prelink/prelink/prelink.cron.daily
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/default/prelink
|
||||
|
||||
renice +19 -p $$ >/dev/null 2>&1
|
||||
|
||||
if [ "$PRELINKING" != yes ]; then
|
||||
if [ -f /etc/prelink.cache ]; then
|
||||
echo /usr/sbin/prelink -uav > /var/log/prelink.log
|
||||
/usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1
|
||||
rm -f /etc/prelink.cache
|
||||
# Restart init if needed
|
||||
[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \
|
||||
|| grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then
|
||||
# If cache does not exist or is from older prelink versions or
|
||||
# if we were asked to explicitely, force full prelinking
|
||||
rm -f /etc/prelink.cache /var/lib/misc/prelink.force
|
||||
PRELINK_OPTS="$PRELINK_OPTS -f"
|
||||
date > /var/lib/misc/prelink.full
|
||||
elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \
|
||||
-a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \
|
||||
= /var/lib/misc/prelink.full ]; then
|
||||
# If prelink without -q has been run in the last
|
||||
# PRELINK_FULL_TIME_INTERVAL days, just use quick mode
|
||||
PRELINK_OPTS="$PRELINK_OPTS -q"
|
||||
else
|
||||
date > /var/lib/misc/prelink.full
|
||||
fi
|
||||
|
||||
echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log
|
||||
/usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1
|
||||
# Restart init if needed
|
||||
[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u
|
||||
|
||||
exit 0
|
||||
22
meta/recipes-devtools/prelink/prelink/prelink.default
Normal file
22
meta/recipes-devtools/prelink/prelink/prelink.default
Normal file
@@ -0,0 +1,22 @@
|
||||
# Set this to no to disable prelinking altogether
|
||||
# or to yes to enable it.
|
||||
# (if you change this from yes to no prelink -ua
|
||||
# will be run next night to undo prelinking)
|
||||
PRELINKING=unknown
|
||||
|
||||
# Options to pass to prelink
|
||||
# -m Try to conserve virtual memory by allowing overlapping
|
||||
# assigned virtual memory slots for libraries which
|
||||
# never appear together in one binary
|
||||
# -R Randomize virtual memory slot assignments for libraries.
|
||||
# This makes it slightly harder for various buffer overflow
|
||||
# attacks, since library addresses will be different on each
|
||||
# host using -R.
|
||||
PRELINK_OPTS=-mR
|
||||
|
||||
# How often should full prelink be run (in days)
|
||||
# Normally, prelink will be run in quick mode, every
|
||||
# $PRELINK_FULL_TIME_INTERVAL days it will be run
|
||||
# in normal mode. Comment this line out if prelink
|
||||
# should be run in normal mode always.
|
||||
PRELINK_FULL_TIME_INTERVAL=14
|
||||
50
meta/recipes-devtools/prelink/prelink_git.bb
Normal file
50
meta/recipes-devtools/prelink/prelink_git.bb
Normal file
@@ -0,0 +1,50 @@
|
||||
SECTION = "devel"
|
||||
# Need binutils for libiberty.a
|
||||
DEPENDS = "elfutils binutils"
|
||||
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"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
PR = "r0"
|
||||
|
||||
SRC_URI = "git://git.pokylinux.org/prelink-cross.git;protocol=git \
|
||||
file://prelink.conf \
|
||||
file://prelink.cron.daily \
|
||||
file://prelink.default"
|
||||
|
||||
TARGET_OS_ORIG := "${TARGET_OS}"
|
||||
OVERRIDES_append = ":${TARGET_OS_ORIG}"
|
||||
|
||||
S = "${WORKDIR}/git/trunk"
|
||||
|
||||
inherit autotools
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
EXTRA_OECONF = "--disable-selinux --with-pkgversion=${PV}-${PR} \
|
||||
--with-bugurl=http://bugzilla.pokylinux.org/"
|
||||
|
||||
do_install_append () {
|
||||
install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default
|
||||
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
|
||||
}
|
||||
|
||||
pkg_postinst_prelink() {
|
||||
#!/bin/sh
|
||||
|
||||
if [ "x$D" != "x" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
prelink -a
|
||||
}
|
||||
|
||||
pkg_postrm_prelink() {
|
||||
#!/bin/sh
|
||||
|
||||
prelink -au
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user