samba36: append config from /var/run/config/ for runtime shares
authorRafał Miłecki <rafal@milecki.pl>
Tue, 25 Dec 2018 19:30:12 +0000 (20:30 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Thu, 10 Jan 2019 09:33:40 +0000 (10:33 +0100)
This will allow automation/hotplug.d scripts to store runtime shares in
the /var/run/config/samba. It's useful e.g. for USB drives that user
wants to be automatically shared.

Using /var/run/config/ provides:
1) Automated cleaning on reboots
   It's important for consistency (to avoid sharing non-existing drives)
2) Safety for user non-commited changes
   Automated scripts should never call "uci [foo] commit" as that could
   flush incomplete config.

Another minor gain is avoiding flash wearing for runtime setup.

Cc: Rosy Song <rosysong@rosinson.com>
Cc: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
package/network/services/samba36/files/samba.init

index 1c5bb3b3c43eacc6ee3a181a16b63c906365b81b..abe8e8f5c714a7b5ef543035f70c70c2353caa64 100755 (executable)
@@ -84,6 +84,8 @@ smb_add_share() {
 
 init_config() {
        config_load samba
+       CONFIG_APPEND=1 UCI_CONFIG_DIR=/var/run/config config_load samba
+
        config_foreach smb_header samba
        config_foreach smb_add_share sambashare
 }