> -----Original Message-----
> From: [email protected] <openembedded-
> [email protected]> On Behalf Of Chen Qi
> Sent: den 1 juli 2019 06:16
> To: [email protected]
> Subject: [OE-core] [PATCH V2 1/1] image.bbclass: fix systemd_preset_all
> 
> Check the existence of systemd before using systemctl to preset units.
> This is because even if 'systemd' is in DISTRO_FEATURES, it's possible
> that systemd is not even installed. e.g. container-test-image in
> meta-selftest layer.
> 
> As systemd DEPENDS on systemd-systemctl-native, the existence of systemd
> also ensures the existence of systemd-systemctl-native.
> 
> This would fix the following test case when using systemd as the init
> manager.
> 
>   containerimage.ContainerImageTests.test_expected_files
> 
> Also remove the IMAGE_EXTRADEPENDS setting, as nothing references this
> variable.
> 
> Signed-off-by: Chen Qi <[email protected]>
> ---
>  meta/classes/image.bbclass | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index d2b2fb9..7daa97e 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -666,10 +666,11 @@ reproducible_final_image_task () {
>  }
> 
>  systemd_preset_all () {
> -    systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
> +    if [ -e ${IMAGE_ROOTFS}${root_prefix}/lib/systemd/systemd ]; then
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
That should be ${systemd_system_unitdir}, which will also use the correct path 
(it is /lib/systemd/system, not /lib/systemd/systemd).

> +     systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
> +    fi
>  }
> 
> -IMAGE_EXTRADEPENDS += "${@ 'systemd-systemctl-native' if 
> bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not 
> bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 
> ''}"
>  IMAGE_PREPROCESS_COMMAND_append = " ${@ 'systemd_preset_all;' if 
> bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not 
> bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 
> ''} reproducible_final_image_task; "
> 
>  CVE_PRODUCT = ""
> --
> 1.9.1

//Peter

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to