summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorParthiban Nallathambi <pn@denx.de>2018-02-20 16:49:27 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-03 17:08:29 +0000
commit5055489b9ab3fda32a285d0d165d080d11a4d432 (patch)
tree81977a408a70fb90224319fc0a889b344815dacc
parent0e3a9bed988b5fd4de770fe8cd1160b9f6c8c365 (diff)
downloadopenembedded-core-contrib-5055489b9ab3fda32a285d0d165d080d11a4d432.tar.gz
wic: Add post operation hook for SourcePlugin
do_post_partition hook is needed if some operations like security signing the parition needs to be done. source plugins can make use of this to implement post operatiosn in do_post_partition. do_post_partition is called after do_prepare_partition if present. Signed-off-by: Parthiban Nallathambi <pn@denx.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--scripts/lib/wic/help.py4
-rw-r--r--scripts/lib/wic/partition.py3
-rw-r--r--scripts/lib/wic/pluginbase.py10
3 files changed, 17 insertions, 0 deletions
diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
index bf658b94e34..842b868a575 100644
--- a/scripts/lib/wic/help.py
+++ b/scripts/lib/wic/help.py
@@ -576,6 +576,10 @@ DESCRIPTION
partition. In other words, it 'prepares' the final partition
image which will be incorporated into the disk image.
+ do_post_partition()
+ Called after the partition is created. It is useful to add post
+ operations e.g. signing the partition.
+
do_configure_partition()
Called before do_prepare_partition(), typically used to
create custom configuration files for a partition, for
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index 72f2e2708f5..d4558621a95 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -185,6 +185,9 @@ class Partition():
plugin.do_prepare_partition(self, srcparams_dict, creator,
cr_workdir, oe_builddir, bootimg_dir,
kernel_dir, rootfs_dir, native_sysroot)
+ plugin.do_post_partition(self, srcparams_dict, creator,
+ cr_workdir, oe_builddir, bootimg_dir,
+ kernel_dir, rootfs_dir, native_sysroot)
# further processing required Partition.size to be an integer, make
# sure that it is one
diff --git a/scripts/lib/wic/pluginbase.py b/scripts/lib/wic/pluginbase.py
index c009820adcc..686d2fee3b3 100644
--- a/scripts/lib/wic/pluginbase.py
+++ b/scripts/lib/wic/pluginbase.py
@@ -137,3 +137,13 @@ class SourcePlugin(metaclass=PluginMeta):
'prepares' the partition to be incorporated into the image.
"""
logger.debug("SourcePlugin: do_prepare_partition: part: %s", part)
+
+ @classmethod
+ def do_post_partition(cls, part, source_params, creator, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir, rootfs_dir,
+ native_sysroot):
+ """
+ Called after the partition is created. It is useful to add post
+ operations e.g. security signing the partition.
+ """
+ logger.debug("SourcePlugin: do_post_partition: part: %s", part)