openpkg/rc.openpkg

changeset 13
cb59d6afeb61
child 427
71503088f51b
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/openpkg/rc.openpkg	Tue Jan 06 23:40:39 2009 +0100
     1.3 @@ -0,0 +1,96 @@
     1.4 +#!@l_prefix@/bin/openpkg rc
     1.5 +##
     1.6 +##  rc.openpkg -- Run-Commands
     1.7 +##
     1.8 +
     1.9 +%config
    1.10 +    openpkg_rc_def="yes"
    1.11 +    openpkg_rc_all="$openpkg_rc_def"
    1.12 +    openpkg_enable="$openpkg_rc_def"
    1.13 +    openpkg_envprio="high"
    1.14 +    openpkg_reghour="3"
    1.15 +    openpkg_regrand="1"
    1.16 +
    1.17 +%status -o
    1.18 +    openpkg_usable="unknown"
    1.19 +    openpkg_active="unknown"
    1.20 +    echo "openpkg_enable=\"$openpkg_enable\""
    1.21 +    echo "openpkg_usable=\"$openpkg_usable\""
    1.22 +    echo "openpkg_active=\"$openpkg_active\""
    1.23 +
    1.24 +%info -o
    1.25 +    @l_prefix@/bin/openpkg uuid info
    1.26 +
    1.27 +%start -p0
    1.28 +    rcService openpkg enable yes || exit 0
    1.29 +    #   update UUID information (in background to not slow down boot sequences)
    1.30 +    (nohup @l_prefix@/bin/openpkg uuid update </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1
    1.31 +
    1.32 +%hourly -u @l_musr@
    1.33 +    rcService openpkg enable yes || exit 0
    1.34 +    #   automatic (re-)registration
    1.35 +    reregister=0
    1.36 +    #   re-register if previously registered
    1.37 +    @l_prefix@/bin/openpkg register --printstatus >/dev/null 2>&1 && reregister=1
    1.38 +    #   re-register if "openpkg" executable from community series
    1.39 +    [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg --license 2>/dev/null \
    1.40 +    | sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C' >/dev/null && reregister=1
    1.41 +    #   re-register if "openpkg release" configured to pull packages directly from openpkg.(org|com|net)
    1.42 +    [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg release --fmt='%u' \
    1.43 +    | egrep '^[^:]*://(([^:]*:)?([^@]*@)?)?([^/]*\.)?openpkg\.(com|org|net)/' >/dev/null && reregister=1
    1.44 +    #   perform (re-)registration
    1.45 +    if [ $reregister -eq 1 ]; then
    1.46 +        [ $openpkg_reghour -lt 00 -o $openpkg_reghour -gt 23 ] && openpkg_reghour="3"
    1.47 +        now=`date '+%H'`
    1.48 +        [ $openpkg_reghour -eq $now ] || exit 0
    1.49 +        [ $openpkg_regrand -lt 01 -o $openpkg_regrand -gt 04 ] && openpkg_regrand="1"
    1.50 +        rnd=`expr $RANDOM \* 3600 \* $openpkg_regrand / 32768`
    1.51 +        (nohup @l_prefix@/lib/openpkg/bash -c "sleep $rnd; @l_prefix@/bin/openpkg register" </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1
    1.52 +    fi
    1.53 +
    1.54 +%daily -p0
    1.55 +    rcService openpkg enable yes || exit 0
    1.56 +    #   update UUID information
    1.57 +    @l_prefix@/bin/openpkg uuid update >/dev/null 2>&1 || true
    1.58 +
    1.59 +%env -p0
    1.60 +    rcService openpkg enable yes || exit 0
    1.61 +
    1.62 +    #   determine append (low prio) or prepend (high prio) mode
    1.63 +    opt_prepend=""
    1.64 +    if [ ".$openpkg_envprio" = ".high" ]; then
    1.65 +        opt_prepend="-p"
    1.66 +    fi
    1.67 +
    1.68 +    #   make sure the software package executables are found
    1.69 +    export PATH
    1.70 +    rcPath -a -e PATH \
    1.71 +        /bin /sbin /usr/bin /usr/sbin
    1.72 +    rcPath -a ${opt_prepend} PATH \
    1.73 +        @l_prefix@/bin @l_prefix@/sbin \
    1.74 +        @l_prefix@/local/bin @l_prefix@/local/sbin
    1.75 +
    1.76 +    #   make sure the software package manual pages are found
    1.77 +    export MANPATH
    1.78 +    rcPath -a -e MANPATH \
    1.79 +        /usr/man /usr/share/man
    1.80 +    rcPath -a ${opt_prepend} MANPATH \
    1.81 +        @l_prefix@/man @l_prefix@/local/man
    1.82 +
    1.83 +    #   make sure the software package info pages are found
    1.84 +    export INFOPATH
    1.85 +    rcPath -a -e INFOPATH \
    1.86 +        /usr/info /usr/share/info
    1.87 +    rcPath -a ${opt_prepend} INFOPATH \
    1.88 +        @l_prefix@/info @l_prefix@/local/info
    1.89 +
    1.90 +    #   make sure the software package libraries are found
    1.91 +    export LD_LIBRARY_PATH
    1.92 +    rcPath -a -e LD_LIBRARY_PATH \
    1.93 +        /lib /usr/lib
    1.94 +    rcPath -a ${opt_prepend} LD_LIBRARY_PATH \
    1.95 +        @l_prefix@/lib @l_prefix@/local/lib
    1.96 +
    1.97 +    #   cleanup
    1.98 +    unset opt_prepend
    1.99 +

mercurial