1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2010 OpenWrt.org
8 MINIDLNA_CONFIG_FILE
="/tmp/minidlna.conf"
10 minidlna_cfg_append
() {
11 echo "$1" >> "$MINIDLNA_CONFIG_FILE"
14 minidlna_cfg_addbool
() {
20 config_get_bool val
"$cfg" "$key" "$def"
21 [ "$val" -gt 0 ] && val
="yes" || val
="no"
22 minidlna_cfg_append
"$key=$val"
25 minidlna_cfg_addstr
() {
31 config_get val
"$cfg" "$key" "$def"
32 [ -n "$val" ] && minidlna_cfg_append
"$key=$val"
35 minidlna_cfg_add_media_dir
() {
38 minidlna_cfg_append
"media_dir=$val"
41 minidlna_create_config
() {
46 config_get port
$cfg port
47 config_get interface
$cfg interface
49 [ -z "$interface" -o -t "$port" ] && return 1
51 echo "# this file is generated automatically, don't edit" > "$MINIDLNA_CONFIG_FILE"
53 minidlna_cfg_append
"port=$port"
54 minidlna_cfg_append
"network_interface=$interface"
56 minidlna_cfg_addstr
$cfg friendly_name
57 minidlna_cfg_addstr
$cfg db_dir
58 minidlna_cfg_addstr
$cfg log_dir
59 minidlna_cfg_addbool
$cfg inotify
'1'
60 minidlna_cfg_addbool
$cfg enable_tivo
'0'
61 minidlna_cfg_addbool
$cfg strict_dlna
'0'
62 minidlna_cfg_addstr
$cfg album_art_names
63 minidlna_cfg_addstr
$cfg presentation_url
64 minidlna_cfg_addstr
$cfg notify_interval
'900'
65 minidlna_cfg_addstr
$cfg serial
'12345678'
66 minidlna_cfg_addstr
$cfg model_number
'1'
67 minidlna_cfg_addstr
$cfg minissdpsocket
68 minidlna_cfg_addstr
$cfg root_container
'.'
69 config_list_foreach
"$cfg" "media_dir" minidlna_cfg_add_media_dir
79 config_load
'minidlna'
80 config_get_bool enabled config
'enabled' '0'
82 [ "$enabled" -gt 0 ] ||
return 1
84 minidlna_create_config config ||
return 1
86 config_get db_dir config
'db_dir' '/var/run/minidlna'
87 config_get log_dir config
'log_dir' '/var/log'
89 mkdir
-m 0755 -p $db_dir
90 mkdir
-m 0755 -p $log_dir
91 service_start
/usr
/bin
/minidlna
-f "$MINIDLNA_CONFIG_FILE"
95 service_stop
/usr
/bin
/minidlna