On 1-7-2024 19:22, Tomoaki AOKI wrote:
On Mon, 1 Jul 2024 15:46:18 +0200
DutchDaemon - FreeBSD Forums Administrator<dutchdae...@freebsd.org>
wrote:

Hey,

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

Anyone?
Hi.
pkg records informations about FLAVORs in annotations only.
You should search output from `pkg -A <packagename>` for each pkg.

Does the script on brew.bsd.cafe [1] help understanding/usable?

[1]
https://brew.bsd.cafe/TomAoki/sh_scripts/src/branch/main/poudlist-all

Regards.

That actually put me on a path forward, but I decided to sort of brute-force it, so I could run the script anywhere.

In fact, Ansible runs it on all servers (grouped by build jail names on Poudriere) and gathers/sorts the output to populate the build lists for Poudriere, which then fires up the jails and builds the associated repos.

for port in $( /usr/local/sbin/pkg prime-origins )
do
flavor=$( /usr/local/sbin/pkg info -A "${port}" | /usr/bin/grep "flavor" | /usr/bin/awk '{print $NF}' | /usr/bin/grep -v "default" )
[ "x${flavor}" = "x" ] && echo "${port}" || echo "${port}@${flavor}"
done

That gives me exactly the output I need.

Thanks!

DD

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to