[aur-general] Support for source mirror lists in PKGBUILD

Ido Rosen ido at kernel.org
Thu Oct 31 13:46:07 EDT 2013


Hi everyone,
  What's the current recommended way to support multiple mirrors for the
same source file in a PKGBUILD?  For example, I have xyz-123.tar.gz that
can be downloaded from any of "http://a.example.com/xyz-123.tar.gz"  "
http://b.example.com/xyz-123.tar.gz"
"http://c.example.com/xyz-123.tar.gz"...but
one of these may be down at any given time.

If there's no support for this in the sources array itself, we should
strongly consider adding it.  For example, an ad-hoc way:

_pick_source_mirror() {
  # ... do something smart in here
}
source=(
    "xyz-123::$(_pick_source_mirror(
        http://a.example.com/xyz-123.tar.gz
        http://b.example.com/xyz-123.tar.gz
        http://c.example.com/xyz-123.tar.gz
    ))"
)

A less ad-hoc way:
source() {
#...some code that returns a list of URLs/files
}

Another way:
source=(...files without mirrors as usual...)
sourcemirrored=( xyz-123::($mirroraURL $mirrorbURL $mirrorcURL) )

Mirrored sources seem like a common enough phenomenon that it's worth
special treatment to make the source PKGBUILD variable more versatile if
they're not currently supported.  Thoughts?

Ido


More information about the aur-general mailing list