From 747b21134833666d32e6997bb01b5ec2a50e53fd Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 Mar 2023 13:35:23 +0200 Subject: [PATCH] klinfix: Initial add Infix integration of klish and klish-plugin-sysrepo. --- package/Config.in | 1 + package/klinfix/Config.in | 8 ++ package/klinfix/klinfix.mk | 14 ++ package/klish-plugin-sysrepo/Config.in | 1 + package/klish/Config.in | 1 + src/klinfix/.gitignore | 33 +++++ src/klinfix/Makefile.am | 3 + src/klinfix/README.md | 15 ++ src/klinfix/autogen.sh | 3 + src/klinfix/configure.ac | 33 +++++ src/klinfix/src/Makefile.am | 0 src/klinfix/xml/Makefile.am | 2 + src/klinfix/xml/infix.xml | 181 +++++++++++++++++++++++++ 13 files changed, 295 insertions(+) create mode 100644 package/klinfix/Config.in create mode 100644 package/klinfix/klinfix.mk create mode 100644 src/klinfix/.gitignore create mode 100644 src/klinfix/Makefile.am create mode 100644 src/klinfix/README.md create mode 100755 src/klinfix/autogen.sh create mode 100644 src/klinfix/configure.ac create mode 100644 src/klinfix/src/Makefile.am create mode 100644 src/klinfix/xml/Makefile.am create mode 100644 src/klinfix/xml/infix.xml diff --git a/package/Config.in b/package/Config.in index a0a0a24f..f9e24aff 100644 --- a/package/Config.in +++ b/package/Config.in @@ -6,6 +6,7 @@ source "$BR2_EXTERNAL_INFIX_PATH/package/faux/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/finit/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown2/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown-ng/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/klinfix/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/klish/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/klish-plugin-sysrepo/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/mdnsd/Config.in" diff --git a/package/klinfix/Config.in b/package/klinfix/Config.in new file mode 100644 index 00000000..933d1289 --- /dev/null +++ b/package/klinfix/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_KLINFIX + bool "klinfix" + select BR2_PACKAGE_KLISH + select BR2_PACKAGE_KLISH_PLUGIN_SYSREPO + select BR2_PACKAGE_SYSREPO + help + A plugin to klish with an opinionated config and some + command extensions, suitable for systems running Infix. diff --git a/package/klinfix/klinfix.mk b/package/klinfix/klinfix.mk new file mode 100644 index 00000000..d2f88539 --- /dev/null +++ b/package/klinfix/klinfix.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# klinfix +# +################################################################################ + +KLINFIX_VERSION = 1.0 +KLINFIX_LICENSE = BSD-3-Clause +KLINFIX_SITE_METHOD = local +KLINFIX_SITE = $(BR2_EXTERNAL_INFIX_PATH)/src/klinfix +KLINFIX_DEPENDENCIES = klish-plugin-sysrepo +KLINFIX_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/klish-plugin-sysrepo/Config.in b/package/klish-plugin-sysrepo/Config.in index b61e20b9..b9c735e8 100644 --- a/package/klish-plugin-sysrepo/Config.in +++ b/package/klish-plugin-sysrepo/Config.in @@ -13,6 +13,7 @@ config BR2_PACKAGE_KLISH_PLUGIN_SYSREPO config BR2_PACKAGE_KLISH_PLUGIN_SYSREPO_XML bool "install xml" depends on BR2_PACKAGE_KLISH_PLUGIN_SYSREPO + depends on !BR2_PACKAGE_KLINFIX default y help Install the default XML spec bundled with the project, which diff --git a/package/klish/Config.in b/package/klish/Config.in index 9f55b085..e3f03e0e 100644 --- a/package/klish/Config.in +++ b/package/klish/Config.in @@ -12,6 +12,7 @@ config BR2_PACKAGE_KLISH config BR2_PACKAGE_KLISH_DEFAULT_XML bool "install xml" depends on BR2_PACKAGE_KLISH + depends on !BR2_PACKAGE_KLINFIX default y help Install a small XML spec containing a definition of an diff --git a/src/klinfix/.gitignore b/src/klinfix/.gitignore new file mode 100644 index 00000000..e9e8e747 --- /dev/null +++ b/src/klinfix/.gitignore @@ -0,0 +1,33 @@ +*~ +*.o +*.la +*.lo +*.so +.deps +.libs + +/aclocal.m4 +/autom4te.cache/ +/aux +/clixon.xml +/compile +/config.h +/config.h.in +/config.guess +/config.log +/config.status +/config.sub +/configure +/depcomp +/install-sh +/libtool +/ltmain.sh +/m4 +/missing + +GPATH +GRTAGS +GTAGS +Makefile +Makefile.in + diff --git a/src/klinfix/Makefile.am b/src/klinfix/Makefile.am new file mode 100644 index 00000000..cb106dee --- /dev/null +++ b/src/klinfix/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = src xml +DISTCLEANFILES = *~ *.d +ACLOCAL_AMFLAGS = -I m4 diff --git a/src/klinfix/README.md b/src/klinfix/README.md new file mode 100644 index 00000000..02951ac8 --- /dev/null +++ b/src/klinfix/README.md @@ -0,0 +1,15 @@ +Configuration Daemon +==================== + +`confd` is the Infix configuration daemon that serves as the glue +between sysrepo and netopeer2 (NETCONF) and the UNIX system under +it all. + + +Origin & References +------------------- + +Based on the Open Source [dklibc/sysrepo_plugin_ietf_system][0] +project by Denis Kalashnikov. + +[0]: https://github.com/dklibc/sysrepo_plugin_ietf_system diff --git a/src/klinfix/autogen.sh b/src/klinfix/autogen.sh new file mode 100755 index 00000000..69ad0e18 --- /dev/null +++ b/src/klinfix/autogen.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +autoreconf -W portability -vifm diff --git a/src/klinfix/configure.ac b/src/klinfix/configure.ac new file mode 100644 index 00000000..06f0af1d --- /dev/null +++ b/src/klinfix/configure.ac @@ -0,0 +1,33 @@ +AC_PREREQ(2.61) +AC_INIT([klinfix], [1.0.0], + [https://github.com/kernelkit/infix/issues]) +AM_INIT_AUTOMAKE(1.11 foreign subdir-objects) +AM_SILENT_RULES(yes) + +LT_INIT + +AC_CONFIG_FILES([ + Makefile + src/Makefile + xml/Makefile +]) + +AC_PROG_CC +AC_PROG_INSTALL + +# Check for pkg-config first, warn if it's not installed +PKG_PROG_PKG_CONFIG + +PKG_CHECK_MODULES([sysrepo], [sysrepo >= 2.2.60]) +AC_CHECK_LIB([klish], [kplugin_new],, AC_MSG_ERROR([Klish not found])) + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +KLISHLIBDIR=`eval echo $libdir/klish` +AC_SUBST(KLISHLIBDIR) + +KLISHCONFDIR=`eval echo $sysconfdir/klish` +AC_SUBST(KLISHCONFDIR) + +AC_OUTPUT diff --git a/src/klinfix/src/Makefile.am b/src/klinfix/src/Makefile.am new file mode 100644 index 00000000..e69de29b diff --git a/src/klinfix/xml/Makefile.am b/src/klinfix/xml/Makefile.am new file mode 100644 index 00000000..1bd6bfa9 --- /dev/null +++ b/src/klinfix/xml/Makefile.am @@ -0,0 +1,2 @@ +klishconfdir = $(KLISHCONFDIR) +klishconf_DATA = $(wildcard *.xml) diff --git a/src/klinfix/xml/infix.xml b/src/klinfix/xml/infix.xml new file mode 100644 index 00000000..7c401404 --- /dev/null +++ b/src/klinfix/xml/infix.xml @@ -0,0 +1,181 @@ + + + + + + + + ShowBrackets = y + ShowSemicolons = y + FirstKeyWithStatement = n + MultiKeysWithStatement = y + Colorize = y + Indent = 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %u@%h:exec> + + + + pop + + + + replace configure + + + + + + + + + + + + + + + %u@%h:configure> + + + + + + + + + + + + replace main + + + + + replace main + + + + + + replace main + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +