its function is to detect the packages added to the default firmware
(since they generate the images with "owut" or with "firmware selector" the scripts on the official documentation fail ...
https://openwrt.org/docs/guide-user/installation/sysupgrade.packages)
I found it on this forum:
In case you want to see what is executed, I attach the script
root@LTE5398-M904:~# cat listUserInstalled.sh
#! /bin/sh
if test ! -s /tmp/my-def-pkgs
then
echo " /tmp/my-def-pkgs was not found or is empty."
echo " Please add list of default packages there and re-run this script."
echo
exit
fi
opkg list-installed >/tmp/my-wd-input
echo "made temp file for what-depends list at /tmp/my-wd-input"
echo "generating list of packages and what depends on each to file /tmp/my-wd-output..."
for i in $( cat /tmp/my-wd-input | cut -d\ -f 1 | sort -u )
do
#echo $i
printf "."
k=$( opkg whatdepends $i | grep "^\t" | sed 's/^\t//g' | cut -d\ -f1 | sed 's/\n/ /g' )
j=$( echo "$k" | wc -w )
printf "$j\t$i\t $( echo $k )\n" >>/tmp/my-wd-output
# printf "$j\t$i\t $( echo $k )\n"
printf "."
done
echo ""
echo "preparing input list for user installed list..."
cat /tmp/my-wd-output | grep "^0" | cut -f2 >/tmp/my-user-inst-input
echo "The list of user installed packages is being written to /tmp/my-user-installed-packages"
echo "as well as on screen..."
for i in $( cat /tmp/my-user-inst-input)
do
if !(grep -Fqw $i /tmp/my-def-pkgs)
then
echo $i >>/tmp/my-user-installed-packages
echo $i
fi
done
echo
echo Done
echo "Clean up temp files /tmp/my-wd-output and /tmp/my-user-installed-packages in /tmp/ before re-running script."
echo
and the input file taken from firmware selector:
root@LTE5398-M904:~# cat my-def-pkgs
base-files busybox ca-bundle dnsmasq dropbear firewall4 fstools kmod-crypto-hw-eip93 kmod-gpio-button-hotplug kmod-leds-gpio kmod-mt7603 kmod-mt7615-firmware kmod-nft-offload kmod-usb-ledtrig-usbport kmod-usb-net-qmi-wwan kmod-usb-serial-option kmod-usb3 libc libgcc libustream-mbedtls logd luci mtd netifd nftables odhcp6c odhcpd-ipv6only opkg ppp ppp-mod-pppoe procd procd-seccomp procd-ujail uboot-envtools uci uclient-fetch uqmi urandom-seed urngd wpad-basic-mbedtls