From: Eric Andersen Date: Mon, 10 Apr 2006 17:48:53 +0000 (-0000) Subject: As noted by jacmet in bug 824: X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8cfa7aa9658e48d9113f7ed7da0c5994352fc8bf;p=buildroot.git As noted by jacmet in bug 824: svn 14777 seems to have broken cramfs/squashfs/tarroot. The problem is that $(IMAGE) is the absolute path of the image including directories, so the build tries to access $(STAGING_DIR)/_fakeroot. which doesn't exist. The fix is to define CRAMFS/SQUASHFS/TAR_TARGET as $(notdir $(IMAGE).) instead. --- diff --git a/target/cramfs/cramfs.mk b/target/cramfs/cramfs.mk index b0ab28f234..bc73b9371b 100644 --- a/target/cramfs/cramfs.mk +++ b/target/cramfs/cramfs.mk @@ -67,25 +67,25 @@ cramfsroot: host-fakeroot makedevs cramfs @rm -rf $(TARGET_DIR)/usr/info -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null # Use fakeroot to pretend all target binaries are owned by root - rm -f $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) touch $(STAGING_DIR)/.fakeroot.00000 - cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -$(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -- \ chown -R root:root $(TARGET_DIR) # Use fakeroot to pretend to create all needed device nodes $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -- \ $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR) # Use fakeroot so mkcramfs believes the previous fakery $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(CRAMFS_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $CRAMFS_TARGET) -- \ $(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) \ $(TARGET_DIR) $(CRAMFS_TARGET) - -@rm -f $(STAGING_DIR)/_fakeroot.$(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 bf2ae83539..75dce47759 100644 --- a/target/ext2/ext2root.mk +++ b/target/ext2/ext2root.mk @@ -72,17 +72,17 @@ $(EXT2_BASE): host-fakeroot makedevs genext2fs @rm -rf $(TARGET_DIR)/usr/info -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null # Use fakeroot to pretend all target binaries are owned by root - rm -f $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) touch $(STAGING_DIR)/.fakeroot.00000 - cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -$(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \ chown -R root:root $(TARGET_DIR) # Use fakeroot to pretend to create all needed device nodes $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \ $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR) # Use fakeroot so genext2fs believes the previous fakery ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) @@ -93,8 +93,8 @@ ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) GENEXT2_INODES=`expr $$GENEXT2_ADDTOINODESIZE + 400`; \ set -x; \ $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \ $(GENEXT2_DIR)/genext2fs \ -b $$GENEXT2_SIZE \ -i $$GENEXT2_INODES \ @@ -102,14 +102,14 @@ ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) $(EXT2_OPTS) $(EXT2_BASE) else $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) -- \ $(GENEXT2_DIR)/genext2fs \ -d $(TARGET_DIR) \ $(EXT2_OPTS) \ $(EXT2_BASE) endif - -@rm -f $(STAGING_DIR)/_fakeroot.$(EXT2_TARGET) + -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $EXT2_TARGET) $(EXT2_BASE).gz: $(EXT2_BASE) @gzip --best -fv $(EXT2_BASE) diff --git a/target/iso9660/iso9660.mk b/target/iso9660/iso9660.mk index df8950413b..436214130e 100644 --- a/target/iso9660/iso9660.mk +++ b/target/iso9660/iso9660.mk @@ -60,23 +60,23 @@ $(ISO9660_TARGET): host-fakeroot $(EXT2_TARGET) grub mkisofs cp $(LINUX_KERNEL) $(ISO9660_TARGET_DIR)/kernel cp $(EXT2_TARGET) $(ISO9660_TARGET_DIR)/initrd # Use fakeroot to pretend all target binaries are owned by root - rm -f $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) touch $(STAGING_DIR)/.fakeroot.00000 - cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) -$(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) -- \ chown -R root:root $(ISO9660_TARGET_DIR) # Use fakeroot so mkisofs believes the previous fakery $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) -- \ + -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) - -@rm -f $(STAGING_DIR)/_fakeroot.$(ISO9660_TARGET) + -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $ISO9660_TARGET) iso9660root: $(ISO9660_TARGET) echo $(ISO9660_TARGET) diff --git a/target/jffs2/jffs2root.mk b/target/jffs2/jffs2root.mk index d50bc88db2..cdcbce8ea4 100644 --- a/target/jffs2/jffs2root.mk +++ b/target/jffs2/jffs2root.mk @@ -45,25 +45,25 @@ $(JFFS2_TARGET): host-fakeroot makedevs mtd-host @rm -rf $(TARGET_DIR)/usr/info -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null # Use fakeroot to pretend all target binaries are owned by root - rm -f $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) touch $(STAGING_DIR)/.fakeroot.00000 - cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) -$(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) -- \ chown -R root:root $(TARGET_DIR) # Use fakeroot to pretend to create all needed device nodes $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) -- \ $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR) # Use fakeroot so mkfs.jffs2 believes the previous fakery $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) -- \ + -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) - -@rm -f $(STAGING_DIR)/_fakeroot.$(JFFS2_TARGET) + -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $JFFS2_TARGET) @ls -l $(JFFS2_TARGET) JFFS2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_COPYTO))) diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk index f41c9660bd..baed90289c 100644 --- a/target/squashfs/squashfsroot.mk +++ b/target/squashfs/squashfsroot.mk @@ -61,27 +61,27 @@ squashfsroot: host-fakeroot makedevs squashfs @rm -rf $(TARGET_DIR)/usr/info -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null # Use fakeroot to pretend all target binaries are owned by root - rm -f $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) touch $(STAGING_DIR)/.fakeroot.00000 - cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) -$(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) -- \ chown -R root:root $(TARGET_DIR) # Use fakeroot to pretend to create all needed device nodes $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $SQUASHFS_TARGET) -- \ $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR) # Use fakeroot so mksquashfs believes the previous fakery $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(SQUASHFS_TARGET) -- \ + -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) - -@rm -f $(STAGING_DIR)/_fakeroot.$(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 e68ece75f7..6215134d97 100644 --- a/target/tar/tarroot.mk +++ b/target/tar/tarroot.mk @@ -13,24 +13,24 @@ tarroot: host-fakeroot makedevs @rm -rf $(TARGET_DIR)/usr/info -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null # Use fakeroot to pretend all target binaries are owned by root - rm -f $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) touch $(STAGING_DIR)/.fakeroot.00000 - cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -$(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -- \ chown -R root:root $(TARGET_DIR) # Use fakeroot to pretend to create all needed device nodes $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -- \ $(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR) # Use fakeroot so tar believes the previous fakery $(STAGING_DIR)/usr/bin/fakeroot \ - -i $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) \ - -s $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) -- \ + -i $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) \ + -s $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) -- \ tar -c$(TAR_OPTS)f $(TAR_TARGET) -C $(TARGET_DIR) . - -@rm -f $(STAGING_DIR)/_fakeroot.$(TAR_TARGET) + -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $TAR_TARGET) tarroot-source: