GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
POUDRIERE-BULK(8) FreeBSD System Manager's Manual POUDRIERE-BULK(8)

poudriere bulkbuild a ready-to-export package tree

poudriere bulk -a -j name [-CcFHIikNnRrSTtvw] [-B name] [-b branch] [-J maxjobs[:prebuildmaxjobs]] [-O overlay [-O overlay2 ...]] [-p tree] [-z set]

poudriere bulk -f file [-f file2 ...] -j name [-CcFHIikNnRrSTtvw] [-B name] [-b branch] [-J maxjobs[:prebuildmaxjobs]] [-O overlay [-O overlay2 ...]] [-p tree] [-z set]

poudriere bulk -j name [-CcFHIikNnRrSTtvw] [-B name] [-b branch] [-J maxjobs[:prebuildmaxjobs]] [-O overlay [-O overlay2 ...]] [-p tree] [-z set] origin ...

This command makes a ready-to-export package tree, and fills it with binary packages built from a given list of ports. During the build, hit ^T to send SIGINFO and show stats and progress about the build.

See the section in poudriere(8) for supported flavors syntax.

See the CUSTOMIZATION section in poudriere(8) to learn how to build binary packages with options that differ from defaults.

poudriere will disable make jobs for packages not listed in , unless is set in poudriere.conf. The number of jobs can be controlled in make.conf with the ports(7) flags and . Beware that there is no global job control so each builder created from -J (or the default ) will spawn as many jobs as the ports framework allows.

Build all ports in the tree with all flavors.
file
Build ports listed in the file.

The path to the file has to be absolute. Ports must be specified in the form of “category/port” and sh(1)-style comments are allowed. Multiple -f file arguments may be specified at once.

name
Specify which buildname to use. By default YYYY-MM-DD_HH:MM:SS will be used. This can be used to resume a previous build and use the same log and URL paths. Resuming a build will not retry built/failed/skipped/ignored packages.
branch
Fetch binary packages from a binary package repository instead of building them. The branch argument can be one of the following: latest, quarterly, release_X (where X is the minor version of a release, e.g., “0”), or url.

With this option poudriere will first try to fetch a binary package from the specified binary package repository.

poudriere will only use packages that:

  • come from a repository having the same or older version of .
  • do not have a locally fetched package already.
  • are not IGNORED.
  • match the expected local version.
  • match the expected ABI.
  • match the expected runtime and library dependencies.
  • match the expected OPTIONS when is enabled (default: on).
  • is NOT listed in PACKAGE_FETCH_BLACKLIST.
  • is NOT listed with -C, or -c, when -t is used.
The -v flag can be used to show these decisions during build. Specifing twice will show more details on why some are skipped.

: poudriere has no way of determining differences outside of the above list. That is, if the local ports framework, or port, has custom patches or special knobs (not OPTIONS) then it is required to add its name into PACKAGE_FETCH_BLACKLIST. Otherwise a package may be fetched and used that lacks the custom patch or knob.

See , , PACKAGE_FETCH_BLACKLIST, and in poudriere.conf.sample. The entries in the lists will be matched against package names without versions.

Clean only the packages specified on the command line or in the file given by -f file. Implies -c for -a.
Clean previously built packages and logs.
Fetch only from the original MASTER_SITES. Skip FreeBSD mirrors.
Create a repository where the package filenames contain the short hash of the contents.
Advanced interactive mode.

Leave the jail running with ports installed after building and testing. It is a convenient way to do some additional testing. See poudriere-jail(8) to learn how to stop a running poudriere jail.

Similarly to -i, the -I flag will cause pkg.conf(5) to be installed in the jail.

Interactive mode.

Open an interactive shell session in the jail after the build is done and before the clean-up. It is a convenient way to do some additional testing.

A local pkg.conf(5) repository configuration will be installed to ${LOCALBASE}/etc/pkg/repos/local.conf so that pkg(8) can be used with any existing packages built for the jail. The default FreeBSD repository will be disabled by default.

maxjobs[:prebuildmaxjobs]
Specify the number of jobs that will run in parallel for a bulk build. The optional second parameter, prebuildmaxjobs, is the number of jobs used for the steps before the build, they are more IO bound than CPU bound, so you may want to use a different number. The default pre-build value is 1.25 times the value of the build value.
name
Run the bulk build on the jail named name.
Do not consider failures to be fatal when using -t. Do not skip dependent ports on findings. This flag is automatically set when using -at.
Do not build a package repository when the build is completed.
Do not commit the package repository when the build is completed. This can be used to do a full test build but have the opportunity to delete it all rather than publish it. The packages will be stored in a .building directory that can be removed manually, otherwise the next build will resume from that directory. Depends on ATOMIC_PACKAGE_REPOSITORY being set to .
Dry run. Show what would be done, but do not actually build or delete any packages.
overlay
Specify an extra poudriere-ports(8) tree to use as an overlay. Multiple -O overlay arguments may be specified to stack them.
tree
Specify on which ports tree the bulk build will be done. (Default: “default”)
Clean RESTRICTED packages after building.
Recursively test all dependencies as well. This flag is automatically set when using -at.
Do not recursively rebuild packages affected by other packages requiring incremental rebuild. This may result in broken packages if the ones they depend on are updated, are not ABI-compatible, and were not properly PORTREVISION bumped.
Try building BROKEN ports by defining TRYBROKEN for the build.
Add some testing to the specified ports. Add -r to recursively test all port dependencies as well. When used with -a then -rk are implied.
Enable additional information to be shown during the build. Specify twice to enable debug output.
Save WRKDIR on build failure. The WRKDIR will be tarred up into ${POUDRIERE_DATA}/wrkdirs.
set
This specifies which SET to use for the build. See the CUSTOMIZATION section in poudriere(8) for examples of how this is used.

If specified, the package is not installed in interactive mode.
Passed through for interactive modes.

Starting a Bulk Build

The following example starts a bulk build of two ports.

# poudriere bulk accessibility/sct www/firefox

poudriere(8), poudriere-distclean(8), poudriere-image(8), poudriere-jail(8), poudriere-logclean(8), poudriere-options(8), poudriere-pkgclean(8), poudriere-ports(8), poudriere-queue(8), poudriere-status(8), poudriere-testport(8), poudriere-version(8)

Baptiste Daroussin ⟨bapt@FreeBSD.org⟩
Bryan Drewery ⟨bdrewery@FreeBSD.org⟩

January 8, 2025 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 8 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.