[pacman-dev] [PATCHv2] Add support for all bzr URLs in the PKGBUILD source array

Allan McRae allan at archlinux.org
Wed Apr 10 20:56:20 EDT 2013


On 11/04/13 02:54, Maxime Gauduin wrote:
> This patch is a merge of "[PATCH] More verbose bzr branching error",
> "[PATCH 1/2] Add support for bzr lp URLs in makepkg", "[PATCH 2/2]
> Accept all bzr URLs in the source array" and "[PATCH] Fix dest dir when
> using lp: URLs in the source array". 

All of this ^ should not go in the commit message but below the "---"
after the sign-off line.

Fixed and pulled to maint.

Allan


It adds support for all bzr URLs,
> including "lp:" URLs, in the source array. This, however, requires an
> internet connection and will fall back to the current behavior for
> offline builds. In that case, only the URL reported by 'bzr config
> parent_location' run inside the local repo can be used.
> 
> Signed-off-by: Maxime Gauduin <alucryd at gmail.com>
> ---
>  scripts/makepkg.sh.in | 25 +++++++++++++++++++++----
>  1 file changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index da620a4..7319504 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -245,6 +245,9 @@ get_filename() {
>  			filename=${netfile%%#*}
>  			filename=${filename%/}
>  			filename=${filename##*/}
> +			if [[ $proto = bzr* ]]; then
> +				filename=${filename#*lp:}
> +			fi
>  			if [[ $proto = git* ]]; then
>  				filename=${filename%%.git*}
>  			fi
> @@ -269,6 +272,9 @@ get_protocol() {
>  		# strip leading filename
>  		local proto="${1##*::}"
>  		printf "%s\n" "${proto%%://*}"
> +	elif [[ $1 = *lp:* ]]; then
> +		local proto="${1##*::}"
> +		printf "%s\n" "${proto%%lp:*}"
>  	else
>  		printf "%s\n" local
>  	fi
> @@ -471,10 +477,21 @@ download_bzr() {
>  		fi
>  	elif (( ! HOLDVER )); then
>  		# Make sure we are fetching the right repo
> -		if [[ "$url" != "$(bzr config parent_location -d $dir)"  ]] ; then
> -			error "$(gettext "%s is not a branch of %s")" "$dir" "$url"
> -			plain "$(gettext "Aborting...")"
> -			exit 1
> +		local distant_url="$(bzr info $url 2> /dev/null | sed -n '/branch root/{s/  branch root: //p;q;}')"
> +		local local_url="$(bzr config parent_location -d $dir)"
> +		if [[ -n $distant_url ]]; then
> +			if [[ $distant_url != "$local_url" ]]; then
> +				error "$(gettext "%s is not a branch of %s")" "$dir" "$url"
> +				plain "$(gettext "Aborting...")"
> +				exit 1
> +			fi
> +		else
> +			if [[ $url != "$local_url" ]] ; then
> +				error "$(gettext "%s is not a branch of %s")" "$dir" "$url"
> +				error "$(gettext "The local URL is %s")" "$local_url"
> +				plain "$(gettext "Aborting...")"
> +				exit 1
> +			fi
>  		fi
>  		msg2 "$(gettext "Pulling %s ...")" "${displaylocation}"
>  		cd_safe "$dir"
> 



More information about the pacman-dev mailing list