From bfbbe5893f92cd572c48c4d37fbd975f148093d6 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Mon, 26 Sep 2011 02:28:04 +0000
Subject: [PATCH] base-files: use "zonename" system option to symlink
 /etc/localtime via /tmp/localtime to /usr/share/zoneinfo for glibc and eglibc

SVN-Revision: 28306
---
 package/base-files/Makefile              | 4 +++-
 package/base-files/files/etc/init.d/boot | 3 +++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 775126aa53..713dd7fad5 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=80
+PKG_RELEASE:=81
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 PKG_BUILD_DEPENDS:=opkg/host
@@ -513,6 +513,8 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
 
   define Package/glibc/install
 	$(CP) ./glibc-files/* $(1)/
+	rm -f $(1)/etc/localtime
+	ln -sf /tmp/localtime $(1)/etc/localtime
 	$(INSTALL_DIR) $(1)/lib
 	$(CP) \
 		$(TOOLCHAIN_DIR)/lib/ld*.so.* \
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot
index 2fec48c4f5..346d60d04b 100755
--- a/package/base-files/files/etc/init.d/boot
+++ b/package/base-files/files/etc/init.d/boot
@@ -19,6 +19,9 @@ system_config() {
 	config_get timezone "$cfg" timezone 'UTC'
 	echo "$timezone" > /tmp/TZ
 
+	config_get zonename "$cfg" zonename
+	[ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && ln -s "/usr/share/zoneinfo/$zonename" /tmp/localtime
+
 	if [ -x /sbin/syslogd ]; then
 		local log_ip log_size log_port log_type log_file
 		config_get log_ip "$cfg" log_ip 
-- 
GitLab