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 | |||
} |