1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2010 OpenWrt.org
7 SERVICE_PID_FILE
=/var
/run
/minidlna
/minidlna.pid
9 MINIDLNA_CONFIG_FILE
="/tmp/minidlna.conf"
11 minidlna_cfg_append
() {
12 echo "$1" >> "$MINIDLNA_CONFIG_FILE"
15 minidlna_cfg_addbool
() {
21 config_get_bool val
"$cfg" "$key" "$def"
22 [ "$val" -gt 0 ] && val
="yes" || val
="no"
23 minidlna_cfg_append
"$key=$val"
26 minidlna_cfg_addstr
() {
32 config_get val
"$cfg" "$key" "$def"
33 [ -n "$val" ] && minidlna_cfg_append
"$key=$val"
36 minidlna_cfg_add_media_dir
() {
39 minidlna_cfg_append
"media_dir=$val"
42 minidlna_create_config
() {
47 config_get port
$cfg port
48 config_get interface
$cfg interface
50 [ -z "$interface" -o -t "$port" ] && return 1
52 echo "# this file is generated automatically, don't edit" > "$MINIDLNA_CONFIG_FILE"
54 minidlna_cfg_append
"port=$port"
55 minidlna_cfg_append
"network_interface=$interface"
57 minidlna_cfg_addstr
$cfg friendly_name
58 minidlna_cfg_addstr
$cfg db_dir
59 minidlna_cfg_addstr
$cfg log_dir
60 minidlna_cfg_addbool
$cfg inotify
'1'
61 minidlna_cfg_addbool
$cfg enable_tivo
'0'
62 minidlna_cfg_addbool
$cfg strict_dlna
'0'
63 minidlna_cfg_addstr
$cfg album_art_names
64 minidlna_cfg_addstr
$cfg presentation_url
65 minidlna_cfg_addstr
$cfg notify_interval
'900'
66 minidlna_cfg_addstr
$cfg serial
'12345678'
67 minidlna_cfg_addstr
$cfg model_number
'1'
68 minidlna_cfg_addstr
$cfg minissdpsocket
69 minidlna_cfg_addstr
$cfg root_container
'.'
70 config_list_foreach
"$cfg" "media_dir" minidlna_cfg_add_media_dir
80 config_load
'minidlna'
81 config_get_bool enabled config
'enabled' '0'
83 [ "$enabled" -gt 0 ] ||
return 1
85 minidlna_create_config config ||
return 1
87 config_get db_dir config
'db_dir' '/var/run/minidlna'
88 config_get log_dir config
'log_dir' '/var/log'
90 mkdir
-m 0755 -p $db_dir
91 mkdir
-m 0755 -p $log_dir
92 service_start
/usr
/bin
/minidlna
-f "$MINIDLNA_CONFIG_FILE"
96 service_stop
/usr
/bin
/minidlna