Allow packages to use fakeroot. To accomodate this, convert all

target filesystem creation tools to also use fakeroot.
This commit is contained in:
Eric Andersen 2005-08-04 06:32:52 +00:00
parent 1172dbb8b1
commit d1345f067e
7 changed files with 66 additions and 21 deletions

View File

@ -115,6 +115,7 @@ $(TARGET_DIR):
if [ -d "$(TARGET_SKEL_DIR)" ] ; then \ if [ -d "$(TARGET_SKEL_DIR)" ] ; then \
cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \ cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \
fi; fi;
touch $(STAGING_DIR)/fakeroot.env
-find $(TARGET_DIR) -type d -name CVS | xargs rm -rf -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
-find $(TARGET_DIR) -type d -name .svn | xargs rm -rf -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf

View File

@ -28,6 +28,8 @@ $(LTP_TESTSUITE_DIR)/testcases/kernel/syscalls/write/write01: $(LTP_TESTSUITE_DI
$(LTP_TESTSUITE_DIR)/testcases/bin/1K_file: $(LTP_TESTSUITE_DIR)/testcases/kernel/syscalls/write/write01 $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file: $(LTP_TESTSUITE_DIR)/testcases/kernel/syscalls/write/write01
# Use fakeroot to pretend to do 'make install' as root # Use fakeroot to pretend to do 'make install' as root
$(STAGING_DIR)/usr/bin/fakeroot \ $(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \
$(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \ $(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
-C $(LTP_TESTSUITE_DIR) install -C $(LTP_TESTSUITE_DIR) install
touch -c $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file touch -c $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file

View File

@ -64,8 +64,24 @@ cramfsroot: cramfs
@rm -rf $(TARGET_DIR)/usr/man @rm -rf $(TARGET_DIR)/usr/man
@rm -rf $(TARGET_DIR)/usr/info @rm -rf $(TARGET_DIR)/usr/info
/sbin/ldconfig -r $(TARGET_DIR) /sbin/ldconfig -r $(TARGET_DIR)
$(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) -D \ # Use fakeroot to pretend all target binaries are owned by root
target/generic/device_table.txt $(TARGET_DIR) $(IMAGE).cramfs $(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \
chown -R root:root $(TARGET_DIR)
# 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 \
-d $(TARGET_DEVICE_TABLE) \
$(TARGET_DIR)
# Use fakeroot so mkcramfs believes the previous fakery
$(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \
$(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) \
$(TARGET_DIR) $(IMAGE).cramfs
cramfsroot-source: cramfs-source cramfsroot-source: cramfs-source

View File

@ -71,6 +71,19 @@ $(EXT2_BASE): genext2fs
@rm -rf $(TARGET_DIR)/usr/share/man @rm -rf $(TARGET_DIR)/usr/share/man
@rm -rf $(TARGET_DIR)/usr/info @rm -rf $(TARGET_DIR)/usr/info
/sbin/ldconfig -r $(TARGET_DIR) /sbin/ldconfig -r $(TARGET_DIR)
# 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 -- \
chown -R root:root $(TARGET_DIR)
# 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 \
-d $(TARGET_DEVICE_TABLE) \
$(TARGET_DIR)
# Use fakeroot so genext2fs believes the previous fakery
ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
GENEXT2_REALSIZE=`LANG=C du -l -s -c -k $(TARGET_DIR) | grep total | sed -e "s/total//"`; \ GENEXT2_REALSIZE=`LANG=C du -l -s -c -k $(TARGET_DIR) | grep total | sed -e "s/total//"`; \
GENEXT2_ADDTOROOTSIZE=`if [ $$GENEXT2_REALSIZE -ge 20000 ] ; then echo 16384; else echo 2400; fi`; \ GENEXT2_ADDTOROOTSIZE=`if [ $$GENEXT2_REALSIZE -ge 20000 ] ; then echo 16384; else echo 2400; fi`; \
@ -78,16 +91,20 @@ ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
GENEXT2_ADDTOINODESIZE=`find $(TARGET_DIR) | wc -l`; \ GENEXT2_ADDTOINODESIZE=`find $(TARGET_DIR) | wc -l`; \
GENEXT2_INODES=`expr $$GENEXT2_ADDTOINODESIZE + 400`; \ GENEXT2_INODES=`expr $$GENEXT2_ADDTOINODESIZE + 400`; \
set -x; \ set -x; \
$(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \
$(GENEXT2_DIR)/genext2fs \ $(GENEXT2_DIR)/genext2fs \
-b $$GENEXT2_SIZE \ -b $$GENEXT2_SIZE \
-i $$GENEXT2_INODES \ -i $$GENEXT2_INODES \
-d $(TARGET_DIR) \ -d $(TARGET_DIR) \
-D $(TARGET_DEVICE_TABLE) \
$(EXT2_OPTS) $(EXT2_BASE) $(EXT2_OPTS) $(EXT2_BASE)
else else
$(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \
$(GENEXT2_DIR)/genext2fs \ $(GENEXT2_DIR)/genext2fs \
-d $(TARGET_DIR) \ -d $(TARGET_DIR) \
-D $(TARGET_DEVICE_TABLE) \
$(EXT2_OPTS) \ $(EXT2_OPTS) \
$(EXT2_BASE) $(EXT2_BASE)
endif endif

View File

@ -44,11 +44,26 @@ $(JFFS2_TARGET): mtd-host
@rm -rf $(TARGET_DIR)/usr/share/man @rm -rf $(TARGET_DIR)/usr/share/man
@rm -rf $(TARGET_DIR)/usr/info @rm -rf $(TARGET_DIR)/usr/info
/sbin/ldconfig -r $(TARGET_DIR) /sbin/ldconfig -r $(TARGET_DIR)
# 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 -- \
chown -R root:root $(TARGET_DIR)
# 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 \
-d $(TARGET_DEVICE_TABLE) \
$(TARGET_DIR)
# Use fakeroot so mkfs.jffs2 believes the previous fakery
$(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \
$(MKFS_JFFS2) \ $(MKFS_JFFS2) \
$(JFFS2_OPTS) \ $(JFFS2_OPTS) \
-d $(BUILD_DIR)/root \ -d $(BUILD_DIR)/root \
-o $(JFFS2_TARGET) \ -o $(JFFS2_TARGET)
-D $(TARGET_DEVICE_TABLE)
@ls -l $(JFFS2_TARGET) @ls -l $(JFFS2_TARGET)
JFFS2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_COPYTO))) JFFS2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_COPYTO)))

View File

@ -58,9 +58,6 @@ squashfsroot: squashfs host-fakeroot makedevs
@rm -rf $(TARGET_DIR)/usr/man @rm -rf $(TARGET_DIR)/usr/man
@rm -rf $(TARGET_DIR)/usr/info @rm -rf $(TARGET_DIR)/usr/info
/sbin/ldconfig -r $(TARGET_DIR) /sbin/ldconfig -r $(TARGET_DIR)
# Use fakeroot to munge permissions and do root-like things
rm -f $(STAGING_DIR)/fakeroot.env
touch $(STAGING_DIR)/fakeroot.env
# Use fakeroot to pretend all target binaries are owned by root # Use fakeroot to pretend all target binaries are owned by root
$(STAGING_DIR)/usr/bin/fakeroot \ $(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \ -i $(STAGING_DIR)/fakeroot.env \
@ -71,9 +68,9 @@ squashfsroot: squashfs host-fakeroot makedevs
-i $(STAGING_DIR)/fakeroot.env \ -i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \ -s $(STAGING_DIR)/fakeroot.env -- \
$(STAGING_DIR)/bin/makedevs \ $(STAGING_DIR)/bin/makedevs \
-d target/generic/device_table.txt \ -d $(TARGET_DEVICE_TABLE) \
$(TARGET_DIR) $(TARGET_DIR)
# Use fakeroot to fake out mksquashfs per the previous fakery # Use fakeroot so mksquashfs believes the previous fakery
$(STAGING_DIR)/usr/bin/fakeroot \ $(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \ -i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \ -s $(STAGING_DIR)/fakeroot.env -- \

View File

@ -11,9 +11,6 @@ tarroot: host-fakeroot makedevs
@rm -rf $(TARGET_DIR)/usr/man @rm -rf $(TARGET_DIR)/usr/man
@rm -rf $(TARGET_DIR)/usr/info @rm -rf $(TARGET_DIR)/usr/info
/sbin/ldconfig -r $(TARGET_DIR) /sbin/ldconfig -r $(TARGET_DIR)
# Use fakeroot to munge permissions and do root-like things
rm -f $(STAGING_DIR)/fakeroot.env
touch $(STAGING_DIR)/fakeroot.env
# Use fakeroot to pretend all target binaries are owned by root # Use fakeroot to pretend all target binaries are owned by root
$(STAGING_DIR)/usr/bin/fakeroot \ $(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \ -i $(STAGING_DIR)/fakeroot.env \
@ -24,9 +21,9 @@ tarroot: host-fakeroot makedevs
-i $(STAGING_DIR)/fakeroot.env \ -i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \ -s $(STAGING_DIR)/fakeroot.env -- \
$(STAGING_DIR)/bin/makedevs \ $(STAGING_DIR)/bin/makedevs \
-d target/generic/device_table.txt \ -d $(TARGET_DEVICE_TABLE) \
$(TARGET_DIR) $(TARGET_DIR)
# Use fakeroot to fake out tar per the previous fakery # Use fakeroot so tar believes the previous fakery
$(STAGING_DIR)/usr/bin/fakeroot \ $(STAGING_DIR)/usr/bin/fakeroot \
-i $(STAGING_DIR)/fakeroot.env \ -i $(STAGING_DIR)/fakeroot.env \
-s $(STAGING_DIR)/fakeroot.env -- \ -s $(STAGING_DIR)/fakeroot.env -- \