mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
u2pnpd: add new package
u²pnpd announces a device as UPnP basic device on the network so that an user could easily find it. It tries to detect various system information automatically, however everything can be overridden by UCI settings. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
|
||||
START=50
|
||||
STOP=20
|
||||
|
||||
SERVICE_DAEMONIZE=1
|
||||
SERVICE_PID_FILE=/var/run/u2pnpd.pid
|
||||
SERVICE_USE_PID=1
|
||||
SERVICE_WRITE_PID=1
|
||||
|
||||
start_instance() {
|
||||
local section="$1"
|
||||
local enabled
|
||||
local interface manufacturer manufacturerURL modelDescription
|
||||
local modelName modelNumber modelURL serialNumber friendlyName
|
||||
local uuid httpsURL
|
||||
local i
|
||||
|
||||
config_get_bool enabled "$section" 'enabled' 1
|
||||
[ "$enabled" -gt 0 ] || return 0
|
||||
|
||||
for i in interface httpsURL manufacturer manufacturerURL modelDescription \
|
||||
modelName modelNumber modelURL serialNumber friendlyName uuid; do
|
||||
config_get "$i" "$section" "$i"
|
||||
done
|
||||
|
||||
[ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
|
||||
|
||||
service_start /usr/bin/u2pnpd ${httpsURL:+-s} \
|
||||
${interface:+--interface="$interface"} \
|
||||
${manufacturer:+--manufacturer="$manufacturer"} \
|
||||
${manufacturerURL:+--manufacturerURL="$manufacturerURL"} \
|
||||
${modelDescription:+--modelDescription="$modelDescription"} \
|
||||
${modelName:+--modelName="$modelName"} \
|
||||
${modelNumber:+--modelNumber="$modelNumber"} \
|
||||
${modelURL:+--modelURL="$modelURL"} \
|
||||
${serialNumber:+--serialNumber="$serialNumber"} \
|
||||
${friendlyName:+--friendlyName="$friendlyName"} \
|
||||
${uuid:+--uuid="$uuid"}
|
||||
}
|
||||
|
||||
stop_instance() {
|
||||
local section="$1"
|
||||
local interface
|
||||
|
||||
config_get interface "$section" 'interface'
|
||||
[ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
|
||||
|
||||
service_stop /usr/bin/u2pnpd
|
||||
rm -f "$SERVICE_PID_FILE"
|
||||
}
|
||||
|
||||
start() {
|
||||
config_load 'u2pnpd'
|
||||
config_foreach start_instance 'u2pnpd'
|
||||
}
|
||||
|
||||
stop() {
|
||||
config_load 'u2pnpd'
|
||||
config_foreach stop_instance 'u2pnpd'
|
||||
}
|
||||
Reference in New Issue
Block a user