Add a post-image script mechanism
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 7 Feb 2013 11:58:43 +0000 (11:58 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Fri, 8 Feb 2013 20:46:13 +0000 (21:46 +0100)
Just like we have a post-build script mechanism that gets executed
after the build of all packages but before the creation of the
filesystem images, let's introduce a post-image script mechanism, that
gets executed once all filesystem images have been generated.

This can for example be used to call a tool building a firmware image
from different images generated by Buildroot, or automatically extract
the tarball root filesystem image into some location exported by NFS,
or any other custom action.

[Peter: fix image script check]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Makefile
system/Config.in

index d9e5f24081a7ed670c5893d5fc3be48de73227b0..395d270c95a67e84b09b35bcb8f09347c2c0214b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -353,6 +353,8 @@ endif
 
 include fs/common.mk
 
+TARGETS+=target-post-image
+
 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
 TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS))
 TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
@@ -555,6 +557,13 @@ target-generatelocales: host-localedef
        done
 endif
 
+target-post-image:
+ifneq ($(BR2_ROOTFS_POST_IMAGE_SCRIPT),"")
+       @$(call MESSAGE,"Executing post-image script\(s\)")
+       @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
+               $(s) $(BINARIES_DIR)$(sep))
+endif
+
 toolchain-eclipse-register:
        ./support/scripts/eclipse-register-toolchain `readlink -f $(O)` $(notdir $(TARGET_CROSS)) $(BR2_ARCH)
 
index fa01d914be0bc3b4d791c78b7ca9637ea6040616..bdd47c5608e2366d14fd8bc1052930a99fdae391 100644 (file)
@@ -276,4 +276,22 @@ config BR2_ROOTFS_POST_BUILD_SCRIPT
          only argument. Make sure the exit code of those scripts are 0,
          otherwise make will stop after calling them.
 
+config BR2_ROOTFS_POST_IMAGE_SCRIPT
+       string "Custom scripts to run after creating filesystem images"
+       default ""
+       help
+         Specify a space-separated list of scripts to be run after
+         the build has finished and after Buildroot has packed the
+         files into selected filesystem images.
+
+         This can for example be used to call a tool building a
+         firmware image from different images generated by Buildroot,
+         or automatically extract the tarball root filesystem image
+         into some location exported by NFS, or any other custom
+         action.
+
+         These scripts are called with the images directory name as
+         first and only argument. The script is executed from the
+         main Buildroot source directory as the current directory.
+
 endmenu