[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