Merge from vendor branch GCC:
[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.8 2006/07/26 20:18:54 swildner Exp $
33 .\"
34 .Dd July 26, 2006
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 (or
54 .Dq Li "make installer_release" ,
55 see below).
56 .Pp
57 This document does not cover source code management, quality
58 assurance, or other aspects of the release engineering process.
59 .Sh TARGETS
60 The release Makefile
61 .Pq Pa src/nrelease/Makefile
62 defines a number of targets which are roughly modeled after the
63 targets used for building the system.
64 .Bl -tag -width ".Cm realquickrel"
65 .It Cm release
66 Builds a vanilla live CD.
67 .It Cm quickrel
68 Same as
69 .Cm release
70 but uses the
71 .Cm quickworld
72 target.
73 .It Cm realquickrel
74 Same as
75 .Cm release
76 but uses the
77 .Cm realquickworld
78 target.
79 .It Cm clean
80 Removes the ISO root directory and object files.
81 .It Cm realclean
82 Same as
83 .Cm clean
84 but also removes external packages.
85 .El
86 .Pp
87 The
88 .Cm quickrel
89 and
90 .Cm realquickrel
91 targets will only work if a full
92 .Dq Li "make release"
93 has been done before.
94 For a description of the corresponding build targets, see
95 .Xr build 7 .
96 .Pp
97 The
98 .Cm release ,
99 .Cm quickrel
100 and
101 .Cm realquickrel
102 targets all have corresponding targets with
103 .Dq Li installer_
104 prefixed (e.g.,
105 .Cm installer_release )
106 which cause the BSD installer from
107 .Pa http://www.bsdinstaller.org
108 to be added to the resulting ISO image.
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 WITHOUT_SRCS"
117 .It Va WITHOUT_SRCS
118 If set, this variable will prevent kernel source code from being copied
119 to
120 .Pa /usr/src-sys.tar.bz2
121 on the ISO image.
122 .El
123 .Sh FILES
124 .Bl -tag -compact
125 .It Pa /etc/make.conf
126 .It Pa src/Makefile
127 .It Pa src/Makefile.inc1
128 .It Pa src/nrelease/Makefile
129 .El
130 .Sh EXAMPLES
131 The following sequence of commands is used to build a standard
132 .Dx 1.4
133 installation CD image (assuming that a local CVS repository is
134 available):
135 .Bd -literal -offset indent
136 cd /usr
137 cvs co -rDragonFly_RELEASE_1_4 src
138 cd src/nrelease
139 make installer_release
140 .Ed
141 .Pp
142 After running these commands, the image will be available in the
143 .Pa /usr/release
144 directory.
145 .Sh SEE ALSO
146 .Xr cvs 1 ,
147 .Xr make 1 ,
148 .Xr make.conf 5 ,
149 .Xr build 7
150 .Sh HISTORY
151 .Pa src/nrelease
152 was added in
153 .Dx 1.0
154 to implement the idea of a
155 .Dq "live CD" .
156 .Sh AUTHORS
157 .An -nosplit
158 The
159 .Nm
160 infrastructure was written by
161 .An Matthew Dillon .
162 This manual page was written by
163 .An Sascha Wildner .
164 .Sh BUGS
165 There are more targets and variables in
166 .Pa src/nrelease/Makefile
167 that should be documented.