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

as it seems to sometimes lose values logged during from earlier invocations.
This commit is contained in:
Eric Andersen 2006-04-10 22:49:48 +00:00
parent bfcb34c69f
commit 674d61d84b
8 changed files with 58 additions and 99 deletions

View 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

View 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

View 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

View 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)

View 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)

View 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),)

View 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

View 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: