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
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
--- /dev/null
+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'
--- /dev/null
+#!/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
+}
--- /dev/null
+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'
--- /dev/null
+#!/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
+}
--- /dev/null
+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'
--- /dev/null
+#!/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
+}
--- /dev/null
+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'
--- /dev/null
+#!/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
+}