| Message ID | 20260114172553.1241309-2-adam.duskett@amarulasolutions.com |
|---|---|
| State | New |
| Headers | show |
| Series | [1/2,meta-oe] libtsm: add recipe for kmscon dependency | expand |
On Thu, Jan 15, 2026 at 7:16 AM Adam Duskett via lists.openembedded.org <adam.duskett=amarulasolutions.com@lists.openembedded.org> wrote: > > Provide sane defaults that do not have dependencies, such as > a dummy and terminal session support and basic fbdev support. > > kmsconvt@.service 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. > ``` > > Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > .../recipes-graphics/kmscon/kmscon_9.2.1.bb | 63 +++++++++++++++++++ > 1 file changed, 63 insertions(+) > create mode 100644 meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb > > 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..9f19bd18e6 > --- /dev/null > +++ b/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb > @@ -0,0 +1,63 @@ > +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" please include tag=v{PV} in the SRC_URI > +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" can use {BPN}.service > +FILES:${PN} += "${systemd_system_unitdir}/kmsconvt@.service" > + > +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}/kmsconvt@.service \ > + ${D}${sysconfdir}/systemd/system/autovt@.service > + 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 (#123483): https://lists.openembedded.org/g/openembedded-devel/message/123483 > Mute This Topic: https://lists.openembedded.org/mt/117265881/3619737 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ankur.tyagi85@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
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..9f19bd18e6 --- /dev/null +++ b/meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb @@ -0,0 +1,63 @@ +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" +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}/kmsconvt@.service" + +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}/kmsconvt@.service \ + ${D}${sysconfdir}/systemd/system/autovt@.service + 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"
Provide sane defaults that do not have dependencies, such as a dummy and terminal session support and basic fbdev support. kmsconvt@.service 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. ``` Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- .../recipes-graphics/kmscon/kmscon_9.2.1.bb | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 meta-oe/recipes-graphics/kmscon/kmscon_9.2.1.bb