5# Copyright 2010 Rene Ejury <opennet@absorb.it> 
    6# Copyright 2014 Lars Kruse <devel@sumpfralle.de> 
    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 
   16#  u = undefinierten Variablen 
   20# fuer Entwicklungszwecke: uebermaessig ausfuehrliche Ausgabe aktivieren 
   21[ 
"${ON_DEBUG:-}" = 
"1" ] && set -x
 
   26# siehe Entwicklungsdokumentation (Entwicklungshinweise -> Shell-Skripte -> Fehlerbehandlung) 
   27trap 
'error_trap __main__ "$*"' EXIT
 
   30# Schreibe eine log-Nachricht bei fehlerhaftem Skript-Abbruch 
   31# Uebliche Parameter sind der aktuelle Funktionsname, sowie Parameter der aufgerufenen Funktion. 
   32# Jede nicht-triviale Funktion sollte zu Beginn folgende Zeile enthalten: 
   33#    trap 'error_trap FUNKTIONSNAME_HIER_EINTRAGEN "$*"' EXIT
 
   35    # dies ist der Exitcode des Skripts (im Falle der EXIT trap) 
   37    local message=
"ERROR [trapped]: '$*'" 
   38    [ 
"$exitcode" = 0 ] && exit 0
 
   45# Minimieren aller Shell-Module durch Entfernen von Kommentar- und Leerzeilen 
   46# Alle Modul-Dateien werden gelesen, minimiert und anschliessend in eine Cache-Datei 
   47# geschrieben. Die Zeitstempel der Shell-Module werden bei jedem Start mit dem der 
   48# Cache-Datei verglichen und letztere bei Bedarf erneuert. 
   49# Diese Minimierung reduziert die Laufzeit bei einfachen Funktionsaufrufen um ca. 10%.  
   50ON_SHELL_MINIMIZED=
"${IPKG_INSTROOT:-}/tmp/on_shell_modules.cache" 
   51ON_SHELL_MODULES_DIR=
"${IPKG_INSTROOT:-}/usr/lib/opennet" 
   52ON_SHELL_MODULES=
$(find 
"$ON_SHELL_MODULES_DIR" -maxdepth 1 -type f -name 
"*.sh")
 
   53# shellcheck disable=SC2086 
   54ON_SHELL_MODULES_NEWEST=
$( (ls -dtr 
"$ON_SHELL_MODULES_DIR" $ON_SHELL_MODULES 
"$ON_SHELL_MINIMIZED" 2>/dev/
null || 
true) | tail -1)
 
   55# shellcheck disable=SC2046 
   56[ 
"$ON_SHELL_MODULES_NEWEST" != 
"$ON_SHELL_MINIMIZED" ] && \
 
   57    grep -vh 
"^[[:space:]]*#" $(echo 
"$ON_SHELL_MODULES" \
 
   58        | grep -vF 
"on-helper.sh") \
 
   59        | sed 
's/^[[:space:]]\+//' \
 
   61        >
"${ON_SHELL_MINIMIZED}.$$" && mv 
"${ON_SHELL_MINIMIZED}.$$" "$ON_SHELL_MINIMIZED" 
   62# shellcheck disable=SC1090 
   63. 
"$ON_SHELL_MINIMIZED" 
   67    rm -f 
"$ON_SHELL_MINIMIZED" 
msg_info(message)
Informationen und Fehlermeldungen ins syslog schreiben.
 
clear_cache_opennet_opkg()
Lösche die eventuell vorhandene opennet-opkg-Konfiguration (z.B. nach einem Update).
 
set eu grep root::etc shadow exit if command v chpasswd dev null