diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index d42c93df6..9461bc4c1 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -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 diff --git a/meta-digi-dey/conf/layer.conf b/meta-digi-dey/conf/layer.conf index 91a959614..0027cf474 100644 --- a/meta-digi-dey/conf/layer.conf +++ b/meta-digi-dey/conf/layer.conf @@ -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}/" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb new file mode 100644 index 000000000..51810b718 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb @@ -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 \ +" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb new file mode 100644 index 000000000..3c1d26f76 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb @@ -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$)" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/swu-images/dey-image-webkit-swu.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/swu-images/dey-image-webkit-swu.bb new file mode 100644 index 000000000..0d5933099 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/swu-images/dey-image-webkit-swu.bb @@ -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}" diff --git a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc new file mode 100644 index 000000000..1542bc7f7 --- /dev/null +++ b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc @@ -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 \ +" diff --git a/meta-digi-dey/recipes-core/images/dey-image-qt.bb b/meta-digi-dey/recipes-core/images/dey-image-qt.bb index 3d4560298..0842c0daa 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-qt.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-qt.bb @@ -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" diff --git a/sdk/build-github.sh b/sdk/build-github.sh index c4213b974..83d8bbc19 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -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 diff --git a/sdk/build.sh b/sdk/build.sh index bdb10d345..538dc0927 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -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 diff --git a/sdk/config/ccimx6qpsbc/bblayers.conf.sample b/sdk/config/ccimx6qpsbc/bblayers.conf.sample index bc2ef9645..b639b6828 100644 --- a/sdk/config/ccimx6qpsbc/bblayers.conf.sample +++ b/sdk/config/ccimx6qpsbc/bblayers.conf.sample @@ -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 \ " diff --git a/sdk/config/ccimx6qpsbc/conf-notes.txt b/sdk/config/ccimx6qpsbc/conf-notes.txt index e42d80e4f..d10d418c4 100644 --- a/sdk/config/ccimx6qpsbc/conf-notes.txt +++ b/sdk/config/ccimx6qpsbc/conf-notes.txt @@ -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 diff --git a/sdk/config/ccimx6sbc/bblayers.conf.sample b/sdk/config/ccimx6sbc/bblayers.conf.sample index bc2ef9645..b639b6828 100644 --- a/sdk/config/ccimx6sbc/bblayers.conf.sample +++ b/sdk/config/ccimx6sbc/bblayers.conf.sample @@ -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 \ " diff --git a/sdk/config/ccimx6sbc/conf-notes.txt b/sdk/config/ccimx6sbc/conf-notes.txt index e42d80e4f..d10d418c4 100644 --- a/sdk/config/ccimx6sbc/conf-notes.txt +++ b/sdk/config/ccimx6sbc/conf-notes.txt @@ -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 diff --git a/sdk/config/ccimx8mn-dvk/bblayers.conf.sample b/sdk/config/ccimx8mn-dvk/bblayers.conf.sample index bc2ef9645..b639b6828 100644 --- a/sdk/config/ccimx8mn-dvk/bblayers.conf.sample +++ b/sdk/config/ccimx8mn-dvk/bblayers.conf.sample @@ -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 \ " diff --git a/sdk/config/ccimx8mn-dvk/conf-notes.txt b/sdk/config/ccimx8mn-dvk/conf-notes.txt index 6085b7217..39ed1c407 100644 --- a/sdk/config/ccimx8mn-dvk/conf-notes.txt +++ b/sdk/config/ccimx8mn-dvk/conf-notes.txt @@ -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 diff --git a/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample b/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample index bc2ef9645..b639b6828 100644 --- a/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample +++ b/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample @@ -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 \ " diff --git a/sdk/config/ccimx8x-sbc-express/conf-notes.txt b/sdk/config/ccimx8x-sbc-express/conf-notes.txt index 6085b7217..39ed1c407 100644 --- a/sdk/config/ccimx8x-sbc-express/conf-notes.txt +++ b/sdk/config/ccimx8x-sbc-express/conf-notes.txt @@ -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 diff --git a/sdk/config/ccimx8x-sbc-pro/bblayers.conf.sample b/sdk/config/ccimx8x-sbc-pro/bblayers.conf.sample index bc2ef9645..b639b6828 100644 --- a/sdk/config/ccimx8x-sbc-pro/bblayers.conf.sample +++ b/sdk/config/ccimx8x-sbc-pro/bblayers.conf.sample @@ -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 \ " diff --git a/sdk/config/ccimx8x-sbc-pro/conf-notes.txt b/sdk/config/ccimx8x-sbc-pro/conf-notes.txt index 6085b7217..39ed1c407 100644 --- a/sdk/config/ccimx8x-sbc-pro/conf-notes.txt +++ b/sdk/config/ccimx8x-sbc-pro/conf-notes.txt @@ -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