NRELEASE(7) BSD Miscellaneous Information Manual NRELEASE(7)NAME
nrelease — release building infrastructure
DESCRIPTION
DragonFly provides a complete build environment suitable for users to
make full releases of the DragonFly operating system. All of the tools
necessary to build releases are available from the git repository in
src/nrelease. A complete release (that is, a live CD) can actually be
built with only a single command. This command is aptly named “make
release”.
This document does not cover source code management, quality assurance,
or other aspects of the release engineering process.
TARGETS
The release Makefile (src/nrelease/Makefile) defines a number of targets
which are roughly modeled after the targets used for building the system.
help Offer some help.
release Builds world and kernel, installs them, adds packages and
prepares the ISO image.
quickrel Same as release but uses the quickworld target (alias
quick).
realquickrel Same as release but uses the realquickworld target (alias
realquick).
clean Removes the ISO root directory and object files.
realclean Same as clean but also removes external packages.
The quickrel and realquickrel targets will only work if a full buildworld
and buildkernel have been done before. For a description of the corre‐
sponding build targets, see build(7).
A number of additional targets may be specified along with release,
quickrel, or realquickrel to add additional features:
gui Adds Xorg(1) along with some additional applications to the
ISO (LiveDVD).
During the process of rolling a release a check is performed to find out
if external packages to be put on the CD exist on your system. If they
cannot be found, the release process will stop and give proper commands
for downloading and setting up these packages.
ENVIRONMENT
ISODIR Default prefix of ISOFILE and ISOROOT (default is
/usr/release).
ISOFILE Name of the ISO image to generate (default is
/usr/release/dfly.iso).
ISOROOT Location where the image contents are installed to
before the ISO is prepared.
KERNCONF Kernel configuration(s) to use.
PKGBIN_MKISOFS Location of the mkisofs(8) utility which is to be
used during the build.
PKGBIN_PKG_ADD Location of the pkg_add(1) utility which is to be
used during the build.
PKGBIN_PKG_ADMIN Location of the pkg_admin(1) utility which is to
be used during the build.
PKGBIN_PKG_DELETE Location of the pkg_delete(1) utility which is to
be used during the build.
PKGSRC_PACKAGES List of packages to be added to the ISO.
PKGSRC_EXTRA_PACKAGES List of packages, in addition to PKGSRC_PACKAGES,
to be added to the ISO.
PKGSRC_PATH Location of pkgsrc(7) tree to be used for package
building.
PKGSRC_PKG_PATH Specifies the location where binary pkgsrc(7)
packages are kept.
WITHOUT_SRCS If set, this variable will prevent source code
from being copied to the ISO image.
IMGFILE The name of the image file (default is
/usr/release/dfly.img).
IMGMNT The mount point for the image (default is
/usr/release/mnt).
IMGUSBDEV The disk device to use in the image's fstab(5)
(default is /dev/da8).
FILES
/etc/make.conf
src/Makefile
src/Makefile.inc1
src/nrelease/Makefile
EXAMPLES
The following sequence of commands is used to build a standard
DragonFly 2.0 installation CD image (assuming that a local git repository
is available, see development(7) for how to get this):
cd /usr/src
git checkout -b rel2_0 crater/DragonFly_RELEASE_2_0
cd nrelease
make release
After running these commands, the image will be available in the
/usr/release directory.
SEE ALSOgit(1), make(1), make.conf(5), build(7), development(7), pkgsrc(7)HISTORY
The nrelease framework was added in DragonFly 1.0 to implement the idea
of a “live CD”.
AUTHORS
The nrelease infrastructure was written by Matthew Dillon. This manual
page was written by Sascha Wildner.
BSD May 12, 2010 BSD