bind.mk 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. ################################################################################
  2. #
  3. # bind
  4. #
  5. ################################################################################
  6. BIND_VERSION = 9.9.6
  7. BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION)
  8. BIND_INSTALL_STAGING = YES
  9. BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh
  10. BIND_LICENSE = ISC
  11. BIND_LICENSE_FILES = COPYRIGHT
  12. BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage
  13. BIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke
  14. BIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom
  15. BIND_TARGET_SERVER_SBIN += isc-hmac-fixup named-journalprint nsec3hash
  16. BIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone
  17. BIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey
  18. BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone
  19. BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate
  20. BIND_CONF_ENV = BUILD_CC="$(TARGET_CC)" \
  21. BUILD_CFLAGS="$(TARGET_CFLAGS)"
  22. BIND_CONF_OPTS = \
  23. --with-randomdev=/dev/urandom \
  24. --enable-epoll --with-libtool \
  25. --with-gssapi=no --enable-rrl
  26. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  27. BIND_CONF_OPTS += --enable-linux-caps
  28. BIND_DEPENDENCIES += libcap
  29. else
  30. BIND_CONF_OPTS += --disable-linux-caps
  31. endif
  32. ifeq ($(BR2_PACKAGE_LIBXML2),y)
  33. BIND_CONF_OPTS += --with-libxml2=$(STAGING_DIR)/usr --enable-newstats
  34. BIND_DEPENDENCIES += libxml2
  35. else
  36. BIND_CONF_OPTS += --with-libxml2=no
  37. endif
  38. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  39. BIND_DEPENDENCIES += openssl
  40. BIND_CONF_ENV += ac_cv_func_EVP_sha256=yes \
  41. ac_cv_func_EVP_sha384=yes ac_cv_func_EVP_sha512=yes
  42. BIND_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr LIBS="-lz" \
  43. --with-ecdsa=yes
  44. # GOST cipher support requires openssl extra engines
  45. ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
  46. BIND_CONF_OPTS += --with-gost=yes
  47. else
  48. BIND_CONF_OPTS += --with-gost=no
  49. endif
  50. else
  51. BIND_CONF_OPTS += --with-openssl=no
  52. endif
  53. # Used by dnssec-checkds and dnssec-coverage
  54. ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),)
  55. BIND_CONF_OPTS += --with-python=no
  56. endif
  57. ifeq ($(BR2_PACKAGE_READLINE),y)
  58. BIND_DEPENDENCIES += readline
  59. else
  60. BIND_CONF_OPTS += --with-readline=no
  61. endif
  62. define BIND_TARGET_REMOVE_SERVER
  63. rm -rf $(addprefix $(TARGET_DIR)/usr/sbin/, $(BIND_TARGET_SERVER_SBIN))
  64. endef
  65. define BIND_TARGET_REMOVE_TOOLS
  66. rm -rf $(addprefix $(TARGET_DIR)/usr/bin/, $(BIND_TARGET_TOOLS_BIN))
  67. endef
  68. ifeq ($(BR2_PACKAGE_BIND_SERVER),y)
  69. define BIND_INSTALL_INIT_SYSV
  70. $(INSTALL) -m 0755 -D package/bind/S81named \
  71. $(TARGET_DIR)/etc/init.d/S81named
  72. endef
  73. else
  74. BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER
  75. endif
  76. ifeq ($(BR2_PACKAGE_BIND_TOOLS),)
  77. BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_TOOLS
  78. endif
  79. define BIND_USERS
  80. named -1 named -1 * /etc/bind - - BIND daemon
  81. endef
  82. $(eval $(autotools-package))