On Thu, 2026-04-02 at 13:00 +0100, Richard Purdie via lists.openembedded.org
wrote:
> On Tue, 2026-03-31 at 11:57 +0200, Adam Duskett via lists.openembedded.org
> wrote:
> > If DISTRO_CODENAME is not set in the environment, bash quietly
> > drops the string resulting in a key such as
> > PACKAGEFEED-GPG-KEY-defaultsetup-
> >
> > However, when python calls self.d.getVar('DISTRO_CODENAME'), the resulting
> > string is 'None', leading to a configuration file pointing to a key such
> > as PACKAGEFEED-GPG-KEY-defaultsetup-None
> >
> > Add a default value in signing-keys.bb to set DISTRO_CODENAME to None if
> > DISTRO_CODENAME is not set.
> >
> > Signed-off-by: Adam Duskett <[email protected]>
> > ---
> > meta/recipes-core/meta/signing-keys.bb | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/meta/recipes-core/meta/signing-keys.bb
> > b/meta/recipes-core/meta/signing-keys.bb
> > index 94f4032911..c7713ed4a6 100644
> > --- a/meta/recipes-core/meta/signing-keys.bb
> > +++ b/meta/recipes-core/meta/signing-keys.bb
> > @@ -45,6 +45,10 @@ addtask get_public_keys before do_install
> > do_get_public_keys[depends] += "gnupg-native:do_populate_sysroot"
> >
> > do_install () {
> > + # Python evalutes an empty DISTRO_CODENAME to "None" which would cause
> > mismatched files
> > + # as the update config file would show GPG-KEY-${DISTRO}-None but the
> > filename is
> > + # installed as GPG-KEY-${DISTRO}-
> > + DISTRO_CODENAME="${DISTRO_CODENAME:-None}"
> > if [ -f "${B}/rpm-key" ]; then
> > install -D -m 0644 "${B}/rpm-key"
> > "${D}${sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-${DISTRO}-${DISTRO_CODENAME}"
> > fi
> > @@ -57,6 +61,7 @@ do_install () {
> > }
> >
> > do_deploy () {
> > + DISTRO_CODENAME="${DISTRO_CODENAME:-None}"
> > if [ -f "${B}/rpm-key" ]; then
> > install -D -m 0644 "${B}/rpm-key"
> > "${DEPLOYDIR}/RPM-GPG-KEY-${DISTRO}-${DISTRO_CODENAME}"
> > fi
>
> I have a feeling it may be safer just to put something like:
>
> DISTRO_CODENAME ??= "nodistro"
>
> into the recipe to handle this?
>
> My only concern is where else this is being referenced from and whether
> that would have the right scope? Most other usage sites have special
> usage.
>
> Whether there should be a higher level default, I'm not sure and that
> is a bigger discussion but this would hopefully avoid the immediate
> issue?
As soon as I sent it, I realised the other reference in
meta/lib/oe/package_manager/rpm/__init__.py. Perhaps we should do the
above but also change that code to say:
self.d.getVar('DISTRO_CODENAME') or "nodistro"
?
Cheers,
Richard
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#234520):
https://lists.openembedded.org/g/openembedded-core/message/234520
Mute This Topic: https://lists.openembedded.org/mt/118593802/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-