diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2011-03-21 17:38:15 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2011-03-21 17:38:15 +0000 |
commit | 48c8a8ddb09ee4808f2ae72e4220ec0e88f53c4d (patch) | |
tree | b1b5affe8f2df44b937cbaf5d0d8e2c6054e8141 /include | |
parent | b8aef60e355dad3cad45dbedaca06ce9fdd67cd2 (diff) | |
download | upstream-48c8a8ddb09ee4808f2ae72e4220ec0e88f53c4d.tar.gz upstream-48c8a8ddb09ee4808f2ae72e4220ec0e88f53c4d.tar.bz2 upstream-48c8a8ddb09ee4808f2ae72e4220ec0e88f53c4d.zip |
image.mk: only upgrade permissions instead of overwriting, utilize tar -p flag for targz image targets (#7667)
SVN-Revision: 26259
Diffstat (limited to 'include')
-rw-r--r-- | include/image.mk | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/include/image.mk b/include/image.mk index 29328b314e..c72ec81806 100644 --- a/include/image.mk +++ b/include/image.mk @@ -111,7 +111,8 @@ endif ifneq ($(CONFIG_TARGET_ROOTFS_TARGZ),) define Image/mkfs/targz - $(TAR) -zcf $(BIN_DIR)/$(IMG_PREFIX)-rootfs.tar.gz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ . + # Preserve permissions (-p) when building as non-root user + $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)-rootfs.tar.gz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ . endef endif @@ -137,9 +138,10 @@ endif define Image/mkfs/prepare/default - - $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -print0 | $(XARGS) -0 chmod 0644 - - $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod 0755 - - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod 0755 + # Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits + - $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r + - $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx + - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx $(INSTALL_DIR) $(TARGET_DIR)/tmp chmod 0777 $(TARGET_DIR)/tmp endef |