mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Gavin Schenk <g.schenk@eckelmann.de>
To: <ptxdist@pengutronix.de>
Cc: Gavin Schenk <g.schenk@eckelmann.de>
Subject: [ptxdist] [PATCH v2] timezone: Support for zonetab1970
Date: Fri,  3 Dec 2021 16:23:37 +0100	[thread overview]
Message-ID: <20211203152337.82758-1-g.schenk@eckelmann.de> (raw)
In-Reply-To: <YZ+xRocq2VJusN/y@pengutronix.de>

zonetab1970 contains a table where each row stands for a timezone where
civil timestamps have agreed since 1970.

zonetab1970 is used by systemd in the timedatectl list-timezones
command that was broken without this data.

zonetab1970 is intended to be delivered with the complete data set from
tzdata package. Since PTXDIST offers the option to deliver timezones
only partially, the solution is to correct the file during installation.
Deselected timezone entries are removed from the file during INSTALL
step.

Signed-off-by: Gavin Schenk <g.schenk@eckelmann.de>
---
Changes since v1:
 - Drop menuentry TIMEZONE_ZONETAB_1970 and install file always
 - Use suggested algorithm that is more compact and forks less processes
   ( Commented lines are not removed any more )

One idea for removing the commented lines is:
@grep "\($$(find TIMEZONE_PKGDIR)/usr/share/zoneinfo -type f -printf '%P\|')34987qiruhqwerkjb43kn5b3j4klrhqwekljrh\)"

Maybe not important, if looking on the file size. With Zone Europe enabled
zone1970.tab contains 3557 bytes. With all zones enabled it increases to
17593 bytes. 

I tested this with all timezones enabled and the long expression
does not exceed limits of shell.

---
 rules/host-tz-database.make | 2 +-
 rules/timezone.make         | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/rules/host-tz-database.make b/rules/host-tz-database.make
index fe4d36467..006060496 100644
--- a/rules/host-tz-database.make
+++ b/rules/host-tz-database.make
@@ -67,6 +67,6 @@ HOST_TZ_DATABASE_CONF_TOOL	:= NO
 HOST_TZ_DATABASE_MAKE_OPT	:= \
 	zic TZDIR=/usr/share/zoneinfo CFLAGS=-DSTD_INSPIRED
 HOST_TZ_DATABASE_INSTALL_OPT	:= \
-	posix_only TZDIR=/usr/share/zoneinfo
+	REDO=posix_only TZDIR=/usr/share/zoneinfo install
 
 # vim: syntax=make
diff --git a/rules/timezone.make b/rules/timezone.make
index c1fd3fbc3..68ec669c0 100644
--- a/rules/timezone.make
+++ b/rules/timezone.make
@@ -87,7 +87,10 @@ $(STATEDIR)/timezone.install:
 	@for target in $(TIMEZONE-y); do \
 		$(call add_zoneinfo, $$target, $(TIMEZONE_PKGDIR)/usr/share, $(PTXDIST_SYSROOT_HOST)/usr); \
 	done
-	@$(call touch)
+# Fix entries in zonetab to match the selected PTXCONF_TIMEZONE_* options.
+	@grep "\($$(find $(TIMEZONE_PKGDIR)/usr/share/zoneinfo -type f -printf '%P\|')#\)" \
+		$(PTXDIST_SYSROOT_HOST)/usr/share/zoneinfo/zone1970.tab > \
+		$(TIMEZONE_PKGDIR)/usr/share/zoneinfo/zone1970.tab
 
 # ----------------------------------------------------------------------------
 # Target-Install
@@ -116,6 +119,8 @@ ifneq ($(call remove_quotes,$(PTXCONF_TIMEZONE_LOCALTIME)),)
 		/etc/localtime)
 endif
 
+	$(call install_copy, timezone, 0, 0, 0644, -, /usr/share/zoneinfo/zone1970.tab)
+
 	@$(call install_finish, timezone)
 
 	@$(call touch)
-- 
2.30.2


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


  reply	other threads:[~2021-12-03 15:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-01 11:38 [ptxdist] [PATCH 0/2] Using systemd/timedatectl to handle timedate Gavin Schenk
2021-11-01 11:38 ` [ptxdist] [PATCH 1/2] host-tz-database: Version bump 2020d -> 2021e Gavin Schenk
2021-11-01 12:46   ` Alexander Dahl
2021-12-17 14:59     ` Alexander Dahl
2021-12-18  7:35       ` [ptxdist] [PATCH v2 " Gavin Schenk
2021-12-18  7:42   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-11-01 11:38 ` [ptxdist] [PATCH 2/2] timezone: Support for zonetab1970 Gavin Schenk
2021-11-02  5:56   ` Denis Osterland-Heim
2021-11-02  8:34     ` Gavin Schenk
2021-11-22 11:32       ` Gavin Schenk
2021-11-25 15:52   ` Michael Olbrich
2021-12-03 15:23     ` Gavin Schenk [this message]
2021-12-08  7:40       ` [ptxdist] [PATCH v2] " Michael Olbrich
2021-12-15 13:50         ` [ptxdist] [PATCH v3] " Gavin Schenk
2021-12-17 13:27           ` [ptxdist] [APPLIED] " Michael Olbrich

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=20211203152337.82758-1-g.schenk@eckelmann.de \
    --to=g.schenk@eckelmann.de \
    --cc=ptxdist@pengutronix.de \
    /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