base-files: fix /tmp/TZ when zoneinfo not installed
[openwrt/staging/wigyori.git] / package / base-files / files / etc / init.d / system
index 2290964d7eff6bb501d3f2b5481cb62c5b605d2f..dcfc2616c6d84467bd0c1b0a6f3b526c7a81c360 100755 (executable)
@@ -21,13 +21,10 @@ system_config() {
 
        echo "$hostname" > /proc/sys/kernel/hostname
        [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize}
-       rm -f /tmp/TZ
-       if [ -n "$zonename" ]; then
-               local zname=$(echo "$zonename" | tr ' ' _)
-               [ -f "/usr/share/zoneinfo/$zname" ] && ln -sf "/usr/share/zoneinfo/$zname" /tmp/localtime
-       else
-               echo "$timezone" > /tmp/TZ
-       fi
+       echo "$timezone" > /tmp/TZ
+       [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/${zonename// /_}" ] \
+               && ln -sf "/usr/share/zoneinfo/${zonename// /_}" /tmp/localtime \
+               && rm -f /tmp/TZ
 
        # apply timezone to kernel
        hwclock -u --systz