diff options
Diffstat (limited to 'meta/recipes-extended/shadow/shadow-securetty_4.6.bb')
-rw-r--r-- | meta/recipes-extended/shadow/shadow-securetty_4.6.bb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb new file mode 100644 index 0000000000..c78f888cf4 --- /dev/null +++ b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | SUMMARY = "Provider of the machine specific securetty file" | ||
2 | SECTION = "base utils" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | |||
6 | INHIBIT_DEFAULT_DEPS = "1" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | SRC_URI = "file://securetty" | ||
11 | |||
12 | S = "${WORKDIR}" | ||
13 | |||
14 | # Since SERIAL_CONSOLES is likely to be set from the machine configuration | ||
15 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
16 | |||
17 | do_install () { | ||
18 | # Ensure we add a suitable securetty file to the package that has | ||
19 | # most common embedded TTYs defined. | ||
20 | install -d ${D}${sysconfdir} | ||
21 | install -m 0400 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty | ||
22 | if [ ! -z "${SERIAL_CONSOLES}" ]; then | ||
23 | # Our SERIAL_CONSOLES contains a baud rate and sometimes extra | ||
24 | # options as well. The following pearl :) takes that and converts | ||
25 | # it into newline-separated tty's and appends them into | ||
26 | # securetty. So if a machine has a weird looking console device | ||
27 | # node (e.g. ttyAMA0) that securetty does not know, it will get | ||
28 | # appended to securetty and root logins will be allowed on that | ||
29 | # console. | ||
30 | tmp="${SERIAL_CONSOLES}" | ||
31 | for entry in $tmp ; do | ||
32 | ttydev=`echo "$entry" | sed -e 's/^[0-9]*\;//' -e 's/\;.*//'` | ||
33 | if ! grep -q $ttydev ${D}${sysconfdir}/securetty; then | ||
34 | echo $ttydev >> ${D}${sysconfdir}/securetty | ||
35 | fi | ||
36 | done | ||
37 | fi | ||
38 | } | ||