support for resuming partial downloads. check md5 in separate step

This commit is contained in:
Natanael Copa 2008-10-25 09:33:55 +00:00
parent ade4a54a16
commit 91465846cc
1 changed files with 14 additions and 13 deletions

27
abuild
View File

@ -23,7 +23,7 @@ pkgrel=0
SRCDEST=${SRCDEST:-$startdir}
PKGDEST=${PKGDEST:-$startdir}
default_cmds="checkdeps clean fetch unpack rootpkg"
default_cmds="checkdeps clean fetch checkmd5 unpack rootpkg"
all_cmds="checksum fetch unpack rootpkg build package cleancache clean srcpkg"
# functions
@ -56,20 +56,26 @@ checkdeps() {
}
checkmd5() {
( cd "$SRCDEST" && echo "$md5sums" | awk '$2 == "'$1'" { print $0 } ' \
| md5sum -c )
if [ -z "$md5sums" ]; then
die "Use 'abuild checksum >>$APKBUILD' to generate a checksum"
fi
cd "$srcdir" && echo "$md5sums" | md5sum -c
}
uri_fetch() {
local uri="$1"
local d="${s##*/}" # $(basename $s)
local q
[ -n "$quiet" ] && q="-q"
local opts
[ -n "$quiet" ] && opts="-q"
[ -f "$SRCDEST/$d" ] && return 0
mkdir -p "$SRCDEST"
if ! [ -f "$SRCDEST/$d" ] || ! checkmd5 "$d" 2>/dev/null; then
rm -f "$SRCDEST/$d"
wget $q -c -P "$SRCDEST" "$uri" && checkmd5 "$d"
if [ -f "$SRCDEST/$d.part" ]; then
msg "Partial download found. Trying to resume"
opts="$opts -c"
fi
wget $opts -O "$SRCDEST/$d.part" "$uri" \
&& mv "$SRCDEST/$d.part" "$SRCDEST/$d"
}
fetch() {
@ -80,10 +86,6 @@ fetch() {
http://*|ftp://*)
uri_fetch "$s" || return 1
;;
*)
[ -n "$genchecksum" ] && continue
checkmd5 "${s##*/}" || return 1
;;
esac
ln -sf "$SRCDEST/${s##*/}" "$srcdir"/
done
@ -92,7 +94,6 @@ fetch() {
# unpack the sources
unpack() {
local u
[ -z "$md5sums" ] && die "Use 'abuild checksum >>$APKBUILD' to generate a checksum"
mkdir -p "$srcdir"
for u in $source; do
local s="$SRCDEST/${u##*/}" # $(basename $s)