[pacman-dev] [PATCH 3/3] PKGBUILD: add support for arch-specific sources
Andrew Gregory
andrew.gregory.8 at gmail.com
Sun Aug 10 17:18:49 EDT 2014
On 08/07/14 at 08:46pm, Dave Reisner wrote:
> This implements support for declarations such as:
>
> arch=('i686' 'x86_64')
> ...
>
> source=("somescript.sh")
> source_i686=("http://evilmonster.com/i686/ponies-9001-1.i686.bin")
> source_x86_64=("http://evilmonster.com/i686/ponies-9001-1.x86_64.bin")
>
> md5sums=('d41d8cd98f00b204e9800998ecf8427e')
> md5sums_i686=('e4ca381035a34b7a852184cc0dd89baa')
> md5sums_x86_64=('4019740e6998f30a3c534bac6a83f582')
>
> Just the same as the "untagged" sources, multiple integrity algorithms
> are supported. The manpage is updated to reflect support for these
> suffices.
> ---
> doc/PKGBUILD.5.txt | 4 ++
> scripts/makepkg.sh.in | 104 +++++++++++++++++++++++++++++++++++++++++---------
> 2 files changed, 90 insertions(+), 18 deletions(-)
...
> @@ -710,8 +742,8 @@ download_sources() {
> GET_VCS=0
> fi
>
> - local netfile
> - for netfile in "${source[@]}"; do
> + get_all_sources_for_arch 'all_sources'
> + for netfile in "${all_sources[@]}"; do
> pushd "$SRCDEST" &>/dev/null
>
> local proto=$(get_protocol "$netfile")
...
> @@ -2065,8 +2131,10 @@ create_srcpackage() {
> msg2 "$(gettext "Adding %s...")" "$BUILDSCRIPT"
> ln -s "${BUILDFILE}" "${srclinks}/${pkgbase}/${BUILDSCRIPT}"
>
> - local file
> - for file in "${source[@]}"; do
> + local file all_sources
> +
> + get_all_sources all_sources 'all_sources'
It looks like get_all_sources only takes one argument but you're
passing two.
> + for file in "${all_sources[@]}"; do
> if [[ "$file" = "$(get_filename "$file")" ]] || (( SOURCEONLY == 2 )); then
> local absfile
> absfile=$(get_filepath "$file") || missing_source_file "$file"
Doesn't this break --allsource packages? This attempts to add *all*
sources but only the arch-specific sources are ever downloaded. It
should also probably be noted somewhere that all sources must have
unique names even between different architectures, for example the
following will confuse create_srcpackage:
source_i686=( "http://evilmonster.com/i686/ponies-9001-1.bin")
source_x86_64=("http://evilmonster.com/x64/ponies-9001-1.bin")
apg
More information about the pacman-dev
mailing list