Building my own poudriere build system

Niklaas Baudet von Gersdorff stdin at niklaas.eu
Thu Jun 22 16:05:15 UTC 2017


Hello,

I have different FreeBSD machines running, either as servers in
production use or for personal use on Raspberry Pis. Since I do
not want to compile ports on each machine separately, I made
myself familiar with poudriere.

In principal, poudriere works great and I have no issues with it.
The only thing is that compilation takes a lot of time. As you
can imagine/know building ports on a Rasperry Pi takes ages. The
servers I use are not very powerful, so same issue here. The
best performing machine I have is a 7-year-old ThinkPad Notebook
(T420). Anyway, when trying to crossbuild for ARM it takes ages
on this machine too.

So I started thinking about building packages in the cloud. The
idea: Spin up a powerful Amazon EC2 instance, (cross)build the
packages I need, upload them to S3, and distribute the packages
from there to my machines. If I automated that process, I could
easily upgrade the packages whenever I needed. I would not have
to buy an expensive machine for building at home, and would only
pay for the powerful EC2 instance when I needed it.

This was theory. Practice is a bit more difficult, but I managed
to create a Terraform [1] skeleton that does that in principal:

  https://github.com/niklaas/port-builder

But I keep on wondering: How do you manage to build greater
amounts of packages or do crossbuilding? I cannot imagine
everybody having a high-end machine standing in the living room
-- but maybe my assumption about FreeBSD developers and port
maintainers are wrong. :-) On the web, here and there I found
someone having the same idea and having implemented it with some
scripts, but I haven't found a proven/official solution yet. How
do you approach this? Do you build in the cloud or locally?

    Niklaas

1: http://www.terraform.io

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20170622/d8fea1bd/attachment.sig>


More information about the freebsd-questions mailing list