|
The scripts/dopackages* scripts are used to perform the builds. Most useful are:
dopackages.5 - Perform a 5.X build
dopackages.4 - Perform a 4.X build
dopackages.4-exp - Perform a 4.X build with experimental patches (4-exp branch)
These are wrappers around dopackages, and are all symlinked to dopackages.wrapper. New branch wrapper scripts can be created by symlinking dopackages.${branch} to dopackages.wrapper. These scripts take a number of arguments. For example:
dopackages.5 ${arch} [-options]
[-options] may be zero or more of the following:
-nofinish - Do not perform post-processing once the build is complete. Useful if you expect that the build will need to be restarted once it finishes. This option should always be used for normal build operations.
-finish - Perform post-processing only.
-restart - Restart an interrupted (or non-finished) build from the beginning. Ports that failed on the previous build will be rebuilt.
-continue - Restart an interrupted (or non-finished) build. Will not rebuild ports that failed on the previous build.
-incremental - Compare the interesting fields of the new INDEX with the previous one, remove packages and log files for the old ports that have changed, and rebuild the rest. This cuts down on build times substantially since unchanged ports do not get rebuilt everytime.
-cdrom - This package build is intended to end up on a CD-ROM, so NO_CDROM packages and distfiles should be deleted in post-processing.
-nobuild - Perform all the preprocessing steps, but do not actually do the package build.
-noindex - Do not rebuild INDEX during preprocessing.
-noduds - Do not rebuild the duds file (ports that are never built, e.g. those marked IGNORE, NO_PACKAGE, etc.) during preprocessing.
-trybroken - Try to build BROKEN ports (off by default because the i386™ cluster is fast enough now that when doing incremental builds, more time was spent rebuilding things that were going to fail anyway. Conversely, the other clusters are slow enough that it would be a waste of time to try and build BROKEN ports.
-nocvs - Do not cvs update the src tree during preprocessing.
-noportscvs - Do not cvs update the ports tree during preprocessing.
-nodoccvs - Do not cvs update the doc tree during preprocessing.
-norestr - Do not attempt to build RESTRICTED ports.
-plistcheck - Make it fatal for ports to leave behind files after deinstallation.
-distfiles - Collect distfiles that pass make checksum for later uploading to ftp-master. Use this sparingly because it takes up a lot of disk space. You should remove the distfiles once they have been transfered to ftp-master.
-fetch-original - Fetch the distfile from the original MASTER_SITES rather than ftp-master.
Make sure the ${arch} build is run as the ports-${arch} user or it will complain loudly.
Note: The actual package build itself occurs in two identical phases. The reason for this is that sometimes transient problems (e.g. NFS failures, FTP sites being unreachable, etc.) may halt the build. Doing things in two phases is a workaround for these types of problems.
Be careful that ports/Makefile does not specify any empty subdirectories. This is especially important if you are doing a 4-exp build. If the build process encounters an empty subdirectory, both package build phases will stop short, and an error similar to the following will be written to ${arch}/${branch}/make.[0|1]:
don't know how to make dns-all(continuing)
To correct this problem, simply comment out or remove the SUBDIR entries that point to empty subdirectories. After doing this, you can restart the build by running the proper dopackages command with the -restart option.
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.
Hosting by: Hurra Communications Ltd.
Generated: 2007-01-26 17:58:40