kea: add kea-uci package with basic init script
This init script allows to start the Kea Control Agent, the DHCPv4 server, the DHCPv6 server, and the DHCP-DDNS server. It expects the config files to be where the packages install them. As this is a single init script that can start 4 different binaries that are each in their own package, these files cannot be included in any of these other package, so create a dedicated package for it. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
parent
8c855f390e
commit
3649ed721d
|
@ -182,6 +182,17 @@ define Package/kea-shell/description
|
||||||
Control Agent.
|
Control Agent.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
###### *************************************************************************
|
||||||
|
define Package/kea-uci
|
||||||
|
$(call Package/kea/Default)
|
||||||
|
TITLE+=UCI support
|
||||||
|
DEPENDS:=@(PACKAGE_kea-ctrl||PACKAGE_kea-dhcp4||PACKAGE_kea-dhcp6||PACKAGE_kea-dhcp-ddns)
|
||||||
|
endef
|
||||||
|
define Package/kea-uci/description
|
||||||
|
Kea PROCD/UCI support. This package installs a UCI config file and
|
||||||
|
a PROCD service file.
|
||||||
|
endef
|
||||||
|
|
||||||
###### *************************************************************************
|
###### *************************************************************************
|
||||||
HOST_CONFIGURE_ARGS += \
|
HOST_CONFIGURE_ARGS += \
|
||||||
--with-boost-include="$(STAGING_DIR_HOSTPKG)" \
|
--with-boost-include="$(STAGING_DIR_HOSTPKG)" \
|
||||||
|
@ -296,6 +307,12 @@ define Package/kea-shell/install
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kea-shell $(1)/usr/sbin/kea-shell
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kea-shell $(1)/usr/sbin/kea-shell
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
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
|
||||||
|
endef
|
||||||
|
|
||||||
$(eval $(call HostBuild))
|
$(eval $(call HostBuild))
|
||||||
$(eval $(call BuildPackage,kea-libs))
|
$(eval $(call BuildPackage,kea-libs))
|
||||||
$(eval $(call BuildPackage,kea-ctrl))
|
$(eval $(call BuildPackage,kea-ctrl))
|
||||||
|
@ -308,3 +325,4 @@ $(eval $(call BuildPackage,kea-hook-lease-cmds))
|
||||||
$(eval $(call BuildPackage,kea-lfc))
|
$(eval $(call BuildPackage,kea-lfc))
|
||||||
$(eval $(call BuildPackage,kea-perfdhcp))
|
$(eval $(call BuildPackage,kea-perfdhcp))
|
||||||
$(eval $(call BuildPackage,kea-shell))
|
$(eval $(call BuildPackage,kea-shell))
|
||||||
|
$(eval $(call BuildPackage,kea-uci))
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
config service 'ctrl_agent'
|
||||||
|
option disabled '1'
|
||||||
|
|
||||||
|
config service 'dhcp4'
|
||||||
|
option disabled '1'
|
||||||
|
|
||||||
|
config service 'dhcp6'
|
||||||
|
option disabled '1'
|
||||||
|
|
||||||
|
config service 'dhcp_ddns'
|
||||||
|
option disabled '1'
|
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
START=25
|
||||||
|
STOP=85
|
||||||
|
|
||||||
|
BIN_PATH="/usr/sbin"
|
||||||
|
CONF_PATH="/etc/kea"
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
config_load "kea"
|
||||||
|
config_foreach start_kea "service"
|
||||||
|
}
|
||||||
|
|
||||||
|
start_kea() {
|
||||||
|
local cfg="$1"
|
||||||
|
|
||||||
|
config_get_bool disabled "$cfg" disabled 0
|
||||||
|
[ "$disabled" = "0" ] || return
|
||||||
|
|
||||||
|
config_get name "$cfg" name "$cfg"
|
||||||
|
|
||||||
|
case "$name" in
|
||||||
|
ctrl_agent|dhcp4|dhcp6|dhcp_ddns)
|
||||||
|
name="${name/_/-}"
|
||||||
|
cmd="${BIN_PATH}/kea-${name}"
|
||||||
|
cnf="${CONF_PATH}/kea-${name}.conf"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
return 0
|
||||||
|
esac
|
||||||
|
|
||||||
|
procd_open_instance "$name"
|
||||||
|
procd_set_param command "$cmd" -c "$cnf"
|
||||||
|
procd_set_param env KEA_LOCKFILE_DIR=/tmp
|
||||||
|
procd_append_param env KEA_PIDFILE_DIR=/tmp
|
||||||
|
procd_set_param file "$cnf"
|
||||||
|
procd_set_param stderr 1
|
||||||
|
procd_set_param stdout 1
|
||||||
|
procd_close_instance ctrl_agent
|
||||||
|
}
|
Loading…
Reference in New Issue