From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] packages: add tzdata
Date: Fri, 4 Jan 2013 12:54:47 +0100 [thread overview]
Message-ID: <20130104125447.04031e67@skate> (raw)
In-Reply-To: <1357300124-7011-1-git-send-email-rbraun@sceen.net>
Dear Richard Braun,
On Fri, 4 Jan 2013 12:48:44 +0100, Richard Braun wrote:
> The time zone database can be used by glibc (and potentially other
> applications) to offset UTC time and translate it according to
> additional rules, such as zone boundaries and daylight-saving time.
>
> Signed-off-by: Richard Braun <rbraun@sceen.net>
> ---
> package/Config.in | 1 +
> package/tzdata/Config.in | 8 +++++++
> package/tzdata/tzdata.mk | 37 ++++++++++++++++++++++++++++++++
> package/zic/zic-fix-dependencies.patch | 25 +++++++++++++++++++++
> package/zic/zic.mk | 26 ++++++++++++++++++++++
Please split in two patches. One for zic, one for tzdata.
> 5 files changed, 97 insertions(+), 0 deletions(-)
> create mode 100644 package/tzdata/Config.in
> create mode 100644 package/tzdata/tzdata.mk
> create mode 100644 package/zic/zic-fix-dependencies.patch
> create mode 100644 package/zic/zic.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 2cbadf4..99bb724 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -540,6 +540,7 @@ source "package/protobuf/Config.in"
> source "package/schifra/Config.in"
> source "package/startup-notification/Config.in"
> source "package/liblog4c-localtime/Config.in"
> +source "package/tzdata/Config.in"
> endmenu
>
> menu "Text and terminal handling"
> diff --git a/package/tzdata/Config.in b/package/tzdata/Config.in
> new file mode 100644
> index 0000000..cd4f818
> --- /dev/null
> +++ b/package/tzdata/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_TZDATA
> + bool "tzdata"
depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
> + help
> + Time zone database
> +
> + http://www.iana.org/time-zones/repository/tz-link.html
> +
> + Note that uClibc doesn't support this database.
> diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk
> new file mode 100644
> index 0000000..5995c24
> --- /dev/null
> +++ b/package/tzdata/tzdata.mk
> @@ -0,0 +1,37 @@
> +#############################################################
> +#
> +# tzdata
> +#
> +#############################################################
> +
> +TZDATA_VERSION = 2012j
> +TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz
> +TZDATA_SITE = http://www.iana.org/time-zones/repository/releases
> +TZDATA_DEPENDENCIES = host-zic
> +TZDATA_LICENSE = Public domain
> +
> +TZDATA_ZIC = $(HOST_DIR)/usr/sbin/zic
> +TZDATA_ZONELIST = africa antarctica asia australasia backward etcetera \
> + europe factory northamerica pacificnew southamerica
How about making it possible to configure which time zone data gets
installed? From what I remember, the entire size of the tzdata database
was quite large. Could be something like:
choice
prompt "Time zone selection"
config BR2_PACKAGE_TZDATA_ALL
bool "all"
config BR2_PACKAGE_TZDATA_LIST
bool "List"
config BR2_PACKAGE_TZDATA_FILELIST
bool "List in file"
endchoice
> +define TZDATA_EXTRACT_CMDS
> + gzip -d -c $(DL_DIR)/$(TZDATA_SOURCE) \
> + | $(TAR) --strip-components=0 -C $(@D) -xf -
> +endef
A short comment above to explain that the need to override the extract
step is the strip-components=0 would be useful.
> +define TZDATA_BUILD_CMDS
> + (cd $(@D); \
> + for zone in $(TZDATA_ZONELIST); do \
> + $(TZDATA_ZIC) -d _output -y yearistype.sh $$zone; \
> + $(TZDATA_ZIC) -d _output/posix -y yearistype.sh $$zone; \
> + $(TZDATA_ZIC) -d _output/right -L leapseconds -y yearistype.sh $$zone; \
> + done; \
> + )
> +endef
> +
> +define TZDATA_INSTALL_TARGET_CMDS
> + mkdir -p $(TARGET_DIR)/usr/share/zoneinfo
> + cp -a $(@D)/_output/* $(TARGET_DIR)/usr/share/zoneinfo
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/package/zic/zic-fix-dependencies.patch b/package/zic/zic-fix-dependencies.patch
> new file mode 100644
> index 0000000..e67c5eb
> --- /dev/null
> +++ b/package/zic/zic-fix-dependencies.patch
> @@ -0,0 +1,25 @@
> +From 087046dc38cfa4fa429317cc5db4c9bfaaaedc64 Mon Sep 17 00:00:00 2001
> +From: Richard Braun <rbraun@sceen.net>
> +Date: Fri, 4 Jan 2013 10:57:24 +0100
> +Subject: [PATCH] fix zic dependencies
> +
> +---
A better patch description is needed.
> + Makefile | 2 +-
> + 1 files changed, 1 insertions(+), 1 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index d76a81e..30df7dc 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -349,7 +349,7 @@ version.h:
> + zdump: $(TZDOBJS)
> + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS)
> +
> +-zic: $(TZCOBJS) yearistype
> ++zic: $(TZCOBJS)
> + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
> +
> + yearistype: yearistype.sh
> +--
> +1.7.2.5
> +
> diff --git a/package/zic/zic.mk b/package/zic/zic.mk
> new file mode 100644
> index 0000000..d2d5c7d
> --- /dev/null
> +++ b/package/zic/zic.mk
> @@ -0,0 +1,26 @@
> +#############################################################
> +#
> +# zic
> +#
> +#############################################################
> +
> +ZIC_VERSION = 2012j
> +ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz
> +ZIC_SITE = http://www.iana.org/time-zones/repository/releases
> +ZIC_LICENSE = Public domain
> +
> +define HOST_ZIC_EXTRACT_CMDS
> + gzip -d -c $(DL_DIR)/$(ZIC_SOURCE) \
> + | $(TAR) --strip-components=0 -C $(@D) -xf -
> +endef
> +
> +define HOST_ZIC_BUILD_CMDS
> + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) zic
> +endef
> +
> +define HOST_ZIC_INSTALL_CMDS
> + mkdir -p $(HOST_DIR)/usr/sbin
> + install -D -m 755 $(@D)/zic $(HOST_DIR)/usr/sbin/zic
> +endef
> +
> +$(eval $(host-generic-package))
Thanks!
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2013-01-04 11:54 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-04 11:48 [Buildroot] [PATCH] packages: add tzdata Richard Braun
2013-01-04 11:54 ` Thomas Petazzoni [this message]
2013-01-04 12:07 ` Richard Braun
2013-01-04 12:41 ` Thomas Petazzoni
2013-01-04 13:06 ` [Buildroot] [PATCH 1/2] package/zic: new host package Richard Braun
2013-01-04 13:06 ` [Buildroot] [PATCH 2/2] package/tzdata: new package Richard Braun
2013-01-04 13:41 ` Thomas Petazzoni
2013-01-04 13:45 ` Richard Braun
2013-01-04 13:48 ` Thomas Petazzoni
2013-01-04 13:57 ` Richard Braun
2013-01-04 21:15 ` [Buildroot] [PATCH] packages: add tzdata Peter Korsgaard
2013-01-07 9:20 ` [Buildroot] [PATCH v2 2/2] package/tzdata: new package Richard Braun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130104125447.04031e67@skate \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox