Allow packages to use fakeroot. To accomodate this, convert all
authorEric Andersen <andersen@codepoet.org>
Thu, 4 Aug 2005 06:32:52 +0000 (06:32 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 4 Aug 2005 06:32:52 +0000 (06:32 -0000)
target filesystem creation tools to also use fakeroot.

Makefile
package/ltp-testsuite/ltp-testsuite.mk
target/cramfs/cramfs.mk
target/ext2/ext2root.mk
target/jffs2/jffs2root.mk
target/squashfs/squashfsroot.mk
target/tar/tarroot.mk

index 04dd92ffe473944262db2d7773436836ac49b5ef..dd384e9e89c2dcdb9be16742bb677b37ef59fe21 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -115,6 +115,7 @@ $(TARGET_DIR):
        if [ -d "$(TARGET_SKEL_DIR)" ] ; then \
                cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \
        fi;
+       touch $(STAGING_DIR)/fakeroot.env
        -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
        -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf
 
index 74707f294df332d9ecef502e5817cbae5123ddae..edf2ffddee23f5df0a24c5503de8646e17507680 100644 (file)
@@ -28,8 +28,10 @@ $(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
        # Use fakeroot to pretend to do 'make install' as root
        $(STAGING_DIR)/usr/bin/fakeroot \
-       $(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
-               -C $(LTP_TESTSUITE_DIR) install
+               -i $(STAGING_DIR)/fakeroot.env \
+               -s $(STAGING_DIR)/fakeroot.env -- \
+               $(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
+                       -C $(LTP_TESTSUITE_DIR) install
        touch -c $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file
 
 ltp-testsuite: uclibc host-fakeroot $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file
index a53cbff4ff43b71cebdbb906f254e3709bd8bf9e..2964dddd3702df2b2d73b4e232680ef87445e6ad 100644 (file)
@@ -64,8 +64,24 @@ cramfsroot: cramfs
        @rm -rf $(TARGET_DIR)/usr/man
        @rm -rf $(TARGET_DIR)/usr/info
        /sbin/ldconfig -r $(TARGET_DIR)
-       $(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) -D \
-               target/generic/device_table.txt $(TARGET_DIR) $(IMAGE).cramfs
+       # 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 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
 
index 8056fafcdb72d713880529140a37c350f64e7758..a934c5a5a70189db7e79bf2f023bb825cbd95628 100644 (file)
@@ -71,6 +71,19 @@ $(EXT2_BASE): genext2fs
        @rm -rf $(TARGET_DIR)/usr/share/man
        @rm -rf $(TARGET_DIR)/usr/info
        /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)
        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`; \
@@ -78,16 +91,20 @@ ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
        GENEXT2_ADDTOINODESIZE=`find $(TARGET_DIR) | wc -l`; \
        GENEXT2_INODES=`expr $$GENEXT2_ADDTOINODESIZE + 400`; \
        set -x; \
+       $(STAGING_DIR)/usr/bin/fakeroot \
+               -i $(STAGING_DIR)/fakeroot.env \
+               -s $(STAGING_DIR)/fakeroot.env -- \
        $(GENEXT2_DIR)/genext2fs \
                -b $$GENEXT2_SIZE \
                -i $$GENEXT2_INODES \
                -d $(TARGET_DIR) \
-               -D $(TARGET_DEVICE_TABLE) \
                $(EXT2_OPTS) $(EXT2_BASE)
 else
+       $(STAGING_DIR)/usr/bin/fakeroot \
+               -i $(STAGING_DIR)/fakeroot.env \
+               -s $(STAGING_DIR)/fakeroot.env -- \
        $(GENEXT2_DIR)/genext2fs \
                -d $(TARGET_DIR) \
-               -D $(TARGET_DEVICE_TABLE) \
                $(EXT2_OPTS) \
                $(EXT2_BASE)
 endif
index 83cdeb63a3ddc2dae2101d1cada048cc2cbe9cc7..04922aaf2fa39407ebe01e59ce78863ff87ef0fe 100644 (file)
@@ -44,11 +44,26 @@ $(JFFS2_TARGET): mtd-host
        @rm -rf $(TARGET_DIR)/usr/share/man
        @rm -rf $(TARGET_DIR)/usr/info
        /sbin/ldconfig -r $(TARGET_DIR)
-       $(MKFS_JFFS2) \
-               $(JFFS2_OPTS) \
-               -d $(BUILD_DIR)/root \
-               -o $(JFFS2_TARGET) \
-               -D $(TARGET_DEVICE_TABLE)
+       # 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) \
+                       $(JFFS2_OPTS) \
+                       -d $(BUILD_DIR)/root \
+                       -o $(JFFS2_TARGET)
        @ls -l $(JFFS2_TARGET)
 
 JFFS2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_COPYTO)))
index abbd618481e95e26b5af3520b2dabad36e87ad28..d64380d215b2382d7248f8a106dd178a566fd080 100644 (file)
@@ -58,9 +58,6 @@ squashfsroot: squashfs host-fakeroot makedevs
        @rm -rf $(TARGET_DIR)/usr/man
        @rm -rf $(TARGET_DIR)/usr/info
        /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
        $(STAGING_DIR)/usr/bin/fakeroot \
                -i $(STAGING_DIR)/fakeroot.env \
@@ -71,9 +68,9 @@ squashfsroot: squashfs host-fakeroot makedevs
                -i $(STAGING_DIR)/fakeroot.env \
                -s $(STAGING_DIR)/fakeroot.env -- \
                $(STAGING_DIR)/bin/makedevs \
-               -d target/generic/device_table.txt \
+               -d $(TARGET_DEVICE_TABLE) \
                $(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 \
                -i $(STAGING_DIR)/fakeroot.env \
                -s $(STAGING_DIR)/fakeroot.env -- \
index d5837442b4fbae21f6c8162099c5819f26c92c10..2ac07cddc7ce1e74552d64a84775d7002252ab27 100644 (file)
@@ -11,9 +11,6 @@ tarroot: host-fakeroot makedevs
        @rm -rf $(TARGET_DIR)/usr/man
        @rm -rf $(TARGET_DIR)/usr/info
        /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
        $(STAGING_DIR)/usr/bin/fakeroot \
                -i $(STAGING_DIR)/fakeroot.env \
@@ -24,9 +21,9 @@ tarroot: host-fakeroot makedevs
                -i $(STAGING_DIR)/fakeroot.env \
                -s $(STAGING_DIR)/fakeroot.env -- \
                $(STAGING_DIR)/bin/makedevs \
-               -d target/generic/device_table.txt \
+               -d $(TARGET_DEVICE_TABLE) \
                $(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 \
                -i $(STAGING_DIR)/fakeroot.env \
                -s $(STAGING_DIR)/fakeroot.env -- \