ntp.mk 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. ################################################################################
  2. #
  3. # ntp
  4. #
  5. ################################################################################
  6. NTP_VERSION_MAJOR = 4.2
  7. NTP_VERSION_MINOR = 8
  8. NTP_VERSION_POINT = 18
  9. NTP_VERSION = $(NTP_VERSION_MAJOR).$(NTP_VERSION_MINOR)p$(NTP_VERSION_POINT)
  10. NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR)
  11. NTP_DEPENDENCIES = host-pkgconf libevent
  12. NTP_LICENSE = NTP
  13. NTP_LICENSE_FILES = COPYRIGHT
  14. NTP_CPE_ID_VENDOR = ntp
  15. NTP_CPE_ID_VERSION = $(NTP_VERSION_MAJOR).$(NTP_VERSION_MINOR)
  16. NTP_CPE_ID_UPDATE = p$(NTP_VERSION_POINT)
  17. NTP_SELINUX_MODULES = ntp
  18. NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no POSIX_SHELL=/bin/sh
  19. NTP_CONF_OPTS = \
  20. --with-shared \
  21. --program-transform-name=s,,, \
  22. --disable-tickadj \
  23. --disable-debugging \
  24. --with-yielding-select=yes \
  25. --disable-local-libevent
  26. # 0002-ntp-syscalls-fallback.patch
  27. NTP_AUTORECONF = YES
  28. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  29. NTP_CONF_OPTS += --with-crypto --enable-openssl-random
  30. NTP_DEPENDENCIES += openssl
  31. else
  32. NTP_CONF_OPTS += --without-crypto --disable-openssl-random
  33. endif
  34. ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y)
  35. NTP_CONF_OPTS += --with-hardenfile=linux
  36. else
  37. NTP_CONF_OPTS += --with-hardenfile=default
  38. endif
  39. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  40. NTP_CONF_OPTS += --enable-linuxcaps
  41. NTP_DEPENDENCIES += libcap
  42. define NTP_USERS
  43. ntp -1 ntp -1 * - - - ntpd user
  44. endef
  45. NTP_DAEMON_EXTRA_ARGS = -u ntp:ntp
  46. else
  47. NTP_CONF_OPTS += --disable-linuxcaps
  48. endif
  49. ifeq ($(BR2_PACKAGE_LIBEDIT),y)
  50. NTP_CONF_OPTS += --with-lineeditlibs=edit
  51. NTP_DEPENDENCIES += libedit
  52. else
  53. NTP_CONF_OPTS += --without-lineeditlibs
  54. endif
  55. ifeq ($(BR2_PACKAGE_NTP_NTPSNMPD),y)
  56. NTP_CONF_OPTS += \
  57. --with-net-snmp-config=$(STAGING_DIR)/usr/bin/net-snmp-config
  58. NTP_DEPENDENCIES += netsnmp
  59. else
  60. NTP_CONF_OPTS += --without-ntpsnmpd
  61. endif
  62. ifeq ($(BR2_PACKAGE_NTP_NTPD_ATOM_PPS),y)
  63. NTP_CONF_OPTS += --enable-ATOM
  64. NTP_DEPENDENCIES += pps-tools
  65. else
  66. NTP_CONF_OPTS += --disable-ATOM
  67. endif
  68. ifeq ($(BR2_PACKAGE_NTP_NTP_SHM_CLK),y)
  69. NTP_CONF_OPTS += --enable-SHM
  70. else
  71. NTP_CONF_OPTS += --disable-SHM
  72. endif
  73. ifeq ($(BR2_PACKAGE_NTP_SNTP),y)
  74. NTP_CONF_OPTS += --with-sntp
  75. else
  76. NTP_CONF_OPTS += --without-sntp
  77. endif
  78. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTP_KEYGEN) += util/ntp-keygen
  79. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTP_WAIT) += scripts/ntp-wait/ntp-wait
  80. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPDATE) += ntpdate/ntpdate
  81. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPDC) += ntpdc/ntpdc
  82. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPQ) += ntpq/ntpq
  83. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPSNMPD) += ntpsnmpd/ntpsnmpd
  84. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPTIME) += util/ntptime
  85. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPTRACE) += scripts/ntptrace/ntptrace
  86. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_SNTP) += sntp/sntp
  87. NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_TICKADJ) += util/tickadj
  88. define NTP_INSTALL_TARGET_CMDS
  89. $(if $(BR2_PACKAGE_NTP_NTPD), install -m 755 $(@D)/ntpd/ntpd $(TARGET_DIR)/usr/sbin/ntpd)
  90. test -z "$(NTP_INSTALL_FILES_y)" || install -m 755 $(addprefix $(@D)/,$(NTP_INSTALL_FILES_y)) $(TARGET_DIR)/usr/bin/
  91. $(INSTALL) -m 644 package/ntp/ntpd.etc.conf $(TARGET_DIR)/etc/ntp.conf
  92. endef
  93. # This script will step the time if there is a large difference
  94. # before ntpd takes over the necessary slew adjustments
  95. ifeq ($(BR2_PACKAGE_NTP_SNTP),y)
  96. define NTP_INSTALL_INIT_SYSV_SNTP
  97. $(INSTALL) -D -m 755 package/ntp/S48sntp $(TARGET_DIR)/etc/init.d/S48sntp
  98. endef
  99. endif
  100. ifeq ($(BR2_PACKAGE_NTP_NTPD),y)
  101. define NTP_INSTALL_INIT_SYSV_NTPD
  102. mkdir -p $(TARGET_DIR)/etc/init.d
  103. sed -e 's%@NTPD_EXTRA_ARGS@%$(NTP_DAEMON_EXTRA_ARGS)%g' \
  104. package/ntp/S49ntp.in \
  105. > $(TARGET_DIR)/etc/init.d/S49ntp
  106. chmod 0755 $(TARGET_DIR)/etc/init.d/S49ntp
  107. endef
  108. define NTP_INSTALL_INIT_SYSTEMD
  109. mkdir -p $(TARGET_DIR)/usr/lib/systemd/system
  110. sed -e 's%@NTPD_EXTRA_ARGS@%$(NTP_DAEMON_EXTRA_ARGS)%g' \
  111. package/ntp/ntpd.service.in \
  112. > $(TARGET_DIR)/usr/lib/systemd/system/ntpd.service
  113. endef
  114. endif
  115. define NTP_INSTALL_INIT_SYSV
  116. $(NTP_INSTALL_INIT_SYSV_NTPD)
  117. $(NTP_INSTALL_INIT_SYSV_SNTP)
  118. endef
  119. $(eval $(autotools-package))