Skip to content

Commit 2dc9b5d

Browse files
committed
[repro] Check for zst package extensions
Signed-off-by: Morten Linderud <morten@linderud.pw>
1 parent 4452fbe commit 2dc9b5d

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

buildinfo

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,12 @@ readonly archive_url="https://archive.archlinux.org/packages"
7171

7272
# Desc: get ALA link for given package
7373
# 1: Package
74+
# 2: Package compression
7475
function get_archive_link () {
7576
local pkg="$(rev <<< "${1}")"
77+
local ext="${2}"
7678
local pkgname="$(cut -d'-' -f4- <<< "${pkg}" | rev)"
77-
echo "${archive_url}/${1:0:1}/${pkgname}/${1}.pkg.tar.xz"
79+
echo "${archive_url}/${1:0:1}/${pkgname}/${1}.pkg.tar.${ext}"
7880
}
7981

8082
# Desc: check validity of archive URL
@@ -97,21 +99,23 @@ function download_archive_package () {
9799
else
98100
local pwd="$(pwd)"
99101
local workdir="$(mktemp -d)"
100-
local target="$(get_archive_link "${1}")"
101102
cd "${workdir}" || exit 1
102-
if verify_archive_link "${target}"; then
103-
echo "Downloading ${filename}" >&2
104-
curl -L "${target}" -o "${filename}" 2>/dev/null
105-
curl -L "${target}.sig" -o "${filename}.sig" 2>/dev/null
106-
if gpg --keyring /etc/pacman.d/gnupg/pubring.gpg --verify "${filename}.sig" "${filename}" 2>/dev/null; then
107-
mv "${filename}" "${cachedir}/"
108-
echo "${2}/${filename}"
109-
else
110-
echo "${filename} doesn't pass signature verification" >&2
111-
echo "check ${workdir}" >&2
112-
exit 1
103+
for ext in zstd xz; do
104+
local target="$(get_archive_link "${1}" "$ext")"
105+
if verify_archive_link "${target}"; then
106+
echo "Downloading ${filename}" >&2
107+
curl -L "${target}" -o "${filename}" 2>/dev/null
108+
curl -L "${target}.sig" -o "${filename}.sig" 2>/dev/null
109+
if gpg --keyring /etc/pacman.d/gnupg/pubring.gpg --verify "${filename}.sig" "${filename}" 2>/dev/null; then
110+
mv "${filename}" "${cachedir}/"
111+
echo "${2}/${filename}"
112+
else
113+
echo "${filename} doesn't pass signature verification" >&2
114+
echo "check ${workdir}" >&2
115+
exit 1
116+
fi
113117
fi
114-
fi
118+
done
115119
cd "${pwd}" || exit 1
116120
rm -r "${workdir}"
117121
fi

0 commit comments

Comments
 (0)