From patchwork Tue Dec 16 20:37:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Randolph Sapp X-Patchwork-Id: 76782 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E7DDD637A9 for ; Tue, 16 Dec 2025 20:38:40 +0000 (UTC) Received: from CH5PR02CU005.outbound.protection.outlook.com (CH5PR02CU005.outbound.protection.outlook.com [40.107.200.31]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3925.1765917514644891448 for ; Tue, 16 Dec 2025 12:38:34 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@ti.com header.s=selector1 header.b=u8TQsOlZ; spf=permerror, err=parse error for token &{10 18 spf.protection.outlook.com}: limit exceeded (domain: ti.com, ip: 40.107.200.31, mailfrom: rs@ti.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uxEKtV+yH7oHGrF7UHSK7FlXaz4g9yiL0Gz24Gu8pZJHurto7x9L1E6KG4FRQWyVBjFOHSQKdmaFRLobEFSOWZkMd9iSjl+5wAd0zScC4gAxYQ4wU2mOMqa/SyD9sm7zlptwj9f1VQMLZflE8vs+jy81tukTtg5jDaLDlY3gX3szH3+Lypyn8VEbdZGQWDS5vZ/9ORYPBlD60X0IiwK/0mBP6pRrw0r3cG+ymQhY+Wt4BwuBDib/m971AxhNYPRHQmqM69XXUpTiX5hkWI1qMvZuk8hB3lGa97lIDBK2mLDOxhXMvb6ql0anA1N24Dw5poKi2vl7JDV/t6vZD5dtxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0qkyTnBxVOxJP5h39idAYMUOzzP6op/MIZcAgAQNobQ=; b=sxOc1NoDIrMtNVnnbbzvLZ3+mZAdQ6xZT7ZCyjYCX8kdEgQCQDIPAHud28eGa0L9KqQgbRm65Cb2+d3upP5o78VHdJ6YRmka8goY+pjz4ShGCY8sWwtjGOIHMVi9qsFrEqu9sKKJL8LyG0cq199HKla7EWRDvtVB2V9bgoC2kx9G6HqyKvAZ5ve/pw9OUjX+NqTyociAnyw2JVYFDzmhiUCw1R4YYBRENOf5P8OslAa8U89ScjKuLcFXy0jAJKxWyMSTB9O79d6HXBOsVTWaVubYX00LRFn0hQIlBLhhLaa2m5XUyHUGV1CN50ZBIG6Cp5AyspI4mySjdN/n3Dm/yw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.195) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0qkyTnBxVOxJP5h39idAYMUOzzP6op/MIZcAgAQNobQ=; b=u8TQsOlZ18WdUwTMzr9uZ7i0ctx2WKib0cGTFIyc1AXTtGq4DR0oxK71EWzySZLbGaOvZGB2SgtgF9BPIuD/4lG1wMgp08dYhlvvqWGjT38fOMeft3zTOvGJF1GzYIw4Jcq6LzamrpYFj053zMAlvttYU7FkO3UbaMPCgL5d4FI= Received: from PH3PEPF000040A3.namprd05.prod.outlook.com (2603:10b6:518:1::57) by LV0PR10MB997684.namprd10.prod.outlook.com (2603:10b6:408:33f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Tue, 16 Dec 2025 20:38:32 +0000 Received: from SN1PEPF000397B1.namprd05.prod.outlook.com (2a01:111:f403:f90f::3) by PH3PEPF000040A3.outlook.office365.com (2603:1036:903:49::3) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.195; helo=lewvzet201.ext.ti.com; pr=C Received: from lewvzet201.ext.ti.com (198.47.23.195) by SN1PEPF000397B1.mail.protection.outlook.com (10.167.248.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:31 +0000 Received: from DLEE209.ent.ti.com (157.170.170.98) by lewvzet201.ext.ti.com (10.4.14.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from DLEE208.ent.ti.com (157.170.170.97) by DLEE209.ent.ti.com (157.170.170.98) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:30 -0600 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE208.ent.ti.com (157.170.170.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 16 Dec 2025 14:38:30 -0600 Received: from rs-desk.dhcp.ti.com (rs-desk.dhcp.ti.com [128.247.81.144]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5BGKcUhe402388; Tue, 16 Dec 2025 14:38:30 -0600 From: To: , , , , CC: , , , , , Subject: [oe-core][PATCHv11 1/6] emptty: add version 0.15.0 Date: Tue, 16 Dec 2025 14:37:58 -0600 Message-ID: <20251216203803.3870049-2-rs@ti.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251216203803.3870049-1-rs@ti.com> References: <20251216203803.3870049-1-rs@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000397B1:EE_|LV0PR10MB997684:EE_ X-MS-Office365-Filtering-Correlation-Id: 1af58ca9-6439-472d-ed5d-08de3ce3139c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|13003099007; X-Microsoft-Antispam-Message-Info: WVzbHyWK1pLzuuaPjSjvyDbNIR/DzL5fIIiciB6HfmqXUb/gzWs0EbSj5e+kG6N79jrzUACtgxU+B6+EbmSMAwD1eyL4zYGAJ7Ly+00JRTRed1W7C31rWztr1ElAOWJDScOpl0DI4/UDIUrKE+nCtPbiL19q5AXDVb6mZvUMxdbGRk6esTw99pfrWd6asFBKRL0YV+vsRkjX4oNRb31qt9DjXVwOntdK3D/AvMbOezgM370zQh6LiKK29K3xUpQWDfTz0tJno7Q8IAkAbGnd6JzpIHaMygTDe/c+yjfNIYTK+ZtBVsPa3mrpfY++St2y+6KtZ/M1LI29esfk0mx7d4KAHUq27VE5qC6pVvx++WlbsuUgys6mM2xjJY7GkM0RZ1xB6NXmaneUn4pE+RoG01ZxGer+8XE0Bqs/odUGLJMdslLHCVJMbWHxR+WrJvqtX8m0rQxuYWv/Va1HpMbqWBa7APqY9jY2CDuH7H0CDMBdVwYVx0Pp4YEnz9PoMYRzQcvBDWfjKYwhl+iszLlhEMk5LSMnUxDzii9h3D53WWTZlIctXdKtsMN5LUMIXke5+CziA4HGPMEsgmYJQ+5zQLWYNdT3qg9MTHPPbeRQQwPaVF8NNorkwKX1S9I1fJhctSsyYdg+1Mi8n0KrPpZIBuO42L77NLeRRvFAWgt0oIn17NxIUferLMP7XSR6K/b/jb+T3kbtYaLZO1UuC/i0CbElRHQ8f8uuF6wbtjAQWiGv9f+OxtKFPWt2loTyDr9hIeBtkymqlF/rdxjNDj2Ifu/VDexk6xCk9Fx0rR6JV5QLsbJvTQFPpo7A5Mj3DKk3bPYASTgsTC/9AXQ3DVGjUpxUObBl48Hs83HqcFieySalETh08wc4L7R1ccmouXDBoUIwpnW135ivjLdlB2CKYojqh9UDam/Ssks1k0cIf8xjjHrw4Ts3jfj70vuRV0jQSFoXJudGbMEIh5MLCtp67m3+Il6T6m6yNoyUCjCdsulyiZxaOBPF1fuoeV0iXA5iG/ABbMZnTYXfmfYTn1qMfmAEtRw6Vm0Hlrm7YxgtTQONDt/c4Sz/yo50kyny5L9TjDbpX6o92+k+ZSoZnbyaDf9/gN8vXTHk4bpZ4giCDre7k2Iq8AhXW25zWN0nSySbKZ8yRy1mK4IKlNagZQQRXdLkZjX7zyiciNToRvPo1nMwrYHrIL9jV/D8ehX0jC6fRyWZ/rP9WI5mPXTJuOZcSqUo/FWh9QD/GQrknC9CELSx5CcaD3Rasc178QL+DxaVCxKUPSpj8ojGKa6Mr5xZcFBa4pE68mHqvvk2dQA2sI82uzIdJuQaYVpxbOLGUm9l9EVuvydJIik20EHg4Kk6HsedtT9U/BpOyOdBf2I1xYyIeep5a/mWW21GGnD8WWA0TlOw5eOvwYimgYBpWTmx4EHwKAKMx138zPCqCRwkrjPXXdvfXdInY/7eEJjVg0ZfgwWmu7+gOlDCwmaz+MGnRWaofKoDpeF4VQYSyflclsS5CXUGQZV7uHVSxp0bCICEcaIZwW9q65RjwFhfTgiuLS5r7Z7tiDt9pe5Ov6GacNo= X-Forefront-Antispam-Report: CIP:198.47.23.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet201.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 20:38:31.6818 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1af58ca9-6439-472d-ed5d-08de3ce3139c X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.195];Helo=[lewvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000397B1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV0PR10MB997684 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 20:38:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227984 From: Randolph Sapp Add emptty, a "Dead simple CLI Display Manager on TTY". This is a relatively lightweight display manager that supports x11 as well as wayland through both a CLI and an automatic login mechanism. This can effectively replace the custom init scripts for both x11 (xserver-nodm-init) and wayland (weston-init) with a single tool with more verbose logging capabilities. This is split into two recipes. The emptty package provides the binary and various agnostic configs while the emptty-conf package provides the default configuration for the application itself. This RPROVIDES virtual-emptty-conf, allowing other recipes to provide their own configurations to override the default behavior. Signed-off-by: Randolph Sapp --- .../conf/distro/include/default-providers.inc | 1 + meta/conf/distro/include/maintainers.inc | 2 + meta/recipes-graphics/emptty/emptty-conf.bb | 14 +++++ meta/recipes-graphics/emptty/emptty.inc | 26 +++++++++ .../recipes-graphics/emptty/emptty/emptty.tab | 1 + meta/recipes-graphics/emptty/emptty/pamconf | 10 ++++ meta/recipes-graphics/emptty/emptty_0.15.0.bb | 53 +++++++++++++++++++ 7 files changed, 107 insertions(+) create mode 100644 meta/recipes-graphics/emptty/emptty-conf.bb create mode 100644 meta/recipes-graphics/emptty/emptty.inc create mode 100644 meta/recipes-graphics/emptty/emptty/emptty.tab create mode 100644 meta/recipes-graphics/emptty/emptty/pamconf create mode 100644 meta/recipes-graphics/emptty/emptty_0.15.0.bb diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc index 3f113543cd..820a5d1342 100644 --- a/meta/conf/distro/include/default-providers.inc +++ b/meta/conf/distro/include/default-providers.inc @@ -69,3 +69,4 @@ PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2" PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa" PREFERRED_RPROVIDER_virtual-libglx-icd ?= "mesa" PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode" +PREFERRED_RPROVIDER_virtual-emptty-conf ?= "emptty-conf" diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 8971b9b552..752fdb2d01 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -170,6 +170,8 @@ RECIPE_MAINTAINER:pn-efivar = "Ross Burton " RECIPE_MAINTAINER:pn-efibootmgr = "Ross Burton " RECIPE_MAINTAINER:pn-elfutils = "Unassigned " RECIPE_MAINTAINER:pn-ell = "Unassigned " +RECIPE_MAINTAINER:pn-emptty = "Randolph Sapp " +RECIPE_MAINTAINER:pn-emptty-conf = "Randolph Sapp " RECIPE_MAINTAINER:pn-enchant2 = "Gyorgy Sarvari " RECIPE_MAINTAINER:pn-encodings = "Unassigned " RECIPE_MAINTAINER:pn-epiphany = "Unassigned " diff --git a/meta/recipes-graphics/emptty/emptty-conf.bb b/meta/recipes-graphics/emptty/emptty-conf.bb new file mode 100644 index 0000000000..0b98e2e13e --- /dev/null +++ b/meta/recipes-graphics/emptty/emptty-conf.bb @@ -0,0 +1,14 @@ +require emptty.inc + +SUMMARY += " (Default config)" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install () { + oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-config +} + +FILES:${PN} = "${sysconfdir}/emptty/conf" +CONFFILES:${PN} = "${sysconfdir}/emptty/conf" +RPROVIDES:${PN} += "virtual-emptty-conf" diff --git a/meta/recipes-graphics/emptty/emptty.inc b/meta/recipes-graphics/emptty/emptty.inc new file mode 100644 index 0000000000..cfe9ebf154 --- /dev/null +++ b/meta/recipes-graphics/emptty/emptty.inc @@ -0,0 +1,26 @@ +SUMMARY = "Dead simple CLI Display Manager on TTY" +DESCRIPTION = "Emptty is a simple display manager with a command line greeter \ +It supports both X11 and Wayland sessions, exporting required variables and \ +creating user paths as necessary." + +HOMEPAGE = "https://github.com/tvrzna/emptty" +BUGTRACKER = "https://github.com/tvrzna/emptty/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=d1e4d12c7d1d17367ba5668706a405ba" + +S = "${UNPACKDIR}" + +FILESEXTRAPATHS:append = ":${THISDIR}/emptty" + +GO_IMPORT = "github.com/tvrzna/emptty" +GO_IMPORT_pam = "github.com/msteinert/pam" +SRC_URI = "\ + git://${GO_IMPORT}.git;protocol=https;branch=master;destsuffix=src/${GO_IMPORT} \ + git://${GO_IMPORT_pam}.git;protocol=https;branch=master;name=pam;destsuffix=src/${GO_IMPORT_pam} \ + file://pamconf \ + file://emptty.tab \ + " +SRCREV = "bb203ad0a224731a7a2ff50deeb342ab79c4af09" +SRCREV_pam = "50ded1b0e7864b9bf75005eb945a8ec826bcf69d" + +SRCREV_FORMAT .= "_pam" diff --git a/meta/recipes-graphics/emptty/emptty/emptty.tab b/meta/recipes-graphics/emptty/emptty/emptty.tab new file mode 100644 index 0000000000..6359c7224d --- /dev/null +++ b/meta/recipes-graphics/emptty/emptty/emptty.tab @@ -0,0 +1 @@ +7:5:respawn:/usr/bin/emptty -t 7 -d diff --git a/meta/recipes-graphics/emptty/emptty/pamconf b/meta/recipes-graphics/emptty/emptty/pamconf new file mode 100644 index 0000000000..9cbfd6c4a5 --- /dev/null +++ b/meta/recipes-graphics/emptty/emptty/pamconf @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth sufficient pam_succeed_if.so user ingroup nopasswdlogin +auth include common-auth +-auth optional pam_gnome_keyring.so +-auth optional pam_kwallet5.so +account include common-account +session include common-session +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start force_run +password include common-password diff --git a/meta/recipes-graphics/emptty/emptty_0.15.0.bb b/meta/recipes-graphics/emptty/emptty_0.15.0.bb new file mode 100644 index 0000000000..11d306a56d --- /dev/null +++ b/meta/recipes-graphics/emptty/emptty_0.15.0.bb @@ -0,0 +1,53 @@ +require emptty.inc + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam x11', d)}" +PACKAGECONFIG[pam] = ",,libpam,pam-plugin-succeed-if" +PACKAGECONFIG[x11] = ",,virtual/libx11" + +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'virtual/crypt', d)}" + +GO_TAGS = "" +GO_TAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pam', '', ',nopam', d)}" +GO_TAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', ',noxlib', d)}" + +GOBUILDFLAGS:append = " -tags=${GO_TAGS}" + +export GO111MODULE = "off" + +inherit go + +DEPENDS += "gzip" + +do_install () { + # general collateral + install -Dm755 ${B}/${GO_BUILD_BINDIR}/emptty ${D}${bindir}/emptty + install -d ${D}${mandir}/man1 + gzip -cn ${S}/src/${GO_IMPORT}/res/emptty.1 > ${D}${mandir}/man1/emptty.1.gz + + # pam config + if "${@bb.utils.contains('PACKAGECONFIG','pam','true','false',d)}" + then + install -Dm644 ${S}/pamconf ${D}${sysconfdir}/pam.d/emptty + fi + + # init services + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)} + then + oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-systemd + else + install -Dm644 ${S}/emptty.tab ${D}${sysconfdir}/inittab.d/emptty.tab + fi +} + +FILES:${PN} = "\ + ${systemd_system_unitdir}/emptty.service \ + ${sysconfdir}/inittab.d/emptty.tab \ + ${bindir}/emptty \ + ${mandir}/man1/emptty.1.gz \ + ${sysconfdir}/pam.d/emptty \ +" + +RDEPENDS:${PN} += "virtual-emptty-conf" +SYSTEMD_SERVICE:${PN} = "emptty.service" + +inherit systemd From patchwork Tue Dec 16 20:37:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Randolph Sapp X-Patchwork-Id: 76786 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 631A1D637AE for ; Tue, 16 Dec 2025 20:38:50 +0000 (UTC) Received: from BL0PR03CU003.outbound.protection.outlook.com (BL0PR03CU003.outbound.protection.outlook.com [52.101.53.14]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3927.1765917524181282824 for ; Tue, 16 Dec 2025 12:38:44 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@ti.com header.s=selector1 header.b=Xhsq22AZ; spf=permerror, err=parse error for token &{10 18 spf.protection.outlook.com}: limit exceeded (domain: ti.com, ip: 52.101.53.14, mailfrom: rs@ti.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y4jIkHbR7cJdQtik5HyFzfgVcJ6HX3KI1XyqBc3vWK5HfH4OHPuAeKayx8eVJp6dy7d3fr+zGyeZlQOOnfLIv8jI/yw/4/TM6dAcyEhgQQOpd4wRFa9p/9gGsEvflfcRCKCbOY5NgTKsATngJha48tdjxLv3t9g5uGigwwjZm1AQTERF0Sg6MkE4ttWy8SCxnYuYVm5QfqDHZhjzilpevmidjysR0zCYGABH1KP68/3Y312FHp94u8cvG4Mdb04yT9ZP5S7qMO+mOAkxdbUWW5N29o7UVmqitqBKWQ9TBPRUrKWgZS3dKtmL0l6q9DYY/9Gmlu3ZgK75jLpY47LA2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dz0xTy9+QpsICuKovESrGSl4/2/3eQOkYnuPi8LcGcg=; b=y2qCznlzBp6FYBptdnx+zjCmgW7F0ujU1DagT3GP+i1N1+2KyVC/Eh7C6F3ZEqTge+5uTDdoaT8066gOuMFM6XzRHZ+DAClFlMhDZvgOctsgSAl26YdFpl+/fmhTcmZYHqTAtuICI02/CQaGXIlYu9FivowDO8Ha+yirZ3RkDq5AFaCpbj6L0Rcy15mp/UZETRhQl5FgDjtEvjEJIZAR6EVNASsSCBMy9ZR9MOg4eLDb4QvR8Z7NYmmjZxO2JexrohORvaH/jp5LyVk0EhlsQl4+/DrGJoAFYOrgLMb8VDo6e9kXXTk+QHRBe+1py8sMerPERmg/WT08KOUXB5vg0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.21.195) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dz0xTy9+QpsICuKovESrGSl4/2/3eQOkYnuPi8LcGcg=; b=Xhsq22AZ14TXmp6uX8legRABaySsUsPkaTNpCrg6ESBZyYDuC/qmztqS1ziH6ECPGAJxgUBKz2xtS3OoRGAv/++w6/ZfuxE6tsqH9UStYX1QTRDi9sWHpaf6s3kcWZZJz2LKByYeDi/Ld7YinuDzUGi1+va4A83WWop355OY5IE= Received: from CH0PR03CA0327.namprd03.prod.outlook.com (2603:10b6:610:118::20) by SA6PR10MB8040.namprd10.prod.outlook.com (2603:10b6:806:447::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6; Tue, 16 Dec 2025 20:38:41 +0000 Received: from CH1PEPF0000A34A.namprd04.prod.outlook.com (2603:10b6:610:118:cafe::7a) by CH0PR03CA0327.outlook.office365.com (2603:10b6:610:118::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9412.13 via Frontend Transport; Tue, 16 Dec 2025 20:38:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.21.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.21.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.21.195; helo=flwvzet201.ext.ti.com; pr=C Received: from flwvzet201.ext.ti.com (198.47.21.195) by CH1PEPF0000A34A.mail.protection.outlook.com (10.167.244.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:38 +0000 Received: from DFLE208.ent.ti.com (10.64.6.66) by flwvzet201.ext.ti.com (10.248.192.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from DFLE206.ent.ti.com (10.64.6.64) by DFLE208.ent.ti.com (10.64.6.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DFLE206.ent.ti.com (10.64.6.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 16 Dec 2025 14:38:31 -0600 Received: from rs-desk.dhcp.ti.com (rs-desk.dhcp.ti.com [128.247.81.144]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5BGKcUhf402388; Tue, 16 Dec 2025 14:38:30 -0600 From: To: , , , , CC: , , , , , Subject: [oe-core][PATCHv11 2/6] weston-init: convert to virtual-emptty-conf Date: Tue, 16 Dec 2025 14:37:59 -0600 Message-ID: <20251216203803.3870049-3-rs@ti.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251216203803.3870049-1-rs@ti.com> References: <20251216203803.3870049-1-rs@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A34A:EE_|SA6PR10MB8040:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d92cf99-5731-45d6-fa07-08de3ce3178d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: +74QvAW2aJv1aE7a4rD00a5nrYvg3YESDZvNRLFllIMh5pV9zn9naWjjxtwYn8xfBoqJSmLIHJFtN7lnGu+7nLh9C5eZX1MBFs12dAn5KwfGaInxqm0607VNxa8Su8OaUmF4mwQBm3yVFfbcbT4poHb+9pqrhtIriOO8C7qcfC6CJMUYng99bFCzvgtusOMMJGRpT+7yGygUa0piIhxxVNdKF+B7I3uA/ORnoJrEfEYG2umdpZzBb6NRAnY2WZAbZBB6wa9pgUfIPGGif0n9D4Vc9I4sEHs+xgqe92dQ5kPSgKdYpz6W7l6bIt9ClfAuoatR2o1PxtfNDH+wX48Eq6zKyc+OL1/kYugZT3OOeP9o73YHd5+mP08jVCfMwTHn49+yj7GLoXIOHqNEL+BqyrgcgYedSR9oOEftG1uJbnuTlZiSm1fXKDMI1OFC9DO/UeqAQhk784j2xnX2Q+Rkoj0wN2VLrEcuC0U5jO1slQujY4EsQAt2wO7tlUhwdrT3o1Atvfj8sOHQjnnVYV2i1ouztxLoPDCZg+9Id+NZRijfWaI8GNfP+oMXw3XUjxvG/lGV6sb1yWs1Xmbj6slaN4FlUQVhuD+/ye43TeP29w67gXAhZLS89i5qagA5sCHWDCnNllSAj0cy3DoRlaClZuNsdV88Eo8IcN3BegnFcKq2Au/kVsgyQOh5Dz1wUTosKP5ORdnhnLCxn86nAeRp0i6ud8Oj+1Mef0ES779BZIyHiKKfQsz5UypZgwAbyAIW60uT3hJ0yls9iKNKEo0QoEPL0erwsmv7TKsj4U2qhOvoiBv7mXrJ6rgpy+Eyhgeb/ZzgIPTdTQK2+FCl7OHgkKTmD6KJDX+cZfx/JcW7CsFNBXemA/QbvWMSltIZWEdo4xCgScdOVNisKRqGVueLPfuncild2IH1w/O1CvlNOOPwzd72jbmYZtuFxWKaey9zhBKvdEipVBklKNrP3w3RUE4vqZV1g0hh2i8yHXlCYO2pEQEcr8ui4nFFOcaW+5QSTojr5jk6dW6ntRP/xVuhEN9ML1ReOvj53RM8to4PGogfCJgRpvG6tO3hn0TUWnKjPal4eguWWQQPFkStlV/xB98IqOn/3c0DPaEE9WXID/kJo1LexvLllLDH9r6/Quo4arBJ01JXq4chXSHbc+RvJEhl50HdvapGKK6wBZTxhrhhLGKZO4WGs0rxM39VUUVcWWKFk97nmVePXVAOWOcgSkXleqDRLVmqzSIs6bQkOp9tLJ4VSNrMY8Ct5HEt+iOMTMVhbwrKHdWluSHBbnGCDta1CewICAFjbNxXEnxMIvUWF6gqxnQAPlwJiiTr/Tjm8yN9Y55O1UZymLeGpsI/JHvBYWt38VBm+HJ9JIVazMPwiw1fsHF8IgIWN50mgwol9OZByebXqR0ChmN0vcq7Jb7uZQF8igsii4dl3WMlZIefbLKEDdsX6JjDEaNld9rXOdk3/ZBD2R+ZaVNTPX5FpEasyMUl48pte1UUoMxfz1U= X-Forefront-Antispam-Report: CIP:198.47.21.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:flwvzet201.ext.ti.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 20:38:38.2671 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5d92cf99-5731-45d6-fa07-08de3ce3178d X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.21.195];Helo=[flwvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A34A.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR10MB8040 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 20:38:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227990 From: Randolph Sapp Convert this script package into a simple config for emptty using the same weston user but leveraging the nopasswdlogin session provided by emptty. Runtime provide virtual-emptty-conf as we need to set parameters for the default session. Signed-off-by: Randolph Sapp --- meta/lib/oeqa/runtime/cases/weston.py | 18 +++-- meta/recipes-graphics/wayland/weston-init.bb | 66 +++------------- .../wayland/weston-init/emptty.conf | 77 +++++++++++++++++++ .../recipes-graphics/wayland/weston-init/init | 54 ------------- .../wayland/weston-init/weston-autologin | 11 --- .../wayland/weston-init/weston-socket.sh | 20 ----- .../wayland/weston-init/weston-start | 76 ------------------ .../wayland/weston-init/weston.env | 0 .../wayland/weston-init/weston.service | 71 ----------------- .../wayland/weston-init/weston.socket | 14 ---- 10 files changed, 101 insertions(+), 306 deletions(-) create mode 100644 meta/recipes-graphics/wayland/weston-init/emptty.conf delete mode 100644 meta/recipes-graphics/wayland/weston-init/init delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston-autologin delete mode 100755 meta/recipes-graphics/wayland/weston-init/weston-socket.sh delete mode 100755 meta/recipes-graphics/wayland/weston-init/weston-start delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.env delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.service delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.socket diff --git a/meta/lib/oeqa/runtime/cases/weston.py b/meta/lib/oeqa/runtime/cases/weston.py index b0dccee73b..bf18331e84 100644 --- a/meta/lib/oeqa/runtime/cases/weston.py +++ b/meta/lib/oeqa/runtime/cases/weston.py @@ -33,7 +33,7 @@ class WestonTest(OERuntimeTestCase): def run_weston_init(self): if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']: - self.target.run('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR=/tmp -E WAYLAND_DISPLAY=wayland-0 /usr/bin/weston --socket=wayland-1 --log=%s' % self.weston_log_file) + self.target.run(self.get_weston_command('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR -E WAYLAND_DISPLAY /usr/bin/weston --socket=wayland-2 --log=%s' % self.weston_log_file)) else: self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-2 --log=%s' % self.weston_log_file)) @@ -51,12 +51,18 @@ class WestonTest(OERuntimeTestCase): @OEHasPackage(['wayland-utils']) def test_wayland_info(self): - if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']: - command = 'XDG_RUNTIME_DIR=/run wayland-info' - else: - command = self.get_weston_command('wayland-info') + command = self.get_weston_command('wayland-info') status, output = self.target.run(command) - self.assertEqual(status, 0, msg='wayland-info error: %s' % output) + msg = 'wayland-info error: %s' % output + + # dump last 20 lines of emptty log in case of failure + log_cmd = 'tail -n 20 /var/log/emptty/7.log' + msg += '\n\n===== start: snippet =====\n\n' + msg += 'file: /var/log/emptty/7.log\n\n' + msg += '\n\n%s\n\n' % self.target.run(log_cmd)[1] + msg += '\n\n===== end: snippet =====\n\n' + + self.assertEqual(status, 0, msg=msg) @OEHasPackage(['weston']) def test_weston_can_initialize_new_wayland_compositor(self): diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 29cfba0833..7ef49e06f7 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb @@ -1,18 +1,14 @@ -SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor" +SUMMARY = "Autologin package for the Weston Wayland compositor" HOMEPAGE = "https://www.yoctoproject.org/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" PACKAGE_ARCH = "${MACHINE_ARCH}" -SRC_URI = "file://init \ - file://weston.env \ +SRC_URI = "\ file://weston.ini \ - file://weston.service \ - file://weston.socket \ - file://weston-socket.sh \ - file://weston-autologin \ - file://weston-start" + file://emptty.conf \ +" S = "${UNPACKDIR}" @@ -30,37 +26,8 @@ WESTON_USER ??= "weston" WESTON_USER_HOME ??= "/home/${WESTON_USER}" do_install() { - # Install weston-start script - if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then - install -Dm755 ${S}/weston-start ${D}${bindir}/weston-start - sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start - sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start - install -Dm755 ${S}/init ${D}/${sysconfdir}/init.d/weston - sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston - fi - - # Install Weston systemd service - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -D -p -m0644 ${S}/weston.service ${D}${systemd_system_unitdir}/weston.service - install -D -p -m0644 ${S}/weston.socket ${D}${systemd_system_unitdir}/weston.socket - install -D -p -m0644 ${S}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh - sed -i -e s:@sysconfdir@:${sysconfdir}:g \ - -e s:@bindir@:${bindir}:g \ - -e s:@localstatedir@:${localstatedir}:g \ - -e s:@runtimedir@:${runtimedir}:g \ - -e s:@WESTON_USER@:${WESTON_USER}:g \ - -e s:@WESTON_USER_HOME@:${WESTON_USER_HOME}:g \ - ${D}${systemd_system_unitdir}/weston.service \ - ${D}${systemd_system_unitdir}/weston.socket \ - ${D}${sysconfdir}/profile.d/weston-socket.sh - fi - - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then - install -D -p -m0644 ${S}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin - fi - install -D -p -m0644 ${S}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini - install -Dm644 ${S}/weston.env ${D}${sysconfdir}/default/weston + install -D -p -m0644 ${S}/emptty.conf ${D}${sysconfdir}/emptty/conf if [ -n "${DEFAULTBACKEND}" ]; then sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini @@ -81,9 +48,7 @@ do_install() { install -dm 755 -o ${WESTON_USER} -g ${WESTON_USER} ${D}/${WESTON_USER_HOME} } -INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" - -inherit update-rc.d systemd useradd +inherit useradd USERADD_PACKAGES = "${PN}" @@ -91,23 +56,16 @@ USERADD_PACKAGES = "${PN}" # require ${THISDIR}/required-distro-features.inc -RDEPENDS:${PN} = "weston kbd ${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'weston-xwayland', '', d)}" - -INITSCRIPT_NAME = "weston" -INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." +RDEPENDS:${PN} = "emptty weston kbd ${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'weston-xwayland', '', d)}" FILES:${PN} += "\ ${sysconfdir}/xdg/weston/weston.ini \ - ${sysconfdir}/profile.d/weston-socket.sh \ - ${systemd_system_unitdir}/weston.service \ - ${systemd_system_unitdir}/weston.socket \ - ${sysconfdir}/default/weston \ - ${sysconfdir}/pam.d/ \ + ${sysconfdir}/emptty/conf \ ${WESTON_USER_HOME} \ " -CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" +CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/emptty/conf" +RPROVIDES:${PN} += "virtual-emptty-conf" -SYSTEMD_SERVICE:${PN} = "weston.service weston.socket" -USERADD_PARAM:${PN} = "--home ${WESTON_USER_HOME} --shell /bin/sh --user-group -G video,input,render,seat,wayland ${WESTON_USER}" -GROUPADD_PARAM:${PN} = "-r wayland; -r render; -r seat" +USERADD_PARAM:${PN} = "--home ${WESTON_USER_HOME} --shell /bin/sh --user-group -G video,input,render,seat,nopasswdlogin weston" +GROUPADD_PARAM:${PN} = "-r nopasswdlogin; -r render; -r seat" diff --git a/meta/recipes-graphics/wayland/weston-init/emptty.conf b/meta/recipes-graphics/wayland/weston-init/emptty.conf new file mode 100644 index 0000000000..1918cc02a7 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston-init/emptty.conf @@ -0,0 +1,77 @@ +# TTY, where emptty will start. +TTY_NUMBER=7 + +# Enables switching to defined TTY number. +SWITCH_TTY=true + +# Enables printing of /etc/issue in daemon mode. +PRINT_ISSUE=true + +# Enables printing of default motd, /etc/emptty/motd or /etc/emptty/motd-gen.sh. +PRINT_MOTD=true + +# Preselected user, if AUTOLOGIN is enabled, this user is logged in. +DEFAULT_USER=weston + +# Enables Autologin, if DEFAULT_USER is defined and part of nopasswdlogin group. Possible values are "true" or "false". +AUTOLOGIN=true + +# The default session used, if Autologin is enabled. If session is not found in list of session, it proceeds to manual selection. +AUTOLOGIN_SESSION=Weston + +# If Autologin is enabled and session does not start correctly, the number of retries in short period is kept to eventually stop the infinite loop of restarts. -1 is for infinite retries, 0 is for no retry. +# AUTOLOGIN_MAX_RETRY=2 + +# Default LANG, if user does not have set own in init script. +#LANG=en_US.UTF-8 + +# Starts desktop with calling "dbus-launch". +DBUS_LAUNCH=true + +# Starts Xorg desktop with calling "~/.xinitrc" script, if is true, file exists and selected WM/DE is Xorg session, it overrides DBUS_LAUNCH. +XINITRC_LAUNCH=false + +# Prints available WM/DE each on new line instead of printing on single line. +VERTICAL_SELECTION=false + +# Defines the way, how is logging handled. Possible values are "rotate", "appending" or "disabled". +#LOGGING=rotate + +# Overrides path of log file +#LOGGING_FILE=/var/log/emptty/[TTY_NUMBER].log + +# Arguments passed to Xorg server. +#XORG_ARGS= + +# Allows to use dynamic motd script to generate custom MOTD. +#DYNAMIC_MOTD=false + +# Allows to override default path to dynamic motd. +#DYNAMIC_MOTD_PATH=/etc/emptty/motd-gen.sh + +# Allows to override default path to static motd. +#MOTD_PATH=/etc/emptty/motd + +# Foreground color, available only in daemon mode. +#FG_COLOR=LIGHT_BLACK + +# Background color, available only in daemon mode. +#BG_COLOR=BLACK + +# Enables numlock in daemon mode. Possible values are "true" or "false". +#ENABLE_NUMLOCK=false + +# Defines the way, how is logging of session errors handled. Possible values are "rotate", "appending" or "disabled". +SESSION_ERROR_LOGGING=rotate + +# Overrides path of session errors log file +#SESSION_ERROR_LOGGING_FILE=/var/log/emptty/session-errors.[TTY_NUMBER].log + +# If set true, it will not use `.emptty-xauth` file, but the standard `~/.Xauthority` file. This allows to handle xauth issues. +#DEFAULT_XAUTHORITY=false + +#If set true, Xorg will be started as rootless, if system allows and emptty is running in daemon mode. +#ROOTLESS_XORG=false + +#If set true, environmental groups are printed to differ Xorg/Wayland/Custom/UserCustom desktops. +IDENTIFY_ENVS=false diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init deleted file mode 100644 index a5c54e001e..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/init +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: weston -# Required-Start: $local_fs $remote_fs -# Required-Stop: $local_fs $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -### END INIT INFO - -if test -e /etc/default/weston ; then - . /etc/default/weston -fi - -killproc() { - pid=`/bin/pidof $1` - [ "$pid" != "" ] && kill $pid -} - -read CMDLINE < /proc/cmdline -for x in $CMDLINE; do - case $x in - weston=false) - echo "Weston disabled" - exit 0; - ;; - esac -done - -case "$1" in - start) - . /etc/profile - export HOME=ROOTHOME - - WESTON_USER=weston weston-start $OPTARGS & - ;; - - stop) - echo "Stopping Weston" - killproc weston - ;; - - restart) - $0 stop - sleep 1 - $0 start - ;; - - *) - echo "usage: $0 { start | stop | restart }" - ;; -esac - -exit 0 diff --git a/meta/recipes-graphics/wayland/weston-init/weston-autologin b/meta/recipes-graphics/wayland/weston-init/weston-autologin deleted file mode 100644 index f6e6d106de..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/weston-autologin +++ /dev/null @@ -1,11 +0,0 @@ -auth required pam_nologin.so -auth required pam_unix.so try_first_pass nullok - -account required pam_nologin.so -account required pam_unix.so - -session required pam_env.so -session required pam_unix.so --session optional pam_systemd.so type=wayland class=user desktop=weston --session optional pam_loginuid.so - diff --git a/meta/recipes-graphics/wayland/weston-init/weston-socket.sh b/meta/recipes-graphics/wayland/weston-init/weston-socket.sh deleted file mode 100755 index 8f652862da..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/weston-socket.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# set weston variables for use with global weston socket -global_socket="@runtimedir@/wayland-0" -if [ -e "$global_socket" ]; then - weston_group=$(stat -c "%G" "$global_socket") - if [ "$(id -u)" = "0" ]; then - export WAYLAND_DISPLAY="$global_socket" - else - case "$(groups "$USER")" in - *"$weston_group"*) - export WAYLAND_DISPLAY="$global_socket" - ;; - *) - ;; - esac - fi - unset weston_group -fi -unset global_socket diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start b/meta/recipes-graphics/wayland/weston-init/weston-start deleted file mode 100755 index 3b13a0047a..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/weston-start +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# Copyright (C) 2016 O.S. Systems Software LTDA. -# Copyright (C) 2016 Freescale Semiconductor - -export PATH="/sbin:/usr/sbin:/bin:/usr/bin" - -usage() { - cat <] -EOF -} - -## Module support -modules_dir=@DATADIR@/weston-start - -# Add weston extra argument -add_weston_argument() { - weston_args="$weston_args $1" -} - -## Add module to --modules argument -add_weston_module() { - if [[ "x${weston_modules}" == "x" ]]; then - weston_modules="--modules " - fi; - weston_modules+="${1}," -} - -if [ -n "$WAYLAND_DISPLAY" ]; then - echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet." - exit 1 -fi - -if [ -n "$WESTON_USER" ]; then - if [ -z "$WESTON_GROUP" ]; then - # no explicit WESTON_GROUP given, therefore use WESTON_USER - export WESTON_GROUP="${WESTON_USER}" - fi -fi - -weston_args=$* - -# Load and run modules -if [ -d "$modules_dir" ]; then - for m in "$modules_dir"/*; do - # Skip backup files - if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then - continue - fi - - # process module - . $m - if [[ x"{$weston_modules}" != "x" ]]; then - add_weston_argument "${weston_modules}" - fi; - done -fi - -if test -z "$XDG_RUNTIME_DIR"; then - export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` - if test -d "$XDG_RUNTIME_DIR"; then - # Check permissions on existing directory - if [ "$(stat -c %u-%a "$XDG_RUNTIME_DIR")" != "$(id -u ${WESTON_USER})-700" ]; then - echo "ERROR: $XDG_RUNTIME_DIR has incorrect permissions" - exit 1 - fi - else - mkdir --mode 0700 --parents $XDG_RUNTIME_DIR - if [ -n "$WESTON_USER" ] - then - chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR - fi - fi -fi - -su -c "XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR weston $weston_args --log=/tmp/weston.log" $WESTON_USER diff --git a/meta/recipes-graphics/wayland/weston-init/weston.env b/meta/recipes-graphics/wayland/weston-init/weston.env deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/meta/recipes-graphics/wayland/weston-init/weston.service b/meta/recipes-graphics/wayland/weston-init/weston.service deleted file mode 100644 index b7e845e88d..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/weston.service +++ /dev/null @@ -1,71 +0,0 @@ -# This is a system unit for launching Weston with auto-login as the -# user configured here. -# -# Weston must be built with systemd support, and your weston.ini must load -# the plugin systemd-notify.so. -[Unit] -Description=Weston, a Wayland compositor, as a system service -Documentation=man:weston(1) man:weston.ini(5) -Documentation=http://wayland.freedesktop.org/ - -# Make sure we are started after logins are permitted. -Requires=systemd-user-sessions.service -After=systemd-user-sessions.service - -# If Plymouth is used, we want to start when it is on its way out. -After=plymouth-quit-wait.service - -# D-Bus is necessary for contacting logind. Logind is required. -Wants=dbus.socket -After=dbus.socket - -# Ensure the socket is present -Requires=weston.socket - -# Since we are part of the graphical session, make sure we are started before -# it is complete. -Before=graphical.target - -# Prevent starting on systems without virtual consoles, Weston requires one -# for now. -ConditionPathExists=/dev/tty0 - -[Service] -# Requires systemd-notify.so Weston plugin. -Type=notify -EnvironmentFile=@sysconfdir@/default/weston -ExecStart=@bindir@/weston --modules=systemd-notify.so - -# Optional watchdog setup -#TimeoutStartSec=60 -#WatchdogSec=20 - -# The user to run Weston as. -User=@WESTON_USER@ -Group=@WESTON_USER@ - -# Make sure the working directory is the users home directory -WorkingDirectory=@WESTON_USER_HOME@ - -# Set up a full user session for the user, required by Weston. -PAMName=weston-autologin - -# A virtual terminal is needed. -TTYPath=/dev/tty7 -TTYReset=yes -TTYVHangup=yes -TTYVTDisallocate=yes - -# Fail to start if not controlling the tty. -StandardInput=tty-fail -StandardOutput=journal -StandardError=journal - -# Log this user with utmp, letting it show up with commands 'w' and 'who'. -UtmpIdentifier=tty7 -UtmpMode=user - -[Install] -# Note: If you only want weston to start on-demand, remove this line with a -# service drop file -WantedBy=graphical.target diff --git a/meta/recipes-graphics/wayland/weston-init/weston.socket b/meta/recipes-graphics/wayland/weston-init/weston.socket deleted file mode 100644 index a7d461ee30..0000000000 --- a/meta/recipes-graphics/wayland/weston-init/weston.socket +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Weston socket -RequiresMountsFor=@runtimedir@ - -[Socket] -ListenStream=@runtimedir@/wayland-0 -SocketMode=0775 -SocketUser=@WESTON_USER@ -SocketGroup=wayland -RemoveOnStop=yes - -[Install] -WantedBy=sockets.target - From patchwork Tue Dec 16 20:38:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Randolph Sapp X-Patchwork-Id: 76783 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EB97D637AE for ; Tue, 16 Dec 2025 20:38:40 +0000 (UTC) Received: from CY7PR03CU001.outbound.protection.outlook.com (CY7PR03CU001.outbound.protection.outlook.com [40.93.198.23]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4009.1765917518951646103 for ; Tue, 16 Dec 2025 12:38:39 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@ti.com header.s=selector1 header.b=CC71RVRV; spf=permerror, err=parse error for token &{10 18 spf.protection.outlook.com}: limit exceeded (domain: ti.com, ip: 40.93.198.23, mailfrom: rs@ti.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dsyLYiNq3XyZmysNahulbdvFgLTGNDWMVO9sgQHO5UNqSjJhi+mL+8ynRM6Ff1vj9pcjDmmr2EXZNP9HpNBX/V+xSpduz3lrHAeSODUJHcQe4ELG+2/3IORF931REAKbtX80Lh64sVYw6euf4qNZW8l2QWwWlVAMQmKh6kvCkJSzl8KoizZBP5g5bjyoE5xCoXztpG3t/GL+ywbEgBCaSrQTNIC7jxPSs5wN1eAWsOIlFdkO5wnYJU5zc5iEt6xWtA5Q3C//IRXeSnVqvpWzneJmMdj8o+8DLbrJJPi8oVqNPtRk6i1ZQDWO99yvF/xb0W41qAi6MVdJPiBz2uvwEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ybTqRh4EAmrxKCmbR99NVmTdy3n2zn7pNVQKVH56DX8=; b=DWN782xvC31rXNUUvyjHCpHcbd6zwBUJCGIMZ3SgXTmdz9usZX8fx1tw0mK0uRWufrYcUE5+MMGLtxPh5+vbPi3waADC+NQkh4mLfGofhaAcvV34+5plrkTA0oRQ/MdS9iAlf9x862PcpBe8GYZwUueX52B6wLy4Knya7ARUDibrt1/pKFkKv23IlAe2L2JyskbrX6fXK2SHm37sReAKB1fNJzkkOO49lrb+drolJyScVtQpKbluxYSZu+fszCMnHUstmYM9+s0FxFi5+VPwYiUgtlJ3tG+VNPj+fZKklpTVK5mOLMVEGG+VTMW3vGOJTg/qmoD/wNMBM9fjW4MGfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.195) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ybTqRh4EAmrxKCmbR99NVmTdy3n2zn7pNVQKVH56DX8=; b=CC71RVRV4IKTDwZVo1EbL2lr7cVSssiBNqtbuzuhKu8GAZoLUH1WPfUViKKVtSchXmmeYN1O/bUbWWbKvOpA9+3TDimvW12wDQIhq8WtRY0eQhxTSfg19MvTrr9MrmyzzLa3SyRZAli9kPogpIMH0eHwWZ49bjx7SyjgLgzeudA= Received: from PH3PEPF000040AB.namprd05.prod.outlook.com (2603:10b6:518:1::4d) by IA3PR10MB8275.namprd10.prod.outlook.com (2603:10b6:208:577::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.13; Tue, 16 Dec 2025 20:38:33 +0000 Received: from SN1PEPF000397B1.namprd05.prod.outlook.com (2a01:111:f403:f90f::3) by PH3PEPF000040AB.outlook.office365.com (2603:1036:903:49::3) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.195; helo=lewvzet201.ext.ti.com; pr=C Received: from lewvzet201.ext.ti.com (198.47.23.195) by SN1PEPF000397B1.mail.protection.outlook.com (10.167.248.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:32 +0000 Received: from DLEE204.ent.ti.com (157.170.170.84) by lewvzet201.ext.ti.com (10.4.14.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from DLEE205.ent.ti.com (157.170.170.85) by DLEE204.ent.ti.com (157.170.170.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE205.ent.ti.com (157.170.170.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 16 Dec 2025 14:38:31 -0600 Received: from rs-desk.dhcp.ti.com (rs-desk.dhcp.ti.com [128.247.81.144]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5BGKcUhg402388; Tue, 16 Dec 2025 14:38:31 -0600 From: To: , , , , CC: , , , , , Subject: [oe-core][PATCHv11 3/6] weston: remove deprecated weston-start scripts Date: Tue, 16 Dec 2025 14:38:00 -0600 Message-ID: <20251216203803.3870049-4-rs@ti.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251216203803.3870049-1-rs@ti.com> References: <20251216203803.3870049-1-rs@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000397B1:EE_|IA3PR10MB8275:EE_ X-MS-Office365-Filtering-Correlation-Id: c82cd8d9-4487-4a21-1901-08de3ce3145e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: mCAaIBrjPCYIp5adY3DPaIYPnr8XuwdpgoIwzNt+KUKUFR2b2COCQPffy+Q0Uhr27AGV9HPHbyDSyBcjFJRa3ZL8GbsqnBGnljkVDS4JjRYUbjZWMWAtqHlfBwqWsyH8Udpehx24wuFVl2Jk3Y4sGaMV7TYaZm49lmKtob4n9HpDyplHWCGybhW1IJjPUI1Ekp0+bV6YyVoQ3z3yiUX5XpsoaxrgbvX8D0Wh7HByw9ZSdX/FhjFUMRwzKnARWNjZXb+M5iMYxZOj3XM3lQRFJB/K2cIsIWolWvUPEdeRgf/COTZhLfA/um66HG519nboAV7CsK9frO7xD8hiZ85/gkjmqsVISNFOztln660+cSFCeSveY71YbKBp9CDCHVOKvU/psC70U+wYOMvJDAsGWTpSwhg4ZversdRhE759YVR/5Q3sD4jAqT6pgIoItYdbsd54Sxvx3VaBKKwJpqy2vi2XaSPPo8v0IPiiWb+7dy/OdHfafJ3pDmco3Kd6V73osQqk27F8rjknYrgi6kbrzAG14XRL+S5D4hOKqBu2dMC+T0621ek0+58DS5lLVHvp2BJrSmrOik8elJ/7/T4KGfRGyddTAkZ7zxp2OnZcypmWABRqVdn3ObNs5sbo/YPhSxUtb2MeJpPMG0ihg96jtEJ5bHSusPdodpzHzDzNe3nb2PGfzz9QIj/kGxwDKSX5pssTuBaAnMCG0BT/tIa8MtzCdMd6Bd1CT7ggxOtZEaBHwn3mtb6++byFCkJbZjncqpND5PMvlfOpqNHLqddGadXLdarj8ChUgXa+cB1vk9y8Hr1MQMz0ibOtZxheympaTpue9YB/AvJa/XD1v5q/3iskdgYMtqFrgJF5/s/3OLAm4FMOniPz5WUcqULbrEarYZIPECC1KF2oDxKWHKIDTByeU0RuvGIfi+MNhKZb4lZZjKI7A5wiYTSxskBMlT4ptHSiFvvvPYfUNXefGLVqKNlQK5dzeYb38mvJrWOJKIwcRVfNJ3+i/iFMddZLy/h+mJUYQFFj8038bCPPFSdQHyMQ/8oeuV+21TH5u+Cds+BWY9aS14jNj0TJR49VtJJSx30z1k8GDEjpcegMG1mTvNwKIWm6DvHRzzpT6AROF7BVl5c+YWUIcpytuE6M/cUG42uRqKZvqAqM6y40UNtIlMt8BpiM1PlJY83hI1oY0D1Znp3vt1u+lVzxGUDvOFTIRL7n7F4r4xV01w8X8YO50NKeWjrKIY9ue0SKaP28NHAB3R8sQGEWLd6aFuT4azarCGUatFLztwAPkLbFdrk62VQlfi9/6tPavtnLybEjAGTJzGTIBGOifuy3E/wd2Br5W/Q6ZiyMlM+e1nPamw5nf4cBXhG8Rjdwe/7gfqKVXyUJyZkm7ri/54t23d6X0G3yYn8AcJ9GuMEDNiMZ3OABRY2cWLJpcIWdvM4OMTe/yalRGoJBdlk352+7SHLHobw+unMaXo28HGyooxxs6v1TwGqMlgnbC6I5vBOJLUPmrVA9g5rGntrbnWLjZReOQHbvVL4XWc/Ol1OzGMGem8AOEsKWx1bJwb+bMpnl253QvsM= X-Forefront-Antispam-Report: CIP:198.47.23.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet201.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 20:38:32.9336 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c82cd8d9-4487-4a21-1901-08de3ce3145e X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.195];Helo=[lewvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000397B1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR10MB8275 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 20:38:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227986 From: Randolph Sapp The weston-start scripts are not parsed unless using the old version of weston-init. These files are no longer required since weston-init moved to a virtual-emptty-conf. Signed-off-by: Randolph Sapp --- .../wayland/weston/systemd-notify.weston-start | 9 --------- .../wayland/weston/xwayland.weston-start | 6 ------ meta/recipes-graphics/wayland/weston_14.0.2.bb | 10 ---------- 3 files changed, 25 deletions(-) delete mode 100644 meta/recipes-graphics/wayland/weston/systemd-notify.weston-start delete mode 100644 meta/recipes-graphics/wayland/weston/xwayland.weston-start diff --git a/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start deleted file mode 100644 index a97e7b38d9..0000000000 --- a/meta/recipes-graphics/wayland/weston/systemd-notify.weston-start +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -# SPDX-FileCopyrightText: Huawei Inc. -# SPDX-License-Identifier: Apache-2.0 - - -if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then - add_weston_module "systemd-notify.so" -fi diff --git a/meta/recipes-graphics/wayland/weston/xwayland.weston-start b/meta/recipes-graphics/wayland/weston/xwayland.weston-start deleted file mode 100644 index 342ac8d129..0000000000 --- a/meta/recipes-graphics/wayland/weston/xwayland.weston-start +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if type Xwayland >/dev/null 2>/dev/null; then - mkdir -m 775 -p /tmp/.X11-unix - chown root:video /tmp/.X11-unix -fi diff --git a/meta/recipes-graphics/wayland/weston_14.0.2.bb b/meta/recipes-graphics/wayland/weston_14.0.2.bb index 73c9ce38bf..7e0867f96e 100644 --- a/meta/recipes-graphics/wayland/weston_14.0.2.bb +++ b/meta/recipes-graphics/wayland/weston_14.0.2.bb @@ -9,8 +9,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \ file://weston.png \ file://weston.desktop \ - file://xwayland.weston-start \ - file://systemd-notify.weston-start \ " SRC_URI[sha256sum] = "b47216b3530da76d02a3a1acbf1846a9cd41d24caa86448f9c46f78f20b6e0ac" @@ -107,14 +105,6 @@ do_install:append() { install ${UNPACKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps fi - if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then - install -Dm 644 ${UNPACKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland - fi - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then - install -Dm 644 ${UNPACKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify - fi - if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then chmod u+s ${D}${bindir}/weston-launch fi From patchwork Tue Dec 16 20:38:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Randolph Sapp X-Patchwork-Id: 76784 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D83ED637AC for ; Tue, 16 Dec 2025 20:38:40 +0000 (UTC) Received: from CH5PR02CU005.outbound.protection.outlook.com (CH5PR02CU005.outbound.protection.outlook.com [40.107.200.29]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4010.1765917519452629424 for ; Tue, 16 Dec 2025 12:38:39 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@ti.com header.s=selector1 header.b=vc0ryh08; spf=permerror, err=parse error for token &{10 18 spf.protection.outlook.com}: limit exceeded (domain: ti.com, ip: 40.107.200.29, mailfrom: rs@ti.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rlarMhqmUJC3EzJd/ANorAxXJXjCVYBJkij6RL17lYjhKGUvJcItg4NDpbAY2uoznsGVjck7aYxEw0B5q7qPxWjLixNH1DWlBPstAZEZR3tDTek3U8NtuGeiFOGAUk+Sbqiur27B2tyflEvPCNPe4Y0eYmKg3DF9TQ9xBBdLIkuK5XGZciK8ZBUJlpEudSKvt9Ud1bsAwTyCJGUN42FaGrUUYRGDBvzHPfMknYtOyDTX5rbdx690/XW3zZp+j4Ab9p060IcOyoNcxRMasE6IfmnTL/aeLcq6MWl1ZgFuNScP5EmXF7a0uNdsMFnAoiixMm4Omh430lbA7oG25UK8fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sF9eIafEPhdFKMaacym6nupqXMqqO895STntEBBM5EE=; b=cesyuNYSVlCQB3flj0YSxUDBpBepRuX6JcncoJqSm0BIxY+G5CHsOvv6o1wZY9iw4gE/zID+0EYg5qYCUhR01l51Sl8XfIhCptBQ3vXAaTobkWl6v4sSnWlCNYLibnkGRnpMM7bVmK/7hBDsAoLRb/37EHSdHuVIfSyp5c4AFc+OSc4gd5JqFCUU7V7A6GnSe42Nhn9ROZte9JETGk52TKEm1QImQBX8eYvxcYrho2Kw0Vc9UOQwqCuBBpbdsFwnCnbByuxpk0B+Ou3a1A8+V4/iBQ7F0cLUW7jPIPq8lUC8oBcmZ+6IlDYem/A3x5Lb5VjXvwGmjcbeAmeq/LxEqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.195) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sF9eIafEPhdFKMaacym6nupqXMqqO895STntEBBM5EE=; b=vc0ryh087pMKIi+MW3ls4fR4/PG8r9vZ41tB5uUi71i5panndlnuOFIsK/j9bYrwfJ2Wghn4a9up92RPXaJbuBRycqmIKX6m6zeXgf1fk3CORLRKKWjy74EBuaxcvgyFxWq2X4kxZ8TPzX6/haIHDoeC0YV+oI3NWmiyAx4d0P8= Received: from SA0PR11CA0093.namprd11.prod.outlook.com (2603:10b6:806:d1::8) by MW6PR10MB7591.namprd10.prod.outlook.com (2603:10b6:303:249::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6; Tue, 16 Dec 2025 20:38:37 +0000 Received: from SN1PEPF000397B3.namprd05.prod.outlook.com (2603:10b6:806:d1:cafe::b4) by SA0PR11CA0093.outlook.office365.com (2603:10b6:806:d1::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9412.13 via Frontend Transport; Tue, 16 Dec 2025 20:38:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.195; helo=lewvzet201.ext.ti.com; pr=C Received: from lewvzet201.ext.ti.com (198.47.23.195) by SN1PEPF000397B3.mail.protection.outlook.com (10.167.248.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:36 +0000 Received: from DLEE211.ent.ti.com (157.170.170.113) by lewvzet201.ext.ti.com (10.4.14.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from DLEE202.ent.ti.com (157.170.170.77) by DLEE211.ent.ti.com (157.170.170.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE202.ent.ti.com (157.170.170.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 16 Dec 2025 14:38:31 -0600 Received: from rs-desk.dhcp.ti.com (rs-desk.dhcp.ti.com [128.247.81.144]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5BGKcUhh402388; Tue, 16 Dec 2025 14:38:31 -0600 From: To: , , , , CC: , , , , , Subject: [oe-core][PATCHv11 4/6] xserver-nodm-init: convert to virtual-emptty-conf Date: Tue, 16 Dec 2025 14:38:01 -0600 Message-ID: <20251216203803.3870049-5-rs@ti.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251216203803.3870049-1-rs@ti.com> References: <20251216203803.3870049-1-rs@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000397B3:EE_|MW6PR10MB7591:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ff2143f-5d36-4878-61ec-08de3ce316bd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: DlI5bF9O4ZCboRA6RcG8nOyJfAQEZo3K9T87J5raZnEjaYlmZaRFQ4aC8y8yMiuMgmA537w0F3ab5Vbn/2nZjUvhoZOteR8hwjcC9JZPZokmEnNanFm3RDitbFXfqQiWyDg7GxrelgXRgq+cNEkLzqvNEFM/W+ZCt56xVgbIAwzPF5pgwomIYPQ7AW0DRMuPMQFPTljDtssMcpZbUr7s0i4zZTCYMbahx5Nog+ucjLLmBaLU9eNthCpLv9beDCs5i1J15aCGC1nFEWlRmu0DvMLtu7l4RyMY3nJY6DvQO7Dzi645eE6jvfL6fnOe0sPWKCifa+kDTZ8TvpYZmX/1KHYemJRNVZ1qjqmeYBHG2VBBnStrOCj08ghGWFqRq2b6dNIsIXFD96N7cgwkGncmd/JdE+rJ8UNcTseRRjGh5iuFSs2y1876lzMgDpP3cQINvuzA1z1W2jeybkHKcY8sypg/M0ycBru+p4OUolHzNKc9+HNOZOuJReag2ovawb55gmQXD+TTr2Ru2subRDxjo3c5lsli2I1IunbCPzka7ktL3TuP+EskV1XJUOfP8jScEGTvhwZbkuAREOKUcXTL6Y1kuQVPKEyTgh1/lFOkth29nSglsCl2P7jmxJnsfjQKzxIQl5kIOxpUuKakePyUtiX0OlofPxVjJypUsXXlXT+poHcVk3s9f5fw9IgG+1uTMpA2ia7OtJ81Ief9KiFuk306Y6NFdR1Apbegr+1Nc107DnRbPMZpan5qvh9iRsu8qGVoaV5vggGZ+cxcwWbPRmAzuS+Opv5Ulda9cpX9ML9zpuluHzZ9UZTB8VqBYqvqUORuDXxRIK2EkHyPYz91QYzceCBbwRRVvXThL72j1bOSPDtHz3gWyLm1UZzNLpbDeangpDVXeoIjgivCoknAkO2xYVp/6PaEbCyutqMNKBFyix6zU/i78aoPY/WNZVGT3vcwApIbkc60MTXeDj2nqxPvLP2ZyDIBqTaqoECDnr2HwJrrSbeACOntXbV55xgAkXY8txhKgfOHs2+wkI8h0sf2fluLHoPsKQkFHte+z/IXrwcgf2UuyQx0pDfHXfPlMCGjSbUso+nz4JM2I5drwigLvFOJ9Gixcy72Kc4xVud6owxifAYrEWawnXVxlyLImhBHC8bxZmwd/AMsqnTz3tBL26sI4IOF9JRxj9oL0v7FH+nvcTWXj/Q/iJp/x+SKFEYAtxYAa2UnNC4o4N9nUxP9RpZj78jqSp/8mkFXz7haV6wnUIgFPknzGZRtjGzM3rYVZs1P2JBx8lq2931jNtX+GpbNLsS8M65JyLBeYtMk4deuGpbS74B2Dc4Cn5xMO+LIAfJNwnN54V7fuZyWZcu9vMx+6JfhzXW4AGSTwdRD6U+kiGxRwWyTvfhf+ZiudxoRN8vmnAj5rihq8NEQw5Ncft1zT4WMrkNXlZ9IxgtTvY6kNerQlZkKr5MktlSsPtJiUWHpx7P2WuAHJXygLwAvLSaGD+4oO64GOcXBJuo= X-Forefront-Antispam-Report: CIP:198.47.23.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet201.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 20:38:36.9210 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6ff2143f-5d36-4878-61ec-08de3ce316bd X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.195];Helo=[lewvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000397B3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR10MB7591 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 20:38:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227987 From: Randolph Sapp Convert this script package into a simple config for emptty. This is capable of using either the root user or the underprivileged xuser account based on the same ROOTLESS_X variable. The xuser will leverage the nopasswdlogin session provided by emptty for automatic logins. Runtime provide virtual-emptty-conf as we need to set parameters for the default session. This also gets rid of the xuser security/capability override since emptty sets up required components as root before descending into the specified user. This does not currently handle loading of autostart applications in "/etc/xdg/autostart". This explicitly removes rooted x11 support for security related issues, as this recipe has always automatically setup passwordless login for the specified account. This was particularly useful for the underprivileged xuser account, but is quickly a problem for the root user. See the following discussion for additional information: https://lists.openembedded.org/g/openembedded-core/topic/115318655#msg223906 License-Update: GPLv2 scripts were replaced with MIT based config files Signed-off-by: Randolph Sapp --- meta/conf/distro/include/maintainers.inc | 4 +- meta/lib/oeqa/runtime/cases/xorg.py | 8 + .../x11-common/xserver-nodm-init/X11/Xsession | 38 -- .../X11/Xsession.d/13xdgbasedirs.sh | 19 - .../X11/Xsession.d/89xdgautostart.sh | 7 - .../X11/Xsession.d/90XWindowManager.sh | 7 - .../x11-common/xserver-nodm-init/Xserver | 25 -- .../xserver-nodm-init/capability.conf | 2 - .../xserver-nodm-init/default.desktop | 5 + .../xserver-nodm-init/emptty.conf.in} | 8 +- .../xserver-nodm-init/gplv2-license.patch | 355 ------------------ .../x11-common/xserver-nodm-init/xserver-nodm | 75 ---- .../xserver-nodm-init/xserver-nodm.conf.in | 7 - .../xserver-nodm-init/xserver-nodm.service.in | 13 - .../x11-common/xserver-nodm-init_3.0.bb | 64 +--- .../user-creation/xuser-account_0.1.bb | 3 +- 16 files changed, 35 insertions(+), 605 deletions(-) delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/89xdgautostart.sh delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/90XWindowManager.sh delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/capability.conf create mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop copy meta/recipes-graphics/{wayland/weston-init/emptty.conf => x11-common/xserver-nodm-init/emptty.conf.in} (95%) delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch delete mode 100755 meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 752fdb2d01..c17a4ef0c6 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -928,12 +928,12 @@ RECIPE_MAINTAINER:pn-xorgproto = "Unassigned " RECIPE_MAINTAINER:pn-xprop = "Unassigned " RECIPE_MAINTAINER:pn-xrandr = "Unassigned " RECIPE_MAINTAINER:pn-xrestop = "Unassigned " -RECIPE_MAINTAINER:pn-xserver-nodm-init = "Unassigned " +RECIPE_MAINTAINER:pn-xserver-nodm-init = "Randolph Sapp " RECIPE_MAINTAINER:pn-xserver-xf86-config = "Unassigned " RECIPE_MAINTAINER:pn-xserver-xorg = "Unassigned " RECIPE_MAINTAINER:pn-xset = "Unassigned " RECIPE_MAINTAINER:pn-xtrans = "Unassigned " -RECIPE_MAINTAINER:pn-xuser-account = "Unassigned " +RECIPE_MAINTAINER:pn-xuser-account = "Randolph Sapp " RECIPE_MAINTAINER:pn-xvinfo = "Unassigned " RECIPE_MAINTAINER:pn-xwayland = "Unassigned " RECIPE_MAINTAINER:pn-xwininfo = "Unassigned " diff --git a/meta/lib/oeqa/runtime/cases/xorg.py b/meta/lib/oeqa/runtime/cases/xorg.py index 09afb1e3d1..8593be5b77 100644 --- a/meta/lib/oeqa/runtime/cases/xorg.py +++ b/meta/lib/oeqa/runtime/cases/xorg.py @@ -20,4 +20,12 @@ class XorgTest(OERuntimeTestCase): status, output = self.target.run(cmd) msg = ('Xorg does not appear to be running %s' % self.target.run(self.tc.target_cmds['ps'])[1]) + + # dump last 20 lines of emptty log in case of failure + log_cmd = 'tail -n 20 /var/log/emptty/7.log' + msg += '\n\n===== start: snippet =====\n\n' + msg += 'file: /var/log/emptty/7.log\n\n' + msg += '\n\n%s\n\n' % self.target.run(log_cmd)[1] + msg += '\n\n===== end: snippet =====\n\n' + self.assertEqual(status, 0, msg=msg) diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession b/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession deleted file mode 100644 index 0b73127ae1..0000000000 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -if [ -x /usr/bin/dbus-launch ]; then - # As this is the X session script, always start a new DBus session. - eval `dbus-launch --sh-syntax --exit-with-session -+ Copyright (C) -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this program; if not, write to the Free Software Foundation, Inc., -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+Also add information on how to contact you by electronic and paper mail. -+ -+If the program is interactive, make it output a short notice like this -+when it starts in an interactive mode: -+ -+ Gnomovision version 69, Copyright (C) year name of author -+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. -+ This is free software, and you are welcome to redistribute it -+ under certain conditions; type `show c' for details. -+ -+The hypothetical commands `show w' and `show c' should show the appropriate -+parts of the General Public License. Of course, the commands you use may -+be called something other than `show w' and `show c'; they could even be -+mouse-clicks or menu items--whatever suits your program. -+ -+You should also get your employer (if you work as a programmer) or your -+school, if any, to sign a "copyright disclaimer" for the program, if -+necessary. Here is a sample; alter the names: -+ -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program -+ `Gnomovision' (which makes passes at compilers) written by James Hacker. -+ -+ , 1 April 1989 -+ Ty Coon, President of Vice -+ -+This General Public License does not permit incorporating your program into -+proprietary programs. If your program is a subroutine library, you may -+consider it more useful to permit linking proprietary applications with the -+library. If this is what you want to do, use the GNU Lesser General -+Public License instead of this License. diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm deleted file mode 100755 index 116bb278bc..0000000000 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: xserver -# Required-Start: $local_fs $remote_fs dbus -# Required-Stop: $local_fs $remote_fs -# Default-Start: 5 -# Default-Stop: 0 1 2 3 6 -### END INIT INFO - -killproc() { # kill the named process(es) - pid=`/bin/pidof $1` - [ "$pid" != "" ] && kill $pid -} - -read CMDLINE < /proc/cmdline -for x in $CMDLINE; do - case $x in - x11=false) - echo "X Server disabled" - exit 0; - ;; - esac -done - -case "$1" in - start) - . /etc/profile - - #default for USER - . /etc/default/xserver-nodm - echo "Starting Xserver" - if [ "$USER" != "root" ]; then - # setting for rootless X - chmod o+w /var/log - chmod g+r /dev/tty[0-3] - # hidraw device is probably needed - if [ -e /dev/hidraw0 ]; then - chmod o+rw /dev/hidraw* - fi - # Make sure that the Xorg has the cap_sys_admin capability which is - # needed for setting the drm master - if ! grep -q "^auth.*pam_cap\.so" /etc/pam.d/su; then - echo "auth optional pam_cap.so" >>/etc/pam.d/su - fi - if ! /usr/sbin/getcap $XSERVER | grep -q cap_sys_admin; then - /usr/sbin/setcap cap_sys_admin+eip $XSERVER - fi - fi - - # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211] - su -l -c '/etc/xserver-nodm/Xserver &' $USER - # Wait for the desktop to say its finished loading - # before loading the rest of the system - # dbus-wait org.matchbox_project.desktop Loaded - ;; - - stop) - echo "Stopping XServer" - killproc xinit - sleep 1 - chvt 1 & - ;; - - restart) - $0 stop - $0 start - ;; - - *) - echo "usage: $0 { start | stop | restart }" - ;; -esac - -exit 0 diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in deleted file mode 100644 index 4a9670d8d2..0000000000 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in +++ /dev/null @@ -1,7 +0,0 @@ -# common environment file for sysvinit and systemd - -XSERVER=/usr/bin/Xorg -DISPLAY=:0 -ARGS=" -br -pn @BLANK_ARGS@ @NO_CURSOR_ARG@ " -HOME=@HOME@ -USER=@USER@ diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in deleted file mode 100644 index 43aaa84c0f..0000000000 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Xserver startup without a display manager -After=systemd-udev-settle.service -Wants=systemd-udev-settle.service - -[Service] -EnvironmentFile=/etc/default/xserver-nodm -User=@USER@ -ExecStart=/etc/xserver-nodm/Xserver -Restart=always - -[Install] -Alias=display-manager.service diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb index 169269eefb..ed056df72f 100644 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb @@ -1,25 +1,16 @@ SUMMARY = "Simple Xserver Init Script (no dm)" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" SECTION = "x11" -SRC_URI = "file://xserver-nodm \ - file://Xserver \ - file://X11 \ - file://gplv2-license.patch \ - file://xserver-nodm.service.in \ - file://xserver-nodm.conf.in \ - file://capability.conf \ -" +SRC_URI = "file://emptty.conf.in \ + file://default.desktop" S = "${UNPACKDIR}" -# Since we refer to ROOTLESS_X which is normally enabled per-machine -PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit features_check -inherit update-rc.d systemd features_check - -REQUIRED_DISTRO_FEATURES = "x11 ${@oe.utils.conditional('ROOTLESS_X', '1', 'pam', '', d)}" +REQUIRED_DISTRO_FEATURES = "x11" PACKAGECONFIG ??= "blank" # dpms and screen saver will be on only if 'blank' is in PACKAGECONFIG @@ -27,45 +18,18 @@ PACKAGECONFIG[blank] = "" PACKAGECONFIG[nocursor] = "" do_install() { - install -d ${D}${sysconfdir}/default - install xserver-nodm.conf.in ${D}${sysconfdir}/default/xserver-nodm - install -d ${D}${sysconfdir}/xserver-nodm - install Xserver ${D}${sysconfdir}/xserver-nodm/Xserver - install -d ${D}${sysconfdir}/X11/Xsession.d - install X11/Xsession.d/* ${D}${sysconfdir}/X11/Xsession.d/ - install X11/Xsession ${D}${sysconfdir}/X11/ + install -D -p -m0644 ${S}/emptty.conf.in ${D}${sysconfdir}/emptty/conf + install -D -p -m0644 ${S}/default.desktop ${D}${datadir}/xsessions/default.desktop BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}" NO_CURSOR_ARG="${@bb.utils.contains('PACKAGECONFIG', 'nocursor', '-nocursor', '', d)}" - if [ "${ROOTLESS_X}" = "1" ] ; then - XUSER_HOME="/home/xuser" - XUSER="xuser" - install -D capability.conf ${D}${sysconfdir}/security/capability.conf - sed -i "s:@USER@:${XUSER}:" ${D}${sysconfdir}/security/capability.conf - else - XUSER_HOME=${ROOT_HOME} - XUSER="root" - fi - sed -i "s:@HOME@:${XUSER_HOME}:; s:@USER@:${XUSER}:; s:@BLANK_ARGS@:${BLANK_ARGS}:" \ - ${D}${sysconfdir}/default/xserver-nodm - sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/default/xserver-nodm - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service - sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service - fi - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -d ${D}${sysconfdir}/init.d - install xserver-nodm ${D}${sysconfdir}/init.d - fi + sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/emptty/conf + sed -i "s:@BLANK_ARGS@:${BLANK_ARGS}:" ${D}${sysconfdir}/emptty/conf } -RDEPENDS:${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}" - -INITSCRIPT_NAME = "xserver-nodm" -INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ." -SYSTEMD_SERVICE:${PN} = "xserver-nodm.service" +FILES:${PN} = "${sysconfdir}/emptty/conf \ + ${datadir}/xsessions/default.desktop" -RCONFLICTS:${PN} = "xserver-common (< 1.34-r9) x11-common" +RDEPENDS:${PN} = "emptty xuser-account" +RPROVIDES:${PN} += "virtual-emptty-conf" diff --git a/meta/recipes-support/user-creation/xuser-account_0.1.bb b/meta/recipes-support/user-creation/xuser-account_0.1.bb index 04f506e7a3..f1e4cb674f 100644 --- a/meta/recipes-support/user-creation/xuser-account_0.1.bb +++ b/meta/recipes-support/user-creation/xuser-account_0.1.bb @@ -24,7 +24,8 @@ FILES:${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf" USERADD_PACKAGES = "${PN}" USERADD_PARAM:${PN} = "--create-home \ - --groups video,tty,audio,input,shutdown,disk \ + --groups video,tty,audio,input,shutdown,disk,nopasswdlogin \ --user-group xuser" +GROUPADD_PARAM:${PN} = "-r nopasswdlogin" ALLOW_EMPTY:${PN} = "1" From patchwork Tue Dec 16 20:38:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Randolph Sapp X-Patchwork-Id: 76785 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 58356D637A9 for ; Tue, 16 Dec 2025 20:38:50 +0000 (UTC) Received: from CH5PR02CU005.outbound.protection.outlook.com (CH5PR02CU005.outbound.protection.outlook.com [40.107.200.6]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4011.1765917521479661709 for ; Tue, 16 Dec 2025 12:38:41 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@ti.com header.s=selector1 header.b=c3auyBlW; spf=permerror, err=parse error for token &{10 18 spf.protection.outlook.com}: limit exceeded (domain: ti.com, ip: 40.107.200.6, mailfrom: rs@ti.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NJ/UM7LBXU0wqzWHYzLGC+uyVVSgDzW4NsyC+ayY2AqXq78pfO1jJHfbUgAFMdMaSxEzcAtbytYAqVaTxgk73jCIlFogHnG7J26hf5uH0gC5Ljl/FgFfQoNVHX+1XTAq37E+waeIjnnt72Dg8cMflfGlZLC7/W3vc0Za3ir4FpO4SLoEY/BHhQ1kGSik7Wa8V/9nj/ClGu0914goNuK4hH1rHmeP/JleskQCJsFC1p++xrEOjL6gtPXRa6wnOGXevGpuJ06UXjQg4qaK6yxyfCd3usYQHidbfbbVaW7+hymxMwmXTAACx55j4EMSRyUXBh583HPMTWAEwYBJ7frqDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=V7yv8Wzao5r7LIsvGXejy9SNhAXP4PmqCGjxN2kHyV0=; b=VgR6NI3ad08ZRiEuxHJSrk2Rz8LkzScrwgpUF0xOX6ccSfEHGghyrN723rPshgMbNQYgaaKKCQdgPoaQrcPD0vUrSZgcRp2K0dO/vIUF0D4tEmI98stACIm6AycHvS/LDNHHebraOlM8wcME+6aKfuCJFCt122OAKsDNBQB9sCZGW7UD5BP4bBpLv7uyYrXhcFC2+EHjx7K5aJl+SGv5HXfQHYcc47tl7Io0IaRIN8l/SKFxknDapSnk725Wq3KX+6Z2r6fysO7yER3SFo827oU5FlVUN7TA/oXIsmVes3SVDIZRKZnZ/CRPfXgmSMrXOMSVPu2sTmODExybhBTFVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.21.194) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V7yv8Wzao5r7LIsvGXejy9SNhAXP4PmqCGjxN2kHyV0=; b=c3auyBlWyKHkA0meLmUkl2JBk/OgHukVzKyYAeKG8KzSsz3RYgO1G+mT9HvQnlu3WZQhKDqMYdUaQ5LPPPMg5j+Dyhwr0z0dH0Yh37Spjjqa9d2lGEra3S/5h/fWk8s9Oj3qY88/Se9+uxsJQXTrNr+4nt/Grs2bJv9bm36VrIY= Received: from DM6PR11CA0072.namprd11.prod.outlook.com (2603:10b6:5:14c::49) by DM3PPFBD8703CAB.namprd10.prod.outlook.com (2603:10b6:f:fc00::c46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6; Tue, 16 Dec 2025 20:38:38 +0000 Received: from CY4PEPF0000EE32.namprd05.prod.outlook.com (2603:10b6:5:14c:cafe::96) by DM6PR11CA0072.outlook.office365.com (2603:10b6:5:14c::49) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.21.194) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.21.194 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.21.194; helo=flwvzet200.ext.ti.com; pr=C Received: from flwvzet200.ext.ti.com (198.47.21.194) by CY4PEPF0000EE32.mail.protection.outlook.com (10.167.242.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:35 +0000 Received: from DFLE214.ent.ti.com (10.64.6.72) by flwvzet200.ext.ti.com (10.248.192.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from DFLE203.ent.ti.com (10.64.6.61) by DFLE214.ent.ti.com (10.64.6.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DFLE203.ent.ti.com (10.64.6.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 16 Dec 2025 14:38:31 -0600 Received: from rs-desk.dhcp.ti.com (rs-desk.dhcp.ti.com [128.247.81.144]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5BGKcUhi402388; Tue, 16 Dec 2025 14:38:31 -0600 From: To: , , , , CC: , , , , , Subject: [oe-core][PATCHv11 5/6] xuser-account: merge with xserver-nodm-init Date: Tue, 16 Dec 2025 14:38:02 -0600 Message-ID: <20251216203803.3870049-6-rs@ti.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251216203803.3870049-1-rs@ti.com> References: <20251216203803.3870049-1-rs@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE32:EE_|DM3PPFBD8703CAB:EE_ X-MS-Office365-Filtering-Correlation-Id: b72277cd-95ae-4c04-0d8b-08de3ce3162d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: S1PzfjHmh4oZ16BureRmdiHqucOOdY2itoyOwF0zb8S5Cmh8Mp8LhVakpjRzwXd3UnxWYq8cwgRfHS1/n1XIoszF97RDi7HH3DNWpFo+vsDcpSEDtKqjfqnpo8+B2+EZ8yES8D9YOUwYnxaG5fEoy7ch7WwFRMxtehwMBPbSd/Uoi5cHt3DgylSJeFnu7ilNZxBRVMrh/R199+cj1qEGqN0wRtBWg0j/zXw924fkp9+IhJS5S2zwJe0OPiwLZZXM6qLLlCh0dKjhEsO4a56SHj22Vbm4v8WII+utNh6mpuohFZrmpM/AtEmf0LA9G6L0YnHvGDwO8gh33YlGJFQI/mutFksH38nyQwH77/9YcS6lqCOI/5uClyYR/FOpF/bz7Gi3aAChJnNs2FzQz+MsGZsCBhgQo9a4c+AhNRM46JCDS1uyfLsDi9CxxAepvzWwc5l2EIbhvSU954zTJKSNwr1JH71KPxIQbEZHq7rx6gxRK2VH9KystQK7Or95MUypcYhOZpQp4PtGvcYKGJfK1wlP0QOvWrUSS1amM5d8fnHJQ2Tk1TlyO62e6z1FI68rPY4OMTvexF15Pam0CiQtc6nzpjDMBIZMuIbdyBNaKXxe4fDONUjFdRitaEF8CUW8A/1EJRd48Dw1PR6/ty4xCoLi6K50oQzuLNEU6xhLx+IyFzQIYgvWwYda9sN6HgUTf71avT5y5CzkGNWmWGfEYb9L2WSpMXn68ygWyMlDrfuOjsHaDd30xZAGwmCF8esSvVNFky/Y+erD21LA9mlcc5RZv14n3huKjVfTRVHMo67ZxGspuAJUCjHd5GLZRtE1OhjYx8/pSUtibeOLjgFk7/lxzIIlO/wdND/f0r4+oVhbmQNxeuPkAoOPTxR6VFPI+T3QuzJkLg2aS1SP+BoVTF0Cw4oQ9wtR2flgIT5UOC/ciKfCNjEqSKgPDGYv5URTEssjMORzEd9bhmeuYE8WodLjb53VC2bfvhpBmsE7MKf0trgOMa2ZcdMobesBvtpuk5JieipcxBQ2pWh/dzrRhSkVMYkDALwVBPkpC0NEIY6ZlCMY/TcbuXgfi6ng94NZS/C1kr+jrRpo7LVyXvj66T/K19s+Ye8ls679dmJ4TWMzVK/ldkQ5rLLUL0g/HTukhjzZMBeMVrYYE28i+37nSO31IRO0UZSghIp0bNuS+R/54MV4aKtdSzugxoh9/TSP2UeK9fBERK1yVBVBiamr1Yyh1dalEEsDMyzCiosDXyuGS7r0EHxT80d6EAOl1OyEljZaH9T50UZ9FF9mDTRmRsQ8hSk7nNEDcmm9z3Xe0sbnTWbbJsn/WfsnV+2A8R+PxT79RySWLaZN+nJhz+mBASHRlq4BVdpjzk02qQEkio2LGFQweFlexOphszLpECDX0KssXb48MkMt26D3D6jYJRmZm3QiyY/r8L7ZUaOEI/LAOvhPWVBxyghtAIoXbOXDlxbezsSAHEcnou0pVK9f2KOe8n7/Vmzl+ZXu5lIrLuMH9jdhBOEP0D0wkiRgJ1mFzhX+hILpZrsyBCq3NErq77DuColypXJEHk+TJVES3Tc= X-Forefront-Antispam-Report: CIP:198.47.21.194;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:flwvzet200.ext.ti.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 20:38:35.9713 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b72277cd-95ae-4c04-0d8b-08de3ce3162d X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.21.194];Helo=[flwvzet200.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE32.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFBD8703CAB List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 20:38:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227988 From: Randolph Sapp Merge the xuser-account recipe with xserver-nodm-init, since: - This is the only recipe dependent on it - This matches the current behavior in weston-init - Running x11 as root is no longer a supported path in xserver-nodm-init - The display manager configuration and user account name are heavily connected - The existing method of integration ignored this connection Signed-off-by: Randolph Sapp --- meta/conf/distro/include/maintainers.inc | 1 - .../xserver-nodm-init}/system-xuser.conf | 0 .../x11-common/xserver-nodm-init_3.0.bb | 20 +++++++++--- .../user-creation/xuser-account_0.1.bb | 31 ------------------- 4 files changed, 15 insertions(+), 37 deletions(-) rename meta/{recipes-support/user-creation/files => recipes-graphics/x11-common/xserver-nodm-init}/system-xuser.conf (100%) delete mode 100644 meta/recipes-support/user-creation/xuser-account_0.1.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index c17a4ef0c6..53d372eacd 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -933,7 +933,6 @@ RECIPE_MAINTAINER:pn-xserver-xf86-config = "Unassigned X-Patchwork-Id: 76787 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52054D637AB for ; Tue, 16 Dec 2025 20:38:50 +0000 (UTC) Received: from SN4PR2101CU001.outbound.protection.outlook.com (SN4PR2101CU001.outbound.protection.outlook.com [40.93.195.40]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3926.1765917521729309741 for ; Tue, 16 Dec 2025 12:38:41 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@ti.com header.s=selector1 header.b=Usg89BbR; spf=permerror, err=parse error for token &{10 18 spf.protection.outlook.com}: limit exceeded (domain: ti.com, ip: 40.93.195.40, mailfrom: rs@ti.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aWSjErv/b1DSMKv6DOy82s8P5BA5SBgddZRteWF8vgZ0wPC2+wKAVISHS0nzYseuAfqtQZvpgkHc8kHFbnv7WfR9hA/UDAHz+iWFdnRVXafa9J6ldmj0P/fwOx8W/qOGyj3zbwgicLcSBRWd6qrhaajTnU4k/jdQpFbGnVCwRBcZq+9NfJWqbHIbW0VT6mWsOZZYrPhFaCZNuAYGyLeYxAJEizfAcNQcdYgrNc0PGyDbN5JE/8WY9UsPw/U5QYH+viLP3HYfNu55PdZC8YfOwDseUfXmTbMt1lUxxOKhxVMLoJcWXmGLenwOmxIOykh2MCJJ0S+hwIPqjtKqmGyyNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eAkoxJxlKZByMzN0A60bk6VNa5NQVW5X7paTLNV6SR0=; b=IeIlqzVqdAjebjZofU46PomNQmjUX6SzwQMp3sikTLV1xvWdSfZfxkE1VWiYvqqfjxQGJdraghon/pKcAmersB5OT5xMD2s3F0C5SLA2o6/yeIBKvfr23rsWqerViOskdxbaSsiXOVV0XANG6cef9evKEos4RtxVJCYLDnk7D6iPJw99EFczUq/dPKGnAuTPvMrdetiBtWNbaCuOWsDuo+uzYzoWelut2lbIWW8by/i/9U3LgE2QeF7K2MvP4JRPIKYrZMhzo4iRVp82jY/2elhNEb6jbKgoa63wpR9qPL4EU8fODpTVcazNy1lbXijQZ3iJgvyLuf22Y6Y6uy/2SA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 198.47.23.195) smtp.rcpttodomain=lists.openembedded.org smtp.mailfrom=ti.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=ti.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eAkoxJxlKZByMzN0A60bk6VNa5NQVW5X7paTLNV6SR0=; b=Usg89BbReHSDaiA07APSKSPzTLeb/Ld6KlW32C1BIp4sADdrtNNkA/PHYd5IJNiOoRB8Xr2U3Yfwk9DOOSGjLRiM/aks+IkPLcFrCxk97xetRzJvfX1JSz82a2Ei/Me7QwjHtdbjCKExNT8EQFvZYYDbMRYIFx+Ih/DxclQfJjE= Received: from PH3PEPF00004099.namprd05.prod.outlook.com (2603:10b6:518:1::45) by MW4PR10MB6321.namprd10.prod.outlook.com (2603:10b6:303:1e1::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.16; Tue, 16 Dec 2025 20:38:36 +0000 Received: from SN1PEPF000397B1.namprd05.prod.outlook.com (2a01:111:f403:f90f::3) by PH3PEPF00004099.outlook.office365.com (2603:1036:903:49::3) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 198.47.23.195) smtp.mailfrom=ti.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ti.com; Received-SPF: Pass (protection.outlook.com: domain of ti.com designates 198.47.23.195 as permitted sender) receiver=protection.outlook.com; client-ip=198.47.23.195; helo=lewvzet201.ext.ti.com; pr=C Received: from lewvzet201.ext.ti.com (198.47.23.195) by SN1PEPF000397B1.mail.protection.outlook.com (10.167.248.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6 via Frontend Transport; Tue, 16 Dec 2025 20:38:36 +0000 Received: from DLEE210.ent.ti.com (157.170.170.112) by lewvzet201.ext.ti.com (10.4.14.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from DLEE202.ent.ti.com (157.170.170.77) by DLEE210.ent.ti.com (157.170.170.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 16 Dec 2025 14:38:31 -0600 Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE202.ent.ti.com (157.170.170.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend Transport; Tue, 16 Dec 2025 14:38:31 -0600 Received: from rs-desk.dhcp.ti.com (rs-desk.dhcp.ti.com [128.247.81.144]) by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5BGKcUhj402388; Tue, 16 Dec 2025 14:38:31 -0600 From: To: , , , , CC: , , , , , Subject: [oe-core][PATCHv11 6/6] xsessions: add unique desktop entries Date: Tue, 16 Dec 2025 14:38:03 -0600 Message-ID: <20251216203803.3870049-7-rs@ti.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251216203803.3870049-1-rs@ti.com> References: <20251216203803.3870049-1-rs@ti.com> MIME-Version: 1.0 X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000397B1:EE_|MW4PR10MB6321:EE_ X-MS-Office365-Filtering-Correlation-Id: 94faad8d-524a-4c97-fcf1-08de3ce31665 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: xnXtfPuuG6PEDjOVN+lvypAkJh7WaXMZn8aUC1ZOf+FyElI4MumgRejAQMNfweQiBiJOMcVoYksJUvt8323ZqiMCQfPDGqo0wyFA51RfVc62ZeGahPiIJt0IdnZPgD+SiQ0iIqtXJKANYlINVkgNtPbAkIdvUbIbblE5UNeZi2dhrF8ubNiU0aX1fIcsChHTGblXU9VPgULEHpyroffDRFS7qDVTG7uX4XNoHGjEvEAllGv5sHDgZMhymo1XVVs4JmrXJS0p44RL8CdnigxsS7K0zz7/C/hKpyKvnmxt/7UlmMmT1Ftv7cRSFVT7PHWs9afLg8NM+gC4wXSDD4kXIKzmm8T6BuJVMizpqpnFe7XS9EEKvnYQV/v+mkN5SMImMygnH170Pg1aZEodp+vuFT5CGobaeek1s4A+FWSNUD0/t/IZmmBXNsi7YtjqZW06o5dw7GFMbaPlq6Kh2taWEJyKEePrPLEiBPcomQw4n5tRJtF63nhm33wZL+xPq9kGJhx9BkIxtOEXolWAVLBxdHPa/rDJXGvxTJJhxRdcu4AgI1KYzTNMDxUxtsqecSPpxwMCKHjAdZIV4nFsQ56OdyFlEqiTsgAna8YJzs34PYuwye51FWaMC6mMNmGL7++50Bq8cOTq2NoY+0vQqog83EvC++DkwfbfPQhvojbeIUkt2oxEMWWsfE6mdjdHrM9ftO5vsVZ5VsxFQxnMXAPRBm4MJGE5MkB2vA+Zz6KQaT8RxfxIEr1HYTUSB67jS53mE7ZRcwDyeDnIF6E4VNchatraaudfCddAPN7coHg718Hy8tjxlAUCIoNbfMBDFdhLGi3EkqmhhjUtYPNJM0YefXGk3TFlH1kL6BmwfxYlpQxI3KMjBR1QpBj3QAH2Qa6Y3C17CIRVOsvFSqGEdFJM/tfXAIQ19dv7rV2IsxlcE0zLQrkF89u59LPGkNTxxtxnhmbZkYtX+/FH1IpwNuiDM7rzYvoXSuH9dAlUwDjF5Jcdsq8xlBOiDAJ+FLsbhi7k8CYUuUEtd5F9mbqY33lzvQvAETuB2NBEO7ogJ4eAfNzf3BA4sNPOSDMTjGSnXUyQ++j/LdWw4zGdk6+Toqqrw52LAECBv2ApaTC2p36WmOncO8tnuyrQbBnhimq6HSkJm6Pj1m6t7KZcyPIGSgivbr2sWZVJeoRYvvoUP4wMvb3JP2R6GfybwqzTQfT3LjDY5XWOyC2OGb4073RCDp7vLM1gpOlbqcyC0CJj5jMj9DpjO0VcQnCN4xrmVpnXsz+3jAx43GtWVZhWDi5PuDVlyzxDi0NaUXcofQjF6J2LyW3ZPtD+ia9WPdbzXjcYr3XBTBxHTQ0JzzbdSa2HjdaoDVwwvdYh1nsFXRRlxa50XrPjNfZuFynEGm0dQSu/ZU8yNaMDx3mP7SbrdWtQgx3/m0nSTiSy6gpuoMp/ud7G04c0Mc96Q6mM7iVGywDv2mdsJlveU4u6W1ahDAj4trX1QkdH+cHhPOEfzhQNArB7Ju4fl/wIab7tbw/L49XTiMvIqtAf5Som5PC2NjQ9cLC/omkQeMNhO8diXAhKxCGCDlQ= X-Forefront-Antispam-Report: CIP:198.47.23.195;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:lewvzet201.ext.ti.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: ti.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2025 20:38:36.3424 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 94faad8d-524a-4c97-fcf1-08de3ce31665 X-MS-Exchange-CrossTenant-Id: e5b49634-450b-4709-8abb-1e2b19b982b7 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e5b49634-450b-4709-8abb-1e2b19b982b7;Ip=[198.47.23.195];Helo=[lewvzet201.ext.ti.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000397B1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6321 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 20:38:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227989 From: Randolph Sapp Now that we have a display manager, users can have the option to choose a session manager with the default emptty configuration. Currently this could be either mini-x-session or matchbox-session. Previously, only one was selectable via update-alternatives logic switching out the x-session-manager link that xserver-nodm-init would unconditionally use. From my testing this normally resulted in matchbox-session being chosen. Now xserver-nodm-init will use a DEFAULT_SESSION variable to configure the automatic login session, and both of these session managers will provide unique desktop entries for their respective sessions. The loose default for DEFAULT_SESSION will be matchbox-session to keep in line with the existing behavior. Signed-off-by: Randolph Sapp --- .../matchbox-session/matchbox-session.desktop | 6 ++++++ .../matchbox-session/matchbox-session_0.1.bb | 13 ++++++------- .../mini-x-session/files/mini-x-session.desktop | 6 ++++++ .../mini-x-session/mini-x-session_0.1.bb | 13 ++++++------- .../x11-common/xserver-nodm-init/default.desktop | 5 ----- .../x11-common/xserver-nodm-init/emptty.conf.in | 2 +- .../x11-common/xserver-nodm-init_3.0.bb | 7 ++++--- 7 files changed, 29 insertions(+), 23 deletions(-) create mode 100644 meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop create mode 100644 meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop b/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop new file mode 100644 index 0000000000..f496fd860f --- /dev/null +++ b/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Matchbox Session +Comment=Very simple session manager for matchbox tools +Type=Application +Exec=matchbox-session +DesktopNames=matchbox diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb index d8be3417cc..bee18ad617 100644 --- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb +++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb @@ -9,17 +9,16 @@ LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c3 SECTION = "x11" RCONFLICTS:${PN} = "matchbox-common" -SRC_URI = "file://matchbox-session" +SRC_URI = "file://matchbox-session \ + file://matchbox-session.desktop" S = "${UNPACKDIR}" -inherit update-alternatives - -ALTERNATIVE:${PN} = "x-session-manager" -ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session" -ALTERNATIVE_PRIORITY = "100" - do_install() { install -d ${D}/${bindir} install -m 0755 ${S}/matchbox-session ${D}/${bindir} + install -d ${D}${datadir}/xsessions + install -m 0644 ${S}/matchbox-session.desktop ${D}${datadir}/xsessions } + +FILES:${PN} += "${datadir}/xsessions" diff --git a/meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop b/meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop new file mode 100644 index 0000000000..d7afed9cfd --- /dev/null +++ b/meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Mini X Session +Comment=Very simple session manager for X +Type=Application +Exec=mini-x-session +DesktopNames=matchbox diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb index e90786df44..b223c38c9e 100644 --- a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb +++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb @@ -9,19 +9,18 @@ LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938 SECTION = "x11" RCONFLICTS:${PN} = "matchbox-common" -SRC_URI = "file://mini-x-session" +SRC_URI = "file://mini-x-session \ + file://mini-x-session.desktop" S = "${UNPACKDIR}" RDEPENDS:${PN} = "sudo" -inherit update-alternatives - -ALTERNATIVE:${PN} = "x-session-manager" -ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/mini-x-session" -ALTERNATIVE_PRIORITY = "50" - do_install() { install -d ${D}/${bindir} install -m 0755 ${S}/mini-x-session ${D}/${bindir} + install -d ${D}${datadir}/xsessions + install -m 0644 ${S}/mini-x-session.desktop ${D}${datadir}/xsessions } + +FILES:${PN} += "${datadir}/xsessions" diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop b/meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop deleted file mode 100644 index 3357cd9a7f..0000000000 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop +++ /dev/null @@ -1,5 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Application -Name=Default X11 Desktop -Exec=x-session-manager diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in b/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in index bdb3bec782..fbe106d9b6 100644 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in @@ -17,7 +17,7 @@ DEFAULT_USER=xuser AUTOLOGIN=true # The default session used, if Autologin is enabled. If session is not found in list of session, it proceeds to manual selection. -AUTOLOGIN_SESSION=Default X11 Desktop +AUTOLOGIN_SESSION=@DEFAULT_SESSION@ # If Autologin is enabled and session does not start correctly, the number of retries in short period is kept to eventually stop the infinite loop of restarts. -1 is for infinite retries, 0 is for no retry. # AUTOLOGIN_MAX_RETRY=2 diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb index 0e9fe1e65a..a4b4a11d1b 100644 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb @@ -4,7 +4,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 SECTION = "x11" SRC_URI = "file://emptty.conf.in \ - file://default.desktop \ file://system-xuser.conf" S = "${UNPACKDIR}" @@ -18,21 +17,23 @@ PACKAGECONFIG ??= "blank" PACKAGECONFIG[blank] = "" PACKAGECONFIG[nocursor] = "" +# matchbox-session seems to be the current preferred session provider +DEFAULT_SESSION ??= "matchbox-session" + do_install() { install -D -p -m0644 ${S}/emptty.conf.in ${D}${sysconfdir}/emptty/conf - install -D -p -m0644 ${S}/default.desktop ${D}${datadir}/xsessions/default.desktop BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}" NO_CURSOR_ARG="${@bb.utils.contains('PACKAGECONFIG', 'nocursor', '-nocursor', '', d)}" sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/emptty/conf sed -i "s:@BLANK_ARGS@:${BLANK_ARGS}:" ${D}${sysconfdir}/emptty/conf + sed -i "s:@DEFAULT_SESSION@:${DEFAULT_SESSION}:" ${D}${sysconfdir}/emptty/conf install -D -m 0644 ${S}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf } FILES:${PN} = "${sysconfdir}/emptty/conf \ - ${datadir}/xsessions/default.desktop \ ${sysconfdir}/dbus-1/system.d/system-xuser.conf" USERADD_PACKAGES = "${PN}"