Owfs daemons lack control scripts. This patch adds init.d scripts for owfs, owserver, owhttpd and owftpd packages. Most daemon options (both common libow and program-specific parameters) are reflected as uci config variables. Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>lilik-openwrt-22.03
@ -0,0 +1,11 @@ | |||||
config owfs 'owfs' | |||||
option enabled 0 | |||||
option uid 0 | |||||
option gid 0 | |||||
option readonly 0 | |||||
option mountpoint '/mnt/owfs' | |||||
option fuse_allow_other 0 | |||||
option fuse_open_opt '' | |||||
option error_level 0 | |||||
option options '' | |||||
list devices '-s localhost:4304' |
@ -0,0 +1,75 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2009-2012 OpenWrt.org | |||||
START=99 | |||||
SERVICE_WRITE_PID=1 | |||||
SERVICE_DAEMONIZE=1 | |||||
# Workaround insufficient /dev/fuse permissions and the lack of /etc/fuse.conf | |||||
DEFAULT_SERVICE_UID=0 | |||||
DEFAULT_SERVICE_GID=0 | |||||
append_device() { | |||||
append devices "$1" | |||||
} | |||||
start_owfs_daemon() { | |||||
local program="$1" | |||||
local config="$1" | |||||
local args="--foreground --error_print=1 $2" | |||||
local enabled | |||||
config_get_bool enabled "$config" enabled 0 | |||||
[ "${enabled}" -eq 0 ] && return 1 | |||||
local readonly | |||||
config_get_bool readonly "$config" readonly 0 | |||||
[ "${readonly}" -eq 1 ] && append args "--readonly" | |||||
local error_level | |||||
config_get error_level "$config" error_level | |||||
[ -n "${error_level}" ] && append args "--error_level=${error_level}" | |||||
local options | |||||
config_get options "$config" options | |||||
devices="" | |||||
config_list_foreach "$config" devices append_device | |||||
config_get SERVICE_UID "$config" uid "$DEFAULT_SERVICE_UID" | |||||
config_get SERVICE_GID "$config" gid "$DEFAULT_SERVICE_GID" | |||||
service_start "/usr/bin/$program" $args $options $devices | |||||
} | |||||
start_owfs() { | |||||
local config="owfs" | |||||
local args="" | |||||
config_load "$config" | |||||
local mountpoint | |||||
config_get mountpoint "$config" mountpoint /mnt/owfs | |||||
append args "--mountpoint=${mountpoint}" | |||||
local fuse_allow_other | |||||
config_get_bool fuse_allow_other "$config" fuse_allow_other 0 | |||||
[ "${fuse_allow_other}" -eq 1 ] && append args "--allow_other" | |||||
local fuse_open_opt | |||||
config_get fuse_open_opt "$config" fuse_open_opt | |||||
[ -n "${fuse_open_opt}" ] && append args "--fuse_open_opt=\"${fuse_open_opt}\"" | |||||
start_owfs_daemon "$config" "$args" | |||||
} | |||||
start() { | |||||
start_owfs | |||||
} | |||||
stop() { | |||||
service_stop /usr/bin/owfs | |||||
} |
@ -0,0 +1,9 @@ | |||||
config owftpd 'owftpd' | |||||
option enabled 0 | |||||
option uid 0 | |||||
option gid 0 | |||||
option readonly 0 | |||||
option port 21 | |||||
option error_level 0 | |||||
option options '' | |||||
list devices '-s localhost:4304' |
@ -0,0 +1,72 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2009-2012 OpenWrt.org | |||||
START=99 | |||||
SERVICE_WRITE_PID=1 | |||||
SERVICE_DAEMONIZE=1 | |||||
# Needed for restricted TCP port 21 | |||||
DEFAULT_SERVICE_UID=0 | |||||
DEFAULT_SERVICE_GID=0 | |||||
append_device() { | |||||
append devices "$1" | |||||
} | |||||
start_owfs_daemon() { | |||||
local program="$1" | |||||
local config="$1" | |||||
local args="--foreground --error_print=1 $2" | |||||
local enabled | |||||
config_get_bool enabled "$config" enabled 0 | |||||
[ "${enabled}" -eq 0 ] && return 1 | |||||
local readonly | |||||
config_get_bool readonly "$config" readonly 0 | |||||
[ "${readonly}" -eq 1 ] && append args "--readonly" | |||||
local error_level | |||||
config_get error_level "$config" error_level | |||||
[ -n "${error_level}" ] && append args "--error_level=${error_level}" | |||||
local options | |||||
config_get options "$config" options | |||||
devices="" | |||||
config_list_foreach "$config" devices append_device | |||||
config_get SERVICE_UID "$config" uid "$DEFAULT_SERVICE_UID" | |||||
config_get SERVICE_GID "$config" gid "$DEFAULT_SERVICE_GID" | |||||
service_start "/usr/bin/$program" $args $options $devices | |||||
} | |||||
start_owftpd() { | |||||
local config="owftpd" | |||||
local args="" | |||||
config_load "$config" | |||||
local port | |||||
config_get port "$config" port | |||||
[ -n "${port}" ] && append args "--port=${port}" | |||||
local max_connections | |||||
config_get max_connections "$config" max_connections | |||||
[ -n "${max_connections}" ] && append args "--max_connections=${max_connections}" | |||||
start_owfs_daemon "$config" "$args" | |||||
} | |||||
start() { | |||||
start_owftpd | |||||
} | |||||
stop() { | |||||
service_stop /usr/bin/owftpd | |||||
} |
@ -0,0 +1,9 @@ | |||||
config owhttpd 'owhttpd' | |||||
option enabled 0 | |||||
option uid 65534 | |||||
option gid 65534 | |||||
option readonly 0 | |||||
option port 3001 | |||||
option error_level 0 | |||||
option options '' | |||||
list devices '-s localhost:4304' |
@ -0,0 +1,71 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2009-2012 OpenWrt.org | |||||
START=99 | |||||
SERVICE_WRITE_PID=1 | |||||
SERVICE_DAEMONIZE=1 | |||||
DEFAULT_SERVICE_UID=65534 | |||||
DEFAULT_SERVICE_GID=65534 | |||||
append_device() { | |||||
append devices "$1" | |||||
} | |||||
start_owfs_daemon() { | |||||
local program="$1" | |||||
local config="$1" | |||||
local args="--foreground --error_print=1 $2" | |||||
local enabled | |||||
config_get_bool enabled "$config" enabled 0 | |||||
[ "${enabled}" -eq 0 ] && return 1 | |||||
local readonly | |||||
config_get_bool readonly "$config" readonly 0 | |||||
[ "${readonly}" -eq 1 ] && append args "--readonly" | |||||
local error_level | |||||
config_get error_level "$config" error_level | |||||
[ -n "${error_level}" ] && append args "--error_level=${error_level}" | |||||
local options | |||||
config_get options "$config" options | |||||
devices="" | |||||
config_list_foreach "$config" devices append_device | |||||
config_get SERVICE_UID "$config" uid "$DEFAULT_SERVICE_UID" | |||||
config_get SERVICE_GID "$config" gid "$DEFAULT_SERVICE_GID" | |||||
service_start "/usr/bin/$program" $args $options $devices | |||||
} | |||||
start_owhttpd() { | |||||
local config="owhttpd" | |||||
local args="" | |||||
config_load "$config" | |||||
local port | |||||
config_get port "$config" port | |||||
[ -n "${port}" ] && append args "--port=${port}" | |||||
local max_connections | |||||
config_get max_connections "$config" max_connections | |||||
[ -n "${max_connections}" ] && append args "--max_connections=${max_connections}" | |||||
start_owfs_daemon "$config" "$args" | |||||
} | |||||
start() { | |||||
start_owhttpd | |||||
} | |||||
stop() { | |||||
service_stop /usr/bin/owhttpd | |||||
} |
@ -0,0 +1,9 @@ | |||||
config owserver 'owserver' | |||||
option enabled 0 | |||||
option uid 65534 | |||||
option gid 65534 | |||||
option readonly 0 | |||||
option port 4304 | |||||
option error_level 0 | |||||
option options '' | |||||
list devices '-d /dev/ttyUSB0' |
@ -0,0 +1,70 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2009-2012 OpenWrt.org | |||||
START=98 | |||||
SERVICE_WRITE_PID=1 | |||||
SERVICE_DAEMONIZE=1 | |||||
DEFAULT_SERVICE_UID=65534 | |||||
DEFAULT_SERVICE_GID=65534 | |||||
append_device() { | |||||
append devices "$1" | |||||
} | |||||
start_owfs_daemon() { | |||||
local program="$1" | |||||
local config="$1" | |||||
local args="--foreground --error_print=1 $2" | |||||
local enabled | |||||
config_get_bool enabled "$config" enabled 0 | |||||
[ "${enabled}" -eq 0 ] && return 1 | |||||
local readonly | |||||
config_get_bool readonly "$config" readonly 0 | |||||
[ "${readonly}" -eq 1 ] && append args "--readonly" | |||||
local error_level | |||||
config_get error_level "$config" error_level | |||||
[ -n "${error_level}" ] && append args "--error_level=${error_level}" | |||||
local options | |||||
config_get options "$config" options | |||||
devices="" | |||||
config_list_foreach "$config" devices append_device | |||||
config_get SERVICE_UID "$config" uid "$DEFAULT_SERVICE_UID" | |||||
config_get SERVICE_GID "$config" gid "$DEFAULT_SERVICE_GID" | |||||
service_start "/usr/bin/$program" $args $options $devices | |||||
} | |||||
start_owserver() { | |||||
local config="owserver" | |||||
local args="" | |||||
config_load "$config" | |||||
local port | |||||
config_get port "$config" port | |||||
[ -n "${port}" ] && append args "--port=${port}" | |||||
local max_connections | |||||
config_get max_connections "$config" max_connections | |||||
[ -n "${max_connections}" ] && append args "--max_connections=${max_connections}" | |||||
start_owfs_daemon "$config" "$args" | |||||
} | |||||
start() { | |||||
start_owserver | |||||
} | |||||
stop() { | |||||
service_stop /usr/bin/owserver | |||||
} |