Loading package/fakeroot/fakeroot.mk +0 −2 Original line number Diff line number Diff line Loading @@ -40,8 +40,6 @@ $(FAKEROOT_DIR1)/faked: $(FAKEROOT_DIR1)/.configured $(STAGING_DIR)/usr/bin/fakeroot: $(FAKEROOT_DIR1)/faked $(MAKE) DESTDIR=$(STAGING_DIR) -C $(FAKEROOT_DIR1) install #-mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-faked $(TARGET_DIR)/usr/bin/faked #-mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-fakeroot $(TARGET_DIR)/usr/bin/fakeroot host-fakeroot: uclibc $(STAGING_DIR)/usr/bin/fakeroot Loading target/makedevs/makedevs.mk +5 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,11 @@ $(MAKEDEVS_DIR)/makedevs: $(MAKEDEVS_DIR) gcc -Wall -O2 makedevs.c -o makedevs touch -c $(MAKEDEVS_DIR)/makedevs makedevs: $(MAKEDEVS_DIR)/makedevs $(STAGING_DIR)/bin/makedevs: $(MAKEDEVS_DIR)/makedevs $(INSTALL) -m 755 $(MAKEDEVS_DIR)/makedevs $(STAGING_DIR)/bin/makedevs touch -c $(STAGING_DIR)/bin/makedevs makedevs: $(STAGING_DIR)/bin/makedevs makedevs-source: Loading target/squashfs/squashfs.patchdeleted 100644 → 0 +0 −36 Original line number Diff line number Diff line This is a stupid little patch adding an option to change all uid/gid to root/root in the generated filesystem. We really need to teach mksquashfs about device tables though... --- squashfs1.3r3/squashfs-tools/mksquashfs.c-dist 2004-03-29 20:35:37.000000000 -0600 +++ squashfs1.3r3/squashfs-tools/mksquashfs.c 2004-03-29 22:28:51.000000000 -0600 @@ -136,6 +136,8 @@ stotal_bytes, stotal_inode_bytes, stotal_directory_bytes, sinode_count, sfile_count, ssym_count, sdev_count, sdir_count, sdup_files; int restore = 0; +unsigned int root_owned = 0; + /*flag whether destination file is a block device */ int block_device = 0; @@ -421,6 +423,11 @@ return SQUASHFS_INVALID; } + if (root_owned) { + buf.st_uid = 0; + buf.st_gid = 0; + } + base->mode = SQUASHFS_MODE(buf.st_mode); base->uid = get_uid(&file_type, (squashfs_uid) buf.st_uid); base->inode_type = file_type; @@ -1268,6 +1275,8 @@ root_name = argv[i]; } else if(strcmp(argv[i], "-version") == 0) { VERSION(); + } else if (strcmp(argv[i], "-root-owned") == 0) { + root_owned = TRUE; } else { ERROR("%s: invalid option\n\n", argv[0]); printOptions: target/squashfs/squashfsroot.mk +16 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
package/fakeroot/fakeroot.mk +0 −2 Original line number Diff line number Diff line Loading @@ -40,8 +40,6 @@ $(FAKEROOT_DIR1)/faked: $(FAKEROOT_DIR1)/.configured $(STAGING_DIR)/usr/bin/fakeroot: $(FAKEROOT_DIR1)/faked $(MAKE) DESTDIR=$(STAGING_DIR) -C $(FAKEROOT_DIR1) install #-mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-faked $(TARGET_DIR)/usr/bin/faked #-mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-fakeroot $(TARGET_DIR)/usr/bin/fakeroot host-fakeroot: uclibc $(STAGING_DIR)/usr/bin/fakeroot Loading
target/makedevs/makedevs.mk +5 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,11 @@ $(MAKEDEVS_DIR)/makedevs: $(MAKEDEVS_DIR) gcc -Wall -O2 makedevs.c -o makedevs touch -c $(MAKEDEVS_DIR)/makedevs makedevs: $(MAKEDEVS_DIR)/makedevs $(STAGING_DIR)/bin/makedevs: $(MAKEDEVS_DIR)/makedevs $(INSTALL) -m 755 $(MAKEDEVS_DIR)/makedevs $(STAGING_DIR)/bin/makedevs touch -c $(STAGING_DIR)/bin/makedevs makedevs: $(STAGING_DIR)/bin/makedevs makedevs-source: Loading
target/squashfs/squashfs.patchdeleted 100644 → 0 +0 −36 Original line number Diff line number Diff line This is a stupid little patch adding an option to change all uid/gid to root/root in the generated filesystem. We really need to teach mksquashfs about device tables though... --- squashfs1.3r3/squashfs-tools/mksquashfs.c-dist 2004-03-29 20:35:37.000000000 -0600 +++ squashfs1.3r3/squashfs-tools/mksquashfs.c 2004-03-29 22:28:51.000000000 -0600 @@ -136,6 +136,8 @@ stotal_bytes, stotal_inode_bytes, stotal_directory_bytes, sinode_count, sfile_count, ssym_count, sdev_count, sdir_count, sdup_files; int restore = 0; +unsigned int root_owned = 0; + /*flag whether destination file is a block device */ int block_device = 0; @@ -421,6 +423,11 @@ return SQUASHFS_INVALID; } + if (root_owned) { + buf.st_uid = 0; + buf.st_gid = 0; + } + base->mode = SQUASHFS_MODE(buf.st_mode); base->uid = get_uid(&file_type, (squashfs_uid) buf.st_uid); base->inode_type = file_type; @@ -1268,6 +1275,8 @@ root_name = argv[i]; } else if(strcmp(argv[i], "-version") == 0) { VERSION(); + } else if (strcmp(argv[i], "-root-owned") == 0) { + root_owned = TRUE; } else { ERROR("%s: invalid option\n\n", argv[0]); printOptions:
target/squashfs/squashfsroot.mk +16 −4 Original line number Diff line number Diff line Loading @@ -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 Loading