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