2 .\" Copyright (c) 2006 The DragonFly Project. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in
12 .\" the documentation and/or other materials provided with the
14 .\" 3. Neither the name of The DragonFly Project nor the names of its
15 .\" contributors may be used to endorse or promote products derived
16 .\" from this software without specific, prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
28 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" $FreeBSD: src/share/man/man7/release.7,v 1.3.2.6 2003/04/12 20:42:30 murray Exp $
32 .\" $DragonFly: src/share/man/man7/release.7,v 1.12 2008/04/01 21:10:26 swildner Exp $
39 .Nd release building infrastructure
42 provides a complete build environment suitable for users to make
46 All of the tools necessary to build releases are available from the
49 A complete release (that is, a live CD) can actually be built with
50 only a single command.
51 This command is aptly named
52 .Dq Li "make release" .
54 This document does not cover source code management, quality
55 assurance, or other aspects of the release engineering process.
58 .Pq Pa src/nrelease/Makefile
59 defines a number of targets which are roughly modeled after the
60 targets used for building the system.
61 .Bl -tag -width ".Cm realquickrel"
63 Builds world and kernel, installs them, adds packages and prepares the ISO
80 Removes the ISO root directory and object files.
84 but also removes external packages.
86 Downloads the bootstrap kit and binary packages using
94 targets will only work if a full
98 have been done before.
99 For a description of the corresponding build targets, see
102 A number of additional targets may be specified along with
107 to add additional features:
108 .Bl -tag -width ".Cm realquickrel"
112 Installer to the ISO (our standard LiveCD).
116 along with some additional applications to the ISO (LiveDVD).
118 In addition to the ISO, an image suitable for use with e.g., a USB thumb
119 drive, will be created.
122 During the process of rolling a release a check is performed to find
123 out if a number of external packages to be put on the CD exist on
125 If they cannot be found, the release process will stop and give
126 proper commands for downloading and setting up these packages.
128 .Bl -tag -width ".Va PKGBIN_PKG_DELETE"
135 Name of the ISO image to generate.
137 Location where the image contents are installed to before the ISO is prepared.
139 Kernel configuration(s) to use.
140 .It Va PKGBIN_MKISOFS
143 utility which is to be used during the build.
144 .It Va PKGBIN_PKG_ADD
147 utility which is to be used during the build.
148 .It Va PKGBIN_PKG_ADMIN
151 utility which is to be used during the build.
152 .It Va PKGBIN_PKG_DELETE
155 utility which is to be used during the build.
156 .It Va PKGSRC_PACKAGES
157 List of packages to be added to the ISO.
158 .It Va PKGSRC_PKG_PATH
159 Specifies the location where binary
163 If set, this variable will prevent kernel source code from being copied to
164 .Pa /usr/src-sys.tar.bz2
167 The name of the image file (default is
168 .Pa /usr/release/dfly.img ) .
170 The mount point for the image (default is
171 .Pa /usr/release/mnt ) .
173 The disk device to use in the image's
180 .It Pa /etc/make.conf
182 .It Pa src/Makefile.inc1
183 .It Pa src/nrelease/Makefile
186 The following sequence of commands is used to build a standard
188 installation CD image (assuming that a local git repository is
190 .Bd -literal -offset indent
192 git checkout -b rel2_0 crater/DragonFly_RELEASE_2_0
194 make installer release
197 After running these commands, the image will be available in the
201 .\"The steps required for engineering a release are documented in (CVS)
202 .\".Pa doc/notes/release.txt
203 .\"(how to branch the CVS tree etc.)
204 .\"They were put in an out of the way place so normal developers would not
205 .\"accidentally try to run the commands in question.
216 framework was added in
218 to implement the idea of a
224 infrastructure was written by
226 This manual page was written by