xref: /freebsd/share/man/man7/release.7 (revision 299a8b95acffd0ba0006856a2380fcf8fb0a95b4)
1afb33690SMurray Stokely.\" Copyright (c) 2002 Murray Stokely <murray@FreeBSD.org>
2afb33690SMurray Stokely.\" All rights reserved.
3de26e0adSMurray Stokely.\"
4de26e0adSMurray Stokely.\" Redistribution and use in source and binary forms, with or without
5de26e0adSMurray Stokely.\" modification, are permitted provided that the following conditions
6de26e0adSMurray Stokely.\" are met:
7de26e0adSMurray Stokely.\" 1. Redistributions of source code must retain the above copyright
8de26e0adSMurray Stokely.\"    notice, this list of conditions and the following disclaimer.
9de26e0adSMurray Stokely.\" 2. Redistributions in binary form must reproduce the above copyright
10de26e0adSMurray Stokely.\"    notice, this list of conditions and the following disclaimer in the
11de26e0adSMurray Stokely.\"    documentation and/or other materials provided with the distribution.
12de26e0adSMurray Stokely.\"
13de26e0adSMurray Stokely.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14de26e0adSMurray Stokely.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15de26e0adSMurray Stokely.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16de26e0adSMurray Stokely.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
17de26e0adSMurray Stokely.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18de26e0adSMurray Stokely.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19de26e0adSMurray Stokely.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20de26e0adSMurray Stokely.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21de26e0adSMurray Stokely.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22de26e0adSMurray Stokely.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23de26e0adSMurray Stokely.\" SUCH DAMAGE.
24de26e0adSMurray Stokely.\"
25de26e0adSMurray Stokely.\" $FreeBSD$
26de26e0adSMurray Stokely.\"
27e8423d00SNathan Whitehorn.Dd March 18, 2011
28de26e0adSMurray Stokely.Dt RELEASE 7
29de26e0adSMurray Stokely.Os
30de26e0adSMurray Stokely.Sh NAME
31de26e0adSMurray Stokely.Nm release
32afb33690SMurray Stokely.Nd "release building infrastructure"
33de26e0adSMurray Stokely.Sh DESCRIPTION
34de26e0adSMurray Stokely.Fx
35de26e0adSMurray Stokelyprovides a complete build environment suitable for users to make
36de26e0adSMurray Stokelyfull releases of the
37de26e0adSMurray Stokely.Fx
38994c71f0SMurray Stokelyoperating system.
39de26e0adSMurray StokelyAll of the tools necessary to build a release are available from the
40de26e0adSMurray StokelyCVS repository in
41de26e0adSMurray Stokely.Pa src/release .
42de26e0adSMurray StokelyA complete release can actually be built with only a single command,
43eee69fccSMurray Stokelyincluding the creation of ISO images suitable for burning to CD-ROM,
44de26e0adSMurray Stokelyinstallation floppies, and an FTP install directory.
45de26e0adSMurray StokelyThis command is aptly named
46afb33690SMurray Stokely.Dq Li "make release" .
47de26e0adSMurray Stokely.Pp
48e8423d00SNathan WhitehornFor some users, it may be desirable to provide an absolutely clean
49e8423d00SNathan Whitehornbuild environment, with no local modifications to the source tree or to
50e8423d00SNathan Whitehorn.Xr make.conf 5 ,
51e8423d00SNathan Whitehornand with clean checkouts of specific versions of the doc, src, and ports
52e8423d00SNathan Whitehorntrees. For this purpose, a script
53e8423d00SNathan Whitehorn.Pq Pa src/release/generate-release.sh
54e8423d00SNathan Whitehornis provided to automate these checkouts and then execute
55e8423d00SNathan Whitehorn.Dq Li "make release"
56e8423d00SNathan Whitehornin a clean
57e8423d00SNathan Whitehorn.Xr chroot 8 .
58e8423d00SNathan Whitehorn.Pp
59de26e0adSMurray StokelyBefore attempting to build a release, the user is expected to be
60994c71f0SMurray Stokelyfamiliar with the contents of
61de26e0adSMurray Stokely.Xr build 7 ,
6247280c4bSRuslan Ermilovand should have experience upgrading systems from source.
63e8423d00SNathan Whitehorn.Pp
64de26e0adSMurray StokelyThe release build process requires that
65de26e0adSMurray Stokely.Pa /usr/obj
66de26e0adSMurray Stokelybe populated with the output of
67e8423d00SNathan Whitehorn.Dq Li "make buildworld" .
68e8423d00SNathan WhitehornThis is necessary to provide the object files for the release or, when
69e8423d00SNathan Whitehornusing
70e8423d00SNathan Whitehorn.Pa generate-release.sh ,
71e8423d00SNathan Whitehornso that the object files for a complete system can be installed into a clean
72de26e0adSMurray Stokely.Xr chroot 8
73e8423d00SNathan Whitehornenvironment. In this second case, the built world must be capable of running
74e8423d00SNathan Whitehornon the build system (i.e. it must be for the same architecture and be
75e8423d00SNathan Whitehorncompatible with the installed kernel).
76e8423d00SNathan WhitehornThe release procedure on some architectures may also require that the
77994c71f0SMurray Stokely.Xr md 4
78994c71f0SMurray Stokely(memory disk) device driver be present in the kernel
79919b0026SDavid E. O'Brien(either by being compiled in or available as a module).
80de26e0adSMurray Stokely.Pp
81de26e0adSMurray StokelyThis document does not cover source code management, quality
82de26e0adSMurray Stokelyassurance, or other aspects of the release engineering process.
83e8423d00SNathan Whitehorn.Sh CLEAN RELEASE GENERATION
84e8423d00SNathan WhitehornOfficial releases of FreeBSD are produced in a totally clean environment to
85e8423d00SNathan Whitehornensure consistency between the versions of the src, ports, and doc trees
86e8423d00SNathan Whitehornand to avoid contamination from the host system (e.g. local patches, changes
87e8423d00SNathan Whitehornto
88e8423d00SNathan Whitehorn.Xr make.conf 5 ,
89e8423d00SNathan Whitehornetc.). This is accomplished using the wrapper script
90e8423d00SNathan Whitehorn.Pa src/release/generate-release.sh .
91e8423d00SNathan Whitehorn.Pp
92e8423d00SNathan Whitehorn.Ic generate-release.sh
93e8423d00SNathan Whitehornsvn-branch scratch-dir
94e8423d00SNathan Whitehorn.Pp
95e8423d00SNathan Whitehorn.Ic generate-release.sh
96e8423d00SNathan Whitehorncalls
97e8423d00SNathan Whitehorn.Dq Li "make installworld"
98e8423d00SNathan Whitehornto generate a
99e8423d00SNathan Whitehorn.Xr chroot 8
100e8423d00SNathan Whitehornenvironment in
101e8423d00SNathan Whitehorn.Ar scratch-dir .
102e8423d00SNathan WhitehornIt then checks out the src tree specified by
103e8423d00SNathan Whitehorn.Ar svn-branch
104e8423d00SNathan Whitehornusing
105e8423d00SNathan Whitehorn.Xr svn 1
106e8423d00SNathan Whitehornand (optionally) the ports and documentation trees using
107e8423d00SNathan Whitehorn.Xr csup 1
108e8423d00SNathan Whitehornor
109e8423d00SNathan Whitehorn.Xr cvs 1 .
110e8423d00SNathan WhitehornOnce the various source trees have been obtained, it executes
111e8423d00SNathan Whitehorn.Dq Li "make release"
112e8423d00SNathan Whitehornwithin the
113e8423d00SNathan Whitehorn.Xr chroot 8
114e8423d00SNathan Whitehornenvironment and places the result in
115e8423d00SNathan Whitehorn.Pa $scratch-dir/R .
116e8423d00SNathan WhitehornNote that because this uses a chroot, it cannot be used to cross-build
117e8423d00SNathan Whitehorn.Fx
118e8423d00SNathan Whitehornrelease media.
119e8423d00SNathan Whitehorn.Pp
120e8423d00SNathan WhitehornEnvironment variables:
121e8423d00SNathan Whitehorn.Bl -tag -width ".Cm MAKE_FLAGS"
122e8423d00SNathan Whitehorn.It Ev CVSUP_HOST
123e8423d00SNathan WhitehornThe CVSUP server to use for the doc and ports trees. One of
124e8423d00SNathan Whitehorn.Ev CVSUP_HOST
125e8423d00SNathan Whitehornor
126e8423d00SNathan Whitehorn.Ev CVSROOT
127e8423d00SNathan Whitehornmust be specified for ports and documentation to be included in the release.
128e8423d00SNathan Whitehorn.It Ev CVSROOT
129e8423d00SNathan WhitehornThe location of the
130e8423d00SNathan Whitehorn.Fx
131e8423d00SNathan WhitehornCVS repository to use for the doc and ports trees. One of
132e8423d00SNathan Whitehorn.Ev CVSUP_HOST
133e8423d00SNathan Whitehornor
134e8423d00SNathan Whitehorn.Ev CVSROOT
135e8423d00SNathan Whitehornmust be specified for ports and documentation to be included in the release.
136e8423d00SNathan Whitehorn.It Ev CVS_TAG
137e8423d00SNathan WhitehornIf the variable
138e8423d00SNathan Whitehorn.Ev CVS_TAG
139e8423d00SNathan Whitehornis set, that tag will be used for CVS checkouts (doc and ports), otherwise
140e8423d00SNathan Whitehorn.Ic generate-release.sh
141e8423d00SNathan Whitehornwill use HEAD.
142e8423d00SNathan Whitehorn.It Ev MAKE_FLAGS
143e8423d00SNathan WhitehornThis environment variable can be set to pass flags (e.g. -j) to
144e8423d00SNathan Whitehorn.Xr make 1
145e8423d00SNathan Whitehornwhen invoked by the script.
146e8423d00SNathan Whitehorn.It Ev SVNROOT
147e8423d00SNathan WhitehornThe location of the FreeBSD SVN source repository. Defaults to
148e8423d00SNathan Whitehorn.Pa svn://svn.freebsd.org/base .
149e8423d00SNathan Whitehorn.El
150e8423d00SNathan Whitehorn.Sh MAKEFILE TARGETS
151de26e0adSMurray StokelyThe release makefile
152994c71f0SMurray Stokely.Pq Pa src/release/Makefile
153de26e0adSMurray Stokelyis fairly abstruse.
154de26e0adSMurray StokelyMost developers will only be concerned with the
155afb33690SMurray Stokely.Cm release
156*299a8b95SNathan Whitehornand
157*299a8b95SNathan Whitehorn.Cm install
158*299a8b95SNathan Whitehorntargets.
159994c71f0SMurray Stokely.\" XXX: Some sort of introduction to this list?  All the others have one.
160e8423d00SNathan Whitehorn.Bl -tag -width ".Cm packagesystem"
161afb33690SMurray Stokely.It Cm release
162e8423d00SNathan WhitehornMeta-target to build all release media and distributions applicable to this
163*299a8b95SNathan Whitehornplatform.
164*299a8b95SNathan Whitehorn.It Cm install
165*299a8b95SNathan WhitehornCopy all produced release media to
166*299a8b95SNathan Whitehorn.Pa ${DESTDIR} .
167e8423d00SNathan Whitehorn.It Cm cdrom
168e8423d00SNathan WhitehornBuilds installation CD-ROM images. On some systems, this may require that
169e8423d00SNathan Whitehorn.Xr mkisofs 8
170e8423d00SNathan Whitehornbe installed
171e8423d00SNathan Whitehorn.Pq Pa sysutils/cdrtools
172e8423d00SNathan Whitehornand possibly that the
173e8423d00SNathan Whitehorn.Xr md 4
174e8423d00SNathan Whitehorn(memory disk) device driver be present in the kernel
175e8423d00SNathan Whitehorn(either by being compiled in or available as a module). This target
176*299a8b95SNathan Whitehornproduces files called
177e8423d00SNathan Whitehorn.Pa release.iso
178*299a8b95SNathan Whitehornand
179*299a8b95SNathan Whitehorn.Pa bootonly.iso
180e8423d00SNathan Whitehornas its output.
181e8423d00SNathan Whitehorn.It Cm memstick
182e8423d00SNathan WhitehornBuilds an installation memory stick image named
183e8423d00SNathan Whitehorn.Pa memstick .
184e8423d00SNathan WhitehornNot applicable on all platforms. Requires that the
185e8423d00SNathan Whitehorn.Xr md 4
186e8423d00SNathan Whitehorn(memory disk) device driver be present in the kernel
187e8423d00SNathan Whitehorn(either by being compiled in or available as a module).
188e8423d00SNathan Whitehorn.It Cm ftp
189e8423d00SNathan WhitehornCreates a directory named
190e8423d00SNathan Whitehorn.Pa ftp
191e8423d00SNathan Whitehorncontaining the distribution files used in network installations
192e8423d00SNathan Whitehornand suitable for upload to an FTP mirror.
193de26e0adSMurray Stokely.El
194de26e0adSMurray Stokely.Pp
195e8423d00SNathan WhitehornMajor subtargets called by targets above:
196e8423d00SNathan Whitehorn.Bl -tag -width ".Cm packagesystem"
197e8423d00SNathan Whitehorn.It Cm packagesystem
198e8423d00SNathan WhitehornGenerates all the distribution archives (e.g. base, kernel, ports, doc)
199e8423d00SNathan Whitehornapplicable on this platform.
200e8423d00SNathan Whitehorn.It Cm system
201e8423d00SNathan WhitehornBuilds a bootable installation system containing all the distribution files
202e8423d00SNathan Whitehornpackaged by the
203e8423d00SNathan Whitehorn.Cm packagesystem
204e8423d00SNathan Whitehorntarget, and suitable for imaging by the
205e8423d00SNathan Whitehorn.Cm cdrom
206e8423d00SNathan Whitehornand
207e8423d00SNathan Whitehorn.Cm memstick
208e8423d00SNathan Whitehorntargets.
209e8423d00SNathan Whitehorn.It Cm reldoc
210994c71f0SMurray StokelyBuilds the release documentation.
211994c71f0SMurray StokelyThis includes the release notes,
212e8423d00SNathan Whitehornhardware guide, and installation instructions. Other documentation (e.g.
213e8423d00SNathan Whitehornthe Handbook) is built during the
214e8423d00SNathan Whitehorn.Cm base.txz
215e8423d00SNathan Whitehorntarget invoked by
216e8423d00SNathan Whitehorn.Cm packagesystem.
217de26e0adSMurray Stokely.El
218de26e0adSMurray Stokely.Sh ENVIRONMENT
219de26e0adSMurray StokelyOptional variables:
220e8423d00SNathan Whitehorn.Bl -tag -width ".Va TARGET_ARCH"
221e8423d00SNathan Whitehorn.It Va WORLDDIR
222e8423d00SNathan WhitehornLocation of a directory containing the src tree. By default, the directory
223e8423d00SNathan Whitehornabove the one containing the makefile
224e8423d00SNathan Whitehorn.Pq Pa src .
225e8423d00SNathan Whitehorn.It Va PORTSDIR
226e8423d00SNathan WhitehornLocation of a directory containing the ports tree. By default,
227e8423d00SNathan Whitehorn.Pa /usr/ports .
228e8423d00SNathan WhitehornIf it is unset or cannot be found, ports will not be included in the release.
229e8423d00SNathan Whitehorn.It Va DOCDIR
230e8423d00SNathan WhitehornLocation of a directory containing the doc tree. By default,
231e8423d00SNathan Whitehorn.Pa /usr/doc .
232e8423d00SNathan WhitehornIf it is unset or cannot be found, most documentation will not be included in
233e8423d00SNathan Whitehornthe release; see
234e8423d00SNathan Whitehorn.Ev NODOC
235e8423d00SNathan Whitehornbelow.
236e8423d00SNathan Whitehorn.It Va NOPORTS
237e8423d00SNathan WhitehornIf defined, the Ports Collection will be omitted from the release.
238e8423d00SNathan Whitehorn.It Va NOSRC
239e8423d00SNathan WhitehornIf set, do not include system source code in the release.
2401bcf2f1aSMurray Stokely.It Va NODOC
2418d2a74b6SMurray StokelyIf defined, the SGML-based documentation from the
242de26e0adSMurray Stokely.Fx
243eee69fccSMurray StokelyDocumentation Project will not be built.
244eee69fccSMurray StokelyHowever, the
245eee69fccSMurray Stokely.Dq doc
246eee69fccSMurray Stokelydistribution will still be created with the minimal documentation set
247eee69fccSMurray Stokelyprovided in
248eee69fccSMurray Stokely.Pa src/share/doc .
24925923b97SRuslan Ermilov.It Va TARGET
25025923b97SRuslan ErmilovThe target hardware platform.
25125923b97SRuslan ErmilovThis is analogous to the
25225923b97SRuslan Ermilov.Dq Nm uname Fl m
25325923b97SRuslan Ermilovoutput.
25425923b97SRuslan ErmilovThis is necessary to cross-build some target architectures.
25525923b97SRuslan ErmilovFor example, cross-building for PC98 machines requires
25625923b97SRuslan Ermilov.Va TARGET_ARCH Ns = Ns Li i386
25725923b97SRuslan Ermilovand
25825923b97SRuslan Ermilov.Va TARGET Ns = Ns Li pc98 .
259e8423d00SNathan WhitehornIf not set,
260e8423d00SNathan Whitehorn.Va TARGET
261e8423d00SNathan Whitehorndefaults to the current hardware platform.
262e8423d00SNathan Whitehorn.It Va TARGET_ARCH
263e8423d00SNathan WhitehornThe target machine processor architecture.
264e8423d00SNathan WhitehornThis is analogous to the
265e8423d00SNathan Whitehorn.Dq Nm uname Fl p
266e8423d00SNathan Whitehornoutput.
267e8423d00SNathan WhitehornSet this to cross-build for a different architecture.
268e8423d00SNathan WhitehornIf not set,
269e8423d00SNathan Whitehorn.Va TARGET_ARCH
270e8423d00SNathan Whitehorndefaults to the current machine architecture, unless
271e8423d00SNathan Whitehorn.Va TARGET
272e8423d00SNathan Whitehornis also set, in which case it defaults to the appropriate
273e8423d00SNathan Whitehornvalue for that platform.
274e8423d00SNathan WhitehornTypically, one only needs to set
275e8423d00SNathan Whitehorn.Va TARGET .
276de26e0adSMurray Stokely.El
277de26e0adSMurray Stokely.Sh FILES
278de26e0adSMurray Stokely.Bl -tag -compact
279de26e0adSMurray Stokely.It Pa /usr/doc/Makefile
280de26e0adSMurray Stokely.It Pa /usr/doc/share/mk/doc.project.mk
281de26e0adSMurray Stokely.It Pa /usr/ports/Mk/bsd.port.mk
282de26e0adSMurray Stokely.It Pa /usr/ports/Mk/bsd.sites.mk
283de26e0adSMurray Stokely.It Pa /usr/share/examples/etc/make.conf
284de26e0adSMurray Stokely.It Pa /usr/src/Makefile
285de26e0adSMurray Stokely.It Pa /usr/src/Makefile.inc1
286de26e0adSMurray Stokely.It Pa /usr/src/release/Makefile
287e8423d00SNathan Whitehorn.It Pa /usr/src/release/generate-release.sh
288de26e0adSMurray Stokely.El
289de26e0adSMurray Stokely.Sh EXAMPLES
290e8423d00SNathan WhitehornThe following sequence of commands can be used to build a
291e8423d00SNathan Whitehorn.Dq "-CURRENT snapshot":
292de26e0adSMurray Stokely.Bd -literal -offset indent
293de26e0adSMurray Stokelycd /usr
294e8423d00SNathan Whitehornsvn co svn://svn.freebsd.org/base/head src
295de26e0adSMurray Stokelycd src
296de26e0adSMurray Stokelymake buildworld
297de26e0adSMurray Stokelycd release
298*299a8b95SNathan Whitehornmake release install DESTDIR=/var/freebsd-snapshot
299de26e0adSMurray Stokely.Ed
300de26e0adSMurray Stokely.Pp
301*299a8b95SNathan WhitehornAfter running these commands, all produced distribution files (tarballs
302*299a8b95SNathan Whitehornfor FTP, CD-ROM images, etc.) are available in the
303*299a8b95SNathan Whitehorn.Pa /var/freebsd-snapshot
304de26e0adSMurray Stokelydirectory.
305de26e0adSMurray Stokely.Pp
306994c71f0SMurray StokelyThe following sequence of commands can be used to build a
3071bcf2f1aSMurray Stokely.Dq "-CURRENT snapshot"
308e8423d00SNathan Whitehornin a clean environment, including ports and documentation:
309de26e0adSMurray Stokely.Bd -literal -offset indent
310de26e0adSMurray Stokelycd /usr/src
311de26e0adSMurray Stokelymake buildworld
312de26e0adSMurray Stokelycd release
313e8423d00SNathan Whitehornexport CVSUP_HOST=cvsupN.freebsd.org
314e8423d00SNathan Whitehornsh generate-release.sh head /local3/release
315de26e0adSMurray Stokely.Ed
316e8423d00SNathan Whitehorn.Pp
317e8423d00SNathan WhitehornAfter running these commands, all prepared release files are available in the
318e8423d00SNathan Whitehorn.Pa /local3/release/R
319e8423d00SNathan Whitehorndirectory.
320de26e0adSMurray Stokely.Sh SEE ALSO
321de26e0adSMurray Stokely.Xr cc 1 ,
322afb33690SMurray Stokely.Xr cvs 1 ,
323de26e0adSMurray Stokely.Xr install 1 ,
324de26e0adSMurray Stokely.Xr make 1 ,
325594ca9baSTom Rhodes.Xr svn 1 Pq Pa ports/devel/subversion-freebsd ,
326de26e0adSMurray Stokely.Xr uname 1 ,
327afb33690SMurray Stokely.Xr md 4 ,
328de26e0adSMurray Stokely.Xr make.conf 5 ,
329de26e0adSMurray Stokely.Xr build 7 ,
330de26e0adSMurray Stokely.Xr ports 7 ,
331afb33690SMurray Stokely.Xr chroot 8 ,
332f5178c4fSMurray Stokely.Xr mtree 8 ,
333f5178c4fSMurray Stokely.Xr sysctl 8
334994c71f0SMurray Stokely.Rs
3351bcf2f1aSMurray Stokely.%T "FreeBSD Release Engineering"
336aa4a335bSRuslan Ermilov.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/
337994c71f0SMurray Stokely.Re
338994c71f0SMurray Stokely.Rs
3391bcf2f1aSMurray Stokely.%T "FreeBSD Release Engineering of Third Party Packages"
340aa4a335bSRuslan Ermilov.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng-packages/
341994c71f0SMurray Stokely.Re
342994c71f0SMurray Stokely.Rs
3431bcf2f1aSMurray Stokely.%T "FreeBSD Developers' Handbook"
344aa4a335bSRuslan Ermilov.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/
345994c71f0SMurray Stokely.Re
346de26e0adSMurray Stokely.Sh HISTORY
347de26e0adSMurray Stokely.Fx
348de26e0adSMurray Stokely1.x
3491bcf2f1aSMurray Stokelyused a manual checklist, compiled by
3501bcf2f1aSMurray Stokely.An Rod Grimes ,
3511bcf2f1aSMurray Stokelyto produce a release.
352de26e0adSMurray StokelyApart from being incomplete, the list put a lot of specific demands on
353de26e0adSMurray Stokelyavailable file systems and was quite torturous to execute.
354de26e0adSMurray Stokely.Pp
355994c71f0SMurray StokelyAs part of the
356994c71f0SMurray Stokely.Fx 2.0
357994c71f0SMurray Stokelyrelease engineering effort, significant
358de26e0adSMurray Stokelyeffort was spent getting
359de26e0adSMurray Stokely.Pa src/release/Makefile
360de26e0adSMurray Stokelyinto a shape where it could at least automate most of the tediousness
361de26e0adSMurray Stokelyof building a release in a sterile environment.
362de26e0adSMurray Stokely.Pp
363e8423d00SNathan WhitehornFor the
364e8423d00SNathan Whitehorn.Fx 9.0
365e8423d00SNathan Whitehornrelease,
366e8423d00SNathan Whitehorn.Pa src/release/Makefile
367e8423d00SNathan Whitehornwas overhauled and the wrapper script
368e8423d00SNathan Whitehorn.Pa src/release/generate-release.sh
369e8423d00SNathan Whitehornintroduced to support the introduction of a new installer.
370e8423d00SNathan Whitehorn.Pp
371594ca9baSTom RhodesAt near 1000 revisions spread over multiple branches, the
372afb33690SMurray Stokely.Xr cvs 1
373994c71f0SMurray Stokelylog of
374994c71f0SMurray Stokely.Pa src/release/Makefile
375994c71f0SMurray Stokelycontains a vivid historical record of some
376de26e0adSMurray Stokelyof the hardships release engineers go through.
377de26e0adSMurray Stokely.Sh AUTHORS
378de26e0adSMurray Stokely.Pa src/release/Makefile
379afb33690SMurray Stokelywas originally written by
380afb33690SMurray Stokely.An -nosplit
381afb33690SMurray Stokely.An Rod Grimes ,
382afb33690SMurray Stokely.An Jordan Hubbard ,
383afb33690SMurray Stokelyand
384afb33690SMurray Stokely.An Poul-Henning Kamp .
385994c71f0SMurray StokelyThis manual page was written by
386de26e0adSMurray Stokely.An Murray Stokely Aq murray@FreeBSD.org .
387