wifi_schedule: fix startup problems
authorRani Hod <redacted>
Sat, 23 Dec 2023 11:47:59 +0000 (13:47 +0200)
committerRosen Penev <redacted>
Wed, 3 Jan 2024 16:47:39 +0000 (08:47 -0800)
Fixes: e0d7181a6
Closes: #22973
Closes: #22988
1. Make the new `startup()` function in `/usr/bin/wifi_schedule.sh`
   respect the global `enabled` config flag; in particular, make no
   changes to `/etc/config/wireless` when wifi_schedule is disabled.
2. Make the new `/etc/init.d/wifi_schedule` service script executable.

Signed-off-by: Rani Hod <redacted>
net/wifischedule/Makefile
net/wifischedule/net/usr/bin/wifi_schedule.sh

index 98e748c4d4bd37b165e83384018c481a1097abc4..7dc28a9fb8fcdb3aacbe3e1507a2d675fc0fb542 100644 (file)
@@ -16,7 +16,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wifischedule
 PKG_VERSION:=1.0.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=PRPL
 
 PKG_MAINTAINER:=Nils Koenig <openwrt@newk.it> 
@@ -54,7 +54,7 @@ define Package/wifischedule/install
        $(INSTALL_DIR) $(1)/etc/config
        $(INSTALL_DATA) ./net/etc/config/wifi_schedule $(1)/etc/config/wifi_schedule
        $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_DATA) ./net/etc/init.d/wifi_schedule $(1)/etc/init.d/wifi_schedule
+       $(INSTALL_BIN) ./net/etc/init.d/wifi_schedule $(1)/etc/init.d/wifi_schedule
 endef
 
 define Package/wifischedule/postinst
index 9787bc37d101180428fa97afeb450a9065c988ed..9adadd212f3c9e561b3f1a337cbdb924da98c8aa 100755 (executable)
@@ -277,14 +277,16 @@ _should_wifi_enabled()
 startup()
 {
     _log "startup"
-    local _enable_wifi=$(_should_wifi_enabled)
-    if [[ ${_enable_wifi} -eq 0 ]]
-    then
-        _log "enable wifi"
-        enable_wifi
-    else 
-        _log "disable wifi"
-        disable_wifi
+    local global_enabled=$(_get_uci_value ${GLOBAL}.enabled) || _exit 1
+    if [ ${global_enabled} -eq 1 ]; then
+        local _enable_wifi=$(_should_wifi_enabled)
+        if [ ${_enable_wifi} -eq 0 ]; then
+            _log "enable wifi"
+            enable_wifi
+        else
+            _log "disable wifi"
+            disable_wifi
+        fi
     fi
 }
 
git clone https://git.99rst.org/PROJECT