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