mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-22 01:13:00 +02:00
113 lines
1.8 KiB
Bash
Executable File
113 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
# Interact with sysrepo in a Buildroot setup
|
|
|
|
. $(dirname $(readlink -f "$0"))/libix.sh
|
|
|
|
usage()
|
|
{
|
|
cat <<EOF
|
|
usage:
|
|
srop [opt] cmd [arg]
|
|
|
|
options:
|
|
-e FEATURE Enable feature in module
|
|
-g GROUP Module group for install/modify, e.g., wheel
|
|
-m MODE Module permissions for install/modify, e.g., 0660
|
|
-o OWNER Module owner for install/modify, e.g., root
|
|
|
|
commands:
|
|
cat Show default configuration
|
|
help This help text
|
|
ls List installed modules
|
|
modify MOD Modify (change/update) module, may use :ALL
|
|
install MOD Install module
|
|
uninstall MOD Uninstall module (force)
|
|
update PATH Update module from PATH
|
|
EOF
|
|
}
|
|
|
|
cleanup()
|
|
{
|
|
rm -f /dev/shm/${SYSREPO_SHM_PREFIX}*
|
|
exit 1
|
|
}
|
|
|
|
resolve_host_dir
|
|
|
|
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)
|
|
for mod in "$@"; do
|
|
$CTL -u "$mod" -f -v3
|
|
done
|
|
;;
|
|
update)
|
|
$CTL -U "$1" -s "$MOD" $perms $owner $group $features -v3
|
|
;;
|
|
*)
|
|
echo "NOP"
|
|
;;
|
|
esac
|