From 7e1fd18d3755e4bdeebd0378dba81a3b052b08c0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 28 Feb 2011 00:26:57 +0100 Subject: [PATCH] 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 --- .../tools/autoupdate/scripts/autoupdate.devel | 28 ++++++++++--------- .../autoupdate/scripts/autoupdate.release | 28 ++++++++++--------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/packages/tools/autoupdate/scripts/autoupdate.devel b/packages/tools/autoupdate/scripts/autoupdate.devel index 6121a2e8a2..2e76ccbc35 100755 --- a/packages/tools/autoupdate/scripts/autoupdate.devel +++ b/packages/tools/autoupdate/scripts/autoupdate.devel @@ -21,6 +21,7 @@ ################################################################################ OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml" +TMP_DIR="$HOME/.xbmc/temp" if [ -f /etc/update.conf ]; then . /etc/update.conf @@ -42,10 +43,10 @@ fi download () { case "$DL_METHOD" in wget) - wget -c $1 -P /tmp + wget -c $1 -P $TMP_DIR ;; scp) - scp $SCP_ARG "$1" /tmp + scp $SCP_ARG "$1" $TMP_DIR ;; esac } @@ -67,13 +68,13 @@ if [ ! -f /var/lock/update.lock ]; then THIS_VERSION="`cat /etc/version`" # get infofile with the latest released version - rm -rf /tmp/latest + rm -rf $TMP_DIR/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"`" - rm -rf /tmp/latest + rm -rf $TMP_DIR/latest # compare installed version with latest released version 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 # downloading the new version + rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2 download "$UPDATEURL/$NEW_IMAGE.tar.bz2" # extract the image - rm -rf /tmp/$NEW_IMAGE - tar -xjvf /tmp/$NEW_IMAGE.tar.bz2 -C /tmp + rm -rf $TMP_DIR/$NEW_IMAGE + tar -xjvf $TMP_DIR/$NEW_IMAGE.tar.bz2 -C $TMP_DIR # move KERNEL and SYSTEM to an temporary file mkdir -p /storage/.update - [ -f /tmp/$NEW_IMAGE/target/KERNEL ] && \ - mv /tmp/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp + [ -f $TMP_DIR/$NEW_IMAGE/target/KERNEL ] && \ + mv $TMP_DIR/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp - [ -f /tmp/$NEW_IMAGE/target/SYSTEM ] && \ - mv /tmp/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp + [ -f $TMP_DIR/$NEW_IMAGE/target/SYSTEM ] && \ + mv $TMP_DIR/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp sync # 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 # cleanup tmp files - rm -rf /tmp/$NEW_IMAGE - rm -rf /tmp/$NEW_IMAGE.tar.bz2 + rm -rf $TMP_DIR/$NEW_IMAGE + rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2 rm -rf /storage/.update/*.tmp # we are ready (hopefully) diff --git a/packages/tools/autoupdate/scripts/autoupdate.release b/packages/tools/autoupdate/scripts/autoupdate.release index 309ce8968a..e16401805e 100755 --- a/packages/tools/autoupdate/scripts/autoupdate.release +++ b/packages/tools/autoupdate/scripts/autoupdate.release @@ -21,6 +21,7 @@ ################################################################################ OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml" +TMP_DIR="$HOME/.xbmc/temp" if [ -f /etc/update.conf ]; then . /etc/update.conf @@ -42,10 +43,10 @@ fi download () { case "$DL_METHOD" in wget) - wget -c $1 -P /tmp + wget -c $1 -P $TMP_DIR ;; scp) - scp $SCP_ARG "$1" /tmp + scp $SCP_ARG "$1" $TMP_DIR ;; esac } @@ -70,13 +71,13 @@ if [ ! -f /var/lock/update.lock ]; then THIS_PATCH="`echo "$THIS_VERSION" | cut -d "." -f3`" # get infofile with the latest released version - rm -rf /tmp/latest + rm -rf $TMP_DIR/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`" - rm -rf /tmp/latest + rm -rf $TMP_DIR/latest # compare installed version with latest released version NEW_MAJOR="`echo "$NEW_VERSION" | cut -d "." -f1`" @@ -101,20 +102,21 @@ if [ ! -f /var/lock/update.lock ]; then touch /var/lock/update.lock # downloading the new version + rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2 download "$UPDATEURL/$NEW_IMAGE.tar.bz2" # extract the image - rm -rf /tmp/$NEW_IMAGE - tar -xjvf /tmp/$NEW_IMAGE.tar.bz2 -C /tmp + rm -rf $TMP_DIR/$NEW_IMAGE + tar -xjvf $TMP_DIR/$NEW_IMAGE.tar.bz2 -C $TMP_DIR # move KERNEL and SYSTEM to an temporary file mkdir -p /storage/.update - [ -f /tmp/$NEW_IMAGE/target/KERNEL ] && \ - mv /tmp/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp + [ -f $TMP_DIR/$NEW_IMAGE/target/KERNEL ] && \ + mv $TMP_DIR/$NEW_IMAGE/target/KERNEL /storage/.update/KERNEL.tmp - [ -f /tmp/$NEW_IMAGE/target/SYSTEM ] && \ - mv /tmp/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp + [ -f $TMP_DIR/$NEW_IMAGE/target/SYSTEM ] && \ + mv $TMP_DIR/$NEW_IMAGE/target/SYSTEM /storage/.update/SYSTEM.tmp sync # 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 # cleanup tmp files - rm -rf /tmp/$NEW_IMAGE - rm -rf /tmp/$NEW_IMAGE.tar.bz2 + rm -rf $TMP_DIR/$NEW_IMAGE + rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2 rm -rf /storage/.update/*.tmp # we are ready (hopefully)