[OE-core] [PATCH 1/2] busybox: separate inittab into own package, due to SERIAL_CONSOLES being machine-specific

Khem Raj raj.khem at gmail.com
Sat Mar 3 03:18:57 UTC 2018


On 3/2/18 5:46 PM, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys at ti.com>
> 
> * 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
> 

thanks for taking care of this. I atleast owe a review to it. So here it
looks good to me.

> Signed-off-by: Denys Dmytriyenko <denys at ti.com>
> ---
>  .../recipes-core/busybox/busybox-inittab_1.27.2.bb | 32 ++++++++++++++++++++++
>  meta/recipes-core/busybox/busybox.inc              | 12 ++------
>  2 files changed, 34 insertions(+), 10 deletions(-)
>  create mode 100644 meta/recipes-core/busybox/busybox-inittab_1.27.2.bb
> 
> diff --git a/meta/recipes-core/busybox/busybox-inittab_1.27.2.bb b/meta/recipes-core/busybox/busybox-inittab_1.27.2.bb
> new file mode 100644
> index 0000000..a83620e
> --- /dev/null
> +++ b/meta/recipes-core/busybox/busybox-inittab_1.27.2.bb
> @@ -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"
> diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
> index 157aea3..ac6d7ca 100644
> --- a/meta/recipes-core/busybox/busybox.inc
> +++ b/meta/recipes-core/busybox/busybox.inc
> @@ -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
> @@ -310,16 +312,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
> 




More information about the Openembedded-core mailing list