diff mbox series

[v4] zram-swap: explicitely use mkswap/swapon/swapoff from /sbin

Message ID 20200812194219.1259-1-rsalvaterra@gmail.com
State Superseded
Headers show
Series [v4] zram-swap: explicitely use mkswap/swapon/swapoff from /sbin | expand

Commit Message

Rui Salvaterra Aug. 12, 2020, 7:42 p.m. UTC
The required BusyBox applets are enabled by default, so we can rely on them
being present in the system. This way, we make sure there are no conflicts with
less featured variants of these same applets which might also be present in the
system.

Fixes: 0bd7dfa3ed60588ec83a8f60f48b6991ebb16940

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
---
 package/system/zram-swap/Makefile        |  2 +-
 package/system/zram-swap/files/zram.init | 18 +++++++++---------
 2 files changed, 10 insertions(+), 10 deletions(-)
diff mbox series

Patch

diff --git a/package/system/zram-swap/Makefile b/package/system/zram-swap/Makefile
index 5c132c9062..7353d3246c 100644
--- a/package/system/zram-swap/Makefile
+++ b/package/system/zram-swap/Makefile
@@ -17,7 +17,7 @@  include $(INCLUDE_DIR)/package.mk
 define Package/zram-swap
   SECTION:=utils
   CATEGORY:=Base system
-  DEPENDS:=+kmod-zram +!(BUSYBOX_CONFIG_MKSWAP&&BUSYBOX_CONFIG_SWAPON&&BUSYBOX_CONFIG_SWAPOFF):swap-utils
+  DEPENDS:=+kmod-zram +@BUSYBOX_CONFIG_MKSWAP +@BUSYBOX_CONFIG_SWAPON +@BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD +@BUSYBOX_CONFIG_FEATURE_SWAPON_PRI +@BUSYBOX_CONFIG_SWAPOFF
   TITLE:=ZRAM swap scripts
   PKGARCH:=all
 endef
diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init
index 42c084855a..f31a87438c 100755
--- a/package/system/zram-swap/files/zram.init
+++ b/package/system/zram-swap/files/zram.init
@@ -35,18 +35,18 @@  zram_applicable()
 		return 1
 	}
 
-	command -v mkswap >/dev/null || {
-		logger -s -t zram_applicable -p daemon.err "[ERROR] 'mkswap' not installed"
+	[ -x /sbin/mkswap ] || {
+		logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox mkswap' not installed"
 		return 1
 	}
 
-	command -v swapon >/dev/null || {
-		logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapon' not installed"
+	[ -x /sbin/swapon ] || {
+		logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapon' not installed"
 		return 1
 	}
 
-	command -v swapoff >/dev/null || {
-		logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapoff' not installed"
+	[ -x /sbin/swapoff ] || {
+		logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapoff' not installed"
 		return 1
 	}
 }
@@ -181,8 +181,8 @@  start()
 	zram_comp_algo "$zram_dev"
 	zram_comp_streams "$zram_dev"
 	echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize"
-	mkswap "$zram_dev"
-	swapon -d $zram_priority "$zram_dev"
+	/sbin/mkswap "$zram_dev"
+	/sbin/swapon -d $zram_priority "$zram_dev"
 }
 
 stop()
@@ -191,7 +191,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"
-		swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back"
+		/sbin/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"