core: 修复下载失败时返回值为 0
This commit is contained in:
parent
e92dcb86a9
commit
048ee61ecc
@ -2587,7 +2587,7 @@ mod_initrd_alpine() {
|
|||||||
# hack 1 v3.19 和之前的 virt 内核需添加 ipv6 模块
|
# hack 1 v3.19 和之前的 virt 内核需添加 ipv6 模块
|
||||||
if virt_dir=$(ls -d $initrd_dir/lib/modules/*-virt 2>/dev/null); then
|
if virt_dir=$(ls -d $initrd_dir/lib/modules/*-virt 2>/dev/null); then
|
||||||
ipv6_dir=$virt_dir/kernel/net/ipv6
|
ipv6_dir=$virt_dir/kernel/net/ipv6
|
||||||
if ! [ -f $ipv6_dir/ipv6.ko ] || ! grep -q ipv6 $initrd_dir/lib/modules/*/modules.builtin; then
|
if ! [ -f $ipv6_dir/ipv6.ko ] && ! grep -q ipv6 $initrd_dir/lib/modules/*/modules.builtin; then
|
||||||
mkdir -p $ipv6_dir
|
mkdir -p $ipv6_dir
|
||||||
modloop_file=$tmp/modloop_file
|
modloop_file=$tmp/modloop_file
|
||||||
modloop_dir=$tmp/modloop_dir
|
modloop_dir=$tmp/modloop_dir
|
||||||
|
50
trans.sh
50
trans.sh
@ -64,27 +64,13 @@ add_community_repo() {
|
|||||||
# 有时网络问题下载失败,导致脚本中断
|
# 有时网络问题下载失败,导致脚本中断
|
||||||
# 因此需要重试
|
# 因此需要重试
|
||||||
apk() {
|
apk() {
|
||||||
for i in $(seq 5); do
|
retry 5 command apk "$@"
|
||||||
command apk "$@" && return
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# busybox 的 wget 没有重试功能
|
# busybox 的 wget 没有重试功能
|
||||||
wget() {
|
wget() {
|
||||||
echo "$@" | grep -o 'http[^ ]*' >&2
|
echo "$@" | grep -o 'http[^ ]*' >&2
|
||||||
for i in $(seq 5); do
|
retry 5 command wget "$@"
|
||||||
if command wget "$@"; then
|
|
||||||
return
|
|
||||||
else
|
|
||||||
ret=$?
|
|
||||||
# 错误,或者达到重试次数
|
|
||||||
if [ $i -eq 5 ]; then
|
|
||||||
return $ret
|
|
||||||
fi
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is_have_cmd() {
|
is_have_cmd() {
|
||||||
@ -103,6 +89,23 @@ is_have_cmd_on_disk() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
retry() {
|
||||||
|
max_try=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
for i in $(seq $max_try); do
|
||||||
|
if "$@"; then
|
||||||
|
return
|
||||||
|
else
|
||||||
|
ret=$?
|
||||||
|
if [ $i -ge $max_try ]; then
|
||||||
|
return $ret
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
download() {
|
download() {
|
||||||
url=$1
|
url=$1
|
||||||
path=$2
|
path=$2
|
||||||
@ -153,15 +156,11 @@ download() {
|
|||||||
# --user-agent=Wget/1.21.1 \
|
# --user-agent=Wget/1.21.1 \
|
||||||
|
|
||||||
echo "$url"
|
echo "$url"
|
||||||
for i in $(seq 5); do
|
retry 5 stdbuf -oL -eL aria2c -x4 \
|
||||||
stdbuf -oL -eL \
|
--allow-overwrite=true \
|
||||||
aria2c -x4 \
|
--summary-interval=0 \
|
||||||
--allow-overwrite=true \
|
--max-tries 1 \
|
||||||
--summary-interval=0 \
|
$save "$url"
|
||||||
--max-tries 1 \
|
|
||||||
$save $url && return
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update_part() {
|
update_part() {
|
||||||
@ -1057,7 +1056,6 @@ EOF
|
|||||||
if ! is_virt; then
|
if ! is_virt; then
|
||||||
chroot $os_dir pacman -Syu --noconfirm linux-firmware
|
chroot $os_dir pacman -Syu --noconfirm linux-firmware
|
||||||
|
|
||||||
# amd microcode 包括在 linux-firmware 里面
|
|
||||||
if [ "$(uname -m)" = x86_64 ]; then
|
if [ "$(uname -m)" = x86_64 ]; then
|
||||||
cpu_vendor="$(get_cpu_vendor)"
|
cpu_vendor="$(get_cpu_vendor)"
|
||||||
case "$cpu_vendor" in
|
case "$cpu_vendor" in
|
||||||
|
Loading…
Reference in New Issue
Block a user