Browse Source

yet again... rework fakeroot handling to ensure fakeroot is invoked just once,
as it seems to sometimes lose values logged during from earlier invocations.

Eric Andersen 19 years ago
parent
commit
674d61d84b

+ 3 - 4
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
 

+ 3 - 5
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

+ 8 - 13
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

+ 12 - 23
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)

+ 6 - 12
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)

+ 10 - 15
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),)

+ 9 - 15
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

+ 7 - 12
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: