base-files: allow timezone to be overriden by zonename (proper zoneinfo support)
authorJohn Crispin <john@openwrt.org>
Wed, 23 Dec 2015 14:44:31 +0000 (14:44 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 23 Dec 2015 14:44:31 +0000 (14:44 +0000)
Signed-off-by: Roman Yeryomin <roman@advem.lv>
SVN-Revision: 47980

package/base-files/Makefile
package/base-files/files/etc/init.d/system

index 1367fa929142c21f893b991fc4c398c444ce8249..bf32f6306a4ca574d6282bc6a76aa9351d49f15c 100644 (file)
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 include $(INCLUDE_DIR)/version.mk
 
 PKG_NAME:=base-files
 include $(INCLUDE_DIR)/version.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=164
+PKG_RELEASE:=165
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 PKG_BUILD_DEPENDS:=usign/host
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 PKG_BUILD_DEPENDS:=usign/host
@@ -161,7 +161,7 @@ define Package/base-files/install
        rm -f $(1)/var
        $(LN) /tmp $(1)/var
        mkdir -p $(1)/etc
        rm -f $(1)/var
        $(LN) /tmp $(1)/var
        mkdir -p $(1)/etc
-       $(LN) /tmp/resolv.conf /tmp/fstab /tmp/TZ $(1)/etc/
+       $(LN) /tmp/resolv.conf /tmp/fstab /tmp/TZ /tmp/localtime $(1)/etc/
 
        chmod 0600 $(1)/etc/shadow
        chmod 1777 $(1)/tmp
 
        chmod 0600 $(1)/etc/shadow
        chmod 1777 $(1)/tmp
index 6388d62ea29e4c8635e8396360a8fb7e36725d9a..531aa8cbc548743371eba0232d6cee5d67c4e20e 100755 (executable)
@@ -27,7 +27,8 @@ system_config() {
        echo "$hostname" > /proc/sys/kernel/hostname
        [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize}
        echo "$timezone" > /tmp/TZ
        echo "$hostname" > /proc/sys/kernel/hostname
        [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize}
        echo "$timezone" > /tmp/TZ
-       [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && ln -s "/usr/share/zoneinfo/$zonename" /tmp/localtime
+       [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && \
+               ln -sf "/usr/share/zoneinfo/$zonename" /tmp/localtime && rm -f /tmp/TZ
 
        # apply timezone to kernel
        date -k
 
        # apply timezone to kernel
        date -k