fs: prepare temp directory before running PRE_GEN hooks
authorYann E. MORIN <yann.morin.1998@free.fr>
Sat, 2 Dec 2017 11:55:05 +0000 (12:55 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 2 Dec 2017 13:37:53 +0000 (14:37 +0100)
Some filesystems have PRE_GEN hooks that create a directory structure
under the temporary directory.

For example, iso9660 will create a sub-directory where it stores the
kernel (in case of initramfs or initrd).

So, we must run the PRE_GEN hooks after we cleanup/create the temporary
directory.

Fixes:
    https://gitlab.com/buildroot.org/buildroot/-/jobs/42835965
    https://gitlab.com/buildroot.org/buildroot/-/jobs/42835967

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
fs/common.mk

index c17c4585ff3b528bfdb0065d897046f32818874b..b06e9b5597fb6bc96c7734b4b4f4214e7b6444cc 100644 (file)
@@ -69,9 +69,9 @@ endif
 
 $$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES)
        @$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)")
-       $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep))
        rm -rf $(FS_DIR)
        mkdir -p $(FS_DIR)
+       $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep))
        echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT)
        echo "set -e" >> $$(FAKEROOT_SCRIPT)
        echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)