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.7 2006/04/28 20:16:26 swildner Exp $ 33.\" 34.Dd March 10, 2006 35.Dt RELEASE 7 36.Os 37.Sh NAME 38.Nm release 39.Nd "release building infrastructure" 40.Sh DESCRIPTION 41.Dx 42provides a complete build environment suitable for users to make 43full releases of the 44.Dx 45operating system. 46All of the tools necessary to build releases are available from the 47CVS repository in 48.Pa src/nrelease . 49A complete release (that is, a live CD) can actually be built with 50only a single command. 51This command is aptly named 52.Dq Li "make release" 53(or 54.Dq Li "make installer_release" , 55see below). 56.Pp 57This document does not cover source code management, quality 58assurance, or other aspects of the release engineering process. 59.Sh TARGETS 60The release Makefile 61.Pq Pa src/nrelease/Makefile 62defines a number of targets which are roughly modeled after the 63targets used for building the system. 64.Bl -tag -width ".Cm realquickrel" 65.It Cm release 66Builds a vanilla live CD. 67.It Cm quickrel 68Same as 69.Cm release 70but uses the 71.Cm quickworld 72target. 73.It Cm realquickrel 74Same as 75.Cm release 76but uses the 77.Cm realquickworld 78target. 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. 85.El 86.Pp 87The 88.Cm quickrel 89and 90.Cm realquickrel 91targets will only work if a full 92.Dq Li "make release" 93has been done before. 94For a description of the corresponding build targets, see 95.Xr build 7 . 96.Pp 97The 98.Cm release , 99.Cm quickrel 100and 101.Cm realquickrel 102targets all have corresponding targets with 103.Dq Li installer_ 104prefixed (e.g., 105.Cm installer_release ) 106which cause the BSD installer from 107.Pa http://www.bsdinstaller.org 108to be added to the resulting ISO image. 109.Pp 110During the process of rolling a release a check is performed to find 111out if a number of external packages to be put on the CD exist on 112your system. 113If they cannot be found, the release process will stop and give 114proper commands for downloading and setting up these packages. 115.Sh FILES 116.Bl -tag -compact 117.It Pa /etc/make.conf 118.It Pa src/Makefile 119.It Pa src/Makefile.inc1 120.It Pa src/nrelease/Makefile 121.El 122.Sh EXAMPLES 123The following sequence of commands is used to build a standard 124.Dx 1.4 125installation CD image (assuming that a local CVS repository is 126available): 127.Bd -literal -offset indent 128cd /usr 129cvs co -rDragonFly_RELEASE_1_4 src 130cd src/nrelease 131make installer_release 132.Ed 133.Pp 134After running these commands, the image will be available in the 135.Pa /usr/release 136directory. 137.Sh SEE ALSO 138.Xr cvs 1 , 139.Xr make 1 , 140.Xr make.conf 5 , 141.Xr build 7 142.Sh HISTORY 143.Pa src/nrelease 144was added in 145.Dx 1.0 146to implement the idea of a 147.Dq "live CD" . 148.Sh AUTHORS 149.An -nosplit 150The 151.Nm 152infrastructure was written by 153.An Matthew Dillon . 154This manual page was written by 155.An Sascha Wildner . 156.Sh BUGS 157There are more targets and variables in 158.Pa src/nrelease/Makefile 159that should be documented. 160