mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-25 20:26:34 +00:00
Silly little patch to add an option to force root/root ownership in the
generated file system.
This commit is contained in:
parent
e5da55522e
commit
f0ebe8ab21
@ -12,6 +12,7 @@ $(DL_DIR)/$(SQUASHFS_SOURCE):
|
|||||||
|
|
||||||
$(SQUASHFS_DIR): $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH)
|
$(SQUASHFS_DIR): $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH)
|
||||||
zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||||
|
$(SOURCE_DIR)/patch-kernel.sh $(SQUASHFS_DIR) $(SOURCE_DIR) squashfs.patch
|
||||||
|
|
||||||
$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)
|
$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)
|
||||||
$(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools;
|
$(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools;
|
||||||
@ -38,7 +39,7 @@ squashfsroot: squashfs
|
|||||||
@rm -rf $(TARGET_DIR)/usr/man
|
@rm -rf $(TARGET_DIR)/usr/man
|
||||||
@rm -rf $(TARGET_DIR)/usr/info
|
@rm -rf $(TARGET_DIR)/usr/info
|
||||||
#$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE)
|
#$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE)
|
||||||
$(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend
|
$(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend -root-owned
|
||||||
|
|
||||||
squashfsroot-source: squashfs-source
|
squashfsroot-source: squashfs-source
|
||||||
|
|
||||||
|
36
sources/squashfs.patch
Normal file
36
sources/squashfs.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
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:
|
Loading…
x
Reference in New Issue
Block a user