2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2005-02-16 20:08:33 +01:00
|
|
|
#
|
|
|
|
# dhcp
|
|
|
|
#
|
2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2011-11-09 12:30:59 +01:00
|
|
|
|
2017-12-12 20:51:34 +01:00
|
|
|
DHCP_VERSION = 4.3.6
|
2013-01-22 04:35:48 +01:00
|
|
|
DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)
|
2013-07-24 12:34:32 +02:00
|
|
|
DHCP_INSTALL_STAGING = YES
|
2013-01-22 04:35:48 +01:00
|
|
|
DHCP_LICENSE = ISC
|
|
|
|
DHCP_LICENSE_FILES = LICENSE
|
2014-08-04 20:19:03 +02:00
|
|
|
DHCP_CONF_ENV = \
|
|
|
|
CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
|
2017-10-27 21:24:24 +02:00
|
|
|
-D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \
|
|
|
|
CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1'
|
|
|
|
|
2014-09-27 21:32:44 +02:00
|
|
|
DHCP_CONF_OPTS = \
|
2016-10-11 13:20:17 +02:00
|
|
|
--with-randomdev=/dev/random \
|
2010-07-16 11:18:07 +02:00
|
|
|
--with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
|
2014-08-04 20:19:04 +02:00
|
|
|
--with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \
|
2010-07-16 11:18:07 +02:00
|
|
|
--with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
|
2014-08-04 20:19:04 +02:00
|
|
|
--with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \
|
2010-07-16 11:18:07 +02:00
|
|
|
--with-srv-pid-file=/var/run/dhcpd.pid \
|
2014-08-04 20:19:04 +02:00
|
|
|
--with-srv6-pid-file=/var/run/dhcpd6.pid \
|
2010-07-16 11:18:07 +02:00
|
|
|
--with-cli-pid-file=/var/run/dhclient.pid \
|
2014-08-04 20:19:04 +02:00
|
|
|
--with-cli6-pid-file=/var/run/dhclient6.pid \
|
|
|
|
--with-relay-pid-file=/var/run/dhcrelay.pid \
|
|
|
|
--with-relay6-pid-file=/var/run/dhcrelay6.pid
|
2011-04-25 15:13:58 +02:00
|
|
|
|
2016-02-17 03:45:24 +01:00
|
|
|
# The source for the bind libraries used by dhcp are embedded in the dhcp source
|
|
|
|
# as a tar-ball. Extract the bind source to allow any patches to be applied
|
|
|
|
# during the patch phase.
|
|
|
|
define DHCP_EXTRACT_BIND
|
|
|
|
cd $(@D)/bind; tar -xvf bind.tar.gz
|
|
|
|
endef
|
|
|
|
DHCP_POST_EXTRACT_HOOKS += DHCP_EXTRACT_BIND
|
|
|
|
|
|
|
|
# The patchset requires configure et.al. to be regenerated.
|
|
|
|
DHCP_AUTORECONF = YES
|
|
|
|
|
|
|
|
# bind does not support parallel builds.
|
|
|
|
DHCP_MAKE = $(MAKE1)
|
|
|
|
|
|
|
|
# bind configure is called via dhcp make instead of dhcp configure. The make env
|
|
|
|
# needs extra values for bind configure.
|
|
|
|
DHCP_MAKE_ENV = \
|
|
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
|
|
BUILD_CC="$(HOSTCC)" \
|
|
|
|
BUILD_CFLAGS="$(HOST_CFLAGS)" \
|
|
|
|
BUILD_CPPFLAGS="$(HOST_CPPFLAGS)" \
|
|
|
|
BUILD_LDFLAGS="$(HOST_LDFLAGS)"
|
|
|
|
|
2013-07-19 14:46:37 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y)
|
2014-10-25 20:29:31 +02:00
|
|
|
DHCP_CONF_OPTS += --enable-delayed-ack
|
2013-07-19 14:46:37 +02:00
|
|
|
endif
|
|
|
|
|
2010-07-16 11:18:07 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
|
|
|
|
define DHCP_INSTALL_SERVER
|
2007-08-20 07:03:21 +02:00
|
|
|
mkdir -p $(TARGET_DIR)/var/lib
|
2010-07-16 11:18:07 +02:00
|
|
|
(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
|
|
|
|
$(INSTALL) -m 0755 -D $(@D)/server/dhcpd $(TARGET_DIR)/usr/sbin/dhcpd
|
2011-02-01 14:25:05 +01:00
|
|
|
$(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
|
|
|
|
$(TARGET_DIR)/etc/dhcp/dhcpd.conf
|
2010-07-16 11:18:07 +02:00
|
|
|
endef
|
|
|
|
endif
|
2005-02-16 20:08:33 +01:00
|
|
|
|
2010-07-16 11:18:07 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
|
|
|
|
define DHCP_INSTALL_RELAY
|
2007-08-20 07:03:21 +02:00
|
|
|
mkdir -p $(TARGET_DIR)/var/lib
|
2005-04-15 04:19:11 +02:00
|
|
|
(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
|
2011-02-01 14:25:05 +01:00
|
|
|
$(INSTALL) -m 0755 -D $(DHCP_DIR)/relay/dhcrelay \
|
|
|
|
$(TARGET_DIR)/usr/sbin/dhcrelay
|
2010-07-16 11:18:07 +02:00
|
|
|
endef
|
|
|
|
endif
|
2005-02-16 20:08:33 +01:00
|
|
|
|
2010-07-16 11:18:07 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
|
|
|
|
define DHCP_INSTALL_CLIENT
|
2007-08-20 07:03:21 +02:00
|
|
|
mkdir -p $(TARGET_DIR)/var/lib
|
2005-04-15 04:19:11 +02:00
|
|
|
(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
|
2011-02-01 14:25:05 +01:00
|
|
|
$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
|
2014-11-18 18:01:53 +01:00
|
|
|
$(TARGET_DIR)/sbin/dhclient
|
2007-09-17 14:30:31 +02:00
|
|
|
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
|
|
|
|
$(TARGET_DIR)/etc/dhcp/dhclient.conf
|
|
|
|
$(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
|
|
|
|
$(TARGET_DIR)/sbin/dhclient-script
|
2010-07-16 11:18:07 +02:00
|
|
|
endef
|
|
|
|
endif
|
2005-02-16 20:08:33 +01:00
|
|
|
|
2014-06-11 12:39:39 +02:00
|
|
|
# Options don't matter, scripts won't start if binaries aren't there
|
|
|
|
define DHCP_INSTALL_INIT_SYSV
|
|
|
|
$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
|
|
|
|
$(TARGET_DIR)/etc/init.d/S80dhcp-server
|
|
|
|
$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
|
|
|
|
$(TARGET_DIR)/etc/init.d/S80dhcp-relay
|
|
|
|
endef
|
|
|
|
|
2014-12-01 15:18:16 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
|
2014-09-15 23:04:43 +02:00
|
|
|
define DHCP_INSTALL_INIT_SYSTEMD
|
|
|
|
$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
|
2015-03-20 20:14:04 +01:00
|
|
|
$(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service
|
2014-09-15 23:04:43 +02:00
|
|
|
|
|
|
|
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
|
|
|
|
2015-03-20 20:14:04 +01:00
|
|
|
ln -sf ../../../../usr/lib/systemd/system/dhcpd.service \
|
2014-09-15 23:04:43 +02:00
|
|
|
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
|
|
|
|
|
2017-05-27 00:13:47 +02:00
|
|
|
mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d
|
2014-09-15 23:04:43 +02:00
|
|
|
echo "d /var/lib/dhcp 0755 - - - -" > \
|
|
|
|
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
|
|
|
|
echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
|
|
|
|
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
|
|
|
|
endef
|
2014-12-01 15:18:16 +01:00
|
|
|
endif
|
2014-09-15 23:04:43 +02:00
|
|
|
|
2010-07-16 11:18:07 +02:00
|
|
|
define DHCP_INSTALL_TARGET_CMDS
|
|
|
|
$(DHCP_INSTALL_RELAY)
|
|
|
|
$(DHCP_INSTALL_SERVER)
|
|
|
|
$(DHCP_INSTALL_CLIENT)
|
|
|
|
endef
|
2005-02-16 20:08:33 +01:00
|
|
|
|
2012-07-03 00:07:32 +02:00
|
|
|
$(eval $(autotools-package))
|