This project is a fork of poudriere.
FreeBSD port here:
pkg install zrepl-dsh2dsh
Changes from upstream:
-
Better reuse of prebuilded FreeBSD packages.
Fetch packages after removing what we need to rebuild, not before that. See PR 1148.
-
Speedup building by rebuilding only changed ports.
Don't rebuild recursively full chain of dependencies, rebuild only changed dependencies. Without this change poudriere rebuild changed ports, ports with changed dependencies and ports with dependencies with changed dependencies. For instance:
Deleting vulkan-loader-1.3.273.pkg: new version: 1.3.274 Deleting ffmpeg-6.1_1,1.pkg: missing dependency: vulkan-loader-1.3.273 Deleting firefox-121.0,2.pkg: missing dependency: ffmpeg-6.1_1,1
firefox-121.0,2
doesn't depend onvulkan-loader-1.3.273
, but poudriere removes it too, becauseffmpeg-6.1_1,1
was removed.Now poudriere will remove
ffmpeg-6.1_1,1
, but keepfirefox-121.0,2
, because version offfmpeg
will not change after rebuilding andfirefox-121.0,2
will have valid dependencies. The same step now looks:Deleting vulkan-loader-1.3.273.pkg: new version: 1.3.274 Keeping ffmpeg-6.1_1,1.pkg: missing dependency: vulkan-loader-1.3.273 ... after processing dependencies Deleting ffmpeg-6.1_1,1: missing dependency
As you can see it will not rebuild firefox and finish everything faster. See PR 1101.
-
Share go mod cache between builders and store downloaded modules in
DISTFILES_CACHE
.Original
poudriere
doesn't store downloaded go modules back toDISTFILES_CACHE
and it means it downloads it again and again. NowDISTFILES_CACHE
mounted directly into builder jails and used as is, without copying distfiles into a builder jail and back intoDISTFILES_CACHE
.
poudriere is a tool primarily designed to test package production on FreeBSD. However, most people will find it useful to bulk build ports for FreeBSD.
Its goals are to use modern facilities present in FreeBSD (such as ZFS, jails), to be easy to use and to depend only on base.
The canonical documentation is located at:
https://github.com/freebsd/poudriere/wiki
A copy of this documentation could be found in the doc directory.
You can also open the poudriere's manpage, located in the 8th section.
IRC: #poudriere on EFNet Mailing list: [email protected] (lists.freebsd.org)
- Install it by typing
./configure
,make
andmake install
at the top-level directory - Copy
/usr/local/etc/poudriere.conf.sample
to/usr/local/etc/poudriere.conf
- Edit it to suit your needs
man poudriere
, search forEXAMPLES
, read the wiki- Follow "bulk build of binary packages" steps
- Enjoy your new fresh binary packages!