aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Peter Korsgaard <peter@korsgaard.com>2019-04-03 22:13:25 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-04-06 19:12:09 +0200
commit655acd1df02e5e9ce318aadc33bd6fa8042fc455 (patch)
tree4d3a646051851091e6129a74f16193554e2915a3
parentc45394c1b03dd79f39a017a14922a5d1f82de50b (diff)
downloadbuildroot-655acd1df02e5e9ce318aadc33bd6fa8042fc455.tar.gz
buildroot-655acd1df02e5e9ce318aadc33bd6fa8042fc455.tar.bz2
fs/common.mk: disable real chown calls in fakeroot
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 failures. 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@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--fs/common.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/common.mk b/fs/common.mk
index daa43efd75..4ad51fdd0a 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -146,7 +146,7 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES)
$$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT)
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
chmod a+x $$(FAKEROOT_SCRIPT)
- PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
+ PATH=$$(BR_PATH) FAKEROOTDONTTRYCHOWN=1 $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
$(Q)rm -rf $$(TARGET_DIR)
ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),)
PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT)