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