pb-plugin: Don't execute metadata files
[petitboot] / utils / pb-console
index 81be2183ca8c2e1f4bef273c0ecbfbda4fc16d62..c6def47a74d010a1bfd7bd7111ca57717c5df0e5 100644 (file)
@@ -9,6 +9,7 @@ shell=sh
 getty=/sbin/getty
 use_getty=0
 detach=0
+pb_config=pb-config
 
 usage() {
        cat >&2 <<EOF
@@ -82,14 +83,45 @@ then
        if [ "$detach" = 1 ]
        then
                $getty -l $0 "$@" &
+               exit
        else
                exec $getty -l $0 "$@"
        fi
 fi
 
+for f in /etc/environment /etc/locale
+do
+       if [ -e "$f" ]
+       then
+               export $(cat "$f")
+       fi
+done
+
+# we force local terminals to use the linux termcap definition
+case "$(tty)" in
+/dev/tty[0-9]*)
+       export TERM=linux
+       ;;
+esac
+
+# we may have been run from udev - ensure we have a sensible PATH
+if [ -z "$PATH" ]
+then
+       PATH=/usr/bin:/usr/sbin:/bin:/sbin
+fi
+PATH=/var/lib/pb-plugins/bin:$PATH
+export PATH
+
+verbose_opt=
+if $pb_config debug | grep -q enabled
+then
+       verbose_opt=--verbose
+fi
+
 while :
 do
-       $ui
+       $ui $verbose_opt
+       reset
        echo "Exiting petitboot. Type 'exit' to return."
        $shell
 done