diff options
author | Holger Hans Peter Freyther <zecke@openmoko.org> | 2008-10-13 14:08:49 +0200 |
---|---|---|
committer | Holger Freyther <ich@tamarin.(none)> | 2008-10-15 18:53:40 +0200 |
commit | 9b6657686a2a69ef23b5ce6bcca7d4a06726cb4e (patch) | |
tree | cfd1decfb03cf9352e8d26f163df22b09211b44d /packages/prelink/files/prelink.cron.daily | |
parent | 83a3c665dbaa7107aa9f5387078ab239af86282b (diff) |
[prelink] Add recent version of prelink
Diffstat (limited to 'packages/prelink/files/prelink.cron.daily')
-rw-r--r-- | packages/prelink/files/prelink.cron.daily | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/prelink/files/prelink.cron.daily b/packages/prelink/files/prelink.cron.daily new file mode 100644 index 0000000000..0b3c07322c --- /dev/null +++ b/packages/prelink/files/prelink.cron.daily @@ -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 |