The future of portmaster

Adam Weinberger adamw at adamw.org
Tue May 30 18:16:41 UTC 2017


> On 30 May, 2017, at 11:37, Peter Beckman <beckman at angryox.com> wrote:
> 
> On Tue, 30 May 2017, Adam Weinberger wrote:
> 
>> You don't need separate port trees. The idea is to use poudriere to build
>> ALL your ports. Just make a list of the ports you want, pass it to
>> poudriere, and it will keep everything up-to-date, rebuild things when
>> they need to be rebuilt, and give you a pkg repository so you can just
>> run "pkg install foo" or "pkg upgrade" to keep your system running.
>> 
>> Even if you do use poudriere to build only a few ports, it's pretty easy.
>> Give your own generated packages a higher priority in
>> /usr/local/etc/pkg/repos/ and you can transparently layer your pkg repo
>> above the upstream repo.
> 
> Where is this seemingly super easy process documented? Yes, I can read the
> docs and try to figure out the "best practice" workflow, or someone with
> amazing knowledge of poudriere (and/or synth) can write a "here's how to
> manage your ports" best practices for the occasional sysadmin, rather than
> the hard-core supporting a fleet of FreeBSD boxes admin.
> 
> I've looked before and never found such a document. Something from the
> portupgrade or portmaster user POV, and why and how to move to the more
> modern and actively developed tools.

/usr/local/etc/pkg/repos/local.conf:
Local: {
	url:	file:///zroot/poudriere/data/packages/JAILNAME,
	priority: 10
}

Then, "pkg install foo" will first look for foo in your generated packages, and fall back to the upstream pkg repository.

If you use poudriere to build all your ports, just add this to turn upstream off entirely:
/usr/local/etc/pkg/repos/FreeBSD.conf:
FreeBSD: { enabled: no }

>> So no, you don't need separate ports trees. poudriere is happiest though
>> when you let it manage its own ports tree, so I prefer to just symlink
>> /usr/ports to it, but you can very easily use a pre-existing ports tree
>> with poudriere.
> 
> You make it sound so easy! Maybe it is, but I haven't found it.

Check out https://github.com/freebsd/poudriere/wiki/use_system_ports_tree for some instructions on how to use a system ports tree.

Personally, I prefer to let poudriere's tree be the main one:
( Remove your old ports tree first; keep the distfiles around if you'd like)
# poudriere ports -c (Skip this if you already created a poudriere tree)
# ln -s /zroot/poudriere/ports/default /usr/ports

# Adam


-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org




More information about the freebsd-ports mailing list