openwrt-packages/utils/byobu/patches/108-custom-updates-availabl...

40 lines
1.4 KiB
Diff

--- a/usr/lib/byobu/updates_available
+++ b/usr/lib/byobu/updates_available
@@ -67,9 +67,16 @@ ___update_cache() {
elif eval $BYOBU_TEST pacman >/dev/null; then
# If pacman (Archlinux) exists, use it
LC_ALL=C flock -xn "$flock" pacman -Sup | grep -vc "^\(::\| \)" >$mycache 2>/dev/null &
+ elif eval $BYOBU_TEST opkg >/dev/null; then
+ # If opkg (OpenWrt) exists, use it, also background if flock exists
+ if eval $BYOBU_TEST flock >/dev/null; then
+ flock -xn "$flock" opkg list-upgradable | wc -l >$mycache 2>/dev/null &
+ else
+ opkg list-upgradable | wc -l >$mycache &
+ fi
elif eval $BYOBU_TEST brew >/dev/null; then
# If homebrew (Mac OSX) exists, use it, also background if flock exists
- if eval $BYOBU_TEST flock; then
+ if eval $BYOBU_TEST flock >/dev/null; then
flock -xn "$flock" brew outdated | wc -l >$mycache 2>/dev/null &
else
brew outdated | wc -l >$mycache &
@@ -106,6 +113,18 @@ ___update_needed() {
[ "$db" -nt "$mycache" ] && return 0
done
return 1
+ elif eval $BYOBU_TEST opkg >/dev/null; then
+ # OpenWrt
+ [ ! -e /var/lock/opkg.lock ] || return 1
+ if [ -d /var/opkg-lists ]; then
+ [ /var/opkg-lists -nt "$mycache" ]
+ return $?
+ else
+ local u s
+ read u s < "$mycache"
+ [ "$u" -gt 0 ]
+ return $?
+ fi
elif eval $BYOBU_TEST brew >/dev/null; then
# Mac OSX
# check if any new versions have been installed since