Sfoglia il codice sorgente

Prevent problems with fakeroot possibly trying to use stale host filesystem
inodes by carefully regenerating fakeroot.env from package specific files.

Eric Andersen 20 anni fa
parent
commit
d70e7f4f1e

+ 11 - 11
package/ltp-testsuite/ltp-testsuite.mk

@@ -15,26 +15,26 @@ $(DL_DIR)/$(LTP_TESTSUITE_SOURCE):
 
 ltp-testsuite-source: $(DL_DIR)/$(LTP_TESTSUITE_SOURCE)
 
-$(LTP_TESTSUITE_DIR)/.unpacked: $(DL_DIR)/$(LTP_TESTSUITE_SOURCE)
+$(LTP_TESTSUITE_DIR)/Makefile: $(DL_DIR)/$(LTP_TESTSUITE_SOURCE)
 	$(LTP_TESTSUITE_CAT) $(DL_DIR)/$(LTP_TESTSUITE_SOURCE) | tar -C $(LTP_TESTSUITE_ROOT) $(TAR_OPTIONS) -
 	toolchain/patch-kernel.sh $(LTP_TESTSUITE_DIR) package/ltp-testsuite/ ltp-testsuite\*.patch
-	touch $(LTP_TESTSUITE_DIR)/.unpacked
+	touch -c $(LTP_TESTSUITE_DIR)/Makefile
 
-$(LTP_TESTSUITE_DIR)/testcases/kernel/syscalls/write/write01: $(LTP_TESTSUITE_DIR)/.unpacked
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
+$(LTP_TESTSUITE_DIR)/.compiled: $(LTP_TESTSUITE_DIR)/Makefile
+	$(MAKE1) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
 		-C $(LTP_TESTSUITE_DIR) all
-	touch -c $(LTP_TESTSUITE_DIR)/testcases/kernel/syscalls/write/write01
+	touch $(LTP_TESTSUITE_DIR)/.compiled
 
-$(LTP_TESTSUITE_DIR)/testcases/bin/1K_file: $(LTP_TESTSUITE_DIR)/testcases/kernel/syscalls/write/write01
+$(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 \
-		-i $(STAGING_DIR)/fakeroot.env \
-		-s $(STAGING_DIR)/fakeroot.env -- \
-		$(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
+		-s $(STAGING_DIR)/.fakeroot.ltp -- \
+		$(MAKE1) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) \
 			-C $(LTP_TESTSUITE_DIR) install
-	touch -c $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file
+	touch $(LTP_TESTSUITE_DIR)/.installed
 
-ltp-testsuite: uclibc host-fakeroot $(LTP_TESTSUITE_DIR)/testcases/bin/1K_file
+ltp-testsuite: uclibc host-fakeroot $(LTP_TESTSUITE_DIR)/.installed
 
 ltp-testsuite-clean:
 	$(MAKE) -C $(LTP_TESTSUITE_DIR) clean

+ 1 - 1
target/cramfs/cramfs.mk

@@ -58,7 +58,7 @@ ifeq ($(strip $(BR2_sparc)),y)
 CRAMFS_ENDIANNESS=-b
 endif
 
-cramfsroot: host-fakeroot makedevs cramfs
+cramfsroot: host-fakeroot makedevs $(STAGING_DIR)/fakeroot.env cramfs
 	#-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
 	-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
 	@rm -rf $(TARGET_DIR)/usr/man

+ 1 - 1
target/ext2/ext2root.mk

@@ -65,7 +65,7 @@ else
 EXT2_TARGET := $(EXT2_BASE)
 endif
 
-$(EXT2_BASE): host-fakeroot makedevs genext2fs
+$(EXT2_BASE): host-fakeroot makedevs $(STAGING_DIR)/fakeroot.env genext2fs
 	-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
 	@rm -rf $(TARGET_DIR)/usr/man
 	@rm -rf $(TARGET_DIR)/usr/share/man

+ 1 - 1
target/jffs2/jffs2root.mk

@@ -38,7 +38,7 @@ JFFS2_TARGET := $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_OUTPUT))
 # value of MKFS_JFFS2 to either the previously installed copy or the one
 # just built.
 #
-$(JFFS2_TARGET): host-fakeroot makedevs mtd-host
+$(JFFS2_TARGET): host-fakeroot makedevs $(STAGING_DIR)/fakeroot.env mtd-host
 	-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
 	@rm -rf $(TARGET_DIR)/usr/man
 	@rm -rf $(TARGET_DIR)/usr/share/man

+ 1 - 1
target/squashfs/squashfsroot.mk

@@ -53,7 +53,7 @@ ifeq ($(strip $(BR2_sparc)),y)
 SQUASHFS_ENDIANNESS=-be
 endif
 
-squashfsroot: host-fakeroot makedevs squashfs
+squashfsroot: host-fakeroot makedevs $(STAGING_DIR)/fakeroot.env squashfs
 	-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
 	@rm -rf $(TARGET_DIR)/usr/man
 	@rm -rf $(TARGET_DIR)/usr/info

+ 1 - 1
target/tar/tarroot.mk

@@ -6,7 +6,7 @@
 
 TAR_OPTS := $(strip $(BR2_TARGET_ROOTFS_TAR_OPTIONS))
 
-tarroot: host-fakeroot makedevs
+tarroot: host-fakeroot makedevs $(STAGING_DIR)/fakeroot.env
 	-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
 	@rm -rf $(TARGET_DIR)/usr/man
 	@rm -rf $(TARGET_DIR)/usr/info