Ticket #7667: image.mk-preserve-permissions_v2.patch

File image.mk-preserve-permissions_v2.patch, 1.2 KB (added by ermo <rune.morling+openwrt@…>, 6 years ago)

Update image.mk patch; apply in backfire/ with 'patch -p0 < image.mk-preserve-permissions_v2.patch'

  • include/image.mk

    old new  
    105105 
    106106ifneq ($(CONFIG_TARGET_ROOTFS_TARGZ),) 
    107107  define Image/mkfs/targz 
    108                 $(TAR) -zcf $(BIN_DIR)/$(IMG_PREFIX)-rootfs.tar.gz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ . 
     108                # Preserve permissions (-p) when building as non-root user 
     109                $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)-rootfs.tar.gz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ . 
    109110  endef 
    110111endif 
    111112 
     
    126127 
    127128 
    128129define Image/mkfs/prepare/default 
    129         - $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -print0 | $(XARGS) -0 chmod 0644 
    130         - $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod 0755 
    131         - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod 0755 
     130        # Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits 
     131        - $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r 
     132        - $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx 
     133        - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx 
    132134        $(INSTALL_DIR) $(TARGET_DIR)/tmp 
    133135        chmod 0777 $(TARGET_DIR)/tmp 
    134136endef