Currently there is only one defined imager as part of oe-core's wic
implementation: 'direct'. However, having a highly plugin-based design,
wic allows users to define their own imagers (and sources).

Therefore don't hard-code the filename extension of the imager output to
be 'direct' (i.e. the default imager). Allow the extension to follow the
name of the imager being used.

A user can specify a custom imager via the WIC_CREATE_EXTRA_ARGS variable.
If the user does not specify an imager, then 'direct' is assumed.

Signed-off-by: Trevor Woerner <[email protected]>
---
 meta/classes-recipe/image_types_wic.bbclass | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/image_types_wic.bbclass 
b/meta/classes-recipe/image_types_wic.bbclass
index 00620fdc9d1f..ce7125f6f18f 100644
--- a/meta/classes-recipe/image_types_wic.bbclass
+++ b/meta/classes-recipe/image_types_wic.bbclass
@@ -71,7 +71,24 @@ IMAGE_CMD:wic () {
                bbfatal "No kickstart files from WKS_FILES were found: 
${WKS_FILES}. Please set WKS_FILE or WKS_FILES appropriately."
        fi
        BUILDDIR="${TOPDIR}" PSEUDO_UNLOAD=1 wic create "$wks" --vars 
"${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" -o "$build_wic/" -w 
"$tmp_wic" ${WIC_CREATE_EXTRA_ARGS}
-       mv "$build_wic/$(basename "${wks%.wks}")"*.direct "$out.wic"
+
+       # look to see if the user specifies a custom imager
+       IMAGER=direct
+       eval set -- "${WIC_CREATE_EXTRA_ARGS} --"
+       while [ 1 ]; do
+               case "$1" in
+                       --imager|-i)
+                               shift
+                               IMAGER=$1
+                               ;;
+                       --)
+                               shift
+                               break
+                               ;;
+               esac
+               shift
+       done
+       mv "$build_wic/$(basename "${wks%.wks}")"*.${IMAGER} "$out.wic"
 }
 IMAGE_CMD:wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES TOPDIR"
 do_image_wic[cleandirs] = "${WORKDIR}/build-wic"
-- 
2.43.0.76.g1a87c842ece3

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#196046): 
https://lists.openembedded.org/g/openembedded-core/message/196046
Mute This Topic: https://lists.openembedded.org/mt/104520710/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to