On Tue, 2013-04-09 at 11:46 +1000, Allan McRae wrote:
On 08/04/13 20:33, Maxime Gauduin wrote:
From: Alucryd alucryd@gmail.com
This check will run 'bzr info' on the distant URL provided in the source array and compare the branch root URL with the output of 'bzr config parent_location' run inside the local repo to make sure we are building from the right sources. Previously, the check was only run locally, as a result the local parent_location had to be used in the source array. makepkg will fallback to this behavior for offline builds.
Signed-off-by: Maxime Gauduin alucryd@gmail.com
scripts/makepkg.sh.in | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index d5b9077..0ac4975 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -474,10 +474,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 | grep root | sed 's| branch root: ||')"
Does this need an LC_ALL=C in the front?
I tried several locales, it seems bzr info always outputs in english, there should be no need for this.
local local_url="$(bzr config parent_location -d $dir)"
if [[ ! -z "$distant_url" ]]; then
if [[ -n ... ?
Yeah, I put the ! in front without even thinking, -n is indeed better.
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 msg2 "$(gettext "Pulling %s ...")" "${displaylocation}" cd_safe "$dir"fi
Thank you for taking care of the modifications.
Cheers. -- Maxime