# 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`

