nrelease.7: /dev/da8 is the default IMGUSBDEV.
[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.\"
e2dbfa0b 34.Dd February 11, 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"
e2dbfa0b
TN
62.It Cm help
63Offer some help.
3de736b2 64.It Cm release
6e160e0a
SW
65Builds world and kernel, installs them, adds packages and prepares the ISO
66image.
3de736b2
SW
67.It Cm quickrel
68Same as
984263bc 69.Cm release
3de736b2
SW
70but uses the
71.Cm quickworld
db80cfbf
SW
72target (alias
73.Cm quick ) .
3de736b2
SW
74.It Cm realquickrel
75Same as
76.Cm release
77but uses the
78.Cm realquickworld
db80cfbf
SW
79target (alias
80.Cm realquick ) .
3de736b2
SW
81.It Cm clean
82Removes the ISO root directory and object files.
83.It Cm realclean
84Same as
85.Cm clean
86but also removes external packages.
6e160e0a 87.It Cm fetch
e2dbfa0b 88Downloads binary packages using
6e160e0a 89.Xr fetch 1 .
984263bc
MD
90.El
91.Pp
3de736b2
SW
92The
93.Cm quickrel
984263bc 94and
3de736b2
SW
95.Cm realquickrel
96targets will only work if a full
6e160e0a
SW
97.Cm buildworld
98and
99.Cm buildkernel
100have been done before.
3de736b2
SW
101For a description of the corresponding build targets, see
102.Xr build 7 .
103.Pp
afdaf7c1 104A number of additional targets may be specified along with
3de736b2 105.Cm release ,
db80cfbf
SW
106.Cm quickrel ,
107or
3de736b2 108.Cm realquickrel
afdaf7c1
SW
109to add additional features:
110.Bl -tag -width ".Cm realquickrel"
afdaf7c1
SW
111.It Cm gui
112Adds
113.Xr Xorg 1
114along with some additional applications to the ISO (LiveDVD).
115.It Cm img
116In addition to the ISO, an image suitable for use with e.g., a USB thumb
117drive, will be created.
118.El
3de736b2
SW
119.Pp
120During the process of rolling a release a check is performed to find
e2dbfa0b 121out if external packages to be put on the CD exist on your system.
3de736b2 122If they cannot be found, the release process will stop and give
0bc71d4d 123proper commands for downloading and setting up these packages.
3d152b4d 124.Sh ENVIRONMENT
e2dbfa0b 125.Bl -tag -width ".Va PKGSRC_EXTRA_PACKAGES"
6e160e0a
SW
126.It Va ISODIR
127Default prefix of
128.Va ISOFILE
129and
e2dbfa0b
TN
130.Va ISOROOT
131(default is
132.Pa /usr/release ) .
6e160e0a 133.It Va ISOFILE
e2dbfa0b
TN
134Name of the ISO image to generate (default is
135.Pa /usr/release/dfly.iso ) .
6e160e0a
SW
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.
e2dbfa0b
TN
158.It Va PKGSRC_EXTRA_PACKAGES
159List of packages, in addition to
160.Va PKGSRC_PACKAGES ,
161to be added to the ISO.
162.It Va PKGSRC_PATH
163Location of
164.Xr pkgsrc 7
165tree to be used for package building.
3f279b9e
SW
166.It Va PKGSRC_PKG_PATH
167Specifies the location where binary
168.Xr pkgsrc 7
169packages are kept.
3d152b4d 170.It Va WITHOUT_SRCS
e2dbfa0b
TN
171If set, this variable will prevent source code from being copied to
172the ISO image.
afdaf7c1
SW
173.It Va IMGFILE
174The name of the image file (default is
175.Pa /usr/release/dfly.img ) .
176.It Va IMGMNT
177The mount point for the image (default is
fb411313 178.Pa /usr/release/mnt ) .
afdaf7c1
SW
179.It Va IMGUSBDEV
180The disk device to use in the image's
181.Xr fstab 5
182(default is
86e91f6b 183.Pa /dev/da8 ) .
3d152b4d 184.El
984263bc
MD
185.Sh FILES
186.Bl -tag -compact
187.It Pa /etc/make.conf
3de736b2
SW
188.It Pa src/Makefile
189.It Pa src/Makefile.inc1
190.It Pa src/nrelease/Makefile
984263bc
MD
191.El
192.Sh EXAMPLES
3de736b2 193The following sequence of commands is used to build a standard
3aa285d2
MS
194.Dx 2.0
195installation CD image (assuming that a local git repository is
e2dbfa0b
TN
196available, see
197.Xr development 7
198for how to get this):
984263bc 199.Bd -literal -offset indent
3aa285d2
MS
200cd /usr/src
201git checkout -b rel2_0 crater/DragonFly_RELEASE_2_0
202cd nrelease
f4ec1279 203make release
984263bc
MD
204.Ed
205.Pp
3de736b2 206After running these commands, the image will be available in the
5ec7d445 207.Pa /usr/release
984263bc 208directory.
8f8c94b3 209.\".Pp
3aa285d2
MS
210.\"The steps required for engineering a release are documented in (CVS)
211.\".Pa doc/notes/release.txt
212.\"(how to branch the CVS tree etc.)
213.\"They were put in an out of the way place so normal developers would not
214.\"accidentally try to run the commands in question.
984263bc 215.Sh SEE ALSO
3aa285d2 216.Xr git 1 ,
984263bc 217.Xr make 1 ,
984263bc 218.Xr make.conf 5 ,
3f279b9e 219.Xr build 7 ,
127e04d4 220.Xr development 7 ,
3f279b9e 221.Xr pkgsrc 7
984263bc 222.Sh HISTORY
6e160e0a
SW
223The
224.Nm
225framework was added in
3de736b2
SW
226.Dx 1.0
227to implement the idea of a
228.Dq "live CD" .
984263bc 229.Sh AUTHORS
984263bc 230.An -nosplit
3de736b2
SW
231The
232.Nm
233infrastructure was written by
234.An Matthew Dillon .
984263bc 235This manual page was written by
3de736b2 236.An Sascha Wildner .