summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2013-05-15 09:58:42 -0400
committerAllan McRae <allan@archlinux.org>2013-05-18 10:42:30 +1000
commit72c6d19d64a89a5ad0d162fc0bb6517ea80fc252 (patch)
treeeee4334bb936549c42dfd340a6e32f9038086a96
parenta4a7336dff8155cfeb37341d1e9e56092439bae6 (diff)
downloadpacman-72c6d19d64a89a5ad0d162fc0bb6517ea80fc252.tar.xz
makepkg: fixup broken revision and repo references
bzr support "worked", but didn't handle any of the actual features we wanted with makepkg. This moves the revision specification to the proper place (extraction, rather than download), and fixes an additional broken reference to $repo which was never set. Fixes FS#35281. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in36
1 files changed, 18 insertions, 18 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 75ddfe54..2379c5fe 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -448,29 +448,14 @@ download_bzr() {
url=${url%%#*}
local repo=$(get_filename "$netfile")
-
local displaylocation="$url"
- local revision=('-r-1')
-
- if [[ -n $fragment ]]; then
- case ${fragment%%=*} in
- revision)
- revision=("-r${fragment##*=}")
- displaylocation="$url -r ${fragment##*=}"
- ;;
- *)
- error "$(gettext "Unrecognized reference: %s")" "${fragment}"
- plain "$(gettext "Aborting...")"
- exit 1
- esac
- fi
local dir=$(get_filepath "$netfile")
[[ -z "$dir" ]] && dir="$SRCDEST/$(get_filename "$netfile")"
if [[ ! -d "$dir" ]] || dir_is_empty "$dir" ; then
msg2 "$(gettext "Branching %s ...")" "${displaylocation}"
- if ! bzr branch "$url" "$dir" ${revision[@]} --no-tree --use-existing-dir; then
+ if ! bzr branch "$url" "$dir" --no-tree --use-existing-dir; then
error "$(gettext "Failure while branching %s")" "${displaylocation}"
plain "$(gettext "Aborting...")"
exit 1
@@ -495,7 +480,7 @@ download_bzr() {
fi
msg2 "$(gettext "Pulling %s ...")" "${displaylocation}"
cd_safe "$dir"
- if ! bzr pull "$url" ${revision[@]} --overwrite; then
+ if ! bzr pull "$url" --overwrite; then
# only warn on failure to allow offline builds
warning "$(gettext "Failure while pulling %s")" "${displaylocation}"
fi
@@ -505,11 +490,25 @@ download_bzr() {
extract_bzr() {
local netfile=$1
+ local repo=$(get_filename "$netfile")
local fragment=${netfile#*#}
if [[ $fragment = "$netfile" ]]; then
unset fragment
fi
+ if [[ -n $fragment ]]; then
+ case ${fragment%%=*} in
+ revision)
+ revision=("-r" "${fragment#*=}")
+ displaylocation="$url -r ${fragment#*=}"
+ ;;
+ *)
+ error "$(gettext "Unrecognized reference: %s")" "${fragment}"
+ plain "$(gettext "Aborting...")"
+ exit 1
+ esac
+ fi
+
local dir=$(get_filepath "$netfile")
[[ -z "$dir" ]] && dir="$SRCDEST/$(get_filename "$netfile")"
@@ -517,7 +516,8 @@ extract_bzr() {
pushd "$srcdir" &>/dev/null
rm -rf "${dir##*/}"
- if ! bzr checkout "$dir" --lightweight; then
+ if ! { bzr checkout "$dir" "${revision[@]}" --lightweight &&
+ ( cd "$repo" && bzr pull "$dir" -q --overwrite "${revision[@]}" ); }; then
error "$(gettext "Failure while creating working copy of %s %s repo")" "${repo}" "bzr"
plain "$(gettext "Aborting...")"
exit 1