SUMMARY = "Provider of the machine specific securetty file" SECTION = "base utils" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" INHIBIT_DEFAULT_DEPS = "1" PR = "r3" SRC_URI = "file://securetty" S = "${WORKDIR}" # Since SERIAL_CONSOLES is likely to be set from the machine configuration PACKAGE_ARCH = "${MACHINE_ARCH}" do_install () { # Ensure we add a suitable securetty file to the package that has # most common embedded TTYs defined. install -d ${D}${sysconfdir} install -m 0400 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty if [ ! -z "${SERIAL_CONSOLES}" ]; then # Our SERIAL_CONSOLES contains a baud rate and sometimes extra # options as well. The following pearl :) takes that and converts # it into newline-separated tty's and appends them into # securetty. So if a machine has a weird looking console device # node (e.g. ttyAMA0) that securetty does not know, it will get # appended to securetty and root logins will be allowed on that # console. tmp="${SERIAL_CONSOLES}" for entry in $tmp ; do ttydev=`echo "$entry" | sed -e 's/^[0-9]*\;//' -e 's/\;.*//'` if ! grep -q $ttydev ${D}${sysconfdir}/securetty; then echo $ttydev >> ${D}${sysconfdir}/securetty fi done fi }