tz: new package
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Mon, 7 Apr 2014 19:58:07 +0000 (21:58 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 8 Apr 2014 22:33:06 +0000 (00:33 +0200)
uClibc can not use timezone info from tzdata as-is, but accepts setting
the local timezone in /etc/TZ.

[Peter: strip quotes/use local TZ_LOCALTIME variable]
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
[yann.morin.1998@free.fr: make it a blind package; little tweak to help text]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/Config.in
package/tz/Config.in [new file with mode: 0644]
package/tz/tz.mk [new file with mode: 0644]

index f35e1c7646add8feff4056b5201f64d8ecacdc4f..72d529c49077f2847ce7e2284d5b5de78159155a 100644 (file)
@@ -816,6 +816,7 @@ source "package/protobuf/Config.in"
 source "package/protobuf-c/Config.in"
 source "package/schifra/Config.in"
 source "package/startup-notification/Config.in"
+source "package/tz/Config.in"
 source "package/tzdata/Config.in"
 endmenu
 
diff --git a/package/tz/Config.in b/package/tz/Config.in
new file mode 100644 (file)
index 0000000..943dc5c
--- /dev/null
@@ -0,0 +1,4 @@
+config BR2_PACKAGE_TZ
+       bool
+       help
+         Timezone info for uClibc.
diff --git a/package/tz/tz.mk b/package/tz/tz.mk
new file mode 100644 (file)
index 0000000..a762acd
--- /dev/null
@@ -0,0 +1,31 @@
+################################################################################
+#
+# tz
+#
+################################################################################
+
+TZ_SOURCE =
+TZ_DEPENDENCIES = host-tzdata host-tzdump
+TZ_LICENSE = Public domain
+
+TZ_LOCALTIME = $(call qstrip,$(BR2_TARGET_LOCALTIME))
+
+define TZ_BUILD_CMDS
+       (cd $(HOST_DIR)/usr/share/zoneinfo/posix/;                 \
+               for i in $$(find . -type f); do                    \
+                       mkdir -p $(@D)/output/$$(dirname $$i);         \
+                       $(TZDUMP) -p . -q $${i#./} > $(@D)/output/$$i; \
+               done                                               \
+       )
+endef
+
+define TZ_INSTALL_TARGET_CMDS
+       mkdir -p $(TARGET_DIR)/usr/share/zoneinfo/uclibc
+       cp -a $(@D)/output/* $(TARGET_DIR)/usr/share/zoneinfo/uclibc
+       if [ -n "$(TZ_LOCALTIME)" ]; then                               \
+           cd $(TARGET_DIR)/etc;                                       \
+           ln -sf ../usr/share/zoneinfo/uclibc/$(TZDATA_LOCALTIME) TZ; \
+       fi
+endef
+
+$(eval $(generic-package))