[oe] [meta-oe][PATCH 1/1] systemd-serialgetty: use a wrapper script to find getty
Martin Jansa
martin.jansa at gmail.com
Mon Nov 28 14:00:19 UTC 2011
On Mon, Nov 28, 2011 at 12:52:39PM +0000, Otavio Salvador wrote:
> The following binaries are checked:
>
> /sbin/agetty
> /sbin/mingetty
> /sbin/getty
>
> So this works out of box in most cases and doesn't enforce one getty
> as dependency.
FWIW: I have 2 patches for tinylogin and util-linux-agetty to provide
/sbin/getty u-a
openembedded-core-contrib/shr
util-linux: use u-a to provide /sbin/getty from util-linux-agetty
tinylogin: use u-a for getty so we can provide /sbin/getty from util-linux-agetty too
http://git.openembedded.org/openembedded-core-contrib/commit/?h=shr&id=f6aa6fc06af906ab7ee374d544b81f1ef9948403
http://git.openembedded.org/openembedded-core-contrib/commit/?h=shr&id=e34e002f33660591705cd7b21e3a815382a50b3e
I didn't send pull request with them, because I'm still waiting for
previous pull request (with libsdl changes) to be applied.
We can add u-a to mingetty and solve whole problem even for sysvinit
etc...
Cheers,
>
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---
> .../recipes-core/systemd/systemd-serialgetty.bb | 13 ++++++++++---
> .../systemd-serialgetty/serial-getty at .service | 2 +-
> .../systemd-serialgetty/systemd-serialgetty | 13 +++++++++++++
> 3 files changed, 24 insertions(+), 4 deletions(-)
> create mode 100755 meta-oe/recipes-core/systemd/systemd-serialgetty/systemd-serialgetty
>
> diff --git a/meta-oe/recipes-core/systemd/systemd-serialgetty.bb b/meta-oe/recipes-core/systemd/systemd-serialgetty.bb
> index 2b88d0c..c79ae84 100644
> --- a/meta-oe/recipes-core/systemd/systemd-serialgetty.bb
> +++ b/meta-oe/recipes-core/systemd/systemd-serialgetty.bb
> @@ -2,12 +2,13 @@ DESCRIPTION = "Systemd serial config"
> LICENSE = "GPLv2+"
> LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=751419260aa954499f7abaabaa882bbe"
>
> -PR = "r1"
> +PR = "r2"
>
> SERIAL_CONSOLE ?= "115200 ttyS0"
>
> SRC_URI = "file://LICENSE \
> - file://serial-getty@.service"
> + file://serial-getty@.service \
> + file://systemd-serialgetty"
>
> def get_baudrate(bb, d):
> return bb.data.getVar('SERIAL_CONSOLE', d, 1).split()[0]
> @@ -22,6 +23,9 @@ do_install() {
> install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/
> install ${WORKDIR}/serial-getty at .service ${D}${base_libdir}/systemd/system/
>
> + # Install wrapper that looks for available getty binary
> + install -m 755 ${WORKDIR}/systemd-serialgetty ${D}${base_libdir}/systemd/
> +
> # enable the service
> ln -sf ${base_libdir}/systemd/system/serial-getty at .service \
> ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@${@get_console(bb, d)}.service
> @@ -34,5 +38,8 @@ RRECOMMENDS_${PN} = ""
> RDEPENDS_${PN} = "systemd"
>
> # This is a machine specific file
> -FILES_${PN} = "${base_libdir}/systemd/system/serial-getty at .service ${sysconfdir}"
> +FILES_${PN} = "${base_libdir}/systemd/systemd-serialgetty \
> + ${base_libdir}/systemd/system/serial-getty at .service \
> + ${sysconfdir} \
> + "
> PACKAGE_ARCH = "${MACHINE_ARCH}"
> diff --git a/meta-oe/recipes-core/systemd/systemd-serialgetty/serial-getty at .service b/meta-oe/recipes-core/systemd/systemd-serialgetty/serial-getty at .service
> index daf0dac..ee60a37 100644
> --- a/meta-oe/recipes-core/systemd/systemd-serialgetty/serial-getty at .service
> +++ b/meta-oe/recipes-core/systemd/systemd-serialgetty/serial-getty at .service
> @@ -17,7 +17,7 @@ Before=getty.target
>
> [Service]
> Environment=TERM=vt100
> -ExecStart=-/sbin/getty @BAUDRATE@ %I
> +ExecStart=-/lib/systemd/systemd-serialgetty @BAUDRATE@ %I
> Restart=always
> RestartSec=0
> UtmpIdentifier=%I
> diff --git a/meta-oe/recipes-core/systemd/systemd-serialgetty/systemd-serialgetty b/meta-oe/recipes-core/systemd/systemd-serialgetty/systemd-serialgetty
> new file mode 100755
> index 0000000..688b4b4
> --- /dev/null
> +++ b/meta-oe/recipes-core/systemd/systemd-serialgetty/systemd-serialgetty
> @@ -0,0 +1,13 @@
> +#!/bin/sh
> +
> +for g in /sbin/agetty \
> + /sbin/mingetty \
> + /sbin/getty; do
> + if [ -x "$g" ]; then
> + $g $@
> + exit 0
> + fi
> +done
> +
> +echo "Failed to find the getty binary to use."
> +exit 1
> --
> 1.7.2.5
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20111128/cdc0c4bc/attachment-0002.sig>
More information about the Openembedded-devel
mailing list