[pacman-dev] [PATCH v2 2/2] makepkg: fix broken check for the fakeroot binary

Eli Schwartz eschwartz at archlinux.org
Wed Nov 14 01:55:48 UTC 2018


In commit d8ee8d0c99c3820951e2e49dbdb71a5390bd1dc4 we made use of
fakeroot absolutely mandatory, and disabled a lot of the code which
checked to see if this now-defunct BUILDENV option was set, before
setting up the environment to use fakeroot. Unfortunately, we missed one
spot.

The check_software routine still checked to see if fakeroot was
enabled, but due to the option being removed, thought that it was in
fact disabled, and as a result this check would never run.

Fix by checking to see if we are trying to build either a package or a
source package, and if so, checking for fakeroot. These are the only two
situations where fakeroot is needed.

Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
---

v2: add check to see if we need fakeroot

 scripts/makepkg.sh.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index be8b761e..21d59814 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -993,7 +993,7 @@ check_software() {
 	fi
 
 	# fakeroot - correct package file permissions
-	if check_buildenv "fakeroot" "y" && (( EUID > 0 )); then
+	if (( SOURCEONLY || BUILDPKG )); then
 		if ! type -p fakeroot >/dev/null; then
 			error "$(gettext "Cannot find the %s binary.")" "fakeroot"
 			ret=1
-- 
2.19.1


More information about the pacman-dev mailing list