owfs: Add init scripts and config files
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>
This commit is contained in:
parent
7d12c8be58
commit
7000746a30
9 changed files with 358 additions and 0 deletions
|
@ -198,6 +198,15 @@ endef
|
|||
define Package/owfs/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owfs $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_DATA) ./files/owfs.conf $(1)/etc/config/owfs
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/owfs.init $(1)/etc/init.d/owfs
|
||||
mkdir -p $(1)/mnt/owfs
|
||||
endef
|
||||
|
||||
define Package/owfs/conffiles
|
||||
/etc/config/owfs
|
||||
endef
|
||||
|
||||
define Package/owshell/install
|
||||
|
@ -213,18 +222,41 @@ endef
|
|||
define Package/owserver/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owserver $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_DATA) ./files/owserver.conf $(1)/etc/config/owserver
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/owserver.init $(1)/etc/init.d/owserver
|
||||
endef
|
||||
|
||||
define Package/owserver/conffiles
|
||||
/etc/config/owserver
|
||||
endef
|
||||
|
||||
define Package/owhttpd/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owhttpd $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_DATA) ./files/owhttpd.conf $(1)/etc/config/owhttpd
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/owhttpd.init $(1)/etc/init.d/owhttpd
|
||||
endef
|
||||
|
||||
define Package/owhttpd/conffiles
|
||||
/etc/config/owhttpd
|
||||
endef
|
||||
|
||||
define Package/owftpd/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owftpd $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_DATA) ./files/owftpd.conf $(1)/etc/config/owftpd
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/owftpd.init $(1)/etc/init.d/owftpd
|
||||
endef
|
||||
|
||||
define Package/owftpd/conffiles
|
||||
/etc/config/owftpd
|
||||
endef
|
||||
|
||||
define Package/libow/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
|
|
11
utils/owfs/files/owfs.conf
Normal file
11
utils/owfs/files/owfs.conf
Normal file
|
@ -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'
|
75
utils/owfs/files/owfs.init
Normal file
75
utils/owfs/files/owfs.init
Normal file
|
@ -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
|
||||
}
|
9
utils/owfs/files/owftpd.conf
Normal file
9
utils/owfs/files/owftpd.conf
Normal file
|
@ -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'
|
72
utils/owfs/files/owftpd.init
Normal file
72
utils/owfs/files/owftpd.init
Normal file
|
@ -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
|
||||
}
|
9
utils/owfs/files/owhttpd.conf
Normal file
9
utils/owfs/files/owhttpd.conf
Normal file
|
@ -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'
|
71
utils/owfs/files/owhttpd.init
Normal file
71
utils/owfs/files/owhttpd.init
Normal file
|
@ -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
|
||||
}
|
9
utils/owfs/files/owserver.conf
Normal file
9
utils/owfs/files/owserver.conf
Normal file
|
@ -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'
|
70
utils/owfs/files/owserver.init
Normal file
70
utils/owfs/files/owserver.init
Normal file
|
@ -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
|
||||
}
|
Loading…
Reference in a new issue