[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