diff --git a/seqs/kodi.sh b/seqs/kodi.sh index 9d02510..e1be9a3 100755 --- a/seqs/kodi.sh +++ b/seqs/kodi.sh @@ -37,14 +37,14 @@ step_3() { --disabled-password \ --gecos "User to run $toolName Media Center" \ $toolUser - exe usermod -a -G audio,video,plugdev,input,tty $toolUser + + exe usermod -a -G audio,video,input,dialout,plugdev,netdev,users,cdrom,tty $toolUser saveReturn $? endReturn echo "User $toolUser details:" - exe id $tooLuser + exe id $toolUser } - step_4_info() { echo "Create systemd service"; } step_4() { addConf -c "$toolServiceContent" "$toolServiceFile" @@ -60,8 +60,8 @@ step_4() { } toolServiceContent="\ -[Unit] -Description = Kodi Media Center + [Unit] + Description = Kodi Media Center # if you don't need the MySQL DB backend, this should be sufficient After = systemd-user-sessions.service network.target sound.target @@ -71,10 +71,11 @@ After = systemd-user-sessions.service network.target sound.target # Wants = mysql.service [Service] -User = kodi -Group = kodi +User = ${toolUser} +Group = ${toolUser} Type = simple ExecStart = /usr/bin/kodi-standalone +ExecStop = /usr/bin/pkill kodi Restart = always RestartSec = 15 @@ -91,8 +92,7 @@ step_5() { step_6_info() { echo "Increase raspberry pi GPU memory to 320"; } step_6() { - exep "grep -e '^[ ]*gpu_mem' \"$bootConfigLoc\" >>/dev/null 2>&1" - if [ $? -ne 0 ] && [ -f "$bootConfigLoc" ] ; then + if ! exep "grep -e '^[ ]*gpu_mem' \"$bootConfigLoc\" >>/dev/null 2>&1" && [ -f "$bootConfigLoc" ] ; then # attach settings to raspberry boot configuration exe mount -o remount,rw /boot addConf -a "$bootConfig" "$bootConfigLoc" @@ -114,7 +114,7 @@ step_7() { if quiet ; then answer=n else - read -p "Reboot now? y/n(default)" answer + read -r -p "Reboot now? y/n(default)" answer fi case $answer in y|Y) @@ -136,11 +136,11 @@ step_10() { kodiSyslogLoc="/usr/local/bin/kodisyslog" kodiSyslog="#!/bin/bash tail -f /home/kodi/.kodi/temp/kodi.log | -while read -r line -do - logger -t KODI \"\${line:37}\" -done" + while read -r line ; do + logger -t KODI \"\${line:37}\" + done" +# Using previously generated executable step_11_info() { echo "Create systemd service for logging to syslog"; } step_11() { [ ! -f "$kodiSyslogLoc" ] && return 1 @@ -165,11 +165,12 @@ WantedBy=multi-user.target" step_12_info() { echo "Enable and start kodisyslog service"; } step_12() { - local kodiSyslogName="$(basename $kodiSyslogServiceLoc)" + local kodiSyslogName + kodiSyslogName="$(basename $kodiSyslogServiceLoc)" exe systemctl daemon-reload - exe systemctl enable $kodiSyslogName - exe systemctl start $kodiSyslogName + exe systemctl enable "$kodiSyslogName" + exe systemctl start "$kodiSyslogName" } step_40_info() { echo "Reset music database"; } @@ -179,18 +180,20 @@ step_40() { local answer="y" local musicDb=( "$toolProfileDir/userdata/Database/MyMusic"*.db ) warning "Erasing:" - for i in ${musicDb[@]}; do - info $i + for i in "${musicDb[@]}"; do + info "$i" done - interactive && read -p "Are you sure? (y)/[n] " answer + interactive && read -r -p "Are you sure? (y)/[n] " answer case "$answer" in y|Y) - exe rm ${musicDb[@]};; + exe rm "${musicDb[@]}";; *) info "Abort reset" return 1; esac } +# shellcheck disable=SC2034 # Appears unused readonly sqr_minVersion=16 +# shellcheck disable=SC1091 # Don't follow this source . /usr/local/bin/sequencer.sh