Pārlūkot izejas kodu

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

Eric Andersen 20 gadi atpakaļ
vecāks
revīzija
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