mirror of
https://github.com/novatiq/packages.git
synced 2026-04-29 23:18:42 +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,11 @@
|
||||
config u2pnpd
|
||||
# option interface br-lan
|
||||
# option use_https no
|
||||
# option manufacturer 'OpenWrt'
|
||||
# option manufacturerURL 'http://www.openwrt.org/'
|
||||
# option modelDescription ''
|
||||
# option modelName 'Generic'
|
||||
# option modelNumber ''
|
||||
# option modelURL ''
|
||||
# option serialNumber ''
|
||||
# option uuid ''
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
uuid=$(cat /proc/sys/kernel/random/uuid)
|
||||
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set u2pnpd.@u2pnpd[0].uuid=$uuid
|
||||
commit u2pnpd
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
@@ -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