openpkg/rc.openpkg

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 427
71503088f51b
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

     1 #!@l_prefix@/bin/openpkg rc
     2 ##
     3 ##  rc.openpkg -- Run-Commands
     4 ##  Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/>
     5 ##
     6 ##  This software is property of the OpenPKG GmbH, DE MUC HRB 160208.
     7 ##  All rights reserved. Licenses which grant limited permission to use,
     8 ##  copy, modify and distribute this software are available from the
     9 ##  OpenPKG GmbH.
    10 ##
    11 ##  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
    12 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    13 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    14 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    15 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    16 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    17 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    18 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    19 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    20 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    21 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    22 ##  SUCH DAMAGE.
    23 ##
    25 %config
    26     openpkg_rc_def="yes"
    27     openpkg_rc_all="$openpkg_rc_def"
    28     openpkg_enable="$openpkg_rc_def"
    29     openpkg_envprio="high"
    30     openpkg_reghour="3"
    31     openpkg_regrand="1"
    33 %status -o
    34     openpkg_usable="unknown"
    35     openpkg_active="unknown"
    36     echo "openpkg_enable=\"$openpkg_enable\""
    37     echo "openpkg_usable=\"$openpkg_usable\""
    38     echo "openpkg_active=\"$openpkg_active\""
    40 %info -o
    41     @l_prefix@/bin/openpkg uuid info
    43 %start -p0
    44     rcService openpkg enable yes || exit 0
    46     #   update UUID information (in background to not slow down boot sequences)
    47     (nohup @l_prefix@/bin/openpkg uuid update </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1
    49 %hourly -u @l_musr@
    50     rcService openpkg enable yes || exit 0
    52     #   automatic (re-)registration
    53     reregister=0
    55     #   re-register if previously registered
    56     @l_prefix@/bin/openpkg register --printstatus >/dev/null 2>&1 && reregister=1
    58     #   re-register if "openpkg release" configured to pull packages directly from openpkg.(org|com|net)
    59     [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg release --fmt='%u' \
    60     | egrep '^[^:]*://(([^:]*:)?([^@]*@)?)?([^/]*\.)?openpkg\.(com|org|net)/' >/dev/null && reregister=1
    62     #   perform (re-)registration
    63     if [ $reregister -eq 1 ]; then
    64         [ $openpkg_reghour -lt 00 -o $openpkg_reghour -gt 23 ] && openpkg_reghour="3"
    65         now=`date '+%H'`
    66         [ $openpkg_reghour -eq $now ] || exit 0
    67         [ $openpkg_regrand -lt 01 -o $openpkg_regrand -gt 04 ] && openpkg_regrand="1"
    68         rnd=`expr $RANDOM \* 3600 \* $openpkg_regrand / 32768`
    69         (nohup @l_prefix@/lib/openpkg/bash -c "sleep $rnd; @l_prefix@/bin/openpkg register" </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1
    70     fi
    72 %daily -p0
    73     rcService openpkg enable yes || exit 0
    75     #   update UUID information
    76     @l_prefix@/bin/openpkg uuid update >/dev/null 2>&1 || true
    78 %env -p0
    79     rcService openpkg enable yes || exit 0
    81     #   determine append (low prio) or prepend (high prio) mode
    82     opt_prepend=""
    83     if [ ".$openpkg_envprio" = ".high" ]; then
    84         opt_prepend="-p"
    85     fi
    87     #   make sure the software package executables are found
    88     export PATH
    89     rcPath -a -e PATH \
    90         /bin /sbin /usr/bin /usr/sbin
    91     rcPath -a ${opt_prepend} PATH \
    92         @l_prefix@/bin @l_prefix@/sbin \
    93         @l_prefix@/local/bin @l_prefix@/local/sbin
    95     #   make sure the software package manual pages are found
    96     export MANPATH
    97     rcPath -a -e MANPATH \
    98         /usr/man /usr/share/man
    99     rcPath -a ${opt_prepend} MANPATH \
   100         @l_prefix@/man @l_prefix@/local/man
   102     #   make sure the software package info pages are found
   103     export INFOPATH
   104     rcPath -a -e INFOPATH \
   105         /usr/info /usr/share/info
   106     rcPath -a ${opt_prepend} INFOPATH \
   107         @l_prefix@/info @l_prefix@/local/info
   109     #   make sure the software package libraries are found
   110     export LD_LIBRARY_PATH
   111     rcPath -a -e LD_LIBRARY_PATH \
   112         /lib /usr/lib
   113     rcPath -a ${opt_prepend} LD_LIBRARY_PATH \
   114         @l_prefix@/lib @l_prefix@/local/lib
   116     #   cleanup
   117     unset opt_prepend

mercurial