diff options
| -rw-r--r-- | target/tar/tarroot.mk | 29 | 
1 files changed, 21 insertions, 8 deletions
| diff --git a/target/tar/tarroot.mk b/target/tar/tarroot.mk index e85030b97..d58198f70 100644 --- a/target/tar/tarroot.mk +++ b/target/tar/tarroot.mk @@ -6,17 +6,30 @@  TAR_OPTS := $(strip $(BR2_TARGET_ROOTFS_TAR_OPTIONS)) -TAR_TARGET := $(IMAGE).tar - -$(TAR_TARGET): +tarroot: host-fakeroot makedevs  	-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;  	@rm -rf $(TARGET_DIR)/usr/man -	@rm -rf $(TARGET_DIR)/usr/share/man  	@rm -rf $(TARGET_DIR)/usr/info -	tar -c$(TAR_OPTS)f $(TAR_TARGET) -C $(TARGET_DIR) . -		 -tarroot: $(TAR_TARGET) -	@ls -l $(TAR_TARGET) +	# Use fakeroot to munge permissions and do root-like things +	rm -f $(STAGING_DIR)/fakeroot.env +	touch $(STAGING_DIR)/fakeroot.env +	# Use fakeroot to pretend all target binaries are owned by root +	$(STAGING_DIR)/usr/bin/fakeroot \ +		-i $(STAGING_DIR)/fakeroot.env \ +		-s $(STAGING_DIR)/fakeroot.env -- \ +		chown -R root:root $(TARGET_DIR) +	# Use fakeroot to pretend to create all needed device nodes +	$(STAGING_DIR)/usr/bin/fakeroot \ +		-i $(STAGING_DIR)/fakeroot.env \ +		-s $(STAGING_DIR)/fakeroot.env -- \ +		$(STAGING_DIR)/bin/makedevs \ +		-r $(TARGET_DIR) \ +		-d target/generic/device_table.txt +	# Use fakeroot to fake out mksquashfs per the previous fakery +	$(STAGING_DIR)/usr/bin/fakeroot \ +		-i $(STAGING_DIR)/fakeroot.env \ +		-s $(STAGING_DIR)/fakeroot.env -- \ +		tar -c$(TAR_OPTS)f $(IMAGE).tar -C $(TARGET_DIR) .  tarroot-source: | 
