hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
}