From 674d61d84b2b754057be95038462b97ad83f759f Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 10 Apr 2006 22:49:48 +0000 Subject: [PATCH] yet again... rework fakeroot handling to ensure fakeroot is invoked just once, as it seems to sometimes lose values logged during from earlier invocations. --- package/at/at.mk | 7 +++--- package/ltp-testsuite/ltp-testsuite.mk | 8 +++--- target/cramfs/cramfs.mk | 21 ++++++---------- target/ext2/ext2root.mk | 35 +++++++++----------------- target/iso9660/iso9660.mk | 18 +++++-------- target/jffs2/jffs2root.mk | 25 ++++++++---------- target/squashfs/squashfsroot.mk | 24 +++++++----------- target/tar/tarroot.mk | 19 ++++++-------- 8 files changed, 58 insertions(+), 99 deletions(-) diff --git a/package/at/at.mk b/package/at/at.mk index c0afdf92d1..66f7667317 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -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 diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index 5c05613ef8..02f12c4285 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -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 diff --git a/target/cramfs/cramfs.mk b/target/cramfs/cramfs.mk index bc73b9371b..7e8891676a 100644 --- a/target/cramfs/cramfs.mk +++ b/target/cramfs/cramfs.mk @@ -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 diff --git a/target/ext2/ext2root.mk b/target/ext2/ext2root.mk index 75dce47759..3d915eaa7c 100644 --- a/target/ext2/ext2root.mk +++ b/target/ext2/ext2root.mk @@ -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) diff --git a/target/iso9660/iso9660.mk b/target/iso9660/iso9660.mk index 436214130e..1da79b8a7d 100644 --- a/target/iso9660/iso9660.mk +++ b/target/iso9660/iso9660.mk @@ -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) diff --git a/target/jffs2/jffs2root.mk b/target/jffs2/jffs2root.mk index cdcbce8ea4..5439c5a7a3 100644 --- a/target/jffs2/jffs2root.mk +++ b/target/jffs2/jffs2root.mk @@ -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),) diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk index baed90289c..e8ba543940 100644 --- a/target/squashfs/squashfsroot.mk +++ b/target/squashfs/squashfsroot.mk @@ -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 diff --git a/target/tar/tarroot.mk b/target/tar/tarroot.mk index 6215134d97..5002db57aa 100644 --- a/target/tar/tarroot.mk +++ b/target/tar/tarroot.mk @@ -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: -- 2.30.2