tzdata.mk 2.0 KB

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