fs: add missing $$(sep) to pre- and post-command hooks code
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Fri, 3 Nov 2017 18:49:53 +0000 (11:49 -0700)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sun, 5 Nov 2017 16:52:27 +0000 (17:52 +0100)
When multiple hooks are registred, both pre-a and post-command hooks'
foreach loops need to have a separator at the end in order for the
code to work as intended. Without the separator all hooks end up as a
one single line command thus making all but the first hook into
no-ops.

Fixes: 4628b6f3b4 ("fs: add pre- and post-command hooks")
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
fs/common.mk

index 9a7758ff4980a940b42073e5c0649787a878c346..5b612a3f418705fdb04afdfeb4059b0bf68f894e 100644 (file)
@@ -96,13 +96,13 @@ endif
                echo "echo '$$(TERM_BOLD)>>>   Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \
                echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep))
        $$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\
-               $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT))
+               $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
 ifeq ($$(BR2_REPRODUCIBLE),y)
        echo "find $$(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$$(SOURCE_DATE_EPOCH)" >> $$(FAKEROOT_SCRIPT)
 endif
        $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
        $$(foreach hook,$$(ROOTFS_POST_CMD_HOOKS),\
-               $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT))
+               $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
        chmod a+x $$(FAKEROOT_SCRIPT)
        PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
        $$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE)