Add an example on how to create a live CD with xorg.
[dragonfly.git] / share / man / man7 / release.7
1 .\"
2 .\" Copyright (c) 2006 The DragonFly Project.  All rights reserved.
3 .\" 
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 
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
13 .\"    distribution.
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.
17 .\" 
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
29 .\" SUCH DAMAGE.
30 .\"
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.11 2008/03/08 22:00:03 swildner Exp $
33 .\"
34 .Dd March 8, 2008
35 .Dt RELEASE 7
36 .Os
37 .Sh NAME
38 .Nm release
39 .Nd "release building infrastructure"
40 .Sh DESCRIPTION
41 .Dx
42 provides a complete build environment suitable for users to make
43 full releases of the
44 .Dx
45 operating system.
46 All of the tools necessary to build releases are available from the
47 CVS repository in
48 .Pa src/nrelease .
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" .
53 .Pp
54 This document does not cover source code management, quality
55 assurance, or other aspects of the release engineering process.
56 .Sh TARGETS
57 The release Makefile
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"
62 .It Cm release
63 Builds a vanilla live CD.
64 .It Cm quickrel
65 Same as
66 .Cm release
67 but uses the
68 .Cm quickworld
69 target (alias
70 .Cm quick ) .
71 .It Cm realquickrel
72 Same as
73 .Cm release
74 but uses the
75 .Cm realquickworld
76 target (alias
77 .Cm realquick ) .
78 .It Cm clean
79 Removes the ISO root directory and object files.
80 .It Cm realclean
81 Same as
82 .Cm clean
83 but also removes external packages.
84 .El
85 .Pp
86 The
87 .Cm quickrel
88 and
89 .Cm realquickrel
90 targets will only work if a full
91 .Dq Li "make release"
92 has been done before.
93 For a description of the corresponding build targets, see
94 .Xr build 7 .
95 .Pp
96 If the
97 .Cm installer
98 target is specified along with a
99 .Cm release ,
100 .Cm quickrel ,
101 or
102 .Cm realquickrel
103 target, the
104 .Bx
105 Installer will be added to the resulting ISO image.
106 Likewise, if the
107 .Cm gui
108 target is specified, X11 will be added to the ISO.
109 .Pp
110 During the process of rolling a release a check is performed to find
111 out if a number of external packages to be put on the CD exist on
112 your system.
113 If they cannot be found, the release process will stop and give
114 proper commands for downloading and setting up these packages.
115 .Sh ENVIRONMENT
116 .Bl -tag -width ".Va PKGSRC_PKG_PATH"
117 .It Va PKGSRC_PKG_PATH
118 Specifies the location where binary
119 .Xr pkgsrc 7
120 packages are kept.
121 .It Va WITHOUT_SRCS
122 If set, this variable will prevent kernel source code from being copied
123 to
124 .Pa /usr/src-sys.tar.bz2
125 on the ISO image.
126 .El
127 .Sh FILES
128 .Bl -tag -compact
129 .It Pa /etc/make.conf
130 .It Pa src/Makefile
131 .It Pa src/Makefile.inc1
132 .It Pa src/nrelease/Makefile
133 .El
134 .Sh EXAMPLES
135 The following sequence of commands is used to build a standard
136 .Dx 1.10
137 installation CD image (assuming that a local CVS repository is
138 available):
139 .Bd -literal -offset indent
140 cd /usr
141 cvs co -rDragonFly_RELEASE_1_10_Slip src
142 cd src/nrelease
143 make installer release
144 .Ed
145 .Pp
146 After running these commands, the image will be available in the
147 .Pa /usr/release
148 directory.
149 .Sh SEE ALSO
150 .Xr cvs 1 ,
151 .Xr make 1 ,
152 .Xr make.conf 5 ,
153 .Xr build 7 ,
154 .Xr pkgsrc 7
155 .Sh HISTORY
156 .Pa src/nrelease
157 was added in
158 .Dx 1.0
159 to implement the idea of a
160 .Dq "live CD" .
161 .Sh AUTHORS
162 .An -nosplit
163 The
164 .Nm
165 infrastructure was written by
166 .An Matthew Dillon .
167 This manual page was written by
168 .An Sascha Wildner .
169 .Sh BUGS
170 There are more targets and variables in
171 .Pa src/nrelease/Makefile
172 that should be documented.