All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: roman.nazarenko@leica-geosystems.com
Cc: openembedded-core@lists.openembedded.org
Subject: Re: FILLME-exact-v1-subject
Date: Tue, 01 Sep 2026 13:37:57 +0100	[thread overview]
Message-ID: <2b0488ec7cb16415cc3b447c478adea58e048ec2.camel@linuxfoundation.org> (raw)
In-Reply-To: <20260901115853.481006-1-roman.nazarenko@leica-geosystems.com>

On Tue, 2026-09-01 at 13:58 +0200, roman.nazarenko@leica-geosystems.com wrote:
> I tried the do_install postfunc and it breaks packagegroups.
> 
> packagegroup.bbclass does "deltask do_install" but keeps do_package, and
> a deleted task never runs its postfuncs. So with
> LICENSE_CREATE_PACKAGE=1 add_package_and_files() still creates ${PN}-lic
> in perform_packagecopy, nothing fills it, and ALLOW_EMPTY is set for
> packagegroup packages - a silently empty package. Those -lic packages do
> have content today, as find_license_files() returns generic_<LICENSE>
> even with an empty LIC_FILES_CHKSUM. Packagegroups also deltask
> do_populate_sysroot, so they were never racy to begin with.

I suspect we should fix packagegroups differently, either disabling the
license packages, allowing them to be empty in that case or allowing
the postfunc to run. Might just be easiest to disable there.

> It is also wider than needed: do_install[postfuncs] has to be added
> unconditionally, so do_install's basehash changes for every recipe and
> sstate is invalidated from there downwards.

It would be a one off basehash change so I don't think this is a good
reason to base an architectural decision off.

> ${PKGD} avoids both - it is private to do_package, so the race is gone
> by construction, and it works for recipes without a do_install. It does
> stop staging license texts into recipe-sysroot, but that looks like the
> fix rather than a side effect, given the failure came out of
> sysroot_stage_all.
> 
> Ok to keep ${PKGD}, or is there something about ${D} I am missing?

The intent has always been to have the packaged files and the sysroots
as similar as we can keep them, just to reduce complexity and potential
bugs. This is why I'm leaning to make this more in line with that
rather than making it worse...

Think about this from the other perspective of debugging where files
are coming from. They *supposed* to come from do_install and be in ${D}
. Even where there are differences between sysroots and ${D}, files are
pretty much always in ${D}. The current behaviour will therefore take
people by surprise. We have enough usability issues without creating
more differences without a good reason.

Cheers,

Richard


      reply	other threads:[~2026-09-01 12:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-27 15:52 [PATCH] classes-global/license: create -lic package from PKGD, not D roman.nazarenko
2026-08-28 13:59 ` [OE-core] " Richard Purdie
2026-09-01 11:58 ` FILLME-exact-v1-subject roman.nazarenko
2026-09-01 12:37   ` Richard Purdie [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2b0488ec7cb16415cc3b447c478adea58e048ec2.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=roman.nazarenko@leica-geosystems.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.