From 0b9b73afc8ef3db14ba8b34b04bc7ed8b0bc3d7d Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Fri, 3 Feb 2023 13:10:09 +0100 Subject: [PATCH] connectcore-demo: separate in several packages This commit separates the original 'connectcore-demo-example' package in 3 packages: 1. 'server' package. It contains the 'demoserver.py' script and its corresponding systemd service and init script. This script is required for the local demo and to be used with the Bluetooth application (during the get started process) 2. 'example' package. It contains the html and required resources (images, javascript, etc.) to use the demo locally, except for the multimedia resources. This package depends (in runtime) on the 'server' package. 3. 'multimedia' package. It contains the multimedia html and required resources (images, javascript, videos, etc.) to use the multimedia demo features locally. This package depends (in runtime) on the 'example' package and also on 'video-examples' and 'webglsamples' packages. This split allows to select the required demo packages per platform and image type. By default, the 'multimedia' package is the one included in the webkit images, but the 'example' package is the one included in the rest of images. Signed-off-by: Tatiana Leon --- .../packagegroups/packagegroup-dey-webkit.bb | 4 +- .../connectcore-demo-example-webkit.bb | 53 +++++++++++++-- .../connectcore-demo-example-init | 10 +-- .../connectcore-demo-example.service | 2 +- .../dey-examples/connectcore-demo-example.inc | 68 ++++++++++++------- .../connectcore-demo-example.service | 11 --- ...mple-init => connectcore-demo-server-init} | 0 .../connectcore-demo-server.service | 11 +++ .../packagegroup-dey-examples.bb | 4 +- 9 files changed, 107 insertions(+), 56 deletions(-) delete mode 100644 meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service rename meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/{connectcore-demo-example-init => connectcore-demo-server-init} (100%) create mode 100644 meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service 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 index 98dccdaf6..8fe0bc6d0 100644 --- 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 @@ -1,5 +1,5 @@ # -# Copyright (C) 2020, Digi International Inc. +# Copyright (C) 2020-2023, Digi International Inc. # SUMMARY = "WebKit packagegroup for DEY image" @@ -9,6 +9,6 @@ inherit packagegroup # Include WPE WebKit, launcher (cog) and examples RDEPENDS:${PN} += " \ cog \ - connectcore-demo-example-webkit \ + connectcore-demo-example-webkit-multimedia \ wpewebkit \ " diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb index 0d5bf6f7a..5edebf153 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb @@ -1,12 +1,55 @@ -# Copyright (C) 2022 Digi International. +# Copyright (C) 2022, 2023 Digi International. require recipes-digi/dey-examples/connectcore-demo-example.inc -RDEPENDS:${PN} += " \ - cog \ - video-examples \ - webglsamples \ +WESTON_SERVICE ?= "weston.service" +WESTON_SERVICE:ccmp15 ?= "weston-launch.service" + +CC_DEMO_DISPLAY ?= "wayland-0" +CC_DEMO_DISPLAY:ccmp15 ?= "wayland-1" +CC_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" +CC_DEMO_ENV:ccimx6ul ?= "" + +FILESEXTRAPATHS:prepend := "${THISDIR}/../../../../recipes-digi/dey-examples/connectcore-demo-example:" + +SRC_URI += " \ + file://connectcore-demo-example-init \ + file://connectcore-demo-example.service \ " +do_install:append() { + # Install systemd service + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/connectcore-demo-example.service ${D}${systemd_unitdir}/system/ + sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \ + "${D}${systemd_unitdir}/system/connectcore-demo-example.service" + fi + + # Install connectcore-demo-example-init + install -d ${D}${sysconfdir}/init.d/ + install -m 755 ${WORKDIR}/connectcore-demo-example-init ${D}${sysconfdir}/connectcore-demo-example + sed -i -e "s@##CC_DEMO_ENV##@${CC_DEMO_ENV}@g" \ + -e "s@##CC_DEMO_DISPLAY##@${CC_DEMO_DISPLAY}@g" \ + "${D}${sysconfdir}/connectcore-demo-example" + ln -sf ${sysconfdir}/connectcore-demo-example ${D}${sysconfdir}/init.d/connectcore-demo-example +} + +FILES:${PN}:append = " \ + ${systemd_unitdir}/system/connectcore-demo-example.service \ + ${sysconfdir}/connectcore-demo-example \ + ${sysconfdir}/init.d/connectcore-demo-example \ +" + +RDEPENDS:${PN} += " cog" + +INITSCRIPT_PACKAGES += "${PN}" +INITSCRIPT_NAME:${PN} = "connectcore-demo-example" +INITSCRIPT_PARAMS:${PN} = "start 19 2 3 4 5 . stop 21 0 1 6 ." + +SYSTEMD_PACKAGES += "${PN}" +SYSTEMD_SERVICE:${PN} = "connectcore-demo-example.service" + RREPLACES:${PN} = "connectcore-demo-example" RCONFLICTS:${PN} = "connectcore-demo-example" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init index 29688b068..2ba222790 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init @@ -19,7 +19,6 @@ readonly DEMO_DISPLAY="##CC_DEMO_DISPLAY##" readonly DEMO_ENV="##CC_DEMO_ENV##" readonly COG_BINARY="/usr/bin/cog" -readonly DEMOSERVER_BINARY="/srv/www/demoserver.py" readonly STOP_TIMEOUT="5" wait_for_wayland() { @@ -48,16 +47,9 @@ stop_process() { done } -stop() { - stop_process "${COG_BINARY}" - stop_process "${DEMOSERVER_BINARY}" -} - start() { local COG_ENV="${DEMO_ENV}" - ${DEMOSERVER_BINARY} > /dev/null 2>&1 & - if [ -d "/usr/share/wayland" ]; then wait_for_wayland COG_ENV="${COG_ENV} COG_PLATFORM_WL_VIEW_FULLSCREEN=1" @@ -84,7 +76,7 @@ case "$1" in start ;; stop) - stop + stop_process "${COG_BINARY}" ;; restart) $0 stop diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service index 58e2606d9..091d1fb90 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service @@ -1,6 +1,6 @@ [Unit] Description=Initialization of the ConnectCore demo example -After=busybox-httpd.service +After=connectcore-demo-server # Make sure we are started after graphic service is available After=##WESTON_SERVICE## diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc index 25682f5ba..d58832a38 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc @@ -9,19 +9,11 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" SRC_URI += " \ - file://connectcore-demo-example-init \ - file://connectcore-demo-example.service \ + file://connectcore-demo-server-init \ + file://connectcore-demo-server.service \ " -WESTON_SERVICE ?= "weston.service" -WESTON_SERVICE:ccmp15 ?= "weston-launch.service" - -CC_DEMO_DISPLAY ?= "wayland-0" -CC_DEMO_DISPLAY:ccmp15 ?= "wayland-1" -CC_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" -CC_DEMO_ENV:ccimx6ul ?= "" - -RDEPENDS:${PN} = " \ +RDEPENDS:${PN}-server = " \ busybox-httpd \ libdigiapix-python3 \ mpg123 \ @@ -48,30 +40,54 @@ do_install() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then # Install systemd unit files install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/connectcore-demo-example.service ${D}${systemd_unitdir}/system/ - sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \ - "${D}${systemd_unitdir}/system/connectcore-demo-example.service" + install -m 0644 ${WORKDIR}/connectcore-demo-server.service ${D}${systemd_unitdir}/system/ fi - # Install connectcore-demo-example-init + # Install connectcore-demo-server-init install -d ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/connectcore-demo-example-init ${D}${sysconfdir}/connectcore-demo-example - sed -i -e "s@##CC_DEMO_ENV##@${CC_DEMO_ENV}@g" \ - -e "s@##CC_DEMO_DISPLAY##@${CC_DEMO_DISPLAY}@g" \ - "${D}${sysconfdir}/connectcore-demo-example" - ln -sf ${sysconfdir}/connectcore-demo-example ${D}${sysconfdir}/init.d/connectcore-demo-example + install -m 755 ${WORKDIR}/connectcore-demo-server-init ${D}${sysconfdir}/connectcore-demo-server + ln -sf ${sysconfdir}/connectcore-demo-server ${D}${sysconfdir}/init.d/connectcore-demo-server } +PACKAGES =+ "${PN}-server ${PN}-multimedia" + FILES:${PN} += " \ /srv/www/* \ - ${systemd_unitdir}/system/connectcore-demo-example.service \ - ${sysconfdir}/connectcore-demo-example \ - ${sysconfdir}/init.d/connectcore-demo-example \ " -INITSCRIPT_NAME = "connectcore-demo-example" -INITSCRIPT_PARAMS = "start 19 2 3 4 5 . stop 21 0 1 6 ." +FILES:${PN}-multimedia += " \ + /srv/www/multimedia* \ + /srv/www/static/images/aquarium.jpg \ + /srv/www/static/images/big_buck_bunny.jpg \ + /srv/www/static/images/blob.jpg \ + /srv/www/static/images/cpu.png \ + /srv/www/static/images/electricflower.jpg \ + /srv/www/static/images/multiple-views.jpg \ + /srv/www/static/images/ram.png \ + /srv/www/static/images/spacerocks.jpg \ + /srv/www/static/images/toon-shading.jpg \ + /srv/www/static/js/multimedia.js \ +" -SYSTEMD_SERVICE:${PN} = "connectcore-demo-example.service" +FILES:${PN}-server = " \ + /srv/www/demoserver.py \ + ${systemd_unitdir}/system/connectcore-demo-server.service \ + ${sysconfdir}/connectcore-demo-server \ + ${sysconfdir}/init.d/connectcore-demo-server \ +" + +RDEPENDS:${PN} = "${PN}-server" +RDEPENDS:${PN}-multimedia = " \ + ${PN} \ + video-examples \ + webglsamples \ +" + +INITSCRIPT_PACKAGES = "${PN}-server" +INITSCRIPT_NAME:${PN}-server = "connectcore-demo-server" +INITSCRIPT_PARAMS:${PN}-server = "start 19 2 3 4 5 . stop 21 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE:${PN}-server = "connectcore-demo-server.service" PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service deleted file mode 100644 index fd7ec7a3b..000000000 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Initialization of the ConnectCore demo example -After=busybox-httpd.service - -[Service] -Type=forking -ExecStart=/etc/connectcore-demo-example start -ExecStop=/etc/connectcore-demo-example stop - -[Install] -WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-init b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server-init similarity index 100% rename from meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-init rename to meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server-init diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service new file mode 100644 index 000000000..9d38970ec --- /dev/null +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service @@ -0,0 +1,11 @@ +[Unit] +Description=Initialization of ConnectCore demo server +After=busybox-httpd.service + +[Service] +Type=forking +ExecStart=/etc/connectcore-demo-server start +ExecStop=/etc/connectcore-demo-server stop + +[Install] +WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb index c2f9f1a7d..eda018369 100644 --- a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb +++ b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2020, Digi International Inc. +# Copyright (C) 2013-2023, Digi International Inc. SUMMARY = "DEY examples packagegroup" @@ -20,7 +20,7 @@ RDEPENDS:${PN} = "\ dey-examples-cloudconnector \ dey-examples-digiapix \ dey-examples-rtc \ - connectcore-demo-example \ + connectcore-demo-example-multimedia \ " RDEPENDS:${PN}:append:ccimx6 = "\ ${@bb.utils.contains("MACHINE_FEATURES", "accel-graphics", "dey-examples-opengles", "", d)} \