[pacman-dev] [PATCH v3] makepkg: fix broken check for the fakeroot binary

Eli Schwartz eschwartz at archlinux.org
Fri Jan 4 05:26:28 UTC 2019

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

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>

v3: as originally reviewed, set BUILDPKG=0 when not actually building
package artifacts.

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

diff --git a/scripts/libmakepkg/executable/fakeroot.sh.in b/scripts/libmakepkg/executable/fakeroot.sh.in
index 56c1b3fd..09064543 100644
--- a/scripts/libmakepkg/executable/fakeroot.sh.in
+++ b/scripts/libmakepkg/executable/fakeroot.sh.in
@@ -28,7 +28,7 @@ source "$LIBRARY/util/option.sh"
 executable_fakeroot() {
-	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"
 			return 1

More information about the pacman-dev mailing list