contrib: Let safe_asterisk script continue without /dev/tty9.
authorWalter Doekes <walter+github@wjd.nu>
Fri, 9 Sep 2016 11:26:01 +0000 (13:26 +0200)
committerWalter Doekes <walter+asterisk@wjd.nu>
Fri, 9 Sep 2016 11:26:01 +0000 (13:26 +0200)
If you use the safe_asterisk script, it uses hardcoded defaults before
running configurable values from /etc/asterisk/startup.d. The hardcoded
default has TTY=9. Some containerized environments don't have such a
TTY, and safe_asterisk would stop.

The custom configuration from /etc/asterisk/startup.d/* isn't read until
after it stopped, so changing TTY in a custom config did not help.

This changeset changes safe_asterisk to continue if the TTY setting was
untouched and /dev/tty9 and /dev/vc/9 aren't found.

Change-Id: I2c7cdba549b77f418a0af4cb1227e8e6fe4148fc

contrib/scripts/safe_asterisk

index 62f3dad..66213a5 100644 (file)
@@ -120,13 +120,20 @@ if test -n "$TTY" && test "$TTY" != "no"; then
                TTY=tty${TTY}
        elif test -c /dev/vc/${TTY}; then
                TTY=vc/${TTY}
+       elif test "$TTY" = "9"; then  # ignore default if it was untouched
+               # If there is no /dev/tty9 and not /dev/vc/9 we don't
+               # necessarily want to die at this point. Pretend that
+               # TTY wasn't set.
+               TTY=
        else
                message "Cannot find specified TTY (${TTY})"
                exit 1
        fi
-       ASTARGS="${ASTARGS} -vvvg"
-       if test "$CONSOLE" != "no"; then
-               ASTARGS="${ASTARGS} -c"
+       if test -n "$TTY"; then
+               ASTARGS="${ASTARGS} -vvvg"
+               if test "$CONSOLE" != "no"; then
+                       ASTARGS="${ASTARGS} -c"
+               fi
        fi
 fi