From 9d51470ee234ee75bfc3a090b5c8f2bdbb969c45 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 10 Dec 2024 13:23:50 +0100 Subject: [PATCH] utils: add srop, for operating on target sysrepo db Signed-off-by: Joachim Wiberg --- utils/srop | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100755 utils/srop diff --git a/utils/srop b/utils/srop new file mode 100755 index 00000000..e2e58a54 --- /dev/null +++ b/utils/srop @@ -0,0 +1,127 @@ +#!/bin/sh +# Interact with sysrepo in a Buildroot setup + +usage() +{ + cat <&2 + exit 1 + fi +fi + +if [ -d "$O/host" ]; then + HOST_DIR="$O/host" +else + echo "*** Error: cannot find Buildroot host binaries dir!" >&2 + exit 1 +fi + +MOD="$O/target/usr/share/yang/modules/confd/" +CTL="$HOST_DIR/bin/sysrepoctl" +CFG="$HOST_DIR/bin/sysrepocfg" + +while [ "$1" != "" ]; do + case $1 in + -e) + shift + features="$features -e $1" + ;; + -g) + shift + group="-g $1" + ;; + -o) + shift + owner="-o $1" + ;; + -m) + shift + perms="-p $1" + ;; + *) + break + ;; + esac + shift +done + +cmd=$1 +if [ -n "$cmd" ]; then + shift +fi + +trap cleanup INT TERM EXIT + +# Trigger separate namespace for sysrepoctl cmds +export SYSREPO_SHM_PREFIX=sr_buildroot + +case $cmd in + cat) + $CFG -X -f json + ;; + help) + usage + ;; + dump) + $CTL -h + $CFG -h + ;; + ls) + $CTL -l + ;; + install) + if [ -f "$1" ]; then + M="$1" + else + M="$MOD/$1" + fi + $CTL -i "$M" -s "$MOD" $perms $owner $group $features -v3 + ;; + modify) + $CTL -c "$1" $perms $owner $group $features -v3 + ;; + uninstall) + $CTL -u "$1" -f -v3 + ;; + *) + echo "NOP" + ;; +esac