[pacman-dev] [PATCH] makepkg: do not download VCS sources unless needed
Allan McRae
allan at archlinux.org
Sun Jul 15 10:00:37 EDT 2012
VCS sources are not needed for --geninteg or --source operations.
This also prevents VCS downloads outputting to stdout, which
prevented piping -g output to the PKGBUILD.
Signed-off-by: Allan McRae <allan at archlinux.org>
---
scripts/makepkg.sh.in | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 93587b3..8ab621a 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -511,6 +511,11 @@ download_svn() {
download_sources() {
msg "$(gettext "Retrieving Sources...")"
+ local GET_VCS=1
+ if [[ $1 == "fast" ]]; then
+ GET_VCS=0
+ fi
+
pushd "$SRCDEST" &>/dev/null
local netfile
@@ -525,10 +530,10 @@ download_sources() {
download_file "$netfile"
;;
git*)
- download_git "$netfile"
+ (( GET_VCS )) && download_git "$netfile"
;;
svn*)
- download_svn "$netfile"
+ (( GET_VCS )) && download_svn "$netfile"
;;
*)
error "$(gettext "Unknown download protocol: %s")" "$proto"
@@ -2377,7 +2382,7 @@ if (( GENINTEG )); then
mkdir -p "$srcdir"
chmod a-s "$srcdir"
cd_safe "$srcdir"
- download_sources
+ download_sources fast
generate_checksums
exit 0 # $E_OK
fi
@@ -2519,10 +2524,11 @@ if (( SOURCEONLY )); then
mkdir -p "$srcdir"
chmod a-s "$srcdir"
cd_safe "$srcdir"
- if ( (( ! SKIPCHECKSUMS )) || \
- ( (( ! SKIPPGPCHECK )) && source_has_signatures ) ) || \
- (( SOURCEONLY == 2 )); then
+ if (( SOURCEONLY == 2 )); then
download_sources
+ elif ( (( ! SKIPCHECKSUMS )) || \
+ ( (( ! SKIPPGPCHECK )) && source_has_signatures ) ); then
+ download_sources fast
fi
check_source_integrity
cd_safe "$startdir"
--
1.7.11.2
More information about the pacman-dev
mailing list