1
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2024-11-25 16:36:19 +00:00
Lakka-LibreELEC/packages/addons/driver/sundtek-mediatv/source/bin/sundtek-update-driver.sh
2021-09-07 13:28:20 +02:00

109 lines
3.1 KiB
Bash

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
. /etc/profile
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
SUNDTEK_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv"
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
trap_exit_install() {
kodi-send -a "Notification(Sundtek, Something went wrong. Cleaning..., 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd "$SUNDTEK_ADDON_DIR"
rm -fr tmp
exit 5
}
# kill process
systemctl stop driver.dvb.sundtek-mediatv
killall -9 mediaclient &>/dev/null
killall -9 mediasrv &>/dev/null
# remove the entry
BUILD_DATE="#"
sed -i "s|\(id=\"BUILD_DATE\" .* values=\)\"[^\"]*\"|\1\"$BUILD_DATE\"|" $SUNDTEK_ADDON_DIR/resources/settings.xml
# exit on errors
set -e
trap trap_exit_install EXIT
cd "$SUNDTEK_ADDON_DIR"
rm -fr tmp
mkdir tmp
cd tmp
logger -t Sundtek "### Starting updating driver ###"
kodi-send -a "Notification(Sundtek, Starting updating driver, 3000, $SUNDTEK_ADDON_DIR/icon.png)"
wget -O ../version.used http://sundtek.de/media/latest.phtml
if [ $? -ne 0 ]; then
logger -t Sundtek "### Can't get latest version ###"
kodi-send -a "Notification(Sundtek, Cant get latest version, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd ..
rm -fr tmp/
exit 1
fi
ARCH=$(sed -n 's|[^.]*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
if [ "$ARCH" = "x86_64" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
elif [ "$ARCH" = "arm" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
elif [ "$ARCH" = "aarch64" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/arm64/installer.tar.gz"
else
logger -t Sundtek "### Unsupported architecture ###"
kodi-send -a "Notification(Sundtek, Unsupported architecture, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd ..
rm -fr tmp
exit 2
fi
logger -t Sundtek "### Downloading driver archive for $ARCH ###"
kodi-send -a "Notification(Sundtek, Downloading driver archive for $ARCH, 3000, $SUNDTEK_ADDON_DIR/icon.png)"
wget -O installer.tar.gz $INSTALLER_URL
if [ $? -ne 0 ]; then
logger -t Sundtek "### Archive damaged ###"
kodi-send -a "Notification(Sundtek, Download failed, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd ..
rm -fr tmp/
exit 3
fi
logger -t Sundtek "### Extracting archive ###"
kodi-send -a "Notification(Sundtek, Extracting archive, 3000, $SUNDTEK_ADDON_DIR/icon.png)"
tar -xzf installer.tar.gz
if [ $? -ne 0 ]; then
logger -t Sundtek "### Archive damaged ###"
kodi-send -a "Notification(Sundtek, Archive damaged, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd ..
rm -fr tmp/
exit 4
fi
# fix permissions
chmod -R 755 opt/ etc/
rm -f opt/bin/getinput.sh
rm -f opt/bin/lirc.sh
rm -fr opt/lib/pm/
cp -Pa opt/bin/* ../bin/
cp -Pa opt/lib/* ../lib/
cd ..
rm -fr tmp
logger -t Sundtek "### Driver update finished ###"
kodi-send -a "Notification(Sundtek, Driver update finished, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
kodi-send -a "Notification(Sundtek, Please reboot, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
trap - EXIT
systemctl start driver.dvb.sundtek-mediatv
exit 0