samba: convert init script to procd, add reload support
authorFelix Fietkau <nbd@openwrt.org>
Wed, 18 Nov 2015 12:38:40 +0000 (12:38 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 18 Nov 2015 12:38:40 +0000 (12:38 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Backport of r47292

SVN-Revision: 47495

package/network/services/samba36/files/samba.init

index 3146dd9f9b41d9ae374465ba1f4d7f636141b197..376ae89988ea01589eea42be5aa7de444121b89e 100755 (executable)
@@ -2,6 +2,7 @@
 # Copyright (C) 2008-2012 OpenWrt.org
 
 START=60
+USE_PROCD=1
 
 smb_header() {
        local interface
@@ -86,15 +87,32 @@ smb_add_share() {
        [ -n "$browseable" ] && echo -e "\tbrowseable = $browseable" >> /var/etc/smb.conf
 }
 
-start() {
+init_config() {
        config_load samba
        config_foreach smb_header samba
        config_foreach smb_add_share sambashare
-       service_start /usr/sbin/smbd -D
-       service_start /usr/sbin/nmbd -D
 }
 
-stop() {
-       service_stop /usr/sbin/smbd
-       service_stop /usr/sbin/nmbd
+reload_service() {
+       init_config
+
+       killall -HUP smbd
+}
+
+service_triggers() {
+       procd_add_reload_trigger samba
+}
+
+start_service() {
+       init_config
+
+       procd_open_instance
+       procd_set_param command /usr/sbin/smbd -F
+       procd_set_param respawn
+       procd_close_instance
+
+       procd_open_instance
+       procd_set_param command /usr/sbin/nmbd -F
+       procd_set_param respawn
+       procd_close_instance
 }