Commit 674d61d8 authored by Eric Andersen's avatar Eric Andersen
Browse files

yet again... rework fakeroot handling to ensure fakeroot is invoked just once,

as it seems to sometimes lose values logged during from earlier invocations.
parent bfcb34c6
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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)
Loading