bind.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. ################################################################################
  2. #
  3. # bind
  4. #
  5. ################################################################################
  6. BIND_VERSION = 9.18.31
  7. BIND_SOURCE= bind-$(BIND_VERSION).tar.xz
  8. BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION)
  9. # bind does not support parallel builds.
  10. BIND_MAKE = $(MAKE1)
  11. BIND_INSTALL_STAGING = YES
  12. BIND_LICENSE = MPL-2.0
  13. BIND_LICENSE_FILES = COPYRIGHT
  14. BIND_CPE_ID_VENDOR = isc
  15. BIND_SELINUX_MODULES = bind
  16. # Library CVE and not used by bind but used by ISC DHCP
  17. BIND_IGNORE_CVES += CVE-2019-6470
  18. BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage
  19. BIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke
  20. BIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom
  21. BIND_TARGET_SERVER_SBIN += isc-hmac-fixup named-journalprint nsec3hash
  22. BIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone
  23. BIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey
  24. BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen
  25. BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate
  26. # avoid potential Debian 12 libtool 2.4.7 bug
  27. # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929396
  28. BIND_AUTORECONF = YES
  29. BIND_CONF_OPTS = \
  30. --without-cmocka \
  31. --without-lmdb \
  32. --enable-epoll \
  33. --disable-doh \
  34. --disable-backtrace \
  35. --disable-static \
  36. --with-openssl=$(STAGING_DIR)/usr
  37. BIND_DEPENDENCIES = host-pkgconf libuv openssl
  38. BIND_CFLAGS = $(TARGET_CFLAGS)
  39. ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y)
  40. BIND_CFLAGS += -O0
  41. endif
  42. BIND_CONF_OPTS += CFLAGS="$(BIND_CFLAGS)"
  43. ifeq ($(BR2_PACKAGE_ZLIB),y)
  44. BIND_CONF_OPTS += --with-zlib
  45. BIND_DEPENDENCIES += zlib
  46. else
  47. BIND_CONF_OPTS += --without-zlib
  48. endif
  49. ifeq ($(BR2_PACKAGE_JSON_C),y)
  50. BIND_CONF_OPTS += --with-json-c
  51. BIND_DEPENDENCIES += json-c
  52. else
  53. BIND_CONF_OPTS += --without-json-c
  54. endif
  55. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  56. BIND_CONF_OPTS += --enable-linux-caps
  57. BIND_DEPENDENCIES += libcap
  58. else
  59. BIND_CONF_OPTS += --disable-linux-caps
  60. endif
  61. ifeq ($(BR2_PACKAGE_LIBIDN2),y)
  62. BIND_CONF_OPTS += --with-libidn2
  63. BIND_DEPENDENCIES += libidn2
  64. else
  65. BIND_CONF_OPTS += --without-libidn2
  66. endif
  67. ifeq ($(BR2_PACKAGE_LIBKRB5),y)
  68. BIND_CONF_OPTS += --with-gssapi=$(STAGING_DIR)/usr/bin/krb5-config
  69. BIND_DEPENDENCIES += libkrb5
  70. else
  71. BIND_CONF_OPTS += --with-gssapi=no
  72. endif
  73. ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y)
  74. BIND_CONF_OPTS += --enable-geoip --with-maxminddb
  75. BIND_DEPENDENCIES += libmaxminddb
  76. else
  77. BIND_CONF_OPTS += --disable-geoip
  78. endif
  79. ifeq ($(BR2_PACKAGE_LIBXML2),y)
  80. BIND_CONF_OPTS += --with-libxml2
  81. BIND_DEPENDENCIES += libxml2
  82. else
  83. BIND_CONF_OPTS += --with-libxml2=no
  84. endif
  85. # Used by dnssec-keymgr
  86. ifeq ($(BR2_PACKAGE_PYTHON_PLY),y)
  87. BIND_DEPENDENCIES += host-python-ply
  88. BIND_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python
  89. else
  90. BIND_CONF_OPTS += --with-python=no
  91. endif
  92. ifeq ($(BR2_PACKAGE_READLINE),y)
  93. BIND_DEPENDENCIES += readline
  94. else
  95. BIND_CONF_OPTS += --with-readline=no
  96. endif
  97. ifeq ($(BR2_STATIC_LIBS),y)
  98. BIND_CONF_OPTS += \
  99. --without-dlopen \
  100. --without-libtool
  101. else
  102. BIND_CONF_OPTS += \
  103. --with-dlopen \
  104. --with-libtool
  105. endif
  106. define BIND_TARGET_REMOVE_SERVER
  107. rm -rf $(addprefix $(TARGET_DIR)/usr/sbin/, $(BIND_TARGET_SERVER_SBIN))
  108. endef
  109. define BIND_TARGET_REMOVE_TOOLS
  110. rm -rf $(addprefix $(TARGET_DIR)/usr/bin/, $(BIND_TARGET_TOOLS_BIN))
  111. endef
  112. ifeq ($(BR2_PACKAGE_BIND_SERVER),y)
  113. define BIND_INSTALL_INIT_SYSV
  114. $(INSTALL) -m 0755 -D $(BIND_PKGDIR)/S81named \
  115. $(TARGET_DIR)/etc/init.d/S81named
  116. endef
  117. define BIND_INSTALL_INIT_SYSTEMD
  118. $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \
  119. $(TARGET_DIR)/usr/lib/systemd/system/named.service
  120. endef
  121. else
  122. BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER
  123. endif
  124. ifeq ($(BR2_PACKAGE_BIND_TOOLS),)
  125. BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_TOOLS
  126. endif
  127. define BIND_USERS
  128. named -1 named -1 * /etc/bind - - BIND daemon
  129. endef
  130. $(eval $(autotools-package))