Thu, 08 Jan 2009 18:28:40 +0100
Depend on sed, grep, and binutils, because libtool hard codes values.
This unfortunate dependency change is necessary because the main
program script calls helper tools from hard coded paths. Please
see /pfx/bin/libtool:77 for the example SED="/pfx/bin/sed".
michael@13 | 1 | #!@l_prefix@/bin/openpkg rc |
michael@13 | 2 | ## |
michael@13 | 3 | ## rc.openpkg -- Run-Commands |
michael@13 | 4 | ## |
michael@13 | 5 | |
michael@13 | 6 | %config |
michael@13 | 7 | openpkg_rc_def="yes" |
michael@13 | 8 | openpkg_rc_all="$openpkg_rc_def" |
michael@13 | 9 | openpkg_enable="$openpkg_rc_def" |
michael@13 | 10 | openpkg_envprio="high" |
michael@13 | 11 | openpkg_reghour="3" |
michael@13 | 12 | openpkg_regrand="1" |
michael@13 | 13 | |
michael@13 | 14 | %status -o |
michael@13 | 15 | openpkg_usable="unknown" |
michael@13 | 16 | openpkg_active="unknown" |
michael@13 | 17 | echo "openpkg_enable=\"$openpkg_enable\"" |
michael@13 | 18 | echo "openpkg_usable=\"$openpkg_usable\"" |
michael@13 | 19 | echo "openpkg_active=\"$openpkg_active\"" |
michael@13 | 20 | |
michael@13 | 21 | %info -o |
michael@13 | 22 | @l_prefix@/bin/openpkg uuid info |
michael@13 | 23 | |
michael@13 | 24 | %start -p0 |
michael@13 | 25 | rcService openpkg enable yes || exit 0 |
michael@13 | 26 | # update UUID information (in background to not slow down boot sequences) |
michael@13 | 27 | (nohup @l_prefix@/bin/openpkg uuid update </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1 |
michael@13 | 28 | |
michael@13 | 29 | %hourly -u @l_musr@ |
michael@13 | 30 | rcService openpkg enable yes || exit 0 |
michael@13 | 31 | # automatic (re-)registration |
michael@13 | 32 | reregister=0 |
michael@13 | 33 | # re-register if previously registered |
michael@13 | 34 | @l_prefix@/bin/openpkg register --printstatus >/dev/null 2>&1 && reregister=1 |
michael@13 | 35 | # re-register if "openpkg" executable from community series |
michael@13 | 36 | [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg --license 2>/dev/null \ |
michael@13 | 37 | | sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C' >/dev/null && reregister=1 |
michael@13 | 38 | # re-register if "openpkg release" configured to pull packages directly from openpkg.(org|com|net) |
michael@13 | 39 | [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg release --fmt='%u' \ |
michael@13 | 40 | | egrep '^[^:]*://(([^:]*:)?([^@]*@)?)?([^/]*\.)?openpkg\.(com|org|net)/' >/dev/null && reregister=1 |
michael@13 | 41 | # perform (re-)registration |
michael@13 | 42 | if [ $reregister -eq 1 ]; then |
michael@13 | 43 | [ $openpkg_reghour -lt 00 -o $openpkg_reghour -gt 23 ] && openpkg_reghour="3" |
michael@13 | 44 | now=`date '+%H'` |
michael@13 | 45 | [ $openpkg_reghour -eq $now ] || exit 0 |
michael@13 | 46 | [ $openpkg_regrand -lt 01 -o $openpkg_regrand -gt 04 ] && openpkg_regrand="1" |
michael@13 | 47 | rnd=`expr $RANDOM \* 3600 \* $openpkg_regrand / 32768` |
michael@13 | 48 | (nohup @l_prefix@/lib/openpkg/bash -c "sleep $rnd; @l_prefix@/bin/openpkg register" </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1 |
michael@13 | 49 | fi |
michael@13 | 50 | |
michael@13 | 51 | %daily -p0 |
michael@13 | 52 | rcService openpkg enable yes || exit 0 |
michael@13 | 53 | # update UUID information |
michael@13 | 54 | @l_prefix@/bin/openpkg uuid update >/dev/null 2>&1 || true |
michael@13 | 55 | |
michael@13 | 56 | %env -p0 |
michael@13 | 57 | rcService openpkg enable yes || exit 0 |
michael@13 | 58 | |
michael@13 | 59 | # determine append (low prio) or prepend (high prio) mode |
michael@13 | 60 | opt_prepend="" |
michael@13 | 61 | if [ ".$openpkg_envprio" = ".high" ]; then |
michael@13 | 62 | opt_prepend="-p" |
michael@13 | 63 | fi |
michael@13 | 64 | |
michael@13 | 65 | # make sure the software package executables are found |
michael@13 | 66 | export PATH |
michael@13 | 67 | rcPath -a -e PATH \ |
michael@13 | 68 | /bin /sbin /usr/bin /usr/sbin |
michael@13 | 69 | rcPath -a ${opt_prepend} PATH \ |
michael@13 | 70 | @l_prefix@/bin @l_prefix@/sbin \ |
michael@13 | 71 | @l_prefix@/local/bin @l_prefix@/local/sbin |
michael@13 | 72 | |
michael@13 | 73 | # make sure the software package manual pages are found |
michael@13 | 74 | export MANPATH |
michael@13 | 75 | rcPath -a -e MANPATH \ |
michael@13 | 76 | /usr/man /usr/share/man |
michael@13 | 77 | rcPath -a ${opt_prepend} MANPATH \ |
michael@13 | 78 | @l_prefix@/man @l_prefix@/local/man |
michael@13 | 79 | |
michael@13 | 80 | # make sure the software package info pages are found |
michael@13 | 81 | export INFOPATH |
michael@13 | 82 | rcPath -a -e INFOPATH \ |
michael@13 | 83 | /usr/info /usr/share/info |
michael@13 | 84 | rcPath -a ${opt_prepend} INFOPATH \ |
michael@13 | 85 | @l_prefix@/info @l_prefix@/local/info |
michael@13 | 86 | |
michael@13 | 87 | # make sure the software package libraries are found |
michael@13 | 88 | export LD_LIBRARY_PATH |
michael@13 | 89 | rcPath -a -e LD_LIBRARY_PATH \ |
michael@13 | 90 | /lib /usr/lib |
michael@13 | 91 | rcPath -a ${opt_prepend} LD_LIBRARY_PATH \ |
michael@13 | 92 | @l_prefix@/lib @l_prefix@/local/lib |
michael@13 | 93 | |
michael@13 | 94 | # cleanup |
michael@13 | 95 | unset opt_prepend |
michael@13 | 96 |