From patchwork Mon Mar 3 16:15:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 58221 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 7A46BC282D4 for ; Mon, 3 Mar 2025 16:15:46 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.57480.1741018540785480263 for ; Mon, 03 Mar 2025 08:15:40 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 749D4106F for ; Mon, 3 Mar 2025 08:15:54 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 16FE13F673 for ; Mon, 3 Mar 2025 08:15:39 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/3] systemd-serialgetty: use existing unit files in systemd Date: Mon, 3 Mar 2025 16:15:27 +0000 Message-ID: <20250303161527.602462-3-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250303161527.602462-1-ross.burton@arm.com> References: <20250303161527.602462-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 03 Mar 2025 16:15:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/212217 Now that systemd isn't deleting the serial-getty@.service unit template files, we can simply symlink to the files provided by systemd instead of shipping a copy of them in this recipe. This ensures that the getty units triggered by the systemd are identical, be them via SERIAL_CONSOLES or the generator. Signed-off-by: Ross Burton --- .../systemd/systemd-serialgetty.bb | 13 +----- .../systemd-serialgetty/serial-getty@.service | 45 ------------------- 2 files changed, 1 insertion(+), 57 deletions(-) delete mode 100644 meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb index daac7f41986..c3fe9d5b6d4 100644 --- a/meta/recipes-core/systemd/systemd-serialgetty.bb +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb @@ -9,13 +9,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m # required. This recipe (enabled via disabling serial-getty-generator in systemd) # should only be used if the generator is not appropriate. -SERIAL_TERM ?= "linux" - -SRC_URI = "file://serial-getty@.service" - -S = "${WORKDIR}/sources" -UNPACKDIR = "${S}" - # As this package is tied to systemd, only build it when we're also building systemd. inherit features_check REQUIRED_DISTRO_FEATURES += "systemd" @@ -24,11 +17,7 @@ REQUIRED_DISTRO_FEATURES += "usrmerge" do_install() { if [ ! -z "${SERIAL_CONSOLES}" ] ; then default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'` - install -d ${D}${systemd_system_unitdir}/ install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ - install -m 0644 ${S}/serial-getty@.service ${D}${systemd_system_unitdir}/ - sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service - sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service tmp="${SERIAL_CONSOLES}" for entry in $tmp ; do @@ -51,7 +40,7 @@ do_install() { } # This is a machine specific file -FILES:${PN} = "${systemd_system_unitdir}/*.service ${sysconfdir}" PACKAGE_ARCH = "${MACHINE_ARCH}" +FILES:${PN} = "${sysconfdir}" ALLOW_EMPTY:${PN} = "1" diff --git a/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service deleted file mode 100644 index b16fe1188e7..00000000000 --- a/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service +++ /dev/null @@ -1,45 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1+ -# -# This file is part of systemd. -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. - -[Unit] -Description=Serial Getty on %I -Documentation=man:agetty(8) man:systemd-getty-generator(8) -Documentation=http://0pointer.de/blog/projects/serial-console.html -PartOf=dev-%i.device -ConditionPathExists=/dev/%i -After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target -After=rc-local.service - -# If additional gettys are spawned during boot then we should make -# sure that this is synchronized before getty.target, even though -# getty.target didn't actually pull it in. -Before=getty.target -IgnoreOnIsolate=yes - -# IgnoreOnIsolate causes issues with sulogin, if someone isolates -# rescue.target or starts rescue.service from multi-user.target or -# graphical.target. -Conflicts=rescue.service -Before=rescue.service - -[Service] -Environment="TERM=@TERM@" -ExecStart=-/sbin/agetty -8 -L %I @BAUDRATE@ $TERM -Type=idle -Restart=always -UtmpIdentifier=%I -TTYPath=/dev/%I -TTYReset=yes -TTYVHangup=yes -KillMode=process -IgnoreSIGPIPE=no -SendSIGHUP=yes - -[Install] -WantedBy=getty.target