[Buildroot] [git commit branch/2019.02.x] fs/common.mk: disable real chown calls in fakeroot

Peter Korsgaard peter at korsgaard.com
Sun Apr 14 20:23:37 UTC 2019

commit: https://git.buildroot.net/buildroot/commit/?id=55a098dc774e0cfe518efd218d96cd895695c847
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2019.02.x

fakeroot by default forwards {f,l,}chown calls to libc and ignores
permission issues, which may cause issues when building in restricted
environments like user namespaces as set up with bubblewrap where a chown
call with a uid/gid not mapped in the user namespace instead returns EINVAL.
This error is not masked by fakeroot and returned to the caller, causing

There is no real reason to really perform the *chown calls in the context of
Buildroot (as the calls will likely just fail and files are not accessed
outside the fakeroot environment any way).

This forwarding can be disabled by setting the FAKEROOTDONTTRYCHOWN
environment variable, so set it when fakeroot is executed.

Reported-by: Esben Nielsen <nielsen.esben at gmail.com>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
(cherry picked from commit 655acd1df02e5e9ce318aadc33bd6fa8042fc455)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
 fs/common.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/common.mk b/fs/common.mk
index a560417c6c..b361ecce25 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -138,7 +138,7 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES)
 	$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
 	chmod a+x $$(FAKEROOT_SCRIPT)
-	PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
 	$(Q)rm -rf $$(TARGET_DIR)
 ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),)

More information about the buildroot mailing list