yet again... rework fakeroot handling to ensure fakeroot is invoked just once,
authorEric Andersen <andersen@codepoet.org>
Mon, 10 Apr 2006 22:49:48 +0000 (22:49 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 10 Apr 2006 22:49:48 +0000 (22:49 -0000)
as it seems to sometimes lose values logged during from earlier invocations.

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

index c0afdf92d13839eb5a18c9bb554fe96b26849121..66f7667317efea65f2779a4c88c4046d71a70a3a 100644 (file)
@@ -42,10 +42,9 @@ $(AT_DIR)/$(AT_BINARY): $(AT_DIR)/.configured
 
 $(TARGET_DIR)/$(AT_TARGET_BINARY): $(AT_DIR)/$(AT_BINARY)
        # Use fakeroot to pretend to do 'make install' as root
-       rm -f $(STAGING_DIR)/.fakeroot.at
-       $(STAGING_DIR)/usr/bin/fakeroot -s $(STAGING_DIR)/.fakeroot.at -- \
-               $(MAKE) DAEMON_USERNAME=root DAEMON_GROUPNAME=root \
-               $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(AT_DIR) install
+       echo "$(MAKE) DAEMON_USERNAME=root DAEMON_GROUPNAME=root " \
+               "$(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(AT_DIR) install" \
+               > $(STAGING_DIR)/.fakeroot.at
        $(INSTALL) -m 0755 -D $(AT_DIR)/debian/rc $(TARGET_DIR)/etc/init.d/S99at
        rm -rf $(TARGET_DIR)/usr/man
 
index 5c05613ef8260ee477784e69eaae9d62d68d2a7e..02f12c4285080b31b26c768d40f4bfa8aee9d0ac 100644 (file)
@@ -28,11 +28,9 @@ $(LTP_TESTSUITE_DIR)/.compiled: $(LTP_TESTSUITE_DIR)/Makefile
 
 $(LTP_TESTSUITE_DIR)/.installed: $(LTP_TESTSUITE_DIR)/.compiled
        # Use fakeroot to pretend to do 'make install' as root
-       rm -f $(STAGING_DIR)/.fakeroot.ltp
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -s $(STAGING_DIR)/.fakeroot.ltp -- \
-               $(MAKE1) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
-                       -C $(LTP_TESTSUITE_DIR) install
+       echo "$(MAKE1) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) " \
+                       "-C $(LTP_TESTSUITE_DIR) install" \
+                       > $(STAGING_DIR)/.fakeroot.ltp
        touch $(LTP_TESTSUITE_DIR)/.installed
 
 ltp-testsuite: uclibc host-fakeroot $(LTP_TESTSUITE_DIR)/.installed
index bc73b9371b2ead9f31066444b8085a75883c1bca..7e8891676a21c1571a807f7f8c61d41e233b24d1 100644 (file)
@@ -6,6 +6,7 @@
 CRAMFS_DIR=$(BUILD_DIR)/cramfs-1.1
 CRAMFS_SOURCE=cramfs-1.1.tar.gz
 ifeq ($(strip $(subst ",,$(BR2_SOURCEFORGE_MIRROR))),unc)
+# " stupid syntax highlighting does not like unmatched quote from above line
 # UNC does not seem to have cramfs
 CRAMFS_SITE=http://internap.dl.sourceforge.net/sourceforge/cramfs
 else
@@ -70,21 +71,15 @@ cramfsroot: host-fakeroot makedevs cramfs
        rm -f $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
        touch $(STAGING_DIR)/.fakeroot.00000
        cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
-       -$(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -- \
-               chown -R root:root $(TARGET_DIR)
+       echo "chown -R root:root $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
        # Use fakeroot to pretend to create all needed device nodes
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -- \
-               $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)
+       echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
        # Use fakeroot so mkcramfs believes the previous fakery
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -- \
-           $(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) \
-               $(TARGET_DIR) $(CRAMFS_TARGET)
+       echo "$(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) " \
+               "$(TARGET_DIR) $(CRAMFS_TARGET)" >> $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
+       chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
+       $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
        -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET)
 
 cramfsroot-source: cramfs-source
index 75dce47759adaa92b1a1bc1170de11ea78b4b273..3d915eaa7cbc62aece26de10e23f14d43c916193 100644 (file)
@@ -58,6 +58,7 @@ EXT2_OPTS += -r $(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS))
 endif
 
 EXT2_BASE :=   $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_OUTPUT))
+# " stupid syntax highlighting does not like unmatched quote from above line
 
 ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_GZ)),y)
 EXT2_TARGET := $(EXT2_BASE).gz
@@ -75,15 +76,10 @@ $(EXT2_BASE): host-fakeroot makedevs genext2fs
        rm -f $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
        touch $(STAGING_DIR)/.fakeroot.00000
        cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
-       -$(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \
-               chown -R root:root $(TARGET_DIR)
+       echo "chown -R root:root $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
        # Use fakeroot to pretend to create all needed device nodes
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \
-               $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)
+       echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
        # 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//"`; \
@@ -92,29 +88,22 @@ 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.$(notdir $EXT2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \
-           $(GENEXT2_DIR)/genext2fs \
-               -b $$GENEXT2_SIZE \
-               -i $$GENEXT2_INODES \
-               -d $(TARGET_DIR) \
-               $(EXT2_OPTS) $(EXT2_BASE)
+       echo "$(GENEXT2_DIR)/genext2fs -b $$GENEXT2_SIZE " \
+               "-i $$GENEXT2_INODES -d $(TARGET_DIR) " \
+               "$(EXT2_OPTS) $(EXT2_BASE)" >> $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
 else
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \
-           $(GENEXT2_DIR)/genext2fs \
-               -d $(TARGET_DIR) \
-               $(EXT2_OPTS) \
-               $(EXT2_BASE)
+       echo "$(GENEXT2_DIR)/genext2fs -d $(TARGET_DIR) " \
+               "$(EXT2_OPTS) $(EXT2_BASE)" >> $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
 endif
+       chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
+       $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
        -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET)
 
 $(EXT2_BASE).gz: $(EXT2_BASE)
        @gzip --best -fv $(EXT2_BASE)
 
 EXT2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_COPYTO)))
+# " stupid syntax highlighting does not like unmatched quote from above line
 
 ext2root: $(EXT2_TARGET)
        @ls -l $(EXT2_TARGET)
index 436214130e8e016b798895ec15997452f8a926d1..1da79b8a7d5ae67170bcbe6fd3592eaa28db9014 100644 (file)
@@ -63,19 +63,13 @@ $(ISO9660_TARGET): host-fakeroot $(EXT2_TARGET) grub mkisofs
        rm -f $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
        touch $(STAGING_DIR)/.fakeroot.00000
        cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
-       -$(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) -- \
-               chown -R root:root $(ISO9660_TARGET_DIR)
+       echo "chown -R root:root $(ISO9660_TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
        # Use fakeroot so mkisofs believes the previous fakery
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) -- \
-           $(MKISOFS_TARGET) \
-               -R -b boot/grub/stage2_eltorito -no-emul-boot \
-               -boot-load-size 4 -boot-info-table \
-               -o $(ISO9660_TARGET) \
-               $(ISO9660_TARGET_DIR)
+       echo "$(MKISOFS_TARGET) -R -b boot/grub/stage2_eltorito -no-emul-boot " \
+               "-boot-load-size 4 -boot-info-table -o $(ISO9660_TARGET) $(ISO9660_TARGET_DIR)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
+       chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
+       $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
        -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET)
 
 iso9660root: $(ISO9660_TARGET)
index cdcbce8ea4a708f31185b72e785269bb12235e75..5439c5a7a37abac08491d9d0f4f3f20345fc35e0 100644 (file)
@@ -25,15 +25,15 @@ ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2_BE)),y)
 JFFS2_OPTS += -b
 endif
 
+JFFS2_TARGET := $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_OUTPUT))
 JFFS2_DEVFILE = $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_DEVFILE)))
 ifneq ($(JFFS2_DEVFILE),)
 JFFS2_OPTS += -D $(TARGET_DEVICE_TABLE)
 endif
 
-JFFS2_TARGET := $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_OUTPUT))
 
 #
-# mtd-host is a dependency which builds a local copy of mkfs.jffs2 if it's needed.
+# mtd-host is a dependency which builds a local copy of mkfs.jffs2 if it is needed.
 # the actual build is done from package/mtd/mtd.mk and it sets the
 # value of MKFS_JFFS2 to either the previously installed copy or the one
 # just built.
@@ -48,25 +48,20 @@ $(JFFS2_TARGET): host-fakeroot makedevs mtd-host
        rm -f $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
        touch $(STAGING_DIR)/.fakeroot.00000
        cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
-       -$(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) -- \
-               chown -R root:root $(TARGET_DIR)
+       echo "chown -R root:root $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
        # Use fakeroot to pretend to create all needed device nodes
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) -- \
-               $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)
+       echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
        # Use fakeroot so mkfs.jffs2 believes the previous fakery
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) -- \
-           $(MKFS_JFFS2) $(JFFS2_OPTS) \
-                       -d $(BUILD_DIR)/root -o $(JFFS2_TARGET)
+       echo "$(MKFS_JFFS2) $(JFFS2_OPTS) -d $(BUILD_DIR)/root -o $(JFFS2_TARGET)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
+       chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
+       $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
        -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET)
        @ls -l $(JFFS2_TARGET)
 
 JFFS2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_COPYTO)))
+# " stupid syntax highlighting does not like unmatched quote from above line
 
 jffs2root: $(JFFS2_TARGET)
 ifneq ($(JFFS2_COPYTO),)
index baed90289c7b032a9727160ee9a4f0c7995dbff7..e8ba543940fb81a788fa32a979ea4512f6760934 100644 (file)
@@ -64,23 +64,17 @@ squashfsroot: host-fakeroot makedevs squashfs
        rm -f $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
        touch $(STAGING_DIR)/.fakeroot.00000
        cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
-       -$(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) -- \
-               chown -R root:root $(TARGET_DIR)
+       echo "chown -R root:root $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
        # Use fakeroot to pretend to create all needed device nodes
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) -- \
-               $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)
+       echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
        # Use fakeroot so mksquashfs believes the previous fakery
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) -- \
-           $(SQUASHFS_DIR)/squashfs-tools/mksquashfs \
-                   $(TARGET_DIR) \
-                   $(SQUASHFS_TARGET) \
-                   -noappend $(SQUASHFS_ENDIANNESS)
+       echo "$(SQUASHFS_DIR)/squashfs-tools/mksquashfs " \
+                   "$(TARGET_DIR) $(SQUASHFS_TARGET) " \
+                   "-noappend $(SQUASHFS_ENDIANNESS)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
+       chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
+       $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
        -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET)
 
 squashfsroot-source: squashfs-source
index 6215134d97e72ab7f249632fd2782ca7bbfe1c86..5002db57aa41b30ae1707888ebd2dc4b0c7b4512 100644 (file)
@@ -16,20 +16,15 @@ tarroot: host-fakeroot makedevs
        rm -f $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
        touch $(STAGING_DIR)/.fakeroot.00000
        cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
-       -$(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -- \
-               chown -R root:root $(TARGET_DIR)
+       echo "chown -R root:root $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
        # Use fakeroot to pretend to create all needed device nodes
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -- \
-               $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)
+       echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
        # Use fakeroot so tar believes the previous fakery
-       $(STAGING_DIR)/usr/bin/fakeroot \
-               -i $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) \
-               -s $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -- \
-           tar -c$(TAR_OPTS)f $(TAR_TARGET) -C $(TARGET_DIR) .
+       echo "tar -c$(TAR_OPTS)f $(TAR_TARGET) -C $(TARGET_DIR) ." \
+               >> $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
+       chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
+       $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
        -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET)
 
 tarroot-source: