[OE-core] [oe-core][systemd][PATCH] some dependencies in systemd seem not to be taken into account in systemd_229.bb
Herve Jourdain
herve.jourdain at neuf.fr
Mon Mar 7 12:01:08 UTC 2016
Dear Anders,
Regarding the binfmt part, you're right, it should be a second patch... I
will resend it separately.
For the gcrypt/resolved patch, I will rework it.
One thing, though, the idea was to add the --disable-gcrypt in the
EXTRA_OECONF, if neither gcrypt nor resolved are enabled.
Hence the removal of "--disable-gcrypt" in the PACKAGECONFIG[gcrypt] line...
That seemed easier at the time, but I'll try to find a different way to
achieve this.
This patch seems to build/work fine on my system, but I'll try to find a
better one.
Thanks,
Herve
-----Original Message-----
From: Anders Darander [mailto:anders at chargestorm.se]
Sent: lundi 7 mars 2016 12:47
To: Herve Jourdain <herve.jourdain at neuf.fr>
Cc: openembedded-core at lists.openembedded.org
Subject: Re: [OE-core] [oe-core][systemd][PATCH] some dependencies in
systemd seem not to be taken into account in systemd_229.bb
(Resending as it didn't go to the list).
Thanks!
I've just ran into this myself this morning.
A few comments are inlined.
* Herve Jourdain <herve.jourdain at neuf.fr> [160307 11:51]:
> # Sign the journal for anti-tampering
> -PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
Please, keep this line as it is. If gcrypt isn't enabled, we need to pass
--disable-gcrypt. Tnus, it should be part of this line.
> +# RESOLVED depends on GCRYPT, so disable gcrypt only if resolved and
> +gcrypt
> are NOT part of PACKAGECONFIG - done in EXTRA_OECONF
Remove the comment.
> +PACKAGECONFIG[gcrypt] = "--enable-gcrypt,,libgcrypt"
As above, keep the original line.
> -PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
> +# RESOLVED depends on GCRYPT, so enable gcrypt any time resolved is
> +in
> PACKAGECONFIG
Either keep this comment, and keep enabling gcrypt.
Though, I'd prefer to follow the precedence of importd, and just have the
comment stating what you need to enable.
> +PACKAGECONFIG[resolved] = "--enable-resolved
> --enable-gcrypt,--disable-resolved,libgcrypt"
No, don't add --enable-gcrypt to the resolved PACKAGECONFIG.
> +# RESOLVED depends on GCRYPT, so disable gcrypt only if resolved and
> +gcrypt
> are NOT part of PACKAGECONFIG
> +EXTRA_OECONF += "${@bb.utils.contains_any('PACKAGECONFIG', 'resolved
> gcrypt', '', '--disable-gcrypt', d)}
> <mailto:$%7b at bb.utils.contains_any('PACKAGECONFIG',%20'resolved%20gcry
> pt',%2
> 0'',%20'--disable-gcrypt',%20d)%7d> "
Skip this part.
> + if [ ${@bb.utils.contains('PACKAGECONFIG
> <mailto:$%7b at bb.utils.contains('PACKAGECONFIG> ', 'resolved', 'true',
> 'false', d)} -a \
> + ! ${@bb.utils.contains('PACKAGECONFIG
> <mailto:$%7b at bb.utils.contains('PACKAGECONFIG> ', 'gcrypt', 'true',
> 'false', d)} ]; then
> + PACKAGECONFIG_append = "gcrypt"
> + fi
Isn't this too late? (I've not runtime tested this).
If you go the route of modifying PACKAGECONFIG automatically, I'd prefer an
anonymous python funtion doing this at the recipe processing stage.
> -SYSTEMD_PACKAGES = "${PN}-binfmt"
> -SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
> +#SYSTEMD_PACKAGES = "${PN}-binfmt"
> +#SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
> +SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt',
> '${PN}-binfmt', '', d)}
> <mailto:$%7b at bb.utils.contains('PACKAGECONFIG',%20'binfmt',%20'$%7bPN%
> 7d-bin
> fmt',%20'',%20d)%7d> "
> +SYSTEMD_SERVICE_${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG',
> 'binfmt', 'systemd-binfmt.service', '', d)}
> <mailto:$%7b at bb.utils.contains('PACKAGECONFIG',%20'binfmt',%20'systemd
> -binfm
> t.service',%20'',%20d)%7d> "
This looks good, but should probably be a separate patch.
Cheers,
Anders
--
Anders Darander, Senior System Architect ChargeStorm AB / eStorm AB
More information about the Openembedded-core
mailing list