| Commit | Line | Data |
|---|---|---|
| 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 |
42 | provides a complete build environment suitable for users to make |
| 43 | full releases of the | |
| 9bb2a92d | 44 | .Dx |
| 984263bc | 45 | operating system. |
| 3de736b2 | 46 | All of the tools necessary to build releases are available from the |
| 3aa285d2 | 47 | git repository in |
| 3de736b2 SW |
48 | .Pa src/nrelease . |
| 49 | A complete release (that is, a live CD) can actually be built with | |
| 50 | only a single command. | |
| 984263bc | 51 | This command is aptly named |
| db80cfbf | 52 | .Dq Li "make release" . |
| 984263bc MD |
53 | .Pp |
| 54 | This document does not cover source code management, quality | |
| 55 | assurance, or other aspects of the release engineering process. | |
| 56 | .Sh TARGETS | |
| 3de736b2 SW |
57 | The release Makefile |
| 58 | .Pq Pa src/nrelease/Makefile | |
| 59 | defines a number of targets which are roughly modeled after the | |
| 60 | targets used for building the system. | |
| 61 | .Bl -tag -width ".Cm realquickrel" | |
| 62 | .It Cm release | |
| 6e160e0a SW |
63 | Builds world and kernel, installs them, adds packages and prepares the ISO |
| 64 | image. | |
| 3de736b2 SW |
65 | .It Cm quickrel |
| 66 | Same as | |
| 984263bc | 67 | .Cm release |
| 3de736b2 SW |
68 | but uses the |
| 69 | .Cm quickworld | |
| db80cfbf SW |
70 | target (alias |
| 71 | .Cm quick ) . | |
| 3de736b2 SW |
72 | .It Cm realquickrel |
| 73 | Same as | |
| 74 | .Cm release | |
| 75 | but uses the | |
| 76 | .Cm realquickworld | |
| db80cfbf SW |
77 | target (alias |
| 78 | .Cm realquick ) . | |
| 3de736b2 SW |
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. | |
| 6e160e0a SW |
85 | .It Cm fetch |
| 86 | Downloads the bootstrap kit and binary packages using | |
| 87 | .Xr fetch 1 . | |
| 984263bc MD |
88 | .El |
| 89 | .Pp | |
| 3de736b2 SW |
90 | The |
| 91 | .Cm quickrel | |
| 984263bc | 92 | and |
| 3de736b2 SW |
93 | .Cm realquickrel |
| 94 | targets will only work if a full | |
| 6e160e0a SW |
95 | .Cm buildworld |
| 96 | and | |
| 97 | .Cm buildkernel | |
| 98 | have been done before. | |
| 3de736b2 SW |
99 | For a description of the corresponding build targets, see |
| 100 | .Xr build 7 . | |
| 101 | .Pp | |
| afdaf7c1 | 102 | A number of additional targets may be specified along with |
| 3de736b2 | 103 | .Cm release , |
| db80cfbf SW |
104 | .Cm quickrel , |
| 105 | or | |
| 3de736b2 | 106 | .Cm realquickrel |
| afdaf7c1 SW |
107 | to add additional features: |
| 108 | .Bl -tag -width ".Cm realquickrel" | |
| 109 | .It Cm installer | |
| 110 | Adds the | |
| db80cfbf | 111 | .Bx |
| afdaf7c1 SW |
112 | Installer to the ISO (our standard LiveCD). |
| 113 | .It Cm gui | |
| 114 | Adds | |
| 115 | .Xr Xorg 1 | |
| 116 | along with some additional applications to the ISO (LiveDVD). | |
| 117 | .It Cm img | |
| 118 | In addition to the ISO, an image suitable for use with e.g., a USB thumb | |
| 119 | drive, will be created. | |
| 120 | .El | |
| 3de736b2 SW |
121 | .Pp |
| 122 | During the process of rolling a release a check is performed to find | |
| 123 | out if a number of external packages to be put on the CD exist on | |
| 124 | your system. | |
| 125 | If they cannot be found, the release process will stop and give | |
| 0bc71d4d | 126 | proper 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 | |
| 130 | Default prefix of | |
| 131 | .Va ISOFILE | |
| 132 | and | |
| 133 | .Va ISOROOT . | |
| 134 | .It Va ISOFILE | |
| 135 | Name of the ISO image to generate. | |
| 136 | .It Va ISOROOT | |
| 137 | Location where the image contents are installed to before the ISO is prepared. | |
| 138 | .It Va KERNCONF | |
| 139 | Kernel configuration(s) to use. | |
| 140 | .It Va PKGBIN_MKISOFS | |
| 141 | Location of the | |
| 142 | .Xr mkisofs 8 | |
| 143 | utility which is to be used during the build. | |
| 144 | .It Va PKGBIN_PKG_ADD | |
| 145 | Location of the | |
| 146 | .Xr pkg_add 1 | |
| 147 | utility which is to be used during the build. | |
| 148 | .It Va PKGBIN_PKG_ADMIN | |
| 149 | Location of the | |
| 150 | .Xr pkg_admin 1 | |
| 151 | utility which is to be used during the build. | |
| 152 | .It Va PKGBIN_PKG_DELETE | |
| 153 | Location of the | |
| 154 | .Xr pkg_delete 1 | |
| 155 | utility which is to be used during the build. | |
| 156 | .It Va PKGSRC_PACKAGES | |
| 157 | List of packages to be added to the ISO. | |
| 3f279b9e SW |
158 | .It Va PKGSRC_PKG_PATH |
| 159 | Specifies the location where binary | |
| 160 | .Xr pkgsrc 7 | |
| 161 | packages are kept. | |
| 3d152b4d | 162 | .It Va WITHOUT_SRCS |
| 6e160e0a | 163 | If set, this variable will prevent kernel source code from being copied to |
| 3d152b4d SW |
164 | .Pa /usr/src-sys.tar.bz2 |
| 165 | on the ISO image. | |
| afdaf7c1 SW |
166 | .It Va IMGFILE |
| 167 | The name of the image file (default is | |
| 168 | .Pa /usr/release/dfly.img ) . | |
| 169 | .It Va IMGMNT | |
| 170 | The mount point for the image (default is | |
| fb411313 | 171 | .Pa /usr/release/mnt ) . |
| afdaf7c1 SW |
172 | .It Va IMGUSBDEV |
| 173 | The 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 | 186 | The following sequence of commands is used to build a standard |
| 3aa285d2 MS |
187 | .Dx 2.0 |
| 188 | installation CD image (assuming that a local git repository is | |
| 3de736b2 | 189 | available): |
| 984263bc | 190 | .Bd -literal -offset indent |
| 3aa285d2 MS |
191 | cd /usr/src |
| 192 | git checkout -b rel2_0 crater/DragonFly_RELEASE_2_0 | |
| 193 | cd nrelease | |
| db80cfbf | 194 | make installer release |
| 984263bc MD |
195 | .Ed |
| 196 | .Pp | |
| 3de736b2 | 197 | After running these commands, the image will be available in the |
| 5ec7d445 | 198 | .Pa /usr/release |
| 984263bc | 199 | directory. |
| 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 |
214 | The |
| 215 | .Nm | |
| 216 | framework was added in | |
| 3de736b2 SW |
217 | .Dx 1.0 |
| 218 | to implement the idea of a | |
| 219 | .Dq "live CD" . | |
| 984263bc | 220 | .Sh AUTHORS |
| 984263bc | 221 | .An -nosplit |
| 3de736b2 SW |
222 | The |
| 223 | .Nm | |
| 224 | infrastructure was written by | |
| 225 | .An Matthew Dillon . | |
| 984263bc | 226 | This manual page was written by |
| 3de736b2 | 227 | .An Sascha Wildner . |