From 9df81bdd53799131e021450af58b6c4396d8e2a2 Mon Sep 17 00:00:00 2001 From: jjm2473 <1129525450@qq.com> Date: Thu, 2 Mar 2023 18:38:35 +0800 Subject: [PATCH] luci-app-rtbwmon: clean on uninstall --- applications/luci-app-rtbwmon/Makefile | 10 +++++++- .../root/usr/libexec/rtbwmon.sh | 25 +++++++++++++------ 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/applications/luci-app-rtbwmon/Makefile b/applications/luci-app-rtbwmon/Makefile index 33cdf40..de94cf4 100644 --- a/applications/luci-app-rtbwmon/Makefile +++ b/applications/luci-app-rtbwmon/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.0.0-1 +PKG_VERSION:=1.0.1-1 PKG_RELEASE:= PKG_MAINTAINER:=jjm2473 @@ -10,6 +10,14 @@ LUCI_TITLE:=LuCI realtime client bandwidth monitor LUCI_PKGARCH:=all LUCI_DEPENDS:=+iptables +define Package/luci-app-rtbwmon/prerm +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + /usr/libexec/rtbwmon.sh prerm +fi +exit 0 +endef + include $(TOPDIR)/feeds/luci/luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-rtbwmon/root/usr/libexec/rtbwmon.sh b/applications/luci-app-rtbwmon/root/usr/libexec/rtbwmon.sh index ca172cc..c0bc712 100755 --- a/applications/luci-app-rtbwmon/root/usr/libexec/rtbwmon.sh +++ b/applications/luci-app-rtbwmon/root/usr/libexec/rtbwmon.sh @@ -123,16 +123,13 @@ update() { exec 1000>/var/run/rtbwmon.lock flock -n 1000 2>/dev/null || { flock 1000 2>/dev/null - [ -f /var/run/rtbwmon.csv ] && { - cat /var/run/rtbwmon.csv - flock -u 1000 2>/dev/null - return 1 - } + [ -f /var/run/rtbwmon.csv ] && cat /var/run/rtbwmon.csv + flock -u 1000 2>/dev/null + return 1 } if [ -z "$WAN_INTERFACE" ]; then do_clean - > /var/run/rtbwmon.csv else do_update "$WAN_INTERFACE" 2>/dev/null cat /var/run/rtbwmon.csv @@ -162,7 +159,7 @@ run_gc() { break fi done - clean + [ -f /var/run/rtbwmon.csv ] && clean flock -u 1001 return 0 } @@ -173,6 +170,17 @@ show_ifaces() { ip addr show scope global up | grep '^ \+inet ' | sed -n -e 's/^.* \([^ ]\+\)$/\1/p' | grep -Fv "$WAN_INTERFACE" | sort -u } +prerm() { + # avoid invoke + chmod 644 /usr/libexec/rtbwmon.sh + + exec 1000>/var/run/rtbwmon.lock + flock 1000 + sleep 1 /dev/null 2>&1 1000>/dev/null + do_clean + flock -u 1000 +} + case $1 in "clean") clean @@ -186,6 +194,9 @@ case $1 in "gc") run_gc ;; +"prerm") + prerm + ;; *) echo \ "Usage: $0 {update|clean|ifaces}