Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POUDRIERE-BULK(8)	    System Manager's Manual	     POUDRIERE-BULK(8)

NAME
       poudriere bulk -- build a ready-to-export package tree

SYNOPSIS
       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 ...

DESCRIPTION
       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 FLAVORS section in poudriere(8) for supported flavors syntax.

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

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

SUBCOMMANDS
       -a	Build all ports	in the tree with all flavors.

       -f file	Build ports listed in the file.

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

OPTIONS
       -B 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.

       -b branch
		Fetch binary packages from a binary package repository instead
		of building them.  The branch argument can be one of the  fol-
		lowing:	 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
		    pkg.
		   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 CHECK_CHANGED_OPTIONS 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.

		WARNING: poudriere has no way of determining differences  out-
		side  of  the  above list.  That is, if	the local ports	frame-
		work, or port, has custom patches or  special  WITH_FOO	 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_BRANCH,	    PACKAGE_FETCH_URL,
		PACKAGE_FETCH_BLACKLIST,   and	 PACKAGE_FETCH_WHITELIST    in
		poudriere.conf.sample.	 The  entries  in  the	lists  will be
		matched	against	package	names without versions.

       -C	Clean only the packages	specified on the command  line	or  in
		the file given by -f file.  Implies -c for -a.

       -c	Clean all previously built packages and	logs.

       -F	Fetch  only from the original MASTER_SITES.  Skip FreeBSD mir-
		rors.

       -H	Create a repository where the package  filenames  contain  the
		short hash of the contents.

       -I	Advanced interactive mode.

		Leave the jail running with ports installed after building and
		testing.   It  is a convenient way to do some additional test-
		ing.  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 in-
		stalled	in the jail.

       -i	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 de-
		fault FreeBSD repository will be disabled by default.

       -J 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.

       -j name	Run the	bulk build on the jail named name.

       -k	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.

       -N	Do not build a package repository when the build is completed.

       -NN	Do not commit the package repository when the  build  is  com-
		pleted.	 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 yes.

       -n	Dry  run.   Show what would be done, but do not	actually build
		or delete any packages.

       -O overlay
		Specify	an extra poudriere-ports(8) tree to use	as an overlay.
		Multiple -O overlay arguments may be specified to stack	them.

       -p tree	Specify	on which ports tree  the  bulk	build  will  be	 done.
		(Default: "default")

       -R	Clean RESTRICTED packages after	building.

       -r	Recursively test all dependencies as well.  This flag is auto-
		matically set when using -at.

       -S	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.

       -T	Try building BROKEN ports by defining TRYBROKEN	for the	build.

       -t	Add  some  testing  to	the specified ports.  Add -r to	recur-
		sively test all	port dependencies as well.  When used with  -a
		then -rk are implied.

       -v	Enable	additional  information	 to be shown during the	build.
		Specify	twice to enable	debug output.

       -w	Save WRKDIR on build failure.  The WRKDIR will	be  tarred  up
		into ${POUDRIERE_DATA}/wrkdirs.

       -z set	This  specifies	 which	SET  to	 use  for  the build.  See the
		CUSTOMIZATION section in poudriere(8) for examples of how this
		is used.

ENVIRONMENT
       POUDRIERE_INTERACTIVE_NO_INSTALL	 If specified, the package is not  in-
					 stalled in interactive	mode.

       TERM				 Passed	through	for interactive	modes.

EXAMPLES
       Example 1: Starting a Bulk Build

	 The following example starts a	bulk build of two ports.

	   # poudriere bulk accessibility/sct www/firefox

SEE ALSO
       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)

AUTHORS
       Baptiste	Daroussin <bapt@FreeBSD.org>
       Bryan Drewery <bdrewery@FreeBSD.org>

FreeBSD	14.3			January	8, 2025		     POUDRIERE-BULK(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=poudriere-bulk&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help