Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Dec 2023 01:00:33 -0800
From:      "Pat Maddox" <pat@patmaddox.com>
To:        freebsd-pkg@freebsd.org, "User Questions" <freebsd-questions@freebsd.org>
Subject:   poudriere: Any way to re-use built packages across sets?
Message-ID:  <0ee5ccf5-31af-4f7a-95da-0f27d59f2259@app.fastmail.com>

index | next in thread | raw e-mail

I want to build two package repos: 1) the vanilla ports tree 2) ports tree + my overlay

The commands I use are:

  poudriere bulk -p main -j 132amd64 -b latest

and

  poudriere bulk -z maintain -j 132amd64 -p main -O maintain -b latest

Which produces /usr/local/poudriere/data/packages/132amd64-main and /usr/local/poudriere/data/packages/132amd64-main-maintain.

The problem is, the second command spends a lot of time re-building the same things (gcc, llvm, rust, etc) as the first. `-b` isn't particularly useful because I'm using a current ports tree, so I need to build a lot of packages at least once.

I'd like to have the second command re-use the packages built by the first command where possible.

Here are some things I tried:

1. -b file:///usr/local/.../132amd64-main - doesn't work because the jail can't access that path, which makes sense
2. serving packages via nginx, and passing the url as -b - doesn't work because FreeBSD.conf sets mirror_type=srv and signature_type=fingerprints
3. modifying the jail's FreeBSD.conf file directly - fails with "pkg: Error fetching http://localhost:8181/132amd64-main/Latest/pkg.pkg.sig: Not Found       A pre-built version of pkg could not be found for your system."

Is there a way to have poudriere build two separate package repos (one named with the set) where one uses pre-built packages from the first repo if possible?

Pat


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0ee5ccf5-31af-4f7a-95da-0f27d59f2259>