The article read fine to me. I might mention overlay ports trees to manage meta-ports but that’s a preference thing.
As to Poudriere itself:
I’d really love saner ways to completely disable X11 dependencies than to have to use a Poudriere /usr/local/etc/poudriere.d/make.conf which has ${CURDIR...} guards to set FORBIDDEN (with exemptions for the blocks because of things like irssi-themes being in x11-themes/).
Also a way to get all the dependency paths leading to a given port, rather than just the first one. I wrote a poudriere_status.py which can report to CLI or generate graphviz directives but the dependency graph becomes a tree because only one inbound link is reported.
A shorter version, skipping signature if you do this only locally on a trusted system.
Commands are based on the article, but partly shortened. For example if you only have one ports tree it will be named default, if you don’t specify otherwise.
# Install poudriere
pkg install poudriere
# Create a jail with the right version of FreeBSD it
poudriere jail -c -j 12-2x64 -v 12.2-RELEASE
# Create a ports tree
poudriere ports -c
# -> Set up package building options, according to the article by creating make.conf
# -> create a port-lists file with the ports you want to build (format like www/nginx, one per line)
# Build the ports
poudriere bulk -j 12-2x64 -f /path/to/port-list
# Disable the default repo by creating a /usr/local/etc/pkg/repos/freebsd.conf containing:
FreeBSD: {
enabled: no
}
# Create a new one with
poudriere: {
url: "file:///usr/local/poudriere/data/packages/12-2x64",
enabled: yes
}
# Update repos
pkg update
Note that, if you’re using pkg-base, then the output from pkg query -e "%a==0" "%o" | sort -d will contain a load of lines with just base in them. Putting that in the list of packages for Poudriere to build will cause problems. To avoid this, run pkg query -e "%a==0" "%o" | sort -d -u | grep -v -x base.
You should also be able to skip this:
# Update repos
pkg update
pkg (unlike apt) will automatically check if it needs to do an update when you do an upgrade.
The article read fine to me. I might mention overlay ports trees to manage meta-ports but that’s a preference thing.
As to Poudriere itself: I’d really love saner ways to completely disable X11 dependencies than to have to use a Poudriere
/usr/local/etc/poudriere.d/make.conf
which has${CURDIR...}
guards to set FORBIDDEN (with exemptions for the blocks because of things likeirssi-themes
being inx11-themes/
).Also a way to get all the dependency paths leading to a given port, rather than just the first one. I wrote a
poudriere_status.py
which can report to CLI or generate graphviz directives but the dependency graph becomes a tree because only one inbound link is reported.Poudriere is one of my favorite tools in the FreeBSD ecosystem.
A shorter version, skipping signature if you do this only locally on a trusted system.
Commands are based on the article, but partly shortened. For example if you only have one ports tree it will be named default, if you don’t specify otherwise.
Build updated packages
Use packages as normally.
Note that, if you’re using pkg-base, then the output from
pkg query -e "%a==0" "%o" | sort -d
will contain a load of lines with justbase
in them. Putting that in the list of packages for Poudriere to build will cause problems. To avoid this, runpkg query -e "%a==0" "%o" | sort -d -u | grep -v -x base
.You should also be able to skip this:
pkg
(unlikeapt
) will automatically check if it needs to do anupdate
when you do anupgrade
.