Provide sane defaults that do not have dependencies, such as a dummy and terminal session support and basic fbdev support.
[email protected] must be added separatly or else do_rootfs fails with the following error: ``` do_rootfs: Postinstall scriptlets of ['kmscon'] have failed. If the intention is to defer them to first boot, then please place them into pkg_postinst_ontarget:${PN} (). Deferring to first boot via 'exit 1' is no longer supported. ``` Add a small patch to fix a compiling error when using LLVM as the preferred toolchain. Signed-off-by: Adam Duskett <[email protected]> --- v1 -> v2: add tag=v${PV} to the SRC_URI v2 -> v3: Add a small patch to fix LLVM compiling errors ..._conf.c-Fix-llvm-compilation-failure.patch | 40 +++++++++++ .../recipes-graphics/kmscon/kmscon_9.2.1.bb | 66 +++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 meta-oe/recipes-graphics/kmscon/files/0001-kmscon_conf.c-Fix-llvm-compilation-failure.patch create mode 100644 meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb diff --git a/meta-oe/recipes-graphics/kmscon/files/0001-kmscon_conf.c-Fix-llvm-compilation-failure.patch b/meta-oe/recipes-graphics/kmscon/files/0001-kmscon_conf.c-Fix-llvm-compilation-failure.patch new file mode 100644 index 0000000000..0806f9bb04 --- /dev/null +++ b/meta-oe/recipes-graphics/kmscon/files/0001-kmscon_conf.c-Fix-llvm-compilation-failure.patch @@ -0,0 +1,40 @@ +From 03a330d486132e3798a125d26d4f10252ffd8e2d Mon Sep 17 00:00:00 2001 +From: Adam Duskett <[email protected]> +Date: Fri, 16 Jan 2026 11:35:39 +0100 +Subject: [PATCH] kmscon_conf.c: Fix llvm compilation failure + +When building with an LLVM toolchain, the follow error occurs: + +``` +kmscon_conf.c:757:72: +error: expression which evaluates to zero treated as a null pointer constant +of type 'void *' [-Werror,-Wnon-literal-null-conversion] +CONF_OPTION(0, 0, "gpus", &conf_gpus, NULL, NULL, NULL, &conf->gpus, KMSCON_GPU_ALL), + ^~~~~~~~~~~~~~ +1 error generated. +``` + +Fix the error by adding a cast to (void *). + +Upstream-Status: Submitted [https://github.com/kmscon/kmscon/pull/225] +Signed-off-by: Adam Duskett <[email protected]> +--- + src/kmscon_conf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/kmscon_conf.c b/src/kmscon_conf.c +index df2e51d..9e9a839 100644 +--- a/src/kmscon_conf.c ++++ b/src/kmscon_conf.c +@@ -754,7 +754,7 @@ int kmscon_conf_new(struct conf_ctx **out) + /* Video Options */ + CONF_OPTION_BOOL_FULL(0, "drm", aftercheck_drm, NULL, NULL, &conf->drm, true), + CONF_OPTION_BOOL(0, "hwaccel", &conf->hwaccel, false), +- CONF_OPTION(0, 0, "gpus", &conf_gpus, NULL, NULL, NULL, &conf->gpus, KMSCON_GPU_ALL), ++ CONF_OPTION(0, 0, "gpus", &conf_gpus, NULL, NULL, NULL, &conf->gpus, (void *)KMSCON_GPU_ALL), + CONF_OPTION_STRING(0, "render-engine", &conf->render_engine, NULL), + CONF_OPTION_BOOL(0, "use-original-mode", &conf->use_original_mode, true), + CONF_OPTION_STRING(0, "mode", &conf->mode, NULL), +-- +2.52.0 + diff --git a/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb b/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb new file mode 100644 index 0000000000..925bebee81 --- /dev/null +++ b/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb @@ -0,0 +1,66 @@ +SUMMARY = "Simple terminal emulator based on linux kernel mode setting (KMS)." +DESCRIPTION = "\ + Kmscon is a simple terminal emulator based on linux kernel mode setting \ + (KMS). It is an attempt to replace the in-kernel VT implementation with \ + a userspace console. \ +" +HOMEPAGE = "https://github.com/kmscon/kmscon" +BUGTRACKER = "https://github.com/kmscon/kmscon/issues" +CVE_PRODUCT = "kmscon" + +SECTION = "graphics" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6d4602d249f8a3401040238e98367d9e" + +DEPENDS = "\ + libtsm \ + libxkbcommon \ + udev \ +" + +SRC_URI = "\ + git://github.com/kmscon/kmscon;branch=main;protocol=https \ + file://0001-kmscon_conf.c-Fix-llvm-compilation-failure.patch \ +" +SRCREV = "7d46650dbb0826f9b89de42f879be879391c14fd" + +inherit meson pkgconfig systemd + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" + +PACKAGECONFIG[backspace_sends_delete] = "-Dbackspace_sends_delete=true, -Dbackspace_sends_delete=false" +PACKAGECONFIG[font_pango] = "-Dfont_pango=enabled, -Dfont_pango=disabled, pango" +PACKAGECONFIG[multi_seat] = "-Dmulti_seat=enabled, -Dmulti_seat=disabled, systemd" +PACKAGECONFIG[opengl] = "-Drenderer_gltex=enabled -Dvideo_drm3d=enabled, -Drenderer_gltex=disabled -Dvideo_drm3d=disabled, libdrm virtual/egl virtual/libgles2 virtual/libgbm" +PACKAGECONFIG[video_drm2d] = "-Dvideo_drm2d=enabled, -Dvideo_drm2d=disabled, libdrm" + +EXTRA_OEMESON = "\ + -Delogind=disabled \ + -Dextra_debug=false \ + -Dfont_unifont=enabled \ + -Dsession_dummy=enabled \ + -Dsession_terminal=enabled \ + -Dtests=false \ + -Dvideo_fbdev=enabled \ +" + +SYSTEMD_SERVICE:${PN} = "kmscon.service" +FILES:${PN} += "${systemd_system_unitdir}/[email protected]" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/systemd/system + ln -sf ${systemd_system_unitdir}/[email protected] \ + ${D}${sysconfdir}/systemd/system/[email protected] + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'true', 'false', d)}; then + sed -e "s@#drm@drm@g" \ + -e "s@#hwaccel@hwaccel@g" \ + -e "s@#render-engine=gltex@render-engine=gltex@g" \ + -i ${D}${sysconfdir}/kmscon/kmscon.conf + fi +} + +RDEPENDS:${PN} = "xkeyboard-config" -- 2.52.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#123531): https://lists.openembedded.org/g/openembedded-devel/message/123531 Mute This Topic: https://lists.openembedded.org/mt/117295606/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
