diff mbox series

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

Message ID 1520041611-39622-1-git-send-email-denis@denix.org
State Superseded
Headers show
Series [1/2] busybox: separate inittab into own package, due to SERIAL_CONSOLES being machine-specific | expand

Commit Message

Denys Dmytriyenko March 3, 2018, 1:46 a.m. UTC
From: Denys Dmytriyenko <denys@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

Signed-off-by: Denys Dmytriyenko <denys@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

-- 
2.7.4

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Khem Raj March 3, 2018, 3:18 a.m. UTC | #1
On 3/2/18 5:46 PM, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@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@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

> 


-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Richard Purdie March 4, 2018, 5:25 p.m. UTC | #2
On Fri, 2018-03-02 at 20:46 -0500, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@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
> 
> Signed-off-by: Denys Dmytriyenko <denys@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


Can you send a patch to fix:

https://autobuilder.yocto.io/builders/nightly-oe-selftest/builds/878/steps/Running%20oe-selftest/logs/stdio

i.e. 

oe-selftest -r distrodata.Distrodata.test_maintainers

please? (missing maintainers entry for busybox-inittab)

Cheers,

Richard
Denys Dmytriyenko March 4, 2018, 6:57 p.m. UTC | #3
On Sun, Mar 04, 2018 at 05:25:25PM +0000, Richard Purdie wrote:
> On Fri, 2018-03-02 at 20:46 -0500, Denys Dmytriyenko wrote:

> > From: Denys Dmytriyenko <denys@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

> > 

> > Signed-off-by: Denys Dmytriyenko <denys@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

> 

> 

> Can you send a patch to fix:

> 

> https://autobuilder.yocto.io/builders/nightly-oe-selftest/builds/878/steps/Running%20oe-selftest/logs/stdio

> 

> i.e. 

> 

> oe-selftest -r distrodata.Distrodata.test_maintainers

> 

> please? (missing maintainers entry for busybox-inittab)


Ah, I was hoping it would be covered by the main busybox entry...

Should I add myself for busybox-inittab, or original maintainer, Armin?

-- 
Denys
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff mbox series

Patch

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