[pacman-dev] [PATCH] makepkg --packagelist: just list the built package files we will build

Allan McRae allan at archlinux.org
Thu Dec 7 05:57:44 UTC 2017


On 31/10/17 04:37, Eli Schwartz wrote:
> Currently this seems to be only theoretically useful. The most likely
> reason for wanting a packagelist is in order to script makepkg and
> derive the filenames for the packages we want to install or repo-add,
> but in the current implementation this requires a lot of additional
> post-processing which must be duplicated in every utility to wrap
> makepkg.
> 
> - It is of minimal use to know what packages might get created on some
>   other device utilizing a different CPU/OS architecture, so don't list
>   them.
> - It is non-trivial to reimplement makepkg's logic for sourcing any of
>   several makepkg.conf configuration files, then applying environment
>   overrides in order to get the PKGDEST and PKGEXT, so include them
>   directly in the returned filenames.
> 
> Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>

Needs makepkg man page update too.

> ---
>  scripts/libmakepkg/util/pkgbuild.sh.in | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/scripts/libmakepkg/util/pkgbuild.sh.in b/scripts/libmakepkg/util/pkgbuild.sh.in
> index 2a4bd3af..6cfda0b3 100644
> --- a/scripts/libmakepkg/util/pkgbuild.sh.in
> +++ b/scripts/libmakepkg/util/pkgbuild.sh.in
> @@ -149,14 +149,12 @@ print_all_package_names() {
>  	local version=$(get_full_version)
>  	local architecture pkg opts a
>  	for pkg in ${pkgname[@]}; do
> -		get_pkgbuild_attribute "$pkg" 'arch' 1 architecture
> +		architecture=$(get_pkg_arch $pkg)
>  		get_pkgbuild_attribute "$pkg" 'options' 1 opts
> -		for a in ${architecture[@]}; do
> -			printf "%s-%s-%s\n" "$pkg" "$version" "$a"
> -			if in_opt_array "debug" ${opts[@]} && in_opt_array "strip" ${opts[@]}; then
> -				printf "%s-%s-%s-%s\n" "$pkg" "@DEBUGSUFFIX@" "$version" "$a"
> -			fi
> -		done
> +		printf "%s/%s-%s-%s%s\n" "$PKGDEST" "$pkg" "$version" "$architecture" "$PKGEXT"
> +		if in_opt_array "debug" ${opts[@]} && in_opt_array "strip" ${opts[@]}; then
> +			printf "%s/%s-%s-%s-%s%s\n" "$PKGDEST" "$pkg" "@DEBUGSUFFIX@" "$version" "$architecture" "$PKGEXT"
> +		fi
>  	done
>  }
>  
> 


More information about the pacman-dev mailing list