#!/bin/sh /etc/rc.common # Copyright (C) 2013-2014 OpenWrt.org START=50 USE_PROCD=1 config_shairport() { local cfg="$1" local cfg_name local cfg_password local cfg_port local cfg_buffer local cfg_log local cfg_cmd_start local cfg_cmd_stop local cfg_cmd_wait local cfg_audio_output local cfg_mdns config_get cfg_name $cfg 'name' 'AirPort' config_get cfg_password $cfg 'password' '' config_get cfg_port $cfg 'port' '5002' config_get cfg_buffer $cfg 'buffer' '256' config_get cfg_log $cfg 'log' '/var/log/shairport' config_get cfg_cmd_start $cfg 'cmd_start' '' config_get cfg_cmd_stop $cfg 'cmd_stop' '' config_get_bool cfg_cmd_wait $cfg 'cmd_wait' '0' config_get cfg_audio_output $cfg 'audio_output' '' config_get cfg_mdns $cfg 'mdns' '' procd_open_instance procd_set_param command /usr/sbin/shairport procd_append_param command -a "$cfg_name" [ ! -z "$cfg_password" ] && procd_append_param command -k "$cfg_password" procd_append_param command -p $cfg_port procd_append_param command -b $cfg_buffer procd_append_param command -l $cfg_log [ ! -z "$cfg_cmd_start" ] && procd_append_param command -B "$cfg_cmd_start" [ ! -z "$cfg_cmd_stop" ] && procd_append_param command -E "$cfg_cmd_stop" [ "$cfg_cmd_wait" -eq 1 ] && procd_append_param command -w [ ! -z "$cfg_audio_output" ] && procd_append_param command -o "$cfg_audio_output" [ ! -z "$cfg_mdns" ] && procd_append_param command -m "$cfg_mdns" procd_set_param respawn procd_close_instance } start_service() { config_load shairport config_foreach config_shairport shairport }