From 6a757a93556770f227be9bdd85ce68c44d047777 Mon Sep 17 00:00:00 2001 From: davidovski Date: Tue, 12 Apr 2022 12:16:47 +0100 Subject: added serial downloads and checking for root --- src/install.sh | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'src/install.sh') diff --git a/src/install.sh b/src/install.sh index a251820..8631251 100644 --- a/src/install.sh +++ b/src/install.sh @@ -1,7 +1,7 @@ #!/bin/sh extract () { - tar -h -p --no-overwrite-dir -vvxf $1 -C ${SYSROOT} 2>/dev/null | grep ^- | tr -s " " | cut -d" " -f6 | cut -c2- + tar -h --keep-old-files -p -vvxf $1 -C ${SYSROOT} 2>${LOG_FILE} | grep ^- | tr -s " " | cut -d" " -f6 | cut -c2- } install_package () { @@ -17,32 +17,28 @@ install_package () { set -- $(md5sum $pkg_file) local package_checksum=$1 if [ ! -f $checksum ] || [ "$(cat $checksum)" != "$package_checksum" ]; then - mkdir -p "$installed_dir" - [ -f $files ] && mv $files $files.old + [ ! -d $installed_dir ] && mkdir -p "$installed_dir" + + [ -f "$files" ] && { + for file in $(cat $files); do + rm -f ${SYSROOT}$file + done + rm $files + } + ${VERBOSE} && printf "${BLACK}Extracting $name...\n" extract $pkg_file > $files [ -f $info_file ] && cp $info_file $info - echo $package_checksum > $checksum - - - if [ -f "$files.old" ]; then - for file in $(diff $files $files.old | grep ^\> | cut -d' ' -f2); do - rm -f ${SYSROOT}$file - done - rm $files.old - fi return 0 - else - ${VERBOSE} && printf "${BLACK}Skipping $name; already installed...\n" - return 1 fi + ${VERBOSE} && printf "${BLACK}Skipping $name; already installed...\n" + return 1 } get_package_filecount() { - local info=$(get_package_download_info $1) - set -- $info + set -- $(get_package_download_info $1) echo $4 } -- cgit v1.2.1