uvol: update to version 0.5

Adds '-j' option for 'list' command to generate JSON output.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle 2021-09-15 22:31:30 +01:00
parent 51f9df5b92
commit e20228f16f
No known key found for this signature in database
GPG Key ID: 5A8F39C31C3217CA
3 changed files with 45 additions and 6 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=uvol
PKG_VERSION:=0.4
PKG_VERSION:=0.5
PKG_RELEASE:=$(AUTORELEASE)
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>

View File

@ -295,7 +295,12 @@ updatevol() {
}
listvols() {
local reports rep lv lvs lv_name lv_size lv_mode volname
local reports rep lv lvs lv_name lv_size lv_mode volname json_output json_notfirst
if [ "$1" = "-j" ]; then
json_output=1
echo "["
shift
fi
volname=${1:-.*}
json_init
json_load "$(lvs -o lv_name,lv_size -S "lv_name=~^[rw][owp]_$volname\$ && vg_name=$vg_name")"
@ -311,14 +316,28 @@ listvols() {
lv_mode="${lv_name:0:2}"
lv_name="${lv_name:3}"
lv_size=${lv_size%B}
echo "$lv_name $lv_mode $lv_size"
if [ "$json_output" = "1" ]; then
[ "$json_notfirst" = "1" ] && echo ","
echo -e "\t{"
echo -e "\t\t\"name\": \"$lv_name\","
echo -e "\t\t\"mode\": \"$lv_mode\","
echo -e "\t\t\"size\": $lv_size"
echo -n -e "\t}"
json_notfirst=1
else
echo "$lv_name $lv_mode $lv_size"
fi
json_select ..
done
json_select ..
break
done
}
if [ "$json_output" = "1" ]; then
[ "$json_notfirst" = "1" ] && echo
echo "]"
fi
}
detect() {
local reports rep lv lvs lv_name lv_full_name lv_mode volname devname lv_skip_activation

View File

@ -194,7 +194,12 @@ updatevol() {
}
listvols() {
local volname volmode volsize
local volname volmode volsize json_output json_notfirst
if [ "$1" = "-j" ]; then
json_output=1
shift
echo "["
fi
for voldir in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
read -r volname < "$voldir/name"
case "$volname" in
@ -207,8 +212,23 @@ listvols() {
esac
volmode="${volname:5:2}"
volname="${volname:8}"
echo "$volname $volmode $volsize"
if [ "$json_output" = "1" ]; then
[ "$json_notfirst" = "1" ] && echo ","
echo -e "\t{"
echo -e "\t\t\"name\": \"$volname\","
echo -e "\t\t\"mode\": \"$volmode\","
echo -e "\t\t\"size\": $volsize"
echo -n -e "\t}"
json_notfirst=1
else
echo "$volname $volmode $volsize"
fi
done
if [ "$json_output" = "1" ]; then
[ "$json_notfirst" = "1" ] && echo
echo "]"
fi
}
bootvols() {