summaryrefslogtreecommitdiff
path: root/mk/image.mk
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2016-09-23 14:43:56 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-09-23 14:46:14 +0200
commitcc2f3ef0e48483f8909f6f29f58bcb984ea27682 (patch)
tree38fee6682a9745cbbae0ae913bd9676028778aa0 /mk/image.mk
parent58eeb548906799709ffe076a90923a62efbcd83d (diff)
add support for permission fixups when using genimage
Add suid-bit to Xorg as an example. Create simple *.perm files with relative path to the files. You can use any command available on the host. (f.e. chmod/chown)
Diffstat (limited to 'mk/image.mk')
-rw-r--r--mk/image.mk17
1 files changed, 16 insertions, 1 deletions
diff --git a/mk/image.mk b/mk/image.mk
index dfd32f3f3..a3e044fde 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -1,6 +1,12 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
+ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y)
+FAKEROOT:=$(STAGING_HOST_DIR)/usr/bin/fakeroot --
+else
+FAKEROOT:=
+endif
+
ifeq ($(ADK_TARGET_OS_LINUX),y)
# relative paths, like 'mksh' or '../usr/bin/foosh'
ifeq (${ADK_BINSH_ASH},y)
@@ -276,7 +282,16 @@ ${FW_DIR}/${GENIMAGE}: ${TARGET_DIR} kernel-package
@mkdir -p ${FW_DIR}/temp
@$(CP) $(KERNEL) $(FW_DIR)/kernel
@dd if=/dev/zero of=${FW_DIR}/cfgfs.img bs=16384 count=1 $(MAKE_TRACE)
- PATH='${HOST_PATH}' mke2img \
+ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y)
+ echo '#!/bin/sh' > $(ADK_TOPDIR)/scripts/fakeroot.sh
+ echo "chown -R 0:0 $(TARGET_DIR)" >> $(ADK_TOPDIR)/scripts/fakeroot.sh
+ echo 'cd $(TARGET_DIR)' >> $(ADK_TOPDIR)/scripts/fakeroot.sh
+ -@cat $(STAGING_TARGET_DIR)/scripts/permissions.sh >> $(ADK_TOPDIR)/scripts/fakeroot.sh 2>/dev/null
+ chmod 755 $(ADK_TOPDIR)/scripts/fakeroot.sh
+ PATH='$(HOST_PATH)' $(FAKEROOT) $(ADK_TOPDIR)/scripts/fakeroot.sh
+ rm $(ADK_TOPDIR)/scripts/fakeroot.sh $(STAGING_TARGET_DIR)/scripts/permissions.sh
+endif
+ PATH='${HOST_PATH}' $(FAKEROOT) mke2img \
-G 4 \
-d "$(TARGET_DIR)" \
-o $(FW_DIR)/rootfs.ext $(MAKE_TRACE)