~getz

FreeBDS ports with poudriere 101

Follow tutorial at https://docs.skunkwerks.at/s/3SL9taN8s#poudriere8

list of packages to install at /usr/local/etc/poudriere.d/packages.list this is just a list if packages like sysutil/podman-compose

to install poudriere bulk -f /usr/local/etc/poudriere.d/podman.txt -j 14_2_amd64 -p skunk here skunk is our custom ports tree, if not specified we use the one named default which will likely just be your general system ports thats unmodified.

To test your changes in a fresh jail add the -i flag. to install poudriere bulk -i -f /usr/local/etc/poudriere.d/podman.txt -j 14_2_amd64 -p skunk

to cleanup poudriere pkgclean -p skunk -C -j 14_2_amd64 sysutils/podman-compose

to cleanup everything poudriere pkgclean -p skunk -j 14_2_amd64 this is very destructive

poudriere logclean -p skunk -j 14_2_amd64 0

poudriere distclean -f /usr/local/etc/poudriere.d/podman.txt -p skunk

Before submitting a port we need to test it! poudriere can do this for us in the jail

poudriere testport -j 14_2_amd64 -p skunk sysutils/podman-compose

to update a jail to newer release

poudriere jail -u -j 14_2_amd64

which will update a jail from 14.2-RELEASE-p4 to 14.2-RELEASE-p5 or so.

rebuild for testing changes

poudriere bulk -t -c -f /usr/local/etc/poudriere.d/podman.txt -j 14_1_x64 -p skunk ${PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR}
Also remember to run portlint

We can also configure our options for ports using poudriere using… Make sure we only configure the one we care about because we don’t have all day to mash enter.

So now we are in a state where we can easily create new jails for when we upgrade freebsd version. We just need to update our repo list in /usr/local/etc/pkg/repos/…

Then we install things for default using -p default and our own dirty repo using -p skunk

For a new port:

make fetch make makeplist # not needed for python if autoplist works check the output copy

to build all installed packages as ports when updating do

pkg info -ao | awk '{ print $2 }' | sort > portlist.txt poudriere bulk -S -f /usr/local/etc/poudriere.d/portlist.txt -j 14_3_amd64