diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 15:14:24 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 15:29:45 +0100 |
commit | 29d6678fd546377459ef75cf54abeef5b969b5cf (patch) | |
tree | 8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-devtools/prelink | |
parent | da49de6885ee1bc424e70bc02f21f6ab920efb55 (diff) | |
download | poky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz |
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>
Diffstat (limited to 'meta/recipes-devtools/prelink')
-rw-r--r-- | meta/recipes-devtools/prelink/prelink/prelink.conf | 18 | ||||
-rw-r--r-- | meta/recipes-devtools/prelink/prelink/prelink.cron.daily | 40 | ||||
-rw-r--r-- | meta/recipes-devtools/prelink/prelink/prelink.default | 22 | ||||
-rw-r--r-- | meta/recipes-devtools/prelink/prelink_git.bb | 50 |
4 files changed, 130 insertions, 0 deletions
diff --git a/meta/recipes-devtools/prelink/prelink/prelink.conf b/meta/recipes-devtools/prelink/prelink/prelink.conf new file mode 100644 index 0000000000..c5a4f4adc3 --- /dev/null +++ b/meta/recipes-devtools/prelink/prelink/prelink.conf | |||
@@ -0,0 +1,18 @@ | |||
1 | # This config file contains a list of directories both with binaries | ||
2 | # and libraries prelink should consider by default. | ||
3 | # If a directory name is prefixed with `-l ', the directory hierarchy | ||
4 | # will be walked as long as filesystem boundaries are not crossed. | ||
5 | # If a directory name is prefixed with `-h ', symbolic links in a | ||
6 | # directory hierarchy are followed. | ||
7 | -l /usr/local/sbin | ||
8 | -l /sbin | ||
9 | -l /usr/sbin | ||
10 | -l /usr/local/bin | ||
11 | -l /bin | ||
12 | -l /usr/bin | ||
13 | -l /usr/X11R6/bin | ||
14 | -l /usr/games | ||
15 | -l /usr/local/lib | ||
16 | -l /lib | ||
17 | -l /usr/lib | ||
18 | -l /usr/X11R6/lib | ||
diff --git a/meta/recipes-devtools/prelink/prelink/prelink.cron.daily b/meta/recipes-devtools/prelink/prelink/prelink.cron.daily new file mode 100644 index 0000000000..0b3c07322c --- /dev/null +++ b/meta/recipes-devtools/prelink/prelink/prelink.cron.daily | |||
@@ -0,0 +1,40 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | . /etc/default/prelink | ||
4 | |||
5 | renice +19 -p $$ >/dev/null 2>&1 | ||
6 | |||
7 | if [ "$PRELINKING" != yes ]; then | ||
8 | if [ -f /etc/prelink.cache ]; then | ||
9 | echo /usr/sbin/prelink -uav > /var/log/prelink.log | ||
10 | /usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1 | ||
11 | rm -f /etc/prelink.cache | ||
12 | # Restart init if needed | ||
13 | [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u | ||
14 | fi | ||
15 | exit 0 | ||
16 | fi | ||
17 | |||
18 | if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \ | ||
19 | || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then | ||
20 | # If cache does not exist or is from older prelink versions or | ||
21 | # if we were asked to explicitely, force full prelinking | ||
22 | rm -f /etc/prelink.cache /var/lib/misc/prelink.force | ||
23 | PRELINK_OPTS="$PRELINK_OPTS -f" | ||
24 | date > /var/lib/misc/prelink.full | ||
25 | elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \ | ||
26 | -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \ | ||
27 | = /var/lib/misc/prelink.full ]; then | ||
28 | # If prelink without -q has been run in the last | ||
29 | # PRELINK_FULL_TIME_INTERVAL days, just use quick mode | ||
30 | PRELINK_OPTS="$PRELINK_OPTS -q" | ||
31 | else | ||
32 | date > /var/lib/misc/prelink.full | ||
33 | fi | ||
34 | |||
35 | echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log | ||
36 | /usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1 | ||
37 | # Restart init if needed | ||
38 | [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u | ||
39 | |||
40 | exit 0 | ||
diff --git a/meta/recipes-devtools/prelink/prelink/prelink.default b/meta/recipes-devtools/prelink/prelink/prelink.default new file mode 100644 index 0000000000..901258ed2a --- /dev/null +++ b/meta/recipes-devtools/prelink/prelink/prelink.default | |||
@@ -0,0 +1,22 @@ | |||
1 | # Set this to no to disable prelinking altogether | ||
2 | # or to yes to enable it. | ||
3 | # (if you change this from yes to no prelink -ua | ||
4 | # will be run next night to undo prelinking) | ||
5 | PRELINKING=unknown | ||
6 | |||
7 | # Options to pass to prelink | ||
8 | # -m Try to conserve virtual memory by allowing overlapping | ||
9 | # assigned virtual memory slots for libraries which | ||
10 | # never appear together in one binary | ||
11 | # -R Randomize virtual memory slot assignments for libraries. | ||
12 | # This makes it slightly harder for various buffer overflow | ||
13 | # attacks, since library addresses will be different on each | ||
14 | # host using -R. | ||
15 | PRELINK_OPTS=-mR | ||
16 | |||
17 | # How often should full prelink be run (in days) | ||
18 | # Normally, prelink will be run in quick mode, every | ||
19 | # $PRELINK_FULL_TIME_INTERVAL days it will be run | ||
20 | # in normal mode. Comment this line out if prelink | ||
21 | # should be run in normal mode always. | ||
22 | PRELINK_FULL_TIME_INTERVAL=14 | ||
diff --git a/meta/recipes-devtools/prelink/prelink_git.bb b/meta/recipes-devtools/prelink/prelink_git.bb new file mode 100644 index 0000000000..06078ed68b --- /dev/null +++ b/meta/recipes-devtools/prelink/prelink_git.bb | |||
@@ -0,0 +1,50 @@ | |||
1 | SECTION = "devel" | ||
2 | # Need binutils for libiberty.a | ||
3 | DEPENDS = "elfutils binutils" | ||
4 | DESCRIPTION = " The prelink package contains a utility which modifies ELF shared libraries \ | ||
5 | and executables, so that far fewer relocations need to be resolved at \ | ||
6 | runtime and thus programs come up faster." | ||
7 | LICENSE = "GPLv2" | ||
8 | PV = "1.0+git${SRCPV}" | ||
9 | PR = "r0" | ||
10 | |||
11 | SRC_URI = "git://git.pokylinux.org/prelink-cross.git;protocol=git \ | ||
12 | file://prelink.conf \ | ||
13 | file://prelink.cron.daily \ | ||
14 | file://prelink.default" | ||
15 | |||
16 | TARGET_OS_ORIG := "${TARGET_OS}" | ||
17 | OVERRIDES_append = ":${TARGET_OS_ORIG}" | ||
18 | |||
19 | S = "${WORKDIR}/git/trunk" | ||
20 | |||
21 | inherit autotools | ||
22 | |||
23 | BBCLASSEXTEND = "native" | ||
24 | |||
25 | EXTRA_OECONF = "--disable-selinux --with-pkgversion=${PV}-${PR} \ | ||
26 | --with-bugurl=http://bugzilla.pokylinux.org/" | ||
27 | |||
28 | do_install_append () { | ||
29 | install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default | ||
30 | install -m 0644 ${WORKDIR}/prelink.conf ${D}${sysconfdir}/prelink.conf | ||
31 | install -m 0644 ${WORKDIR}/prelink.cron.daily ${D}${sysconfdir}/cron.daily/prelink | ||
32 | install -m 0644 ${WORKDIR}/prelink.default ${D}${sysconfdir}/default/prelink | ||
33 | } | ||
34 | |||
35 | pkg_postinst_prelink() { | ||
36 | #!/bin/sh | ||
37 | |||
38 | if [ "x$D" != "x" ]; then | ||
39 | exit 1 | ||
40 | fi | ||
41 | |||
42 | prelink -a | ||
43 | } | ||
44 | |||
45 | pkg_postrm_prelink() { | ||
46 | #!/bin/sh | ||
47 | |||
48 | prelink -au | ||
49 | } | ||
50 | |||