mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-06 09:27:49 +00:00
autoupdate: use /storage/.xbmc/temp as tempdir for downloading and extracting (fixes update problems on low memory devices like ATV1)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
c2c4fa8c4d
commit
7e1fd18d37
@ -21,6 +21,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml"
|
OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml"
|
||||||
|
TMP_DIR="$HOME/.xbmc/temp"
|
||||||
|
|
||||||
if [ -f /etc/update.conf ]; then
|
if [ -f /etc/update.conf ]; then
|
||||||
. /etc/update.conf
|
. /etc/update.conf
|
||||||
@ -42,10 +43,10 @@ fi
|
|||||||
download () {
|
download () {
|
||||||
case "$DL_METHOD" in
|
case "$DL_METHOD" in
|
||||||
wget)
|
wget)
|
||||||
wget -c $1 -P /tmp
|
wget -c $1 -P $TMP_DIR
|
||||||
;;
|
;;
|
||||||
scp)
|
scp)
|
||||||
scp $SCP_ARG "$1" /tmp
|
scp $SCP_ARG "$1" $TMP_DIR
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -67,13 +68,13 @@ if [ ! -f /var/lock/update.lock ]; then
|
|||||||
THIS_VERSION="`cat /etc/version`"
|
THIS_VERSION="`cat /etc/version`"
|
||||||
|
|
||||||
# get infofile with the latest released version
|
# get infofile with the latest released version
|
||||||
rm -rf /tmp/latest
|
rm -rf $TMP_DIR/latest
|
||||||
download "$UPDATEURL/latest"
|
download "$UPDATEURL/latest"
|
||||||
|
|
||||||
NEW_IMAGE="`cat /tmp/latest |grep "$THIS_DISTRIBUTION-$THIS_ARCH"`"
|
NEW_IMAGE="`cat $TMP_DIR/latest |grep "$THIS_DISTRIBUTION-$THIS_ARCH"`"
|
||||||
NEW_VERSION="`echo "$NEW_IMAGE" | cut -d "-" -f5 | tr -d "r"`"
|
NEW_VERSION="`echo "$NEW_IMAGE" | cut -d "-" -f5 | tr -d "r"`"
|
||||||
|
|
||||||
rm -rf /tmp/latest
|
rm -rf $TMP_DIR/latest
|
||||||
|
|
||||||
# compare installed version with latest released version
|
# compare installed version with latest released version
|
||||||
THIS_VERSION="`echo "$THIS_VERSION" | cut -d "-" -f3 | tr -d "r"`"
|
THIS_VERSION="`echo "$THIS_VERSION" | cut -d "-" -f3 | tr -d "r"`"
|
||||||
@ -94,20 +95,21 @@ if [ ! -f /var/lock/update.lock ]; then
|
|||||||
touch /var/lock/update.lock
|
touch /var/lock/update.lock
|
||||||
|
|
||||||
# downloading the new version
|
# downloading the new version
|
||||||
|
rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2
|
||||||
download "$UPDATEURL/$NEW_IMAGE.tar.bz2"
|
download "$UPDATEURL/$NEW_IMAGE.tar.bz2"
|
||||||
|
|
||||||
# extract the image
|
# extract the image
|
||||||
rm -rf /tmp/$NEW_IMAGE
|
rm -rf $TMP_DIR/$NEW_IMAGE
|
||||||
tar -xjvf /tmp/$NEW_IMAGE.tar.bz2 -C /tmp
|
tar -xjvf $TMP_DIR/$NEW_IMAGE.tar.bz2 -C $TMP_DIR
|
||||||
|
|
||||||
# move KERNEL and SYSTEM to an temporary file
|
# move KERNEL and SYSTEM to an temporary file
|
||||||
mkdir -p /storage/.update
|
mkdir -p /storage/.update
|
||||||
|
|
||||||
[ -f /tmp/$NEW_IMAGE/target/KERNEL ] && \
|
[ -f $TMP_DIR/$NEW_IMAGE/target/KERNEL ] && \
|
||||||
mv /tmp/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp
|
mv $TMP_DIR/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp
|
||||||
|
|
||||||
[ -f /tmp/$NEW_IMAGE/target/SYSTEM ] && \
|
[ -f $TMP_DIR/$NEW_IMAGE/target/SYSTEM ] && \
|
||||||
mv /tmp/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp
|
mv $TMP_DIR/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp
|
||||||
sync
|
sync
|
||||||
|
|
||||||
# move KERNEL and SYSTEM to the right place
|
# move KERNEL and SYSTEM to the right place
|
||||||
@ -115,8 +117,8 @@ if [ ! -f /var/lock/update.lock ]; then
|
|||||||
mv /storage/.update/SYSTEM.tmp /storage/.update/SYSTEM
|
mv /storage/.update/SYSTEM.tmp /storage/.update/SYSTEM
|
||||||
|
|
||||||
# cleanup tmp files
|
# cleanup tmp files
|
||||||
rm -rf /tmp/$NEW_IMAGE
|
rm -rf $TMP_DIR/$NEW_IMAGE
|
||||||
rm -rf /tmp/$NEW_IMAGE.tar.bz2
|
rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2
|
||||||
rm -rf /storage/.update/*.tmp
|
rm -rf /storage/.update/*.tmp
|
||||||
|
|
||||||
# we are ready (hopefully)
|
# we are ready (hopefully)
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml"
|
OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml"
|
||||||
|
TMP_DIR="$HOME/.xbmc/temp"
|
||||||
|
|
||||||
if [ -f /etc/update.conf ]; then
|
if [ -f /etc/update.conf ]; then
|
||||||
. /etc/update.conf
|
. /etc/update.conf
|
||||||
@ -42,10 +43,10 @@ fi
|
|||||||
download () {
|
download () {
|
||||||
case "$DL_METHOD" in
|
case "$DL_METHOD" in
|
||||||
wget)
|
wget)
|
||||||
wget -c $1 -P /tmp
|
wget -c $1 -P $TMP_DIR
|
||||||
;;
|
;;
|
||||||
scp)
|
scp)
|
||||||
scp $SCP_ARG "$1" /tmp
|
scp $SCP_ARG "$1" $TMP_DIR
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -70,13 +71,13 @@ if [ ! -f /var/lock/update.lock ]; then
|
|||||||
THIS_PATCH="`echo "$THIS_VERSION" | cut -d "." -f3`"
|
THIS_PATCH="`echo "$THIS_VERSION" | cut -d "." -f3`"
|
||||||
|
|
||||||
# get infofile with the latest released version
|
# get infofile with the latest released version
|
||||||
rm -rf /tmp/latest
|
rm -rf $TMP_DIR/latest
|
||||||
download "$UPDATEURL/latest"
|
download "$UPDATEURL/latest"
|
||||||
|
|
||||||
NEW_IMAGE="`cat /tmp/latest |grep "$THIS_DISTRIBUTION-$THIS_ARCH"`"
|
NEW_IMAGE="`cat $TMP_DIR/latest |grep "$THIS_DISTRIBUTION-$THIS_ARCH"`"
|
||||||
NEW_VERSION="`echo "$NEW_IMAGE" | cut -d "-" -f3`"
|
NEW_VERSION="`echo "$NEW_IMAGE" | cut -d "-" -f3`"
|
||||||
|
|
||||||
rm -rf /tmp/latest
|
rm -rf $TMP_DIR/latest
|
||||||
|
|
||||||
# compare installed version with latest released version
|
# compare installed version with latest released version
|
||||||
NEW_MAJOR="`echo "$NEW_VERSION" | cut -d "." -f1`"
|
NEW_MAJOR="`echo "$NEW_VERSION" | cut -d "." -f1`"
|
||||||
@ -101,20 +102,21 @@ if [ ! -f /var/lock/update.lock ]; then
|
|||||||
touch /var/lock/update.lock
|
touch /var/lock/update.lock
|
||||||
|
|
||||||
# downloading the new version
|
# downloading the new version
|
||||||
|
rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2
|
||||||
download "$UPDATEURL/$NEW_IMAGE.tar.bz2"
|
download "$UPDATEURL/$NEW_IMAGE.tar.bz2"
|
||||||
|
|
||||||
# extract the image
|
# extract the image
|
||||||
rm -rf /tmp/$NEW_IMAGE
|
rm -rf $TMP_DIR/$NEW_IMAGE
|
||||||
tar -xjvf /tmp/$NEW_IMAGE.tar.bz2 -C /tmp
|
tar -xjvf $TMP_DIR/$NEW_IMAGE.tar.bz2 -C $TMP_DIR
|
||||||
|
|
||||||
# move KERNEL and SYSTEM to an temporary file
|
# move KERNEL and SYSTEM to an temporary file
|
||||||
mkdir -p /storage/.update
|
mkdir -p /storage/.update
|
||||||
|
|
||||||
[ -f /tmp/$NEW_IMAGE/target/KERNEL ] && \
|
[ -f $TMP_DIR/$NEW_IMAGE/target/KERNEL ] && \
|
||||||
mv /tmp/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp
|
mv $TMP_DIR/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp
|
||||||
|
|
||||||
[ -f /tmp/$NEW_IMAGE/target/SYSTEM ] && \
|
[ -f $TMP_DIR/$NEW_IMAGE/target/SYSTEM ] && \
|
||||||
mv /tmp/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp
|
mv $TMP_DIR/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp
|
||||||
sync
|
sync
|
||||||
|
|
||||||
# move KERNEL and SYSTEM to the right place
|
# move KERNEL and SYSTEM to the right place
|
||||||
@ -122,8 +124,8 @@ if [ ! -f /var/lock/update.lock ]; then
|
|||||||
mv /storage/.update/SYSTEM.tmp /storage/.update/SYSTEM
|
mv /storage/.update/SYSTEM.tmp /storage/.update/SYSTEM
|
||||||
|
|
||||||
# cleanup tmp files
|
# cleanup tmp files
|
||||||
rm -rf /tmp/$NEW_IMAGE
|
rm -rf $TMP_DIR/$NEW_IMAGE
|
||||||
rm -rf /tmp/$NEW_IMAGE.tar.bz2
|
rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2
|
||||||
rm -rf /storage/.update/*.tmp
|
rm -rf /storage/.update/*.tmp
|
||||||
|
|
||||||
# we are ready (hopefully)
|
# we are ready (hopefully)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user