Opennet Firmware
 Alle Dateien Funktionen Variablen Gruppen Seiten
on-helper.sh
gehe zur Dokumentation dieser Datei
1 #!/bin/sh
2 #
3 # Opennet Firmware
4 #
5 # Copyright 2010 Rene Ejury <opennet@absorb.it>
6 # Copyright 2014 Lars Kruse <devel@sumpfralle.de>
7 #
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 # http://www.apache.org/licenses/LICENSE-2.0
13 #
14 
15 # Abbruch bei:
16 # u = undefinierten Variablen
17 # e = Fehler
18 set -eu
19 
20 # fuer Entwicklungszwecke: uebermaessig ausfuehrliche Ausgabe aktivieren
21 [ "${ON_DEBUG:-}" = "1" ] && set -x
22 
23 
24 # leider, leider unterstuetzt die busybox-ash kein trap "ERR"
25 GUARD_TRAPS=EXIT
26 
27 DEBUG=${DEBUG:-}
28 
29 # siehe Entwicklungsdokumentation (Entwicklungshinweise -> Shell-Skripte -> Fehlerbehandlung)
30 trap "error_trap __main__ '$*'" $GUARD_TRAPS
31 
32 
33 # Schreibe eine log-Nachricht bei fehlerhaftem Skript-Abbruch
34 # Uebliche Parameter sind der aktuelle Funktionsname, sowie Parameter der aufgerufenen Funktion.
35 # Jede nicht-triviale Funktion sollte zu Beginn folgende Zeile enthalten:
36 # trap "error_trap FUNKTIONSNAME_HIER_EINTRAGEN '$*'" $GUARD_TRAPS
37 error_trap() {
38  # dies ist der Exitcode des Skripts (im Falle der EXIT trap)
39  local exitcode=$?
40  local message="ERROR [trapped]: '$*'"
41  [ "$exitcode" = 0 ] && exit 0
42  msg_info "$message"
43  echo >&2 "$message"
44  exit "$exitcode"
45 }
46 
47 
48 # Module laden
49 for fname in core.sh devel.sh network.sh olsr.sh routing.sh uci.sh services.sh service-relay.sh openvpn.sh on-openvpn.sh on-usergw.sh; do
50  fname=${IPKG_INSTROOT:-}/usr/lib/opennet/$fname
51  [ -e "$fname" ] && . "$fname"
52  true
53 done
54 
55 
56 # erzeuge das Profiling-Verzeichnis (vorsorglich - es wird wohl unbenutzt bleiben)
57 mkdir -p "$PROFILING_DIR"
58