Instead of assuming /sbin contains the correct BusyBox symlinks, directly invoke
the busybox executable. The required utilities are guaranteed to be present,
since the zram-swap package selects them. Additionally, don't assume busybox
resides in /bin, rely on PATH to find it.

Signed-off-by: Rui Salvaterra <[email protected]>
---
 package/system/zram-swap/Makefile        |  2 +-
 package/system/zram-swap/files/zram.init | 20 +++-----------------
 2 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/package/system/zram-swap/Makefile 
b/package/system/zram-swap/Makefile
index 80f87fcdff..5c56828d10 100644
--- a/package/system/zram-swap/Makefile
+++ b/package/system/zram-swap/Makefile
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zram-swap
-PKG_RELEASE:=8
+PKG_RELEASE:=9
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
diff --git a/package/system/zram-swap/files/zram.init 
b/package/system/zram-swap/files/zram.init
index d97e85efa5..7ea80bc2ca 100755
--- a/package/system/zram-swap/files/zram.init
+++ b/package/system/zram-swap/files/zram.init
@@ -34,20 +34,6 @@ zram_applicable()
                return 1
        }
 
-       [ -x /sbin/mkswap ] || {
-               logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox 
mkswap' not installed"
-               return 1
-       }
-
-       [ -x /sbin/swapon ] || {
-               logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox 
swapon' not installed"
-               return 1
-       }
-
-       [ -x /sbin/swapoff ] || {
-               logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox 
swapoff' not installed"
-               return 1
-       }
 }
 
 zram_dev()
@@ -171,8 +157,8 @@ start()
        zram_reset "$zram_dev" "enforcing defaults"
        zram_comp_algo "$zram_dev"
        echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename 
"$zram_dev" )/disksize"
-       /sbin/mkswap "$zram_dev"
-       /sbin/swapon -d $zram_priority "$zram_dev"
+       busybox mkswap "$zram_dev"
+       busybox swapon -d $zram_priority "$zram_dev"
 }
 
 stop()
@@ -181,7 +167,7 @@ stop()
 
        for zram_dev in $( grep zram /proc/swaps |awk '{print $1}' ); do {
                logger -s -t zram_stop -p daemon.debug "deactivate swap 
$zram_dev"
-               /sbin/swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming 
memory back"
+               busybox swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming 
memory back"
                local dev_index="$( echo $zram_dev | grep -o "[0-9]*$" )"
                if [ $dev_index -ne 0 ]; then
                        logger -s -t zram_stop -p daemon.debug "removing zram 
$zram_dev"
-- 
2.32.0


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to