dhcp.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. ################################################################################
  2. #
  3. # dhcp
  4. #
  5. ################################################################################
  6. DHCP_VERSION = 4.1-ESV-R10
  7. DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)
  8. DHCP_INSTALL_STAGING = YES
  9. DHCP_LICENSE = ISC
  10. DHCP_LICENSE_FILES = LICENSE
  11. # For 0001-fix-configure-debug.patch
  12. DHCP_AUTORECONF = YES
  13. DHCP_CONF_ENV = \
  14. CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
  15. -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \
  16. ac_cv_file__dev_random=yes
  17. DHCP_CONF_OPTS = \
  18. --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
  19. --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \
  20. --with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
  21. --with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \
  22. --with-srv-pid-file=/var/run/dhcpd.pid \
  23. --with-srv6-pid-file=/var/run/dhcpd6.pid \
  24. --with-cli-pid-file=/var/run/dhclient.pid \
  25. --with-cli6-pid-file=/var/run/dhclient6.pid \
  26. --with-relay-pid-file=/var/run/dhcrelay.pid \
  27. --with-relay6-pid-file=/var/run/dhcrelay6.pid
  28. ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y)
  29. DHCP_CONF_OPTS += --enable-delayed-ack
  30. endif
  31. ifneq ($(BR2_INET_IPV6),y)
  32. DHCP_CONF_OPTS += --disable-dhcpv6
  33. endif
  34. ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
  35. define DHCP_INSTALL_SERVER
  36. mkdir -p $(TARGET_DIR)/var/lib
  37. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  38. $(INSTALL) -m 0755 -D $(@D)/server/dhcpd $(TARGET_DIR)/usr/sbin/dhcpd
  39. $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
  40. $(TARGET_DIR)/etc/dhcp/dhcpd.conf
  41. endef
  42. endif
  43. ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
  44. define DHCP_INSTALL_RELAY
  45. mkdir -p $(TARGET_DIR)/var/lib
  46. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  47. $(INSTALL) -m 0755 -D $(DHCP_DIR)/relay/dhcrelay \
  48. $(TARGET_DIR)/usr/sbin/dhcrelay
  49. endef
  50. endif
  51. ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
  52. define DHCP_INSTALL_CLIENT
  53. mkdir -p $(TARGET_DIR)/var/lib
  54. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  55. $(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
  56. $(TARGET_DIR)/usr/sbin/dhclient
  57. $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
  58. $(TARGET_DIR)/etc/dhcp/dhclient.conf
  59. $(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
  60. $(TARGET_DIR)/sbin/dhclient-script
  61. endef
  62. endif
  63. # Options don't matter, scripts won't start if binaries aren't there
  64. define DHCP_INSTALL_INIT_SYSV
  65. $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
  66. $(TARGET_DIR)/etc/init.d/S80dhcp-server
  67. $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
  68. $(TARGET_DIR)/etc/init.d/S80dhcp-relay
  69. endef
  70. define DHCP_INSTALL_INIT_SYSTEMD
  71. $(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
  72. $(TARGET_DIR)/lib/systemd/system/dhcpd.service
  73. mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
  74. ln -sf ../../../../lib/systemd/system/dhcpd.service \
  75. $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
  76. echo "d /var/lib/dhcp 0755 - - - -" > \
  77. $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
  78. echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
  79. $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
  80. endef
  81. define DHCP_INSTALL_TARGET_CMDS
  82. $(DHCP_INSTALL_RELAY)
  83. $(DHCP_INSTALL_SERVER)
  84. $(DHCP_INSTALL_CLIENT)
  85. endef
  86. $(eval $(autotools-package))