From eb0ee4509d3112d80cbb210b44fb682ba7033385 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 24 Jun 2005 07:26:33 +0000 Subject: Finish implementing fakeroot handling so mksquashfs properly inherits device table settings and device nodes, exactly as per mkfs* applications that support device tables natively. --- target/squashfs/squashfsroot.mk | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'target/squashfs/squashfsroot.mk') diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk index 50aaf58fe..4f4d76dba 100644 --- a/target/squashfs/squashfsroot.mk +++ b/target/squashfs/squashfsroot.mk @@ -35,22 +35,28 @@ squashfs-dirclean: ############################################################# squashfsroot: squashfs 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/info + # 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 \ + $(STAGING_DIR)/usr/bin/fakeroot \ + -i $(STAGING_DIR)/fakeroot.env \ -s $(STAGING_DIR)/fakeroot.env -- \ - find $(TARGET_DIR) | xargs chown -R root:root + 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 \ + $(STAGING_DIR)/usr/bin/fakeroot \ + -i $(STAGING_DIR)/fakeroot.env \ -s $(STAGING_DIR)/fakeroot.env -- \ - $(STAGING_DIR)/bin/makedevs -r $(TARGET_DIR) \ - target/default/device_table.txt - -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; - @rm -rf $(TARGET_DIR)/usr/man - @rm -rf $(TARGET_DIR)/usr/info + $(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 -- \ + $(STAGING_DIR)/usr/bin/fakeroot \ + -i $(STAGING_DIR)/fakeroot.env \ + -s $(STAGING_DIR)/fakeroot.env -- \ $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) \ $(IMAGE).squashfs -noappend -- cgit v1.2.3