Add support for the dey-image-webkit image

This image is very similar to dey-image-qt, but it includes the WebKit
packagegroup instead of the Qt one. Said packagegroup contains all of the
elements needed to run a WebKit-based browser environment in DEY.

This image requires the meta-webkit layer, so include it in our default
bblayers template. For now, include all WebKit related recipes in a dynamic
layer, because the ccimx6ul doesn't support WebKit and its projects don't need
meta-webkit at all.

https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
Gabriel Valcazar 2020-12-09 16:28:07 +01:00
parent 8b3b8b5516
commit f91cb8d6bd
19 changed files with 143 additions and 69 deletions

View File

@ -42,6 +42,7 @@ FEATURE_PACKAGES_dey-gstreamer = "packagegroup-dey-gstreamer"
FEATURE_PACKAGES_dey-network = "packagegroup-dey-network"
FEATURE_PACKAGES_dey-qt = "packagegroup-dey-qt"
FEATURE_PACKAGES_dey-trustfence = "packagegroup-dey-trustfence"
FEATURE_PACKAGES_dey-webkit = "packagegroup-dey-webkit"
FEATURE_PACKAGES_dey-wireless = "packagegroup-dey-wireless"
# Our layer only provides version 5.41, which we want to keep because

View File

@ -5,10 +5,10 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
# Let us add layer-specific bbappends which are only applied when that
# layer is included in our configuration
BBFILES += "${@' '.join('${LAYERDIR}/other-layers/%s/recipes*/*/*.bbappend' % layer \
for layer in BBFILE_COLLECTIONS.split())}"
BBFILES_DYNAMIC += " \
webkit:${LAYERDIR}/dynamic-layers/webkit/*/*/*.bb \
webkit:${LAYERDIR}/dynamic-layers/webkit/*/*/*.bbappend \
"
BBFILE_COLLECTIONS += "digi-dey"
BBFILE_PATTERN_digi-dey := "^${LAYERDIR}/"

View File

@ -0,0 +1,13 @@
#
# Copyright (C) 2020, Digi International Inc.
#
SUMMARY = "WebKit packagegroup for DEY image"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
# Include WPE WebKit and launcher (cog)
RDEPENDS_${PN} += " \
cog \
wpewebkit \
"

View File

@ -0,0 +1,10 @@
#
# Copyright (C) 2020 Digi International.
#
require recipes-core/images/dey-image-graphical.inc
DESCRIPTION = "DEY image with WebKit browser engine support"
GRAPHICAL_CORE = "webkit"
COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m|ccimx6$)"

View File

@ -0,0 +1,8 @@
# Copyright (C) 2020 Digi International Inc.
require recipes-digi/swu-images/swu.inc
# Point to the SRC_URI files in the original swu-images directory
FILESEXTRAPATHS_prepend := "${THISDIR}/../../../../recipes-digi/swu-images/files:"
IMG_NAME = "${@get_baseimg_pn(d)}-${GRAPHICAL_BACKEND}"

View File

@ -0,0 +1,64 @@
#
# Copyright (C) 2016-2020 Digi International.
#
DESCRIPTION = "DEY image with graphical libraries"
LICENSE = "MIT"
GRAPHICAL_CORE ??= "qt"
SOC_PACKAGES = ""
SOC_PACKAGES_ccimx6 = "imx-gpu-viv-demos imx-gpu-viv-tools"
IMAGE_INSTALL = " \
packagegroup-dey-core \
${CORE_IMAGE_EXTRA_INSTALL} \
${SOC_PACKAGES} \
"
IMAGE_FEATURES += " \
dey-network \
dey-${GRAPHICAL_CORE} \
eclipse-debug \
package-management \
ssh-server-dropbear \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', \
'', d), d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'alsa', 'dey-audio', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'dey-bluetooth', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'dey-wireless', '', d)} \
"
# Separately add 'dey-gstreamer' to ccimx6ulsbc platform.
# This platform does not have 'accel-video' but we want gstreamer for using
# it with video/camera
IMAGE_FEATURES_append_ccimx6ulsbc = " dey-gstreamer"
# Remove some features to reduce the rootfs size to fit in the internal storage.
IMAGE_FEATURES_remove_ccimx6ul = "package-management"
# SDK features (for toolchains generated from an image with populate_sdk)
SDKIMAGE_FEATURES ?= "dev-pkgs dbg-pkgs staticdev-pkgs"
IMAGE_LINGUAS = ""
inherit core-image
inherit dey-image
inherit distro_features_check
CONFLICT_DISTRO_FEATURES = "directfb"
IMAGE_ROOTFS_SIZE = "8192"
# Do not install udev-cache
BAD_RECOMMENDATIONS += "udev-cache"
BAD_RECOMMENDATIONS += "eudev-hwdb"
export IMAGE_BASENAME = "dey-image-${GRAPHICAL_CORE}-${GRAPHICAL_BACKEND}"
CORE_IMAGE_EXTRA_INSTALL += " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init weston-examples gtk+3-demo clutter-1.0-examples', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland xterm', '', d)} \
dey-examples-digiapix \
"

View File

@ -1,62 +1,8 @@
#
# Copyright (C) 2016-2018 Digi International.
# Copyright (C) 2016-2020 Digi International.
#
require dey-image-graphical.inc
DESCRIPTION = "DEY image with QT graphical libraries"
LICENSE = "MIT"
SOC_PACKAGES = ""
SOC_PACKAGES_ccimx6 = "imx-gpu-viv-demos imx-gpu-viv-tools"
IMAGE_INSTALL = " \
packagegroup-dey-core \
${CORE_IMAGE_EXTRA_INSTALL} \
${SOC_PACKAGES} \
"
IMAGE_FEATURES += " \
dey-network \
dey-qt \
eclipse-debug \
package-management \
ssh-server-dropbear \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', \
'', d), d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'alsa', 'dey-audio', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'dey-bluetooth', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'dey-wireless', '', d)} \
"
# Separately add 'dey-gstreamer' to ccimx6ulsbc platform.
# This platform does not have 'accel-video' but we want gstreamer for using
# it with video/camera
IMAGE_FEATURES_append_ccimx6ulsbc = " dey-gstreamer"
# Remove some features to reduce the rootfs size to fit in the internal storage.
IMAGE_FEATURES_remove_ccimx6ul = "package-management"
# SDK features (for toolchains generated from an image with populate_sdk)
SDKIMAGE_FEATURES ?= "dev-pkgs dbg-pkgs staticdev-pkgs"
IMAGE_LINGUAS = ""
inherit core-image
inherit dey-image
inherit distro_features_check
CONFLICT_DISTRO_FEATURES = "directfb"
IMAGE_ROOTFS_SIZE = "8192"
# Do not install udev-cache
BAD_RECOMMENDATIONS += "udev-cache"
BAD_RECOMMENDATIONS += "eudev-hwdb"
export IMAGE_BASENAME = "dey-image-qt-${GRAPHICAL_BACKEND}"
CORE_IMAGE_EXTRA_INSTALL += " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init weston-examples gtk+3-demo clutter-1.0-examples', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland xterm', '', d)} \
dey-examples-digiapix \
"
GRAPHICAL_CORE = "qt"

View File

@ -29,7 +29,7 @@ MANIFEST_URL="https://github.com/digi-embedded/dey-manifest.git"
RM_WORK_CFG="
INHERIT += \"rm_work\"
# Exclude rm_work for some key packages (for debugging purposes)
RM_WORK_EXCLUDE += \"dey-image-qt linux-dey qtbase u-boot-dey\"
RM_WORK_EXCLUDE += \"dey-image-qt dey-image-webkit linux-dey qtbase u-boot-dey\"
"
ZIP_INSTALLER_CFG="
@ -91,6 +91,7 @@ purge_sstate() {
packagegroup-dey-gstreamer \
packagegroup-dey-network \
packagegroup-dey-qt \
packagegroup-dey-webkit \
packagegroup-dey-wireless \
"
bitbake -k -c cleansstate ${PURGE_PKGS} >/dev/null 2>&1 || true

View File

@ -42,7 +42,7 @@ BB_GENERATE_MIRROR_TARBALLS = \"1\"
RM_WORK_CFG="
INHERIT += \"rm_work\"
# Exclude rm_work for some key packages (for debugging purposes)
RM_WORK_EXCLUDE += \"dey-image-qt linux-dey qtbase u-boot-dey\"
RM_WORK_EXCLUDE += \"dey-image-qt dey-image-webkit linux-dey qtbase u-boot-dey\"
"
ZIP_INSTALLER_CFG="
@ -109,6 +109,7 @@ purge_sstate() {
packagegroup-dey-gstreamer \
packagegroup-dey-network \
packagegroup-dey-qt \
packagegroup-dey-webkit \
packagegroup-dey-wireless \
"
bitbake -k -c cleansstate ${PURGE_PKGS} >/dev/null 2>&1 || true
@ -173,11 +174,11 @@ while read _pl _var _tgt; do
eval "${_pl//-/_}_var=\"${_var//,/ }\""
eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\""
done<<-_EOF_
ccimx8mn-dvk DONTBUILDVARIANTS dey-image-qt,dey-image-aws
ccimx8x-sbc-pro DONTBUILDVARIANTS dey-image-qt,dey-image-aws
ccimx8x-sbc-express DONTBUILDVARIANTS dey-image-qt,dey-image-aws
ccimx6qpsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws
ccimx6sbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws
ccimx8mn-dvk DONTBUILDVARIANTS dey-image-qt,dey-image-webkit,dey-image-aws
ccimx8x-sbc-pro DONTBUILDVARIANTS dey-image-qt,dey-image-webkit,dey-image-aws
ccimx8x-sbc-express DONTBUILDVARIANTS dey-image-qt,dey-image-webkit,dey-image-aws
ccimx6qpsbc DONTBUILDVARIANTS dey-image-qt,dey-image-webkit,dey-image-aws
ccimx6sbc DONTBUILDVARIANTS dey-image-qt,dey-image-webkit,dey-image-aws
ccimx6ulsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws
ccimx6ulstarter DONTBUILDVARIANTS core-image-base,dey-image-aws
ccimx6ulsom DONTBUILDVARIANTS dey-image-mft-module-min

View File

@ -17,6 +17,7 @@ BBLAYERS ?= " \
##DIGIBASE##/meta-swupdate \
##DIGIBASE##/meta-freescale \
##DIGIBASE##/meta-fsl-demos \
##DIGIBASE##/meta-webkit \
##DIGIBASE##/meta-digi/meta-digi-arm \
##DIGIBASE##/meta-digi/meta-digi-dey \
"

View File

@ -10,6 +10,11 @@ Digi Embedded Yocto provides the following image recipes:
DISTRO_FEATURES_remove = "x11 wayland"
* dey-image-webkit: graphical WebKit image
By default the image is XWayland-based so it provides a full Weston
desktop environment.
* dey-image-aws: console-only image supporting Amazon Web Services IoT
This image includes the AWS Greengrass Core and an AWS IoT platform

View File

@ -17,6 +17,7 @@ BBLAYERS ?= " \
##DIGIBASE##/meta-swupdate \
##DIGIBASE##/meta-freescale \
##DIGIBASE##/meta-fsl-demos \
##DIGIBASE##/meta-webkit \
##DIGIBASE##/meta-digi/meta-digi-arm \
##DIGIBASE##/meta-digi/meta-digi-dey \
"

View File

@ -10,6 +10,11 @@ Digi Embedded Yocto provides the following image recipes:
DISTRO_FEATURES_remove = "x11 wayland"
* dey-image-webkit: graphical WebKit image
By default the image is XWayland-based so it provides a full Weston
desktop environment.
* dey-image-aws: console-only image supporting Amazon Web Services IoT
This image includes the AWS Greengrass Core and an AWS IoT platform

View File

@ -17,6 +17,7 @@ BBLAYERS ?= " \
##DIGIBASE##/meta-swupdate \
##DIGIBASE##/meta-freescale \
##DIGIBASE##/meta-fsl-demos \
##DIGIBASE##/meta-webkit \
##DIGIBASE##/meta-digi/meta-digi-arm \
##DIGIBASE##/meta-digi/meta-digi-dey \
"

View File

@ -10,6 +10,11 @@ Digi Embedded Yocto provides the following image recipes:
DISTRO_FEATURES_remove = "x11 wayland vulkan"
* dey-image-webkit: graphical WebKit image
By default the image is XWayland-based so it provides a full Weston
desktop environment.
* dey-image-aws: console-only image supporting Amazon Web Services IoT
This image includes the AWS Greengrass Core and an AWS IoT platform

View File

@ -17,6 +17,7 @@ BBLAYERS ?= " \
##DIGIBASE##/meta-swupdate \
##DIGIBASE##/meta-freescale \
##DIGIBASE##/meta-fsl-demos \
##DIGIBASE##/meta-webkit \
##DIGIBASE##/meta-digi/meta-digi-arm \
##DIGIBASE##/meta-digi/meta-digi-dey \
"

View File

@ -10,6 +10,11 @@ Digi Embedded Yocto provides the following image recipes:
DISTRO_FEATURES_remove = "x11 wayland vulkan"
* dey-image-webkit: graphical WebKit image
By default the image is XWayland-based so it provides a full Weston
desktop environment.
* dey-image-aws: console-only image supporting Amazon Web Services IoT
This image includes the AWS Greengrass Core and an AWS IoT platform

View File

@ -17,6 +17,7 @@ BBLAYERS ?= " \
##DIGIBASE##/meta-swupdate \
##DIGIBASE##/meta-freescale \
##DIGIBASE##/meta-fsl-demos \
##DIGIBASE##/meta-webkit \
##DIGIBASE##/meta-digi/meta-digi-arm \
##DIGIBASE##/meta-digi/meta-digi-dey \
"

View File

@ -10,6 +10,11 @@ Digi Embedded Yocto provides the following image recipes:
DISTRO_FEATURES_remove = "x11 wayland vulkan"
* dey-image-webkit: graphical WebKit image
By default the image is XWayland-based so it provides a full Weston
desktop environment.
* dey-image-aws: console-only image supporting Amazon Web Services IoT
This image includes the AWS Greengrass Core and an AWS IoT platform