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 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 ENVIRONMENT 116.Bl -tag -width ".Va WITHOUT_SRCS" 117.It Va WITHOUT_SRCS 118If set, this variable will prevent kernel source code from being copied 119to 120.Pa /usr/src-sys.tar.bz2 121on 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 131The following sequence of commands is used to build a standard 132.Dx 1.4 133installation CD image (assuming that a local CVS repository is 134available): 135.Bd -literal -offset indent 136cd /usr 137cvs co -rDragonFly_RELEASE_1_4 src 138cd src/nrelease 139make installer_release 140.Ed 141.Pp 142After running these commands, the image will be available in the 143.Pa /usr/release 144directory. 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 152was added in 153.Dx 1.0 154to implement the idea of a 155.Dq "live CD" . 156.Sh AUTHORS 157.An -nosplit 158The 159.Nm 160infrastructure was written by 161.An Matthew Dillon . 162This manual page was written by 163.An Sascha Wildner . 164.Sh BUGS 165There are more targets and variables in 166.Pa src/nrelease/Makefile 167that should be documented. 168