You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

294 lines
8.1 KiB

#
# 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))