Maintainable Non-Recursive poudriere-bulk(8) Guide

By default, poudriere uses a more cautious approach of recursively rebuilding packages to ensure installation stability from package repos like default for FreeBSD. However, there are some ports that genuinely don't need rebuilding because the recursive behavior also rebuilds blindly.

This guide is about using the non-recursive -S flag and mentioning about the reoccurring problems and strategies to overcome them.

This is targeted to users that build their local package repos for themselves only! And would not mind spending a bit of hands-on time in order to save even greater amounts of time compared to the default behavior.

Here are things to consider:

1. Some packages may fail to build due to missing pre-built dependencies.

Look through the error logs for lines that say "pkg-static: Missing dependency '<foopkg>'" for packages to manually rebuild through poudriere again.

   1 poudriere bulk -S -j <jail-name> $(./missing_deps /path/to/applicable/errorlogs)

2. Use the following pkg-version(8) command in case the bulk '-S' flag did not detect any (additional) upgrades

   1 pkg version -ol "<" | cut -d' ' -f1

While this approach works well most of time, there are occasions where this process becomes problematic eventually.

To fix this, do the bulk command one-time without the `-S` flag to start over again as it goes on its recursive endeavor again to "reset" things again.

KennethRaplee/MaintainableNonRecursivePoudriereBulkGuide (last edited 2024-02-03T10:04:13+0000 by KennethRaplee)