package/confd: new package

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2023-03-28 20:27:18 +02:00
parent 767296e830
commit b1be357a41
7 changed files with 65 additions and 0 deletions
+1
View File
@@ -1,5 +1,6 @@
source "$BR2_EXTERNAL_INFIX_PATH/package/cligen/Config.in"
source "$BR2_EXTERNAL_INFIX_PATH/package/clixon/Config.in"
source "$BR2_EXTERNAL_INFIX_PATH/package/confd/Config.in"
source "$BR2_EXTERNAL_INFIX_PATH/package/factory/Config.in"
source "$BR2_EXTERNAL_INFIX_PATH/package/finit/Config.in"
source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown2/Config.in"
+10
View File
@@ -0,0 +1,10 @@
config BR2_PACKAGE_CONFD
bool "confd"
select BR2_PACKAGE_SYSREPO
select BR2_PACKAGE_NETOPEER2
select BR2_PACKAGE_AUGEAS
select BR2_PACKAGE_JANSSON
help
A plugin to sysrepo that provides the core YANG models used to
manage an Infix based system. Configuration can be done using
either the on-system CLI or using NETCONF.
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh
# This is an unmanaged node, leave /etc as-is
/lib/infix/use-etc && exit 0
# This is a managed node, ignore all default configuration ...
# ... except for some core services
reserved()
{
for svc in sysrepo dnsmasq getty lldpd nginx sysklogd; do
[ "$1" = "${svc}.conf" ] && return 0
done
return 1
}
for file in /etc/finit.d/enabled/*.conf; do
reserved "$(basename "$file")" && continue
rm "$file"
done
+24
View File
@@ -0,0 +1,24 @@
################################################################################
#
# confd
#
################################################################################
CONFD_VERSION = 1.0
CONFD_LICENSE = BSD-3-Clause
CONFD_SITE_METHOD = local
CONFD_SITE = $(BR2_EXTERNAL_INFIX_PATH)/src/confd
CONFD_DEPENDENCIES = augeas sysrepo
CONFD_AUTORECONF = YES
define CONFD_INSTALL_EXTRA
cp $(CONFD_PKGDIR)/sysrepo.conf $(FINIT_D)/available/
ln -sf ../available/sysrepo.conf $(FINIT_D)/enabled/sysrepo.conf
cp $(CONFD_PKGDIR)/tmpfiles.conf $(TARGET_DIR)/etc/tmpfiles.d/confd.conf
mkdir -p $(TARGET_DIR)/lib/infix
cp $(CONFD_PKGDIR)/prep-db $(TARGET_DIR)/lib/infix/
cp $(CONFD_PKGDIR)/clean-etc $(TARGET_DIR)/lib/infix/
endef
CONFD_TARGET_FINALIZE_HOOKS += CONFD_INSTALL_EXTRA
$(eval $(autotools-package))
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
set -e
exit 0
+5
View File
@@ -0,0 +1,5 @@
run if:<boot/netconf> [S] /lib/infix/clean-etc --
run if:<boot/netconf> [S] /lib/infix/prep-db --
service if:<boot/netconf> name:sysrepo [12345789] sysrepo-plugind -n -- Configuration daemon
task if:<boot/netconf> [12345789] resolvconf -u -- Update DNS configuration
+1
View File
@@ -0,0 +1 @@
d /run/resolvconf/interfaces - - -