xref: /OK3568_Linux_fs/buildroot/package/tzdata/tzdata.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# tzdata
4#
5################################################################################
6
7TZDATA_VERSION = 2021a
8TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz
9TZDATA_SITE = https://www.iana.org/time-zones/repository/releases
10TZDATA_STRIP_COMPONENTS = 0
11TZDATA_DEPENDENCIES = host-tzdata
12HOST_TZDATA_DEPENDENCIES = host-zic
13TZDATA_LICENSE = Public domain
14TZDATA_LICENSE_FILES = LICENSE
15
16# Take care when re-ordering this list since this might break zone
17# dependencies
18TZDATA_DEFAULT_ZONELIST = \
19	africa antarctica asia australasia europe northamerica \
20	southamerica etcetera backward factory
21
22ifeq ($(call qstrip,$(BR2_TARGET_TZ_ZONELIST)),default)
23TZDATA_ZONELIST = $(TZDATA_DEFAULT_ZONELIST)
24else
25TZDATA_ZONELIST = $(call qstrip,$(BR2_TARGET_TZ_ZONELIST))
26endif
27
28TZDATA_LOCALTIME = $(call qstrip,$(BR2_TARGET_LOCALTIME))
29ifneq ($(TZDATA_LOCALTIME),)
30define TZDATA_SET_LOCALTIME
31	if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/$(TZDATA_LOCALTIME) ]; then \
32		printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \
33			"$(TZDATA_LOCALTIME)"; \
34		exit 1; \
35	fi
36	ln -sf ../usr/share/zoneinfo/$(TZDATA_LOCALTIME) $(TARGET_DIR)/etc/localtime
37	echo "$(TZDATA_LOCALTIME)" >$(TARGET_DIR)/etc/timezone
38endef
39endif
40
41define TZDATA_INSTALL_TARGET_CMDS
42	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/zoneinfo
43	cp -a $(HOST_DIR)/share/zoneinfo/* $(TARGET_DIR)/usr/share/zoneinfo
44	cd $(TARGET_DIR)/usr/share/zoneinfo; \
45	for zone in posix/*; do \
46	    ln -sfn "$${zone}" "$${zone##*/}"; \
47	done
48	$(TZDATA_SET_LOCALTIME)
49endef
50
51define HOST_TZDATA_BUILD_CMDS
52	(cd $(@D); \
53		for zone in $(TZDATA_ZONELIST); do \
54			$(ZIC) -b fat -d _output/posix $$zone || exit 1; \
55			$(ZIC) -b fat -d _output/right -L leapseconds $$zone || exit 1; \
56		done; \
57	)
58endef
59
60define HOST_TZDATA_INSTALL_CMDS
61	$(INSTALL) -d -m 0755 $(HOST_DIR)/share/zoneinfo
62	cp -a $(@D)/_output/* $(@D)/*.tab $(HOST_DIR)/share/zoneinfo
63endef
64
65$(eval $(generic-package))
66$(eval $(host-generic-package))
67