kea: importer for legacy isc-dhcp-v4 UCI configs

Now that ISC-DHCP is EOLs, users might want to transparently
to the functionality of Kea.  This supports most of the
functionality of ISC-DHCP for v4.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
This commit is contained in:
Philip Prindeville
2025-09-13 11:34:48 -06:00
parent 2a85ed0f1d
commit 367b72fd76
2 changed files with 1034 additions and 4 deletions

View File

@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=kea
PKG_VERSION:=3.0.2
PKG_RELEASE:=5
PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ftp.isc.org/isc/kea/$(PKG_VERSION)
@@ -42,6 +42,7 @@ Package/kea-ctrl/conffiles = $(Package/kea/conffiles)
Package/kea-dhcp4/conffiles = $(Package/kea/conffiles)
Package/kea-dhcp6/conffiles = $(Package/kea/conffiles)
Package/kea-dhcp-ddns/conffiles = $(Package/kea/conffiles)
Package/kea-dhcp4-helper/conffiles = /etc/config/dhcp
###### *************************************************************************
define Package/kea
@@ -73,7 +74,7 @@ define Package/kea-ctrl
$(call Package/kea/Default)
TITLE+=Control
DEPENDS:=+procps-ng +procps-ng-ps +kea-dhcp4 \
+IPV6:kea-dhcp6 +kea-dhcp-ddns
+IPV6:kea-dhcp6 +kea-dhcp-ddns
endef
define Package/kea-ctrl/description
Tool to start, stop, reconfigure, and report status for the Kea servers.
@@ -89,6 +90,17 @@ define Package/kea-dhcp4/description
The DHCPv4 server process. This process responds to DHCPv4 queries from clients.
endef
###### *************************************************************************
define Package/kea-dhcp4-helper
$(call Package/kea/Default)
TITLE+=DHCP Server v4 importer of legacy UCI configs and Bind helper
DEPENDS:=@PACKAGE_bind-server +kea-dhcp4 +bind-rndc +bind-client
endef
define Package/kea-dhcp4-helper/description
The DHCPv4 UCI importer. This helper imports legacy UCI configs and then
primes local DNS zones in Bind.
endef
###### *************************************************************************
define Package/kea-dhcp6
$(call Package/kea/Default)
@@ -206,6 +218,11 @@ define Package/kea-dhcp4/install
$(CP) $(PKG_INSTALL_DIR)/etc/kea/kea-dhcp4.conf $(1)/etc/kea/
endef
define Package/kea-dhcp4-helper/install
$(INSTALL_DIR) $(1)/usr/lib/kea/importers
$(INSTALL_BIN) ./files/dhcp4.sh $(1)/usr/lib/kea/importers/
endef
define Package/kea-dhcp6/install
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/kea
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kea-dhcp6 $(1)/usr/sbin/kea-dhcp6
@@ -260,8 +277,6 @@ define Package/kea-uci/install
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d
$(INSTALL_CONF) ./files/kea.config $(1)/etc/config/kea
$(INSTALL_BIN) ./files/kea.init $(1)/etc/init.d/kea
$(INSTALL_DIR) $(1)/usr/lib/kea/importers
$(INSTALL_BIN) ./files/dhcp4.sh $(1)/usr/lib/kea/importers/
endef
define Package/kea-uci/conffiles
@@ -272,6 +287,7 @@ $(eval $(call HostBuild))
$(eval $(call BuildPackage,kea-libs))
$(eval $(call BuildPackage,kea-ctrl))
$(eval $(call BuildPackage,kea-dhcp4))
$(eval $(call BuildPackage,kea-dhcp4-helper))
$(eval $(call BuildPackage,kea-dhcp6))
$(eval $(call BuildPackage,kea-dhcp-ddns))
$(eval $(call BuildPackage,kea-admin))

1014
net/kea/files/dhcp4.sh Executable file

File diff suppressed because it is too large Load Diff