diff mbox series

[meta-arago,master/kirkstone,v3] init-manager-*: Leverage oe-core method of choosing init manager

Message ID 20230815210806.12404-1-reatmon@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series [meta-arago,master/kirkstone,v3] init-manager-*: Leverage oe-core method of choosing init manager | expand

Commit Message

Ryan Eatmon Aug. 15, 2023, 9:08 p.m. UTC
Change arago over to the oe-core init-manager setup for all images instead
of a mixture of systemd/sysvinit based on perceived image size.  With the
migration to a more targeted initramfs we have the space in the image to
support systemd and not require sysvinit for the smaller images.

We will still support setups that use ARAGO_SYSVINIT, but the preferred
method will be to set INIT_MANAGER in the local.conf with the default
being systemd.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
v3: - Remove our own verisons of init-manager-*.inc and just use the
      oe-core versions.
v2: - Add missing .inc in require.
    - Fix assignment in init-manager-*.inc files.
    - Remove packagegroup-arago-sysvinit-boot.bb since we stopped using
      it.

 meta-arago-distro/conf/distro/arago.conf          | 11 +++--------
 .../recipes-core/images/arago-image.inc           |  2 +-
 .../recipes-core/images/arago-tiny-image.inc      |  4 ----
 .../packagegroup-arago-sysvinit-boot.bb           | 15 ---------------
 4 files changed, 4 insertions(+), 28 deletions(-)
 delete mode 100644 meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb

Comments

Denys Dmytriyenko Aug. 15, 2023, 9:19 p.m. UTC | #1
On Tue, Aug 15, 2023 at 04:08:06PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote:
> Change arago over to the oe-core init-manager setup for all images instead
> of a mixture of systemd/sysvinit based on perceived image size.  With the
> migration to a more targeted initramfs we have the space in the image to
> support systemd and not require sysvinit for the smaller images.
> 
> We will still support setups that use ARAGO_SYSVINIT, but the preferred
> method will be to set INIT_MANAGER in the local.conf with the default
> being systemd.
> 
> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
> ---
> v3: - Remove our own verisons of init-manager-*.inc and just use the
>       oe-core versions.
> v2: - Add missing .inc in require.
>     - Fix assignment in init-manager-*.inc files.
>     - Remove packagegroup-arago-sysvinit-boot.bb since we stopped using
>       it.
> 
>  meta-arago-distro/conf/distro/arago.conf          | 11 +++--------
>  .../recipes-core/images/arago-image.inc           |  2 +-
>  .../recipes-core/images/arago-tiny-image.inc      |  4 ----
>  .../packagegroup-arago-sysvinit-boot.bb           | 15 ---------------
>  4 files changed, 4 insertions(+), 28 deletions(-)
>  delete mode 100644 meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
> 
> diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
> index 38c42ef8..abae3724 100644
> --- a/meta-arago-distro/conf/distro/arago.conf
> +++ b/meta-arago-distro/conf/distro/arago.conf
> @@ -58,14 +58,9 @@ DISTRO_FEATURES_FILTER_NATIVE:append = " opencl opencv openmp"
>  DISTRO_FEATURES_FILTER_NATIVESDK:append = " opencl opencv openmp"
>  
>  # Set global runtime providers for major components
> -ARAGO_SYSVINIT ?= "0"
> -VIRTUAL-RUNTIME_dev_manager = "${@'udev' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
> -VIRTUAL-RUNTIME_init_manager = "${@'sysvinit' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
> -VIRTUAL-RUNTIME_initscripts = "${@'initscripts' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-compat-units'}"
> -VIRTUAL-RUNTIME_initramfs = "${@'sysvinit-initramfs' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-initramfs'}"
> -VIRTUAL-RUNTIME_login_manager = "${@'busybox' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'shadow-base'}"
> -
> -DISTRO_FEATURES:append = " ${@'' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else ' systemd'}"
> +ARAGO_SYSVINIT ??= "0"
> +INIT_MANAGER ??= "${@['systemd','sysvinit'][int(d.getVar('ARAGO_SYSVINIT'))]}"
> +require conf/distro/include/init-manager-${INIT_MANAGER}.inc
>  
>  # Distro-specific package configuration
>  PACKAGECONFIG:append:pn-systemd = " coredump networkd resolved serial-getty-generator"
> diff --git a/meta-arago-distro/recipes-core/images/arago-image.inc b/meta-arago-distro/recipes-core/images/arago-image.inc
> index d00c1f70..1c87afd5 100644
> --- a/meta-arago-distro/recipes-core/images/arago-image.inc
> +++ b/meta-arago-distro/recipes-core/images/arago-image.inc
> @@ -30,6 +30,6 @@ BAD_RECOMMENDATIONS += " \
>      coreutils \
>      coreutils-dev \
>  "
> -BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "", "busybox-syslog", d)}"
> +BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_INIT_MANAGER", "sysvinit", "", "busybox-syslog", d)}"

No more ARAGO_INIT_MANAGER


>  inherit core-image remove-net-rules
> diff --git a/meta-arago-distro/recipes-core/images/arago-tiny-image.inc b/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
> index 242e763c..6c726c4d 100644
> --- a/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
> +++ b/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
> @@ -1,9 +1,5 @@
> -ARAGO_SYSVINIT = "1"
>  
>  require arago-image.inc
>  
>  IMAGE_FEATURES:remove = "splash"
>  
> -IMAGE_INSTALL = " \
> -	packagegroup-arago-sysvinit-boot \
> -"
> diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
> deleted file mode 100644
> index df7ff960..00000000
> --- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -REQUIRED_DISTRO_FEATURES = "sysvinit"
> -inherit features_check
> -
> -require recipes-core/packagegroups/packagegroup-core-boot.bb
> -
> -PR = "r0"
> -
> -# Cannot use eudev:
> -#   "eudev was skipped: 'systemd' in DISTRO_FEATURES"
> -#VIRTUAL-RUNTIME_dev_manager = "eudev"
> -VIRTUAL-RUNTIME_dev_manager = ""
> -VIRTUAL-RUNTIME_init_manager = "sysvinit"
> -VIRTUAL-RUNTIME_initscripts = "initscripts"
> -VIRTUAL-RUNTIME_initramfs = "sysvinit-initramfs"
> -VIRTUAL-RUNTIME_login_manager = "busybox"
> -- 
> 2.17.1
Ryan Eatmon Aug. 15, 2023, 9:23 p.m. UTC | #2
On 8/15/2023 4:19 PM, Denys Dmytriyenko wrote:
> On Tue, Aug 15, 2023 at 04:08:06PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote:
>> Change arago over to the oe-core init-manager setup for all images instead
>> of a mixture of systemd/sysvinit based on perceived image size.  With the
>> migration to a more targeted initramfs we have the space in the image to
>> support systemd and not require sysvinit for the smaller images.
>>
>> We will still support setups that use ARAGO_SYSVINIT, but the preferred
>> method will be to set INIT_MANAGER in the local.conf with the default
>> being systemd.
>>
>> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
>> ---
>> v3: - Remove our own verisons of init-manager-*.inc and just use the
>>        oe-core versions.
>> v2: - Add missing .inc in require.
>>      - Fix assignment in init-manager-*.inc files.
>>      - Remove packagegroup-arago-sysvinit-boot.bb since we stopped using
>>        it.
>>
>>   meta-arago-distro/conf/distro/arago.conf          | 11 +++--------
>>   .../recipes-core/images/arago-image.inc           |  2 +-
>>   .../recipes-core/images/arago-tiny-image.inc      |  4 ----
>>   .../packagegroup-arago-sysvinit-boot.bb           | 15 ---------------
>>   4 files changed, 4 insertions(+), 28 deletions(-)
>>   delete mode 100644 meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
>>
>> diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
>> index 38c42ef8..abae3724 100644
>> --- a/meta-arago-distro/conf/distro/arago.conf
>> +++ b/meta-arago-distro/conf/distro/arago.conf
>> @@ -58,14 +58,9 @@ DISTRO_FEATURES_FILTER_NATIVE:append = " opencl opencv openmp"
>>   DISTRO_FEATURES_FILTER_NATIVESDK:append = " opencl opencv openmp"
>>   
>>   # Set global runtime providers for major components
>> -ARAGO_SYSVINIT ?= "0"
>> -VIRTUAL-RUNTIME_dev_manager = "${@'udev' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
>> -VIRTUAL-RUNTIME_init_manager = "${@'sysvinit' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
>> -VIRTUAL-RUNTIME_initscripts = "${@'initscripts' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-compat-units'}"
>> -VIRTUAL-RUNTIME_initramfs = "${@'sysvinit-initramfs' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-initramfs'}"
>> -VIRTUAL-RUNTIME_login_manager = "${@'busybox' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'shadow-base'}"
>> -
>> -DISTRO_FEATURES:append = " ${@'' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else ' systemd'}"
>> +ARAGO_SYSVINIT ??= "0"
>> +INIT_MANAGER ??= "${@['systemd','sysvinit'][int(d.getVar('ARAGO_SYSVINIT'))]}"
>> +require conf/distro/include/init-manager-${INIT_MANAGER}.inc
>>   
>>   # Distro-specific package configuration
>>   PACKAGECONFIG:append:pn-systemd = " coredump networkd resolved serial-getty-generator"
>> diff --git a/meta-arago-distro/recipes-core/images/arago-image.inc b/meta-arago-distro/recipes-core/images/arago-image.inc
>> index d00c1f70..1c87afd5 100644
>> --- a/meta-arago-distro/recipes-core/images/arago-image.inc
>> +++ b/meta-arago-distro/recipes-core/images/arago-image.inc
>> @@ -30,6 +30,6 @@ BAD_RECOMMENDATIONS += " \
>>       coreutils \
>>       coreutils-dev \
>>   "
>> -BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "", "busybox-syslog", d)}"
>> +BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_INIT_MANAGER", "sysvinit", "", "busybox-syslog", d)}"
> 
> No more ARAGO_INIT_MANAGER
> 

Good catch.  v5 incoming.


>>   inherit core-image remove-net-rules
>> diff --git a/meta-arago-distro/recipes-core/images/arago-tiny-image.inc b/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
>> index 242e763c..6c726c4d 100644
>> --- a/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
>> +++ b/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
>> @@ -1,9 +1,5 @@
>> -ARAGO_SYSVINIT = "1"
>>   
>>   require arago-image.inc
>>   
>>   IMAGE_FEATURES:remove = "splash"
>>   
>> -IMAGE_INSTALL = " \
>> -	packagegroup-arago-sysvinit-boot \
>> -"
>> diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
>> deleted file mode 100644
>> index df7ff960..00000000
>> --- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
>> +++ /dev/null
>> @@ -1,15 +0,0 @@
>> -REQUIRED_DISTRO_FEATURES = "sysvinit"
>> -inherit features_check
>> -
>> -require recipes-core/packagegroups/packagegroup-core-boot.bb
>> -
>> -PR = "r0"
>> -
>> -# Cannot use eudev:
>> -#   "eudev was skipped: 'systemd' in DISTRO_FEATURES"
>> -#VIRTUAL-RUNTIME_dev_manager = "eudev"
>> -VIRTUAL-RUNTIME_dev_manager = ""
>> -VIRTUAL-RUNTIME_init_manager = "sysvinit"
>> -VIRTUAL-RUNTIME_initscripts = "initscripts"
>> -VIRTUAL-RUNTIME_initramfs = "sysvinit-initramfs"
>> -VIRTUAL-RUNTIME_login_manager = "busybox"
>> -- 
>> 2.17.1
diff mbox series

Patch

diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
index 38c42ef8..abae3724 100644
--- a/meta-arago-distro/conf/distro/arago.conf
+++ b/meta-arago-distro/conf/distro/arago.conf
@@ -58,14 +58,9 @@  DISTRO_FEATURES_FILTER_NATIVE:append = " opencl opencv openmp"
 DISTRO_FEATURES_FILTER_NATIVESDK:append = " opencl opencv openmp"
 
 # Set global runtime providers for major components
-ARAGO_SYSVINIT ?= "0"
-VIRTUAL-RUNTIME_dev_manager = "${@'udev' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
-VIRTUAL-RUNTIME_init_manager = "${@'sysvinit' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd'}"
-VIRTUAL-RUNTIME_initscripts = "${@'initscripts' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-compat-units'}"
-VIRTUAL-RUNTIME_initramfs = "${@'sysvinit-initramfs' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'systemd-initramfs'}"
-VIRTUAL-RUNTIME_login_manager = "${@'busybox' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else 'shadow-base'}"
-
-DISTRO_FEATURES:append = " ${@'' if oe.types.boolean(d.getVar('ARAGO_SYSVINIT')) else ' systemd'}"
+ARAGO_SYSVINIT ??= "0"
+INIT_MANAGER ??= "${@['systemd','sysvinit'][int(d.getVar('ARAGO_SYSVINIT'))]}"
+require conf/distro/include/init-manager-${INIT_MANAGER}.inc
 
 # Distro-specific package configuration
 PACKAGECONFIG:append:pn-systemd = " coredump networkd resolved serial-getty-generator"
diff --git a/meta-arago-distro/recipes-core/images/arago-image.inc b/meta-arago-distro/recipes-core/images/arago-image.inc
index d00c1f70..1c87afd5 100644
--- a/meta-arago-distro/recipes-core/images/arago-image.inc
+++ b/meta-arago-distro/recipes-core/images/arago-image.inc
@@ -30,6 +30,6 @@  BAD_RECOMMENDATIONS += " \
     coreutils \
     coreutils-dev \
 "
-BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "", "busybox-syslog", d)}"
+BAD_RECOMMENDATIONS += "${@oe.utils.conditional("ARAGO_INIT_MANAGER", "sysvinit", "", "busybox-syslog", d)}"
 
 inherit core-image remove-net-rules
diff --git a/meta-arago-distro/recipes-core/images/arago-tiny-image.inc b/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
index 242e763c..6c726c4d 100644
--- a/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
+++ b/meta-arago-distro/recipes-core/images/arago-tiny-image.inc
@@ -1,9 +1,5 @@ 
-ARAGO_SYSVINIT = "1"
 
 require arago-image.inc
 
 IMAGE_FEATURES:remove = "splash"
 
-IMAGE_INSTALL = " \
-	packagegroup-arago-sysvinit-boot \
-"
diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
deleted file mode 100644
index df7ff960..00000000
--- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-sysvinit-boot.bb
+++ /dev/null
@@ -1,15 +0,0 @@ 
-REQUIRED_DISTRO_FEATURES = "sysvinit"
-inherit features_check
-
-require recipes-core/packagegroups/packagegroup-core-boot.bb
-
-PR = "r0"
-
-# Cannot use eudev:
-#   "eudev was skipped: 'systemd' in DISTRO_FEATURES"
-#VIRTUAL-RUNTIME_dev_manager = "eudev"
-VIRTUAL-RUNTIME_dev_manager = ""
-VIRTUAL-RUNTIME_init_manager = "sysvinit"
-VIRTUAL-RUNTIME_initscripts = "initscripts"
-VIRTUAL-RUNTIME_initramfs = "sysvinit-initramfs"
-VIRTUAL-RUNTIME_login_manager = "busybox"