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 thequickworld
target (aliasquick
). realquickrel
- Same as
release
but uses therealquickworld
target (aliasrealquick
). 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 corresponding 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).
nopkgs
- Do not add any packages (for debugging purposes). This is equivalent to setting DPORTS_PACKAGES empty.
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/obj/release).
- ISOFILE
- Name of the ISO image to generate (default is /usr/obj/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.
- DPORTS_PACKAGES
- List of packages to be added to the ISO.
- DPORTS_EXTRA_PACKAGES
- List of packages, in addition to DPORTS_PACKAGES, to be added to the ISO.
- DPORTS_PATH
- Location of the dports(7) tree to be used for package building.
- 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/obj/release/dfly.img).
- IMGMNT
- The mount point for the image (default is /usr/obj/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/obj/release directory.
SEE ALSO
git(1), make(1), make.conf(5), build(7), development(7), dports(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.