Add a post-image script mechanism

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>
This commit is contained in:
Thomas Petazzoni 2013-02-07 11:58:43 +00:00 committed by Peter Korsgaard
parent 85ffaecb27
commit 9fa32ba0b7
2 changed files with 27 additions and 0 deletions

View File

@ -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)

View 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