Re: Can `pkg prime-origins` be "trained" to pick up flavors?

From: Piotr Smyrak <ps.ports_at_smyrak.com>
Date: Mon, 01 Jul 2024 17:47:22 UTC
On Mon, 1 Jul 2024 15:46:18 +0200
DutchDaemon - FreeBSD Forums Administrator <DutchDaemon@FreeBSD.org>
wrote:

> I use `pkg prime-origins` on my servers to pick up the ports that 
> Poudriere needs to build for that (cluster of) server(s).
> 
> This doesn't work for flavors, or I'm missing a trick.
> 
> E.g.: I have installed the "guestagent" flavor of emulators/qemu 
> ("qemu-guest-agent" in pkg terms), which gets built in Poudriere as 
> "emulators/qemu@guestagent".
> 
> All good and well.
> 
> But `pkg prime-origins` picks it up as "emulators/qemu", which, of 
> course, triggers Poudriere to build the whole thing, 
> "emulators/qemu@default".
> 
> Which I don't need.
> 
> So either pkg needs to be amended to be able to recognize and report
> a flavor, or I have to put this in the jail's make.conf on Poudriere.
> 
> I'm not sure if there's a place for that in a generic make.conf for
> all ports in that specific jail; you know, one that contains 
> all-encompassing lines like
> 
> DEFAULT_VERSIONS= php=82 apache=2.4 mysql=80 ssl=openssl python=3.9 
> python3=3.9

`pkg prime-origins` is non part of pkg per se. It is an alias
configured in pkg config and based on pkg-query(8), where it stands for:

prime-origins: "query -e '%a = 0' '%o'",

Which means that only the origin will be printed out.

Flavors are recorded in package annotations, but IIUC only a number of
pkg annotations is available for queries.

-- 
 Piotr Smyrak