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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to