abuild: rename distfile copy when checksum does not match

The previous deletion of file did not work properly at all. Fix
this instead to rename the file, so we keep the previous download.
This allows builders to redownload upstream file if the checksum
has been changed in aports.
This commit is contained in:
Timo Teräs 2016-07-08 13:44:31 +03:00
parent 580dd46c58
commit 90899669c2
1 changed files with 7 additions and 4 deletions

View File

@ -247,11 +247,14 @@ sumcheck() {
if [ $? -ne 0 ]; then
endreturnval=1
is_remote $origin || continue
echo "Because the remote file above failed the ${algo}sum check it will be deleted."
local csum="${src:0:8}"
local file="$SRCDEST/$(filename_from_uri $origin)"
echo "Because the remote file above failed the ${algo}sum check it will be renamed."
echo "Rebuilding will cause it to re-download which in some cases may fix the problem."
file=`echo "$src" | sed 's/.*[ \t\n]\(.*\)/\1/'`
echo "Deleting: $file"
rm $file
echo "Renaming: ${file##*/} to ${file##*/}.$csum"
mv "$file" "$file.$csum"
fi
done
unset IFS