################################################################################ # # dhcp # ################################################################################ DHCP_VERSION = 4.4.3-P1 DHCP_SITE = https://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES DHCP_SELINUX_MODULES = dhcp DHCP_LICENSE = MPL-2.0 DHCP_LICENSE_FILES = LICENSE DHCP_DEPENDENCIES = host-gawk DHCP_CPE_ID_VENDOR = isc # internal bind does not support parallel builds. DHCP_MAKE = $(MAKE1) # untar internal bind so libtool patches will be applied on bind's libtool define DHCP_UNTAR_INTERNAL_BIND $(TAR) xf $(@D)/bind/bind.tar.gz -C $(@D)/bind/ endef DHCP_POST_EXTRACT_HOOKS = DHCP_UNTAR_INTERNAL_BIND # use libtool-enabled configure.ac define DHCP_LIBTOOL_AUTORECONF cp $(@D)/configure.ac+lt $(@D)/configure.ac endef DHCP_CONF_ENV = \ CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \ -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' DHCP_BIND_EXTRA_CONFIG = \ --build=$(GNU_HOST_NAME) \ --host=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \ BUILD_CC='$(HOSTCC)' \ BUILD_CFLAGS='$(HOST_CFLAGS)' \ BUILD_CPPFLAGS='$(HOST_CPPFLAGS)' \ BUILD_LDFLAGS='$(HOST_LDFLAGS)' \ RANLIB='$(TARGET_RANLIB)' \ --disable-backtrace DHCP_CONF_ENV += ac_cv_prog_AWK=$(HOST_DIR)/bin/gawk DHCP_CONF_OPTS = \ --with-bind-extra-config="$(DHCP_BIND_EXTRA_CONFIG)" \ --with-randomdev=/dev/random \ --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ --with-cli-lease-file=/var/lib/dhcp/dhclient.leases \ --with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \ --with-srv-pid-file=/var/run/dhcpd.pid \ --with-srv6-pid-file=/var/run/dhcpd6.pid \ --with-cli-pid-file=/var/run/dhclient.pid \ --with-cli6-pid-file=/var/run/dhclient6.pid \ --with-relay-pid-file=/var/run/dhcrelay.pid \ --with-relay6-pid-file=/var/run/dhcrelay6.pid ifeq ($(BR2_PACKAGE_ZLIB),y) DHCP_BIND_EXTRA_CONFIG += --with-zlib=$(STAGING_DIR)/usr DHCP_DEPENDENCIES += zlib else DHCP_BIND_EXTRA_CONFIG += --without-zlib endif ifeq ($(BR2_TOOLCHAIN_HAS_ATOMIC),y) DHCP_BIND_EXTRA_CONFIG += --enable-atomic ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) DHCP_CONF_ENV += LIBS=-latomic endif else DHCP_BIND_EXTRA_CONFIG += --disable-atomic endif ifeq ($(BR2_STATIC_LIBS),y) DHCP_CONF_OPTS += --disable-libtool else DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF DHCP_AUTORECONF = YES DHCP_CONF_OPTS += --enable-libtool endif ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y) DHCP_CONF_OPTS += --enable-delayed-ack else DHCP_CONF_OPTS += --disable-delayed-ack endif ifeq ($(BR2_PACKAGE_DHCP_SERVER_ENABLE_PARANOIA),y) DHCP_CONF_OPTS += --enable-paranoia else DHCP_CONF_OPTS += --disable-paranoia endif define DHCP_INSTALL_LIBS $(MAKE) -C $(@D)/bind install-bind DESTDIR=$(TARGET_DIR) $(MAKE) -C $(@D)/common install-exec DESTDIR=$(TARGET_DIR) $(MAKE) -C $(@D)/omapip install-exec DESTDIR=$(TARGET_DIR) endef ifeq ($(BR2_PACKAGE_DHCP_SERVER),y) define DHCP_INSTALL_CTL_LIBS $(MAKE) -C $(@D)/dhcpctl install-exec DESTDIR=$(TARGET_DIR) endef define DHCP_INSTALL_SERVER mkdir -p $(TARGET_DIR)/var/lib (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) $(MAKE) -C $(@D)/server DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \ $(TARGET_DIR)/etc/dhcp/dhcpd.conf endef endif ifeq ($(BR2_PACKAGE_DHCP_RELAY),y) define DHCP_INSTALL_RELAY mkdir -p $(TARGET_DIR)/var/lib (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) $(MAKE) -C $(@D)/relay DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS endef endif ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y) define DHCP_INSTALL_CLIENT mkdir -p $(TARGET_DIR)/var/lib (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) $(MAKE) -C $(@D)/client DESTDIR=$(TARGET_DIR) sbindir=/sbin \ install-sbinPROGRAMS $(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 endef endif # 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 ifeq ($(BR2_PACKAGE_DHCP_SERVER),y) define DHCP_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/dhcp/dhcpd.service \ $(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d 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 endif define DHCP_INSTALL_TARGET_CMDS $(DHCP_INSTALL_LIBS) $(DHCP_INSTALL_CTL_LIBS) $(DHCP_INSTALL_RELAY) $(DHCP_INSTALL_SERVER) $(DHCP_INSTALL_CLIENT) endef $(eval $(autotools-package))