busybox: separate inittab into own package, due to SERIAL_CONSOLES being machine-specific

* Create busybox-inittab recipe to produce machine-specific package with /etc/inittab
  and necessary getty calls for a machine, based on SERIAL_CONSOLES, similar to how
  sysvinit-inittab was done

* Since CONFIG_FEATURE_USE_INITTAB is controlled by VIRTUAL-RUNTIME_init_manager, make
  main busybox package RDEPENDS on busybox-inittab when init_manager is set to busybox

(From OE-Core rev: afb09abd2f0f7555ba156260a87fd3867f591310)

(From OE-Core rev: b96bc3d6e575dab3a39634f5b22a199c4f9fc892)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Denys Dmytriyenko
2018-03-04 17:58:12 -05:00
committed by Richard Purdie
parent 22ce3c1206
commit 95ecae14a8
2 changed files with 34 additions and 10 deletions

View File

@@ -0,0 +1,32 @@
SUMMARY = "inittab configuration for BusyBox"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = "file://inittab"
S = "${WORKDIR}"
INHIBIT_DEFAULT_DEPS = "1"
do_compile() {
:
}
do_install() {
install -d ${D}${sysconfdir}
install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
tmp="${SERIAL_CONSOLES}"
for i in $tmp
do
j=`echo ${i} | sed s/\;/\ /g`
id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
done
}
# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
# Set PACKAGE_ARCH appropriately.
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES_${PN} = "${sysconfdir}/inittab"
CONFFILES_${PN} = "${sysconfdir}/inittab"

View File

@@ -48,6 +48,8 @@ CONFFILES_${PN}-mdev = "${sysconfdir}/mdev.conf"
RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc"
RDEPENDS_${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]}"
inherit cml1 systemd update-rc.d ptest
# internal helper
@@ -292,16 +294,6 @@ do_install () {
install -D -m 0777 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS
install -D -m 0777 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK
install -D -m 0755 ${WORKDIR}/runlevel ${D}${base_sbindir}/runlevel
if grep "CONFIG_FEATURE_USE_INITTAB=y" ${B}/.config; then
install -D -m 0777 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
tmp="${SERIAL_CONSOLES}"
for i in $tmp
do
j=`echo ${i} | sed s/\;/\ /g`
id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
done
fi
fi
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then