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"