[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