summaryrefslogtreecommitdiffstats
path: root/scripts/makepkg.sh.in
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2013-05-15 15:58:42 +0200
committerAllan McRae <allan@archlinux.org>2013-05-18 02:42:30 +0200
commit72c6d19d64a89a5ad0d162fc0bb6517ea80fc252 (patch)
treeeee4334bb936549c42dfd340a6e32f9038086a96 /scripts/makepkg.sh.in
parenta4a7336dff8155cfeb37341d1e9e56092439bae6 (diff)
downloadpacman-72c6d19d64a89a5ad0d162fc0bb6517ea80fc252.tar.gz
pacman-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>
Diffstat (limited to 'scripts/makepkg.sh.in')
-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