- #
- # Copyright (C) 2006-2012 OpenWrt.org
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
-
- include $(TOPDIR)/rules.mk
-
- PKG_NAME:=isc-dhcp
- UPSTREAM_NAME:=dhcp
- PKG_VERSION:=4.4.1
- PKG_RELEASE:=19
-
- PKG_LICENSE:=BSD-3-Clause
- PKG_LICENSE_FILES:=LICENSE
- PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
- PKG_CPE_ID:=cpe:/a:isc:dhcp
-
- PKG_SOURCE:=$(UPSTREAM_NAME)-$(PKG_VERSION).tar.gz
- PKG_SOURCE_URL:=ftp://ftp.isc.org/isc/dhcp/$(PKG_VERSION) \
- http://ftp.funet.fi/pub/mirrors/ftp.isc.org/isc/dhcp/$(PKG_VERSION) \
- http://ftp.iij.ad.jp/pub/network/isc/dhcp/$(PKG_VERSION)
- PKG_HASH:=2a22508922ab367b4af4664a0472dc220cc9603482cf3c16d9aff14f3a76b608
-
- PKG_FIXUP:=autoreconf
- PKG_BUILD_PARALLEL:=1
-
- PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(UPSTREAM_NAME)-$(PKG_VERSION)
-
- include $(INCLUDE_DIR)/package.mk
-
- DISABLE_NLS:=
-
- define Package/isc-dhcp/Default
- SECTION:=net
- CATEGORY:=Network
- SUBMENU:=IP Addresses and Names
- TITLE:=ISC's DHCP
- URL:=https://www.isc.org/software/dhcp
- DEPENDS:=+zlib
- endef
-
- define Package/isc-dhcp-relay-ipv4
- $(call Package/isc-dhcp/Default)
- TITLE+= relay (without IPv6)
- VARIANT:=ipv4
- endef
-
- define Package/isc-dhcp-relay-ipv6
- $(call Package/isc-dhcp/Default)
- TITLE+= relay (with IPv6)
- VARIANT:=ipv6
- endef
-
- define Package/isc-dhcp-relay/description
- provides a means for relaying DHCP and BOOTP requests from a subnet to which
- no DHCP server is directly connected to one or more DHCP servers on other
- subnets.
- endef
-
- define Package/isc-dhcp-relay-ipv4/description
- $(call Package/isc-dhcp-relay/description)
- This package is compiled with IPv4 support only.
- endef
-
- define Package/isc-dhcp-relay-ipv4/conffiles
- /etc/config/dhcrelay
- endef
-
- define Package/isc-dhcp-relay-ipv6/description
- $(call Package/isc-dhcp-relay/description)
- This package is compiled with IPv4 and IPv6 support.
- endef
-
- define Package/isc-dhcp-relay-ipv6/conffiles
- /etc/config/dhcrelay
- endef
-
- define Package/isc-dhcp-client-ipv4
- $(call Package/isc-dhcp/Default)
- TITLE+= client (without IPv6)
- VARIANT:=ipv4
- endef
-
- define Package/isc-dhcp-client-ipv6
- $(call Package/isc-dhcp/Default)
- TITLE+= client (with IPv6)
- VARIANT:=ipv6
- endef
-
- define Package/isc-dhcp-client/description
- provides a means for configuring one or more network interfaces using the
- Dynamic Host Configuration Protocol, BOOTP protocol, or if these protocols
- fail, by statically assigning an address.
- endef
-
- define Package/isc-dhcp-client-ipv4/description
- $(call Package/isc-dhcp-client/description)
- This package is compiled with IPv4 support only.
- endef
-
- define Package/isc-dhcp-client-ipv6/description
- $(call Package/isc-dhcp-client/description)
- This package is compiled with IPv4 and IPv6 support.
- endef
-
- define Package/isc-dhcp-server-ipv4
- $(call Package/isc-dhcp/Default)
- TITLE+= server (without IPv6)
- VARIANT:=ipv4
- endef
-
- define Package/isc-dhcp-server-ipv6
- $(call Package/isc-dhcp/Default)
- TITLE+= server (with IPv6)
- VARIANT:=ipv6
- endef
-
- define Package/isc-dhcp-server/description
- implements the Dynamic Host Configuration Protocol (DHCP) and the Internet
- Bootstrap Protocol (BOOTP).
- endef
-
- define Package/isc-dhcp-server-ipv4/description
- $(call Package/isc-dhcp-server/description)
- This package is compiled with IPv4 support only.
- endef
-
- define Package/isc-dhcp-server-ipv6/description
- $(call Package/isc-dhcp-server/description)
- This package is compiled with IPv4 and IPv6 support.
- endef
-
- define Package/isc-dhcp-dyndns-ipv4
- $(call Package/isc-dhcp/Default)
- TITLE+= server dynamic DNS dependencies (meta)
- DEPENDS+=isc-dhcp-server-ipv4 +bind-server +bind-client
- VARIANT:=ipv4
- endef
-
- define Package/isc-dhcp-dyndns-ipv6
- $(call Package/isc-dhcp/Default)
- TITLE+= server dynamic DNS dependencies (meta)
- DEPENDS+=isc-dhcp-server-ipv6 +bind-server +bind-client
- VARIANT:=ipv6
- endef
-
- define Package/isc-dhcp-dyndns/description
- implements the Dynamic Host Configuration Protocol (DHCP) and the Internet
- Bootstrap Protocol (BOOTP).
- endef
-
- define Package/isc-dhcp-dyndns-ipv4/description
- $(call Package/isc-dhcp-dyndns/description)
- This package is compiled with IPv4 support only.
- endef
-
- define Package/isc-dhcp-dyndns-ipv6/description
- $(call Package/isc-dhcp-dyndns/description)
- This package is compiled with IPv4 and IPv6 support.
- endef
-
- define Package/isc-dhcp-omshell-ipv4
- $(call Package/isc-dhcp/Default)
- DEPENDS:= +isc-dhcp-server-ipv4
- TITLE+= omshell (without IPv6)
- VARIANT:=ipv4
- endef
-
- define Package/isc-dhcp-omshell-ipv6
- $(call Package/isc-dhcp/Default)
- DEPENDS:= +isc-dhcp-server-ipv6
- TITLE+= omshell (with IPv6)
- VARIANT:=ipv6
- endef
-
- define Package/isc-dhcp-omshell/description
- provides an interactive way to connect to, query, and possibly change, the ISC
- DHCP Server's state via OMAPI, the Object Management API.
- endef
-
- define Package/isc-dhcp-omshell-ipv4/description
- $(call Package/isc-dhcp-omshell/description)
- This package is compiled with IPv4 support only.
- endef
-
- define Package/isc-dhcp-omshell-ipv6/description
- $(call Package/isc-dhcp-omshell/description)
- This package is compiled with IPv4 and IPv6 support.
- endef
-
- CONFIGURE_ARGS += \
- --enable-paranoia \
- --disable-dependency-tracking \
- --with-randomdev=/dev/urandom \
- ac_cv_path_AR=$(TARGET_AR) \
- ac_cv_file__dev_random=yes
-
- ifeq ($(BUILD_VARIANT),ipv4)
- CONFIGURE_ARGS += --disable-dhcpv6
- endif
- ifeq ($(BUILD_VARIANT),ipv6)
- CONFIGURE_ARGS += --enable-dhcpv6
- endif
-
- TARGET_CFLAGS += -fcommon
-
- define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- BUILD_CC="$(HOSTCC_NOCACHE)" \
- CROSS_CC="$(TARGET_CC)" \
- TARGET_AR="$(TARGET_AR)" \
- TARGET_RANLIB="$(TARGET_RANLIB)" \
- host_alias="$(GNU_TARGET_NAME)" \
- target_alias="$(GNU_TARGET_NAME)" \
- build_alias="$(GNU_HOST_NAME)" \
- all
- $(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- BUILD_CC="$(HOSTCC_NOCACHE)" \
- CROSS_CC="$(TARGET_CC)" \
- TARGET_AR="$(TARGET_AR)" \
- TARGET_RANLIB="$(TARGET_RANLIB)" \
- host_alias="$(GNU_TARGET_NAME)" \
- target_alias="$(GNU_TARGET_NAME)" \
- build_alias="$(GNU_HOST_NAME)" \
- install-exec
- endef
-
- define Package/isc-dhcp-relay-$(BUILD_VARIANT)/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhcrelay $(1)/usr/sbin
- $(INSTALL_DIR) $(1)/etc/config
- $(INSTALL_DATA) ./files/dhcrelay.conf $(1)/etc/config/dhcrelay
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/dhcrelay4.init $(1)/etc/init.d/dhcrelay4
- endef
-
- define Package/isc-dhcp-server-$(BUILD_VARIANT)/install
- $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/uci-defaults
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhcpd $(1)/usr/sbin
- $(INSTALL_BIN) ./files/dhcpd.init $(1)/etc/init.d/dhcpd
- $(INSTALL_BIN) ./files/dhcpd.defaults $(1)/etc/uci-defaults
- ifeq ($(BUILD_VARIANT),ipv6)
- $(INSTALL_BIN) ./files/dhcpd6.init $(1)/etc/init.d/dhcpd6
- $(INSTALL_BIN) ./files/dhcpd6.conf $(1)/etc
- endif
- endef
-
- define Package/isc-dhcp-server-ipv4/conffiles
- /etc/dhcpd.conf
- endef
-
- define Package/isc-dhcp-server-ipv6/conffiles
- /etc/dhcpd6.conf
- endef
-
- define Package/isc-dhcp-dyndns-$(BUILD_VARIANT)/install
- :
- endef
-
- define Package/isc-dhcp-client-$(BUILD_VARIANT)/install
- $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhclient $(1)/usr/sbin
- $(INSTALL_BIN) ./files/dhclient-script $(1)/usr/sbin/
- ifeq ($(BUILD_VARIANT),ipv6)
- $(INSTALL_BIN) ./files/dhclient6.conf $(1)/etc
- endif
- endef
-
- define Package/isc-dhcp-client-ipv4/conffiles
- /etc/dhclient.conf
- endef
-
- define Package/isc-dhcp-client-ipv6/conffiles
- /etc/dhclient6.conf
- endef
-
- define Package/isc-dhcp-omshell-$(BUILD_VARIANT)/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/omshell $(1)/usr/bin
- endef
-
- $(eval $(call BuildPackage,isc-dhcp-relay-ipv4))
- $(eval $(call BuildPackage,isc-dhcp-server-ipv4))
- $(eval $(call BuildPackage,isc-dhcp-dyndns-ipv4))
- $(eval $(call BuildPackage,isc-dhcp-client-ipv4))
- $(eval $(call BuildPackage,isc-dhcp-omshell-ipv4))
- $(eval $(call BuildPackage,isc-dhcp-relay-ipv6))
- $(eval $(call BuildPackage,isc-dhcp-server-ipv6))
- $(eval $(call BuildPackage,isc-dhcp-dyndns-ipv6))
- $(eval $(call BuildPackage,isc-dhcp-client-ipv6))
- $(eval $(call BuildPackage,isc-dhcp-omshell-ipv6))
|