Browse Source
1. post download checksum verification 2. detect hashes without prefix 3. add optional --destination 4. updated man__download_improvements
9 changed files with 291 additions and 97 deletions
@ -1,19 +0,0 @@
|
||||
#!/bin/sh -e |
||||
|
||||
if [ -f "$__object/parameter/cmd-get" ] |
||||
then |
||||
cmd="$( cat "$__object/parameter/cmd-get" )" |
||||
|
||||
elif command -v curl > /dev/null |
||||
then |
||||
cmd="curl -L -o - '%s'" |
||||
|
||||
elif command -v fetch > /dev/null |
||||
then |
||||
cmd="fetch -o - '%s'" |
||||
|
||||
else |
||||
cmd="wget -O - '%s'" |
||||
fi |
||||
|
||||
echo "$cmd" |
@ -0,0 +1,16 @@
|
||||
#!/bin/sh -e |
||||
|
||||
if [ -f "$__object/parameter/cmd-get" ] |
||||
then |
||||
cat "$__object/parameter/cmd-get" |
||||
elif |
||||
command -v curl > /dev/null |
||||
then |
||||
echo "curl -sSL -o - '%s'" |
||||
elif |
||||
command -v fetch > /dev/null |
||||
then |
||||
echo "fetch -o - '%s'" |
||||
else |
||||
echo "wget -O - '%s'" |
||||
fi |
@ -0,0 +1,82 @@
|
||||
#!/bin/sh -e |
||||
|
||||
if [ ! -f "$__object/parameter/sum" ] |
||||
then |
||||
exit 0 |
||||
fi |
||||
|
||||
if [ -f "$__object/parameter/cmd-sum" ] |
||||
then |
||||
cat "$__object/parameter/cmd-sum" |
||||
exit 0 |
||||
fi |
||||
|
||||
sum_should="$( cat "$__object/parameter/sum" )" |
||||
|
||||
if echo "$sum_should" | grep -Fq ':' |
||||
then |
||||
sum_hash="$( echo "$sum_should" | cut -d : -f 1 )" |
||||
else |
||||
if echo "$sum_should" | grep -Eq '^[0-9]+\s[0-9]+$' |
||||
then |
||||
sum_hash='cksum' |
||||
elif |
||||
echo "$sum_should" | grep -Eiq '^[a-f0-9]{32}$' |
||||
then |
||||
sum_hash='md5' |
||||
elif |
||||
echo "$sum_should" | grep -Eiq '^[a-f0-9]{40}$' |
||||
then |
||||
sum_hash='sha1' |
||||
elif |
||||
echo "$sum_should" | grep -Eiq '^[a-f0-9]{64}$' |
||||
then |
||||
sum_hash='sha256' |
||||
else |
||||
echo 'hash format detection failed' >&2 |
||||
exit 1 |
||||
fi |
||||
fi |
||||
|
||||
os="$( "$__explorer/os" )" |
||||
|
||||
case "$sum_hash" in |
||||
cksum) |
||||
echo "cksum %s | awk '{print \$1\" \"\$2}'" |
||||
;; |
||||
md5) |
||||
case "$os" in |
||||
freebsd) |
||||
echo "md5 -q %s" |
||||
;; |
||||
*) |
||||
echo "md5sum %s | awk '{print \$1}'" |
||||
;; |
||||
esac |
||||
;; |
||||
sha1) |
||||
case "$os" in |
||||
freebsd) |
||||
echo "sha1 -q %s" |
||||
;; |
||||
*) |
||||
echo "sha1sum %s | awk '{print \$1}'" |
||||
;; |
||||
esac |
||||
;; |
||||
sha256) |
||||
case "$os" in |
||||
freebsd) |
||||
echo "sha256 -q %s" |
||||
;; |
||||
*) |
||||
echo "sha256sum %s | awk '{print \$1}'" |
||||
;; |
||||
esac |
||||
;; |
||||
*) |
||||
# we arrive here only if --sum is given with unknown format prefix |
||||
echo "unknown hash format: $sum_hash" >&2 |
||||
exit 1 |
||||
;; |
||||
esac |
@ -1,6 +1,6 @@
|
||||
#!/bin/sh -e |
||||
|
||||
if grep -Eq '^wget' "$__object/explorer/remote_cmd" |
||||
if grep -Eq '^wget' "$__object/explorer/remote_cmd_get" |
||||
then |
||||
__package wget |
||||
fi |
||||
|
Loading…
Reference in new issue