Hi Lukasz,

I tried locally and you are right, we need to switch to the inherit_defer.
The below patch adds the privdrop PACKAGECONFIG and changes the class to
useradd_.

Parsing the recipe with "bitbake -p chrony" will rise an error: Could not
inherit file classes/useradd_.bbclass
But this only happens with the inherit_defer, with just the inherit and the
same useradd_ bbclass the error is not detected

--- a/meta-networking/recipes-support/chrony/chrony_4.5.bb
+++ b/meta-networking/recipes-support/chrony/chrony_4.5.bb
@@ -48,7 +48,7 @@ DEPENDS = "pps-tools"
 inherit update-rc.d systemd pkgconfig

 # Add chronyd user if privdrop packageconfig is selected
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'useradd', '',
d)}
+inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'privdrop',
'useradd_', '', d)}
 USERADD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'privdrop',
'${PN}', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'privdrop',
'--system -d / -M --shell /bin/nologin chronyd;', '', d)}"

@@ -61,6 +61,7 @@ USERADD_PARAM:${PN} +=
"${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '--sys
 #     kernel to have CONFIG_SECCOMP enabled.
 PACKAGECONFIG ??= "editline \
     ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+    privdrop \
 "
 PACKAGECONFIG[editline] = ",--without-editline,libedit"
 PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"


On the meta-openembedded scarthgap layer there are still quite a few
'inherit' to be converted to 'inherit_defer' as you pointed out,
patches are welcome to fix all of this:

$ grep -r 'inherit ' | grep -e '\$' -e '@' | cut -d':' -f1
meta-gnome/classes/clutter.bbclass
meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb
meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.0.bb
meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
meta-networking/recipes-protocols/openlldp/openlldp_1.1.1.bb
meta-networking/recipes-support/chrony/chrony_4.5.bb
meta-networking/recipes-support/wireshark/wireshark_4.2.4.bb
meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb
meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
meta-oe/recipes-support/poppler/poppler_23.04.0.bb
meta-webserver/recipes-httpd/cherokee/cherokee_git.bb
meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb

Jose

Lukasz Zemla via Lists.Yoctoproject.Org <lukasz.zemla=
woodward....@lists.yoctoproject.org> escreveu (segunda, 17/06/2024 à(s)
18:34):

> Hello Jose,
>
> > There is an extra space missing in before the privdrop, the :append
> override does not add the extra space.
> > Can you try with:  PACKAGECONFIG:append = " privdrop" ?
> > Jose
>
> I apologize - I wanted my mail to bo compacted, so I just typed that
> expression manually. In practice my recipe contains:
>
> PACKAGECONFIG:append = " \
>     privdrop \
> "
>
> I does not work. I am more and more convinced that enumerated by me
> recipes should be modified (inherit -> inherit_defer). For example, I can
> see the following commit in the meta-openembedded master branch which
> addresses nftables:
>
> commit 5cf3766cf6395d4bfa5de20cf7427950ca498eaa
> Author: Michael Olbrich <m.olbr...@pengutronix.de>
> Date:   Wed May 29 11:58:51 2024 +0200
>
>     nftables: avoid python dependencies when building without python
>
>     Use inherit_defer instead of inhert. This way, setuptools3 is not
>     inherited when python is removed from PACKAGECONFIG in a .bbappend
> file.
>     This avoids dependencies added by setuptools3.
>
>     Don't add nftables-python to PACKAGES if python is disabled. It adds
>     extra runtime dependencies on python3-core and python3-json.
>
>     Signed-off-by: Michael Olbrich <m.olbr...@pengutronix.de>
>     Signed-off-by: Khem Raj <raj.k...@gmail.com>
>
> diff --git a/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
> b/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
> index 7718922742..17f00ffd42 100644
> --- a/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
> +++ b/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
> @@ -35,9 +35,9 @@ EXTRA_OECONF = " \
>
>  SETUPTOOLS_SETUP_PATH = "${S}/py"
>
> -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3',
> '', d)}
> +inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python',
> 'setuptools3', '', d)}
>
> -PACKAGES =+ "${PN}-python"
> +PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'python',
> '${PN}-python', '', d)}"
>  FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
>  RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
>
>
>
> Best regards,
> Lukasz Zemla
>


-- 
Best regards,

José Quaresma
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#63356): https://lists.yoctoproject.org/g/yocto/message/63356
Mute This Topic: https://lists.yoctoproject.org/mt/106724990/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to