[pacman-dev] [PATCHv2] Add support for all bzr URLs in the PKGBUILD source array
Maxime GAUDUIN
alucryd at gmail.com
Thu Apr 11 02:53:14 EDT 2013
On Apr 11, 2013 2:56 AM, "Allan McRae" <allan at archlinux.org> wrote:
>
> 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"
> >
>
>
Thank you, by my third or fourth patch l may have made all possible
mistakes. Thx for pointing them out.
--
Maxime
More information about the pacman-dev
mailing list