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 <[email protected]> > --- > 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" >
