[pacman-dev] [PATCH] makepkg: do not run prepare() with --noextract

Evangelos Foutras evangelos at foutrelis.com
Wed Feb 17 07:11:38 UTC 2016


This is partial revert of 8454daa7feef (makepkg: run pkgver() and
prepare() with --noextract).

Reasoning for the reversion (copied from FS#43498):

    Running prepare() when --noextract is used no longer allows running
    'makepkg -o && makepkg -e' with any PKGBUILD that applies patches in
    prepare(). [1]

    Sure there's --noprepare which restores the old behavior, but that's
    a lot of extra typing for what I believe is a much more common use
    of --noextract.

    For OP's use case of doing git bisects, you can specify the commit
    in the source array and thus skip --noextract since makepkg will
    checkout the correct commit each time.

    [1] I often extract the sources using 'makepkg -o', manually edit
    some source files, and then use 'makepkg -e' to package it (while
    possibly repeating the edit/package steps).
---
 doc/makepkg.8.txt     | 10 +++++-----
 scripts/makepkg.sh.in |  6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt
index 6f3f6b0..2dff1b1 100644
--- a/doc/makepkg.8.txt
+++ b/doc/makepkg.8.txt
@@ -55,11 +55,11 @@ Options
 	installed.
 
 *-e, \--noextract*::
-	Do not extract source files; use whatever source already exists in the
-	$srcdir/ directory. This is handy if you want to go into $srcdir/ and
-	manually patch or tweak code, then make a package out of the result.
-	Keep in mind that creating a patch may be a better solution to allow
-	others to use your PKGBUILD.
+	Do not extract source files or run the prepare() function (if present);
+	use whatever source already exists in the $srcdir/ directory. This is
+	handy if you want to go into $srcdir/ and manually patch or tweak code,
+	then make a package out of the result. Keep in mind that creating a
+	patch may be a better solution to allow others to use your PKGBUILD.
 
 *\--verifysource*::
 	For each source file in the source array of PKGBUILD, download the file
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 80b95f4..2fa3058 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -2206,6 +2206,9 @@ if (( !REPKG )); then
 		fi
 
 		extract_sources
+		if (( PREPAREFUNC )); then
+			run_prepare
+		fi
 	fi
 
 	if (( PKGVERFUNC )); then
@@ -2213,9 +2216,6 @@ if (( !REPKG )); then
 		basever=$(get_full_version)
 		check_build_status
 	fi
-	if (( PREPAREFUNC )); then
-		run_prepare
-	fi
 fi
 
 if (( NOBUILD )); then
-- 
2.7.1


More information about the pacman-dev mailing list