Fix braino on my side.
[dragonfly.git] / share / man / man7 / release.7
CommitLineData
984263bc 1.\"
3de736b2
SW
2.\" Copyright (c) 2006 The DragonFly Project. All rights reserved.
3.\"
984263bc
MD
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
3de736b2 7.\"
984263bc
MD
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
3de736b2
SW
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
984263bc
MD
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 $
6e160e0a 32.\" $DragonFly: src/share/man/man7/release.7,v 1.12 2008/04/01 21:10:26 swildner Exp $
984263bc 33.\"
afdaf7c1 34.Dd January 9, 2009
6e160e0a 35.Dt NRELEASE 7
984263bc
MD
36.Os
37.Sh NAME
6e160e0a
SW
38.Nm nrelease
39.Nd release building infrastructure
984263bc 40.Sh DESCRIPTION
9bb2a92d 41.Dx
984263bc
MD
42provides a complete build environment suitable for users to make
43full releases of the
9bb2a92d 44.Dx
984263bc 45operating system.
3de736b2 46All of the tools necessary to build releases are available from the
3aa285d2 47git repository in
3de736b2
SW
48.Pa src/nrelease .
49A complete release (that is, a live CD) can actually be built with
50only a single command.
984263bc 51This command is aptly named
db80cfbf 52.Dq Li "make release" .
984263bc
MD
53.Pp
54This document does not cover source code management, quality
55assurance, or other aspects of the release engineering process.
56.Sh TARGETS
3de736b2
SW
57The release Makefile
58.Pq Pa src/nrelease/Makefile
59defines a number of targets which are roughly modeled after the
60targets used for building the system.
61.Bl -tag -width ".Cm realquickrel"
62.It Cm release
6e160e0a
SW
63Builds world and kernel, installs them, adds packages and prepares the ISO
64image.
3de736b2
SW
65.It Cm quickrel
66Same as
984263bc 67.Cm release
3de736b2
SW
68but uses the
69.Cm quickworld
db80cfbf
SW
70target (alias
71.Cm quick ) .
3de736b2
SW
72.It Cm realquickrel
73Same as
74.Cm release
75but uses the
76.Cm realquickworld
db80cfbf
SW
77target (alias
78.Cm realquick ) .
3de736b2
SW
79.It Cm clean
80Removes the ISO root directory and object files.
81.It Cm realclean
82Same as
83.Cm clean
84but also removes external packages.
6e160e0a
SW
85.It Cm fetch
86Downloads the bootstrap kit and binary packages using
87.Xr fetch 1 .
984263bc
MD
88.El
89.Pp
3de736b2
SW
90The
91.Cm quickrel
984263bc 92and
3de736b2
SW
93.Cm realquickrel
94targets will only work if a full
6e160e0a
SW
95.Cm buildworld
96and
97.Cm buildkernel
98have been done before.
3de736b2
SW
99For a description of the corresponding build targets, see
100.Xr build 7 .
101.Pp
afdaf7c1 102A number of additional targets may be specified along with
3de736b2 103.Cm release ,
db80cfbf
SW
104.Cm quickrel ,
105or
3de736b2 106.Cm realquickrel
afdaf7c1
SW
107to add additional features:
108.Bl -tag -width ".Cm realquickrel"
109.It Cm installer
110Adds the
db80cfbf 111.Bx
afdaf7c1
SW
112Installer to the ISO (our standard LiveCD).
113.It Cm gui
114Adds
115.Xr Xorg 1
116along with some additional applications to the ISO (LiveDVD).
117.It Cm img
118In addition to the ISO, an image suitable for use with e.g., a USB thumb
119drive, will be created.
120.El
3de736b2
SW
121.Pp
122During the process of rolling a release a check is performed to find
123out if a number of external packages to be put on the CD exist on
124your system.
125If they cannot be found, the release process will stop and give
0bc71d4d 126proper commands for downloading and setting up these packages.
3d152b4d 127.Sh ENVIRONMENT
6e160e0a
SW
128.Bl -tag -width ".Va PKGBIN_PKG_DELETE"
129.It Va ISODIR
130Default prefix of
131.Va ISOFILE
132and
133.Va ISOROOT .
134.It Va ISOFILE
135Name of the ISO image to generate.
136.It Va ISOROOT
137Location where the image contents are installed to before the ISO is prepared.
138.It Va KERNCONF
139Kernel configuration(s) to use.
140.It Va PKGBIN_MKISOFS
141Location of the
142.Xr mkisofs 8
143utility which is to be used during the build.
144.It Va PKGBIN_PKG_ADD
145Location of the
146.Xr pkg_add 1
147utility which is to be used during the build.
148.It Va PKGBIN_PKG_ADMIN
149Location of the
150.Xr pkg_admin 1
151utility which is to be used during the build.
152.It Va PKGBIN_PKG_DELETE
153Location of the
154.Xr pkg_delete 1
155utility which is to be used during the build.
156.It Va PKGSRC_PACKAGES
157List of packages to be added to the ISO.
3f279b9e
SW
158.It Va PKGSRC_PKG_PATH
159Specifies the location where binary
160.Xr pkgsrc 7
161packages are kept.
3d152b4d 162.It Va WITHOUT_SRCS
6e160e0a 163If set, this variable will prevent kernel source code from being copied to
3d152b4d
SW
164.Pa /usr/src-sys.tar.bz2
165on the ISO image.
afdaf7c1
SW
166.It Va IMGFILE
167The name of the image file (default is
168.Pa /usr/release/dfly.img ) .
169.It Va IMGMNT
170The mount point for the image (default is
fb411313 171.Pa /usr/release/mnt ) .
afdaf7c1
SW
172.It Va IMGUSBDEV
173The disk device to use in the image's
174.Xr fstab 5
175(default is
176.Pa /dev/da0 ) .
3d152b4d 177.El
984263bc
MD
178.Sh FILES
179.Bl -tag -compact
180.It Pa /etc/make.conf
3de736b2
SW
181.It Pa src/Makefile
182.It Pa src/Makefile.inc1
183.It Pa src/nrelease/Makefile
984263bc
MD
184.El
185.Sh EXAMPLES
3de736b2 186The following sequence of commands is used to build a standard
3aa285d2
MS
187.Dx 2.0
188installation CD image (assuming that a local git repository is
3de736b2 189available):
984263bc 190.Bd -literal -offset indent
3aa285d2
MS
191cd /usr/src
192git checkout -b rel2_0 crater/DragonFly_RELEASE_2_0
193cd nrelease
db80cfbf 194make installer release
984263bc
MD
195.Ed
196.Pp
3de736b2 197After running these commands, the image will be available in the
5ec7d445 198.Pa /usr/release
984263bc 199directory.
8f8c94b3 200.\".Pp
3aa285d2
MS
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.
984263bc 206.Sh SEE ALSO
3aa285d2 207.Xr git 1 ,
984263bc 208.Xr make 1 ,
984263bc 209.Xr make.conf 5 ,
3f279b9e 210.Xr build 7 ,
127e04d4 211.Xr development 7 ,
3f279b9e 212.Xr pkgsrc 7
984263bc 213.Sh HISTORY
6e160e0a
SW
214The
215.Nm
216framework was added in
3de736b2
SW
217.Dx 1.0
218to implement the idea of a
219.Dq "live CD" .
984263bc 220.Sh AUTHORS
984263bc 221.An -nosplit
3de736b2
SW
222The
223.Nm
224infrastructure was written by
225.An Matthew Dillon .
984263bc 226This manual page was written by
3de736b2 227.An Sascha Wildner .