diff options
author | Eric Andersen <andersen@codepoet.org> | 2005-06-24 05:02:00 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2005-06-24 05:02:00 +0000 |
commit | afcdf8a01a2d54edb7a217f8c7c1e74e1fb8758b (patch) | |
tree | 5ca20b55bb4894ed6d91282e96eeaf2d77982b7f /target/squashfs/squashfsroot.mk | |
parent | e83529ad36233a604b165de9c31d56137651302b (diff) | |
download | buildroot-novena-afcdf8a01a2d54edb7a217f8c7c1e74e1fb8758b.tar.gz buildroot-novena-afcdf8a01a2d54edb7a217f8c7c1e74e1fb8758b.zip |
Use fakeroot and makedevs to fake mksquashfs into building properly setup file
permissions and device nodes into the target rootfs without needing to be root.
Diffstat (limited to 'target/squashfs/squashfsroot.mk')
-rw-r--r-- | target/squashfs/squashfsroot.mk | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk index 300e07091..50aaf58fe 100644 --- a/target/squashfs/squashfsroot.mk +++ b/target/squashfs/squashfsroot.mk @@ -34,13 +34,25 @@ squashfs-dirclean: # ############################################################# -squashfsroot: squashfs - #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true; +squashfsroot: squashfs host-fakeroot makedevs + 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 -- \ + find $(TARGET_DIR) | xargs chown -R root:root + # 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) \ + 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 - #$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D target/default/device_table.txt $(TARGET_DIR) $(IMAGE) - $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE).squashfs -noappend -root-owned + # Use fakeroot to fake out mksquashfs per the previous fakery + $(STAGING_DIR)/usr/bin/fakeroot -i $(STAGING_DIR)/fakeroot.env -- \ + $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) \ + $(IMAGE).squashfs -noappend squashfsroot-source: squashfs-source |