Files
packages/utils/rpcd-mod-packagelist/files/packagelist.rpcd
T
Paul SpoorenandJo-Philipp Wich 983819f3f0 Provides a way to acquire the list of installed packages without the
need to have opkg available. It is being used for the GSoC 17 project
implementing easy sysupgrade functionality.

Signed-off-by: Paul Spooren <paul@spooren.de>

(cherry picked from commit 0d2e674aa1)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-20 14:47:30 +02:00

41 lines
632 B
Bash
Executable File

#!/bin/sh
. /usr/share/libubox/jshn.sh
case "$1" in
list)
json_init
json_add_object "list"
json_dump
;;
call)
case "$2" in
list)
json_init;
json_add_object "packagelist"
if [ -f /usr/lib/opkg/status ]; then
while read var p1 p2 p3; do
if [ "$var" = "Package:" ]; then
pkg="$p1"
fi
if [ "$var" = "Version:" ]; then
version="$p1"
fi
if [ "$var" = "Status:" \
-a "$p1" = "install" \
-a "$p2" = "user" \
-a "$p3" = "installed" ]; then
json_add_string "$pkg" "$version";
fi
done < /usr/lib/opkg/status
fi
json_close_object
json_dump
;;
esac
;;
esac