Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Rasmus Villemoes <ravi@prevas.dk>
To: openembedded-core@lists.openembedded.org
Subject: PACKAGE_EXCLUDE_COMPLEMENTARY question
Date: Fri, 17 Jul 2026 13:26:10 +0200	[thread overview]
Message-ID: <87bjc5svql.fsf@prevas.dk> (raw)

Hi

I was playing around with adding ptest packages to our rootfs to see how
many of those tests would actually succeed on our targets, and if the
rate was high enough, I'd do it permanently and run them as part of our
normal test suite.

But it turns out I can't simply turn on ptest-pkgs, as it blows up the
rootfs beyond what there's room for on many of our targets. One of the
biggest offenders is openssl-ptest, weighing in at +650M (roughly 3x the
size of the rootfs before adding any ptest packages...). So I looked
around for a knob to say "yes, to install most -ptest packages, but not
these...". There's PACKAGE_EXCLUDE_COMPLEMENTARY, which sort-of seems to
be intended for this (though undocumented).

However, just adding "openssl" to that variable does not elide
openssl-ptest from the image. After adding --debug to the
'oe-pkgdata-util glob' invocation in install_complementary(), I see that
yes,

DEBUG: openssl -> !!

the openssl package itself gets ignored, but there are two "aliases"
(for lack of the proper word) which do end up pulling in openssl-ptest:

DEBUG: libcrypto3 (*-ptest) -> openssl-ptest
DEBUG: libssl3 (*-ptest) -> openssl-ptest

I suppose adding those as well to PACKAGE_EXCLUDE_COMPLEMENTARY would do
the job, but playing that game of whack-a-mole can't be how it's meant
to be.

Coding-wise, this seems to come down to skipregex not being used at all
in the "# Main processing loop", in particular not after reading the pn
which a given package came from. But I have no idea how to modify that
code to take skipregex into account or what could/would break if one did
that.

Also, had there been for example a openssl-bash-completion package, I
didn't really want to exclude that from the complementary package
list. IOW, what I'd really want is not a filter on the input to the
globbing, but a filter on the output from the "oe-pkgdata-util
glob". Perhaps something like a PACKAGE_IGNORE_COMPLEMENTARY which would
be subtracted from complementary_pkgs in install_complementary()? Or
just use the existing PACKAGE_EXCLUDE and subtract that from the list to
be installed? Adding openssl-ptest to PACKAGE_EXCLUDE currently fails
hard because we end up asking the backend to both install and exclude
the same package.

Rasmus


             reply	other threads:[~2026-07-17 11:26 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-17 11:26 Rasmus Villemoes [this message]
2026-07-17 15:03 ` [OE-core] PACKAGE_EXCLUDE_COMPLEMENTARY question Alexander Kanavin

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=87bjc5svql.fsf@prevas.dk \
    --to=ravi@prevas.dk \
    --cc=openembedded-core@lists.openembedded.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox