Browse Source

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

Eric Andersen 20 năm trước cách đây
mục cha
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