index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
-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}" |