dey: remove support for dey-image-crank

We're dropping support for dey-image-crank images.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-9508
https://onedigi.atlassian.net/browse/DEL-9509
This commit is contained in:
Hector Palacios 2025-02-25 13:13:14 +01:00
parent 36ba80b3ea
commit 293f0c5ab7
12 changed files with 7 additions and 381 deletions

View File

@ -84,7 +84,7 @@ DEFAULT_IMAGE_NAME ??= "dey-image-qt"
IMAGE_LINK_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}"
# List of graphical images names (for install scripts)
GRAPHICAL_IMAGES ?= "dey-image-crank dey-image-qt dey-image-webkit dey-image-lvgl"
GRAPHICAL_IMAGES ?= "dey-image-qt dey-image-webkit dey-image-lvgl"
# Default wayland socket
WAYLAND_DISPLAY ?= "wayland-1"

View File

@ -44,7 +44,6 @@ INITRAMFS_IMAGE = '${@bb.utils.contains("KERNEL_IMAGETYPE", "fitImage", "${RECOV
# DEY image features (alphabetical order)
FEATURE_PACKAGES_dey-audio = "packagegroup-dey-audio"
FEATURE_PACKAGES_dey-bluetooth = "packagegroup-dey-bluetooth"
FEATURE_PACKAGES_dey-crank = "packagegroup-dey-crank"
FEATURE_PACKAGES_dey-debug = "packagegroup-dey-debug"
FEATURE_PACKAGES_dey-examples = "packagegroup-dey-examples"
FEATURE_PACKAGES_dey-gstreamer = "packagegroup-dey-gstreamer"

View File

@ -1,13 +0,0 @@
# Copyright (C) 2022,2023, Digi International Inc.
require dey-image-graphical.inc
DESCRIPTION = "DEY image including Crank Storyboard engine and demo packages"
GRAPHICAL_CORE = "crank"
# Remove X11 image features
IMAGE_FEATURES:remove:ccimx6ul = "x11-base x11-sato"
# Reduce the rootfs size to fit in the internal storage
IMAGE_FEATURES:remove:ccmp15 = "dey-gstreamer"

View File

@ -1,120 +0,0 @@
#!/bin/sh
#===============================================================================
#
# Copyright (C) 2022, 2023 by Digi International Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
#
# !Description: Initialize Crank demo
#
#===============================================================================
readonly DEMO="##CRANK_DEMO_PATH##"
readonly DEMO_DISPLAY="##CRANK_DEMO_DISPLAY##"
readonly DEMO_OPTS="##CRANK_DEMO_OPTIONS##"
readonly DEMO_ENV="##CRANK_DEMO_ENV##"
readonly SB_LAUNCHER="sb-launcher"
readonly SB_LAUNCHER_SCRIPT="/usr/bin/${SB_LAUNCHER}"
readonly CRANK_DEMO="crank-demo"
readonly PID_FILE="/run/${CRANK_DEMO}.pid"
[ -f "/etc/profile.d/tslib.sh" ] && . /etc/profile.d/tslib.sh
log() {
if type "systemd-cat" >/dev/null 2>/dev/null; then
systemd-cat -p "${1}" -t "${CRANK_DEMO}" printf "%s" "${2}"
fi
logger -p "${1}" -t "${CRANK_DEMO}" "${2}"
}
get_crank_demo_pid() {
local pid="$(pgrep -f ${DEMO})"
[ -n "${pid}" ] && { echo "${pid}"; return 0; }
return 1
}
check_is_running() {
local pid
if [ -s "${PID_FILE}" ]; then
pid="$(cat ${PID_FILE})"
else
pid="$(get_crank_demo_pid)"
echo "${pid}" > ${PID_FILE}
fi
if [ "${pid}" ]; then
kill -0 "${pid}" >/dev/null 2>&1 && return 0
fi
rm -f "${PID_FILE}"
return 1
}
wait_for_wayland() {
local count=20
local wayland_socket="/run/user/0/${DEMO_DISPLAY}"
while [ ! -S "${wayland_socket}" ]; do
sleep 1
count=$((count-1))
if [ "${count}" = 0 ]; then
return 1
fi
done
return 0
}
stop() {
check_is_running || return
local pid="$(cat ${PID_FILE})"
kill -TERM "${pid}" >/dev/null 2>&1
local STOP_TIMEOUT="5"
for i in $(seq ${STOP_TIMEOUT}); do
check_is_running || { log info "stopped"; break; }
if [ "${i}" -eq ${STOP_TIMEOUT} ]; then
log warning "stop: ${CRANK_DEMO} did not stop gracefully"
kill -KILL "${pid}" >/dev/null 2>&1
fi
sleep 1
done
}
start() {
check_is_running && { log warning "start: ${CRANK_DEMO} ALREADY running"; exit 0; }
[ -d "/usr/share/wayland" ] && wait_for_wayland
env ${DEMO_ENV} ${SB_LAUNCHER_SCRIPT} ${DEMO_OPTS} ${DEMO} >/dev/null 2>&1 &
if [ $? -eq 0 ]; then
echo $! > ${PID_FILE}
log info "$(cat ${PID_FILE})"
log info "started"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac

View File

@ -1,16 +0,0 @@
[Unit]
Description=Crank Software demo
Documentation=https://www.cranksoftware.com/
# Make sure we are started after graphic service is available
After=##WESTON_SERVICE##
Requires=##WESTON_SERVICE##
[Service]
Type=forking
PIDFile=/run/crank-demo.pid
ExecStart=/etc/crank-demo start
ExecStop=/etc/crank-demo stop
[Install]
WantedBy=multi-user.target

View File

@ -1,98 +0,0 @@
# Copyright (C) 2022-2024, Digi International Inc.
SUMMARY = "Crank Demo"
HOMEPAGE = "https://www.cranksoftware.com/"
LICENSE = "CLOSED"
DEPENDS = "crank-sbengine"
SRC_URI = " \
http:///not/exist/crank-demos-${PV}.tar.gz \
file://crank-demo.service \
file://crank-demo-init \
"
SRC_URI[sha256sum] = "90a7fc258cdaa5f9afcf57224da8bbc5a330b957db88335f555369123a1432ab"
WESTON_SERVICE ?= "weston.service"
WESTON_SERVICE:ccmp15 ?= "weston-launch.service"
CRANK_DEMOS_TARBALL_PATH ?= ""
CRANK_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\$\{DEMO_DISPLAY\}"
CRANK_DEMO_ENV:ccimx6ul ?= ""
CRANK_DEMO_OPTIONS ?= "-orender_mgr,multisample=0"
CRANK_DEMO_OPTIONS:ccimx6ul ?= "-orender_mgr,multisample=0 -odev-input,mouse=/dev/input/mouse0 -oscreen_mgr,swcursor"
CRANK_DEMO_PATH ?= "${datadir}/crank/apps/OpenGL_WideScreen/1280x720.gapp"
# The tarball is only available for downloading after registration, so provide
# a PREMIRROR to a local directory that can be configured in the project's
# local.conf file using CRANK_DEMOS_TARBALL_PATH variable.
python() {
crank_demos_tarball_path = d.getVar('CRANK_DEMOS_TARBALL_PATH')
if crank_demos_tarball_path:
premirrors = d.getVar('PREMIRRORS')
d.setVar('PREMIRRORS', "http:///not/exist/crank-demos-.* %s \\n %s" % (crank_demos_tarball_path, premirrors))
crank_demos_tarball_sha256 = d.getVar('CRANK_DEMOS_TARBALL_SHA256')
if crank_demos_tarball_sha256:
d.setVarFlag("SRC_URI", "sha256sum", crank_demos_tarball_sha256)
}
inherit systemd update-rc.d
# Disable tasks not needed for the binary package
do_configure[noexec] = "1"
do_compile () {
for f in ${S}/*; do
if [ -d "${f}/source_code" ]; then
oe_runmake -C "${f}/source_code"
fi
done
}
do_install () {
install -d -m 0755 ${D}${datadir}/crank/apps
# Install Crank demos
tar --no-same-owner --exclude='EULA.pdf' --exclude='*/source_code' -cpf - -C ${S} . \
| tar --no-same-owner -xpf - -C ${D}${datadir}/crank/apps
# Install required binaries
for f in ${S}/*; do
if [ -d "${f}/source_code" ]; then
oe_runmake DESTDIR=${D}${datadir}/crank/apps/$(basename ${f}) -C "${f}/source_code" install
fi
done
# 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}/crank-demo.service ${D}${systemd_unitdir}/system/
sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \
"${D}${systemd_unitdir}/system/crank-demo.service"
fi
# Install wrapper bootscript to launch Crank demo on boot
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/crank-demo-init ${D}${sysconfdir}/crank-demo
sed -i -e "s@##CRANK_DEMO_PATH##@${CRANK_DEMO_PATH}@g" \
-e "s@##CRANK_DEMO_OPTIONS##@${CRANK_DEMO_OPTIONS}@g" \
-e "s@##CRANK_DEMO_ENV##@${CRANK_DEMO_ENV}@g" \
-e "s@##CRANK_DEMO_DISPLAY##@${WAYLAND_DISPLAY}@g" \
"${D}${sysconfdir}/crank-demo"
ln -sf ${sysconfdir}/crank-demo ${D}${sysconfdir}/init.d/crank-demo
}
FILES:${PN} = " \
${datadir}/crank/apps/* \
${sysconfdir}/crank-demo \
${sysconfdir}/init.d/crank-demo \
${systemd_unitdir}/system/crank-demo.service \
"
INITSCRIPT_NAME = "crank-demo"
INITSCRIPT_PARAMS = "defaults 90 10"
SYSTEMD_SERVICE:${PN} = "crank-demo.service"
RDEPENDS:${PN} += "crank-sbengine"

View File

@ -1,5 +0,0 @@
#!/bin/sh
ENGINE="/usr/share/crank/sbengine"
exec env LD_LIBRARY_PATH=${ENGINE}/lib SB_PLUGINS=${ENGINE}/plugins ${ENGINE}/bin/sbengine "$@"

View File

@ -1,98 +0,0 @@
# Copyright (C) 2022, Digi International Inc.
SUMMARY = "Crank Storyboard Engine"
HOMEPAGE = "https://www.cranksoftware.com/"
LICENSE = "CLOSED"
SBENGINE_NAME:ccimx6ul = "linux-imx6yocto-armle-swrender-obj"
SBENGINE_NAME:ccimx6 = "linux-imx6yocto-armle-opengles_2.0-obj"
SBENGINE_NAME:ccimx8m = "linux-imx8yocto-armle-opengles_2.0-wayland-obj"
SBENGINE_NAME:ccimx8x = "linux-imx8yocto-armle-opengles_2.0-wayland-obj"
SBENGINE_NAME:ccmp15 = "linux-stmA5-armle-opengles_2.0-wayland-obj"
SRC_URI = " \
http:///not/exist/crank-sbengine-${PV}.tar.gz \
file://sb-launcher \
"
SRC_URI[sha256sum] = "79c9162c401dd6282321361d51f15ccef1608da7cde9030c2b72b9573e826056"
CRANK_ENGINE_TARBALL_PATH ?= ""
# The tarball is only available for downloading after registration, so provide
# a PREMIRROR to a local directory that can be configured in the project's
# local.conf file using CRANK_ENGINE_TARBALL_PATH variable.
python() {
crank_engine_tarball_path = d.getVar('CRANK_ENGINE_TARBALL_PATH')
if crank_engine_tarball_path:
premirrors = d.getVar('PREMIRRORS')
d.setVar('PREMIRRORS', "http:///not/exist/crank-sbengine-.* %s \\n %s" % (crank_engine_tarball_path, premirrors))
crank_engine_tarball_sha256 = d.getVar('CRANK_ENGINE_TARBALL_SHA256')
if crank_engine_tarball_sha256:
d.setVarFlag("SRC_URI", "sha256sum", crank_engine_tarball_sha256)
}
# Disable tasks not needed for the binary package
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install () {
# Install launcher script
install -d -m 0755 ${D}${bindir}
install -m 0755 ${WORKDIR}/sb-launcher ${D}${bindir}/sb-launcher
# Copy the engine
install -d -m 0755 ${D}${datadir}/crank/sbengine
cp -drf ${S}/${SBENGINE_NAME}/* ${D}${datadir}/crank/sbengine
chmod a+rx ${D}${datadir}/crank/sbengine/*
}
FILES:${PN} = " \
${bindir}/* \
${datadir}/crank/sbengine/* \
"
FILES:${PN}-staticdev += " ${datadir}/crank/sbengine/lib/libgreio.a"
#
# Disable failing QA checks:
#
# Libraries inside /usr/share (datadir)
# ELF binaries has relocations in .text
#
INSANE_SKIP:${PN} += "libdir textrel"
INSANE_SKIP:${PN}-dbg += "libdir"
RDEPENDS:${PN} = " \
alsa-lib \
glib-2.0 \
gstreamer1.0 \
libgstapp-1.0 \
libxml2 \
zlib \
"
RDEPENDS:${PN}:append:ccimx6ul = " \
mtdev \
tslib \
"
RDEPENDS:${PN}:append:ccimx8m = " \
libegl-imx \
libgles2-imx \
wayland \
"
RDEPENDS:${PN}:append:ccimx8x = " \
libegl-imx \
libgles2-imx \
wayland \
"
RDEPENDS:${PN}:append:ccimx6 = " \
libegl-imx \
libgles2-imx \
mtdev \
tslib \
"
RDEPENDS:${PN}:append:ccmp15 = " \
libegl-gcnano \
libgles2-gcnano \
wayland \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -1,13 +0,0 @@
#
# Copyright (C) 2022, Digi International Inc.
#
SUMMARY = "Crank packagegroup for DEY image"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
# Include Crank engine and demos
RDEPENDS:${PN} += " \
crank-demos \
crank-sbengine \
"

View File

@ -1,8 +0,0 @@
# Copyright (C) 2022, Digi International Inc.
require swu.inc
# Remove X11 image features
IMAGE_FEATURES:remove:ccimx6ul = "x11-base x11-sato"
IMG_NAME = "${@get_baseimg_pn(d)}-${GRAPHICAL_BACKEND}"

View File

@ -105,7 +105,6 @@ purge_sstate() {
packagegroup-dey-audio \
packagegroup-dey-bluetooth \
packagegroup-dey-core \
packagegroup-dey-crank \
packagegroup-dey-debug \
packagegroup-dey-examples \
packagegroup-dey-gstreamer \

View File

@ -115,7 +115,6 @@ purge_sstate() {
packagegroup-dey-audio \
packagegroup-dey-bluetooth \
packagegroup-dey-core \
packagegroup-dey-crank \
packagegroup-dey-debug \
packagegroup-dey-examples \
packagegroup-dey-gstreamer \
@ -172,17 +171,17 @@ while read -r _pl _tgt; do
# the fly with underscores.
eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\""
done<<-_EOF_
ccimx8mm-dvk dey-image-qt,dey-image-crank,dey-image-webkit,dey-image-lvgl
ccimx8mn-dvk dey-image-qt,dey-image-crank,dey-image-webkit,dey-image-lvgl
ccimx8x-sbc-pro dey-image-qt,dey-image-crank,dey-image-webkit,dey-image-lvgl
ccimx8mm-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl
ccimx8mn-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl
ccimx8x-sbc-pro dey-image-qt,dey-image-webkit,dey-image-lvgl
ccimx8x-sbc-express dey-image-qt
ccimx6qpsbc dey-image-qt,dey-image-webkit,dey-image-lvgl
ccimx6sbc dey-image-qt,dey-image-webkit,dey-image-lvgl
ccimx6ulsbc core-image-base,dey-image-qt,dey-image-crank,dey-image-lvgl
ccimx6ulsbc core-image-base,dey-image-qt,dey-image-lvgl
ccimx6ulstarter core-image-base
ccimx6ulsom dey-image-mft-module-min
ccimx6ulrftest dey-image-mft-module-rf
ccmp15-dvk dey-image-qt,dey-image-crank,dey-image-webkit,dey-image-lvgl
ccmp15-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl
ccmp13-dvk core-image-base
ccmp25-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl
ccimx91-dvk core-image-base