0
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2024-12-16 00:59:10 +00:00
2023-11-01 13:40:28 +00:00

71 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon browser.chrome
ICON="$ADDON_DIR/resources/icon.png"
CONTROL_FILE="/tmp/curl.done"
DATA_FILE="/tmp/curl.data"
CHROME_FILE="google-chrome-stable_@CHROME_VERSION@-1_amd64.deb"
# check for enough free disk space
if [ $(df -P . | awk 'END {print $4}') -lt 400000 ]; then
kodi-send --action="Notification(Not enough disk space, at least 400MB are required,30000,${ICON})" >/dev/null
exit 0;
fi
# remove install status and folders
if [ -f $ADDON_DIR/extract.ok ]; then
rm $ADDON_DIR/extract.ok
fi
if [ -d $ADDON_DIR/chrome-bin ]; then
rm -rf $ADDON_DIR/chrome-bin
fi
if [ -d $ADDON_DIR/tmp_download ]; then
rm -rf $ADDON_DIR/tmp_download
fi
# create tmp download dir
mkdir -p $ADDON_DIR/tmp_download
cd $ADDON_DIR/tmp_download
echo "Downloading Chrome"
# download chrome
rm -f ${CONTROL_FILE} ${DATA_FILE}
(
curl -# -O -C - https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/${CHROME_FILE} 2>${DATA_FILE}
touch ${CONTROL_FILE}
) | \
while [ : ]; do
[ -f ${DATA_FILE} ] && prog="$(tr '\r' '\n' < ${DATA_FILE} | tail -n 1 | sed -r 's/^[# ]+/#/;s/^[^0-9]*//g')" || prog=
kodi-send --action="Notification(Downloading Chrome,\"${prog:-0.0%}\",3000,${ICON})" >/dev/null
[ -f ${CONTROL_FILE} ] && break
sleep 4
done
rm -f ${CONTROL_FILE} ${DATA_FILE}
## extract chrome
# extrat chrome.deb data to temp
kodi-send --action="Notification(Extracting Chrome,starting,1000,${ICON})" >/dev/null
deb_extract_data ${CHROME_FILE} $ADDON_DIR/tmp_download
mv opt/google/chrome $ADDON_DIR/chrome-bin
# cleanup
cd $ADDON_DIR
rm -rf $ADDON_DIR/tmp_download
if [ -d chrome-bin ]; then
touch $ADDON_DIR/extract.ok
kodi-send --action="Notification(Extracting Chrome,finished,1000,${ICON})" >/dev/null
else
kodi-send --action="Notification(Extracting Chrome,FAILED!,10000,${ICON})" >/dev/null
fi