index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
author | Erich Eckner <erich.eckner.ext@bestsecret.com> | 2023-05-23 13:38:15 +0200 |
---|---|---|
committer | Erich Eckner <erich.eckner.ext@bestsecret.com> | 2023-05-23 13:38:15 +0200 |
commit | f54d2c02d5327a91e7a10f15f9221bb2a1841d9d (patch) | |
tree | c1575a1766aa3c71794e82f939e8ae7fd30ce9e5 /lib/common-functions | |
parent | 8ab642824755b58abb8390f38a475cba05fd5e07 (diff) |
-rwxr-xr-x | lib/common-functions | 12 |
diff --git a/lib/common-functions b/lib/common-functions index e6b43a5..4000336 100755 --- a/lib/common-functions +++ b/lib/common-functions @@ -457,8 +457,16 @@ extract_source_directory() { if [ -n "${revision}" ] \ && [ "${revision}" != '0000000000000000000000000000000000000000' ]; then - curl -LSs "https://buildmaster.archlinux32.org/upstream-packages/${pkgbase}-${revision}.tar.gz" \ - | tar -xz --strip-components=1 -C "${output}" -- "${pkgbase}-${revision}" + local pkgbase_translated + for substitution in '' 's@+@plus@g' 's@+@-@g'; do + pkgbase_translated=$( + printf '%s\n' "${pkgbase}" \ + | sed "${substitution}" + ) + curl -LSs "https://buildmaster.archlinux32.org/upstream-packages/${pkgbase_translated}-${revision}.tar.gz" \ + | tar -xz --strip-components=1 -C "${output}" -- "${pkgbase_translated}-${revision}" 2>/dev/null \ + && break + done if [ ! -f "${output}/PKGBUILD" ]; then >&2 printf 'failed to download/extract a PKGBUILD from upstream archlinux for %s %s\n' \ "${pkgbase}" "${revision}" |