xref: /freebsd/share/man/man7/release.7 (revision 82f39c10fe6119699c1111b30dbea325b950f937)
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.\"
275af5af75SGleb Smirnoff.Dd January 14, 2012
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
40feacd98eSNathan Whitehorn.Fx
41feacd98eSNathan Whitehornsource code repository in
42de26e0adSMurray Stokely.Pa src/release .
43de26e0adSMurray StokelyA complete release can actually be built with only a single command,
44eee69fccSMurray Stokelyincluding the creation of ISO images suitable for burning to CD-ROM,
45feacd98eSNathan Whitehornmemory stick images, and an FTP install directory.
46de26e0adSMurray StokelyThis command is aptly named
47afb33690SMurray Stokely.Dq Li "make release" .
48de26e0adSMurray Stokely.Pp
49e8423d00SNathan WhitehornFor some users, it may be desirable to provide an absolutely clean
50e8423d00SNathan Whitehornbuild environment, with no local modifications to the source tree or to
51e8423d00SNathan Whitehorn.Xr make.conf 5 ,
52e8423d00SNathan Whitehornand with clean checkouts of specific versions of the doc, src, and ports
53e8423d00SNathan Whitehorntrees. For this purpose, a script
54e8423d00SNathan Whitehorn.Pq Pa src/release/generate-release.sh
55e8423d00SNathan Whitehornis provided to automate these checkouts and then execute
56e8423d00SNathan Whitehorn.Dq Li "make release"
57e8423d00SNathan Whitehornin a clean
58e8423d00SNathan Whitehorn.Xr chroot 8 .
59e8423d00SNathan Whitehorn.Pp
60de26e0adSMurray StokelyBefore attempting to build a release, the user is expected to be
61994c71f0SMurray Stokelyfamiliar with the contents of
62de26e0adSMurray Stokely.Xr build 7 ,
6347280c4bSRuslan Ermilovand should have experience upgrading systems from source.
64e8423d00SNathan Whitehorn.Pp
65de26e0adSMurray StokelyThe release build process requires that
66de26e0adSMurray Stokely.Pa /usr/obj
67de26e0adSMurray Stokelybe populated with the output of
68d408a341SNathan Whitehorn.Dq Li "make buildworld"
69d408a341SNathan Whitehornand
70d408a341SNathan Whitehorn.Dq Li "make buildkernel" .
71e8423d00SNathan WhitehornThis is necessary to provide the object files for the release or, when
72e8423d00SNathan Whitehornusing
73e8423d00SNathan Whitehorn.Pa generate-release.sh ,
74e8423d00SNathan Whitehornso that the object files for a complete system can be installed into a clean
75de26e0adSMurray Stokely.Xr chroot 8
76e8423d00SNathan Whitehornenvironment. In this second case, the built world must be capable of running
77e8423d00SNathan Whitehornon the build system (i.e. it must be for the same architecture and be
78e8423d00SNathan Whitehorncompatible with the installed kernel).
79e8423d00SNathan WhitehornThe release procedure on some architectures may also require that the
80994c71f0SMurray Stokely.Xr md 4
81994c71f0SMurray Stokely(memory disk) device driver be present in the kernel
82919b0026SDavid E. O'Brien(either by being compiled in or available as a module).
83de26e0adSMurray Stokely.Pp
84de26e0adSMurray StokelyThis document does not cover source code management, quality
85de26e0adSMurray Stokelyassurance, or other aspects of the release engineering process.
86e8423d00SNathan Whitehorn.Sh CLEAN RELEASE GENERATION
87e8423d00SNathan WhitehornOfficial releases of FreeBSD are produced in a totally clean environment to
88e8423d00SNathan Whitehornensure consistency between the versions of the src, ports, and doc trees
89e8423d00SNathan Whitehornand to avoid contamination from the host system (e.g. local patches, changes
90e8423d00SNathan Whitehornto
91e8423d00SNathan Whitehorn.Xr make.conf 5 ,
92e8423d00SNathan Whitehornetc.). This is accomplished using the wrapper script
93e8423d00SNathan Whitehorn.Pa src/release/generate-release.sh .
94e8423d00SNathan Whitehorn.Pp
95e8423d00SNathan Whitehorn.Ic generate-release.sh
96e8423d00SNathan Whitehornsvn-branch scratch-dir
97e8423d00SNathan Whitehorn.Pp
98e8423d00SNathan Whitehorn.Ic generate-release.sh
99e8423d00SNathan Whitehorncalls
100e8423d00SNathan Whitehorn.Dq Li "make installworld"
101e8423d00SNathan Whitehornto generate a
102e8423d00SNathan Whitehorn.Xr chroot 8
103e8423d00SNathan Whitehornenvironment in
104e8423d00SNathan Whitehorn.Ar scratch-dir .
105e8423d00SNathan WhitehornIt then checks out the src tree specified by
106e8423d00SNathan Whitehorn.Ar svn-branch
107e8423d00SNathan Whitehornusing
108e8423d00SNathan Whitehorn.Xr svn 1
109e8423d00SNathan Whitehornand (optionally) the ports and documentation trees using
110e8423d00SNathan Whitehorn.Xr csup 1
111e8423d00SNathan Whitehornor
112e8423d00SNathan Whitehorn.Xr cvs 1 .
113e8423d00SNathan WhitehornOnce the various source trees have been obtained, it executes
114e8423d00SNathan Whitehorn.Dq Li "make release"
115e8423d00SNathan Whitehornwithin the
116e8423d00SNathan Whitehorn.Xr chroot 8
117e8423d00SNathan Whitehornenvironment and places the result in
118e8423d00SNathan Whitehorn.Pa $scratch-dir/R .
119e8423d00SNathan WhitehornNote that because this uses a chroot, it cannot be used to cross-build
120e8423d00SNathan Whitehorn.Fx
121e8423d00SNathan Whitehornrelease media.
122e8423d00SNathan Whitehorn.Pp
123e8423d00SNathan WhitehornEnvironment variables:
124e8423d00SNathan Whitehorn.Bl -tag -width ".Cm MAKE_FLAGS"
125e8423d00SNathan Whitehorn.It Ev CVSUP_HOST
126e8423d00SNathan WhitehornThe CVSUP server to use for the doc and ports trees. One of
127e8423d00SNathan Whitehorn.Ev CVSUP_HOST
128e8423d00SNathan Whitehornor
129e8423d00SNathan Whitehorn.Ev CVSROOT
130e8423d00SNathan Whitehornmust be specified for ports and documentation to be included in the release.
131e8423d00SNathan Whitehorn.It Ev CVSROOT
132e8423d00SNathan WhitehornThe location of the
133e8423d00SNathan Whitehorn.Fx
134e8423d00SNathan WhitehornCVS repository to use for the doc and ports trees. One of
135e8423d00SNathan Whitehorn.Ev CVSUP_HOST
136e8423d00SNathan Whitehornor
137e8423d00SNathan Whitehorn.Ev CVSROOT
138e8423d00SNathan Whitehornmust be specified for ports and documentation to be included in the release.
139e8423d00SNathan Whitehorn.It Ev CVS_TAG
140e8423d00SNathan WhitehornIf the variable
141e8423d00SNathan Whitehorn.Ev CVS_TAG
142e8423d00SNathan Whitehornis set, that tag will be used for CVS checkouts (doc and ports), otherwise
143e8423d00SNathan Whitehorn.Ic generate-release.sh
144e8423d00SNathan Whitehornwill use HEAD.
145e8423d00SNathan Whitehorn.It Ev MAKE_FLAGS
146e8423d00SNathan WhitehornThis environment variable can be set to pass flags (e.g. -j) to
147e8423d00SNathan Whitehorn.Xr make 1
148e8423d00SNathan Whitehornwhen invoked by the script.
149e8423d00SNathan Whitehorn.It Ev SVNROOT
150e8423d00SNathan WhitehornThe location of the FreeBSD SVN source repository. Defaults to
151e8423d00SNathan Whitehorn.Pa svn://svn.freebsd.org/base .
1523aad2a9dSNathan Whitehorn.It Ev RELSTRING
1533aad2a9dSNathan WhitehornOptional base name for generated media images (e.g. FreeBSD-9.0-RC2-amd64).
1543aad2a9dSNathan WhitehornDefaults to the output of
1553aad2a9dSNathan Whitehorn.Ic `uname -s`-`uname -r`-`uname -p`
1563aad2a9dSNathan Whitehornwithin the chroot.
157e8423d00SNathan Whitehorn.El
158e8423d00SNathan Whitehorn.Sh MAKEFILE TARGETS
159de26e0adSMurray StokelyThe release makefile
160994c71f0SMurray Stokely.Pq Pa src/release/Makefile
161de26e0adSMurray Stokelyis fairly abstruse.
162de26e0adSMurray StokelyMost developers will only be concerned with the
163afb33690SMurray Stokely.Cm release
164299a8b95SNathan Whitehornand
165299a8b95SNathan Whitehorn.Cm install
166299a8b95SNathan Whitehorntargets.
167994c71f0SMurray Stokely.\" XXX: Some sort of introduction to this list?  All the others have one.
168e8423d00SNathan Whitehorn.Bl -tag -width ".Cm packagesystem"
169afb33690SMurray Stokely.It Cm release
170e8423d00SNathan WhitehornMeta-target to build all release media and distributions applicable to this
171299a8b95SNathan Whitehornplatform.
172299a8b95SNathan Whitehorn.It Cm install
173299a8b95SNathan WhitehornCopy all produced release media to
174299a8b95SNathan Whitehorn.Pa ${DESTDIR} .
175e8423d00SNathan Whitehorn.It Cm cdrom
176e8423d00SNathan WhitehornBuilds installation CD-ROM images. On some systems, this may require that
177e8423d00SNathan Whitehorn.Xr mkisofs 8
178e8423d00SNathan Whitehornbe installed
179e8423d00SNathan Whitehorn.Pq Pa sysutils/cdrtools
180e8423d00SNathan Whitehornand possibly that the
181e8423d00SNathan Whitehorn.Xr md 4
182e8423d00SNathan Whitehorn(memory disk) device driver be present in the kernel
183e8423d00SNathan Whitehorn(either by being compiled in or available as a module). This target
184299a8b95SNathan Whitehornproduces files called
185e8423d00SNathan Whitehorn.Pa release.iso
186299a8b95SNathan Whitehornand
187299a8b95SNathan Whitehorn.Pa bootonly.iso
188e8423d00SNathan Whitehornas its output.
189e8423d00SNathan Whitehorn.It Cm memstick
190e8423d00SNathan WhitehornBuilds an installation memory stick image named
191e8423d00SNathan Whitehorn.Pa memstick .
192e8423d00SNathan WhitehornNot applicable on all platforms. Requires that the
193e8423d00SNathan Whitehorn.Xr md 4
194e8423d00SNathan Whitehorn(memory disk) device driver be present in the kernel
195e8423d00SNathan Whitehorn(either by being compiled in or available as a module).
196e8423d00SNathan Whitehorn.It Cm ftp
197e8423d00SNathan WhitehornCreates a directory named
198e8423d00SNathan Whitehorn.Pa ftp
199e8423d00SNathan Whitehorncontaining the distribution files used in network installations
200e8423d00SNathan Whitehornand suitable for upload to an FTP mirror.
201de26e0adSMurray Stokely.El
202de26e0adSMurray Stokely.Pp
203e8423d00SNathan WhitehornMajor subtargets called by targets above:
204e8423d00SNathan Whitehorn.Bl -tag -width ".Cm packagesystem"
205e8423d00SNathan Whitehorn.It Cm packagesystem
206e8423d00SNathan WhitehornGenerates all the distribution archives (e.g. base, kernel, ports, doc)
207e8423d00SNathan Whitehornapplicable on this platform.
208e8423d00SNathan Whitehorn.It Cm system
209e8423d00SNathan WhitehornBuilds a bootable installation system containing all the distribution files
210e8423d00SNathan Whitehornpackaged by the
211e8423d00SNathan Whitehorn.Cm packagesystem
212e8423d00SNathan Whitehorntarget, and suitable for imaging by the
213e8423d00SNathan Whitehorn.Cm cdrom
214e8423d00SNathan Whitehornand
215e8423d00SNathan Whitehorn.Cm memstick
216e8423d00SNathan Whitehorntargets.
217e8423d00SNathan Whitehorn.It Cm reldoc
218994c71f0SMurray StokelyBuilds the release documentation.
219994c71f0SMurray StokelyThis includes the release notes,
220e8423d00SNathan Whitehornhardware guide, and installation instructions. Other documentation (e.g.
221e8423d00SNathan Whitehornthe Handbook) is built during the
222e8423d00SNathan Whitehorn.Cm base.txz
223e8423d00SNathan Whitehorntarget invoked by
224e8423d00SNathan Whitehorn.Cm packagesystem .
225de26e0adSMurray Stokely.El
226de26e0adSMurray Stokely.Sh ENVIRONMENT
227de26e0adSMurray StokelyOptional variables:
228e8423d00SNathan Whitehorn.Bl -tag -width ".Va TARGET_ARCH"
229e8423d00SNathan Whitehorn.It Va WORLDDIR
230e8423d00SNathan WhitehornLocation of a directory containing the src tree. By default, the directory
231e8423d00SNathan Whitehornabove the one containing the makefile
232e8423d00SNathan Whitehorn.Pq Pa src .
233e8423d00SNathan Whitehorn.It Va PORTSDIR
234e8423d00SNathan WhitehornLocation of a directory containing the ports tree. By default,
235e8423d00SNathan Whitehorn.Pa /usr/ports .
236e8423d00SNathan WhitehornIf it is unset or cannot be found, ports will not be included in the release.
237e8423d00SNathan Whitehorn.It Va DOCDIR
238e8423d00SNathan WhitehornLocation of a directory containing the doc tree. By default,
239e8423d00SNathan Whitehorn.Pa /usr/doc .
240e8423d00SNathan WhitehornIf it is unset or cannot be found, most documentation will not be included in
241e8423d00SNathan Whitehornthe release; see
242e8423d00SNathan Whitehorn.Ev NODOC
243e8423d00SNathan Whitehornbelow.
244e8423d00SNathan Whitehorn.It Va NOPORTS
245e8423d00SNathan WhitehornIf defined, the Ports Collection will be omitted from the release.
246e8423d00SNathan Whitehorn.It Va NOSRC
247e8423d00SNathan WhitehornIf set, do not include system source code in the release.
2481bcf2f1aSMurray Stokely.It Va NODOC
2498d2a74b6SMurray StokelyIf defined, the SGML-based documentation from the
250de26e0adSMurray Stokely.Fx
251eee69fccSMurray StokelyDocumentation Project will not be built.
252eee69fccSMurray StokelyHowever, the
253eee69fccSMurray Stokely.Dq doc
254eee69fccSMurray Stokelydistribution will still be created with the minimal documentation set
255eee69fccSMurray Stokelyprovided in
256eee69fccSMurray Stokely.Pa src/share/doc .
25725923b97SRuslan Ermilov.It Va TARGET
25825923b97SRuslan ErmilovThe target hardware platform.
25925923b97SRuslan ErmilovThis is analogous to the
26025923b97SRuslan Ermilov.Dq Nm uname Fl m
26125923b97SRuslan Ermilovoutput.
26225923b97SRuslan ErmilovThis is necessary to cross-build some target architectures.
26325923b97SRuslan ErmilovFor example, cross-building for PC98 machines requires
26425923b97SRuslan Ermilov.Va TARGET_ARCH Ns = Ns Li i386
26525923b97SRuslan Ermilovand
26625923b97SRuslan Ermilov.Va TARGET Ns = Ns Li pc98 .
267e8423d00SNathan WhitehornIf not set,
268e8423d00SNathan Whitehorn.Va TARGET
269e8423d00SNathan Whitehorndefaults to the current hardware platform.
270e8423d00SNathan Whitehorn.It Va TARGET_ARCH
271e8423d00SNathan WhitehornThe target machine processor architecture.
272e8423d00SNathan WhitehornThis is analogous to the
273e8423d00SNathan Whitehorn.Dq Nm uname Fl p
274e8423d00SNathan Whitehornoutput.
275e8423d00SNathan WhitehornSet this to cross-build for a different architecture.
276e8423d00SNathan WhitehornIf not set,
277e8423d00SNathan Whitehorn.Va TARGET_ARCH
278e8423d00SNathan Whitehorndefaults to the current machine architecture, unless
279e8423d00SNathan Whitehorn.Va TARGET
280e8423d00SNathan Whitehornis also set, in which case it defaults to the appropriate
281e8423d00SNathan Whitehornvalue for that platform.
282e8423d00SNathan WhitehornTypically, one only needs to set
283e8423d00SNathan Whitehorn.Va TARGET .
284de26e0adSMurray Stokely.El
285de26e0adSMurray Stokely.Sh FILES
286*82f39c10SGlen Barber.Bl -tag -compact -width Pa
287de26e0adSMurray Stokely.It Pa /usr/doc/Makefile
288de26e0adSMurray Stokely.It Pa /usr/doc/share/mk/doc.project.mk
289de26e0adSMurray Stokely.It Pa /usr/ports/Mk/bsd.port.mk
290de26e0adSMurray Stokely.It Pa /usr/ports/Mk/bsd.sites.mk
291de26e0adSMurray Stokely.It Pa /usr/share/examples/etc/make.conf
292de26e0adSMurray Stokely.It Pa /usr/src/Makefile
293de26e0adSMurray Stokely.It Pa /usr/src/Makefile.inc1
294de26e0adSMurray Stokely.It Pa /usr/src/release/Makefile
295e8423d00SNathan Whitehorn.It Pa /usr/src/release/generate-release.sh
296de26e0adSMurray Stokely.El
297de26e0adSMurray Stokely.Sh EXAMPLES
298e8423d00SNathan WhitehornThe following sequence of commands can be used to build a
299e8423d00SNathan Whitehorn.Dq "-CURRENT snapshot":
300de26e0adSMurray Stokely.Bd -literal -offset indent
301de26e0adSMurray Stokelycd /usr
302e8423d00SNathan Whitehornsvn co svn://svn.freebsd.org/base/head src
303de26e0adSMurray Stokelycd src
304d408a341SNathan Whitehornmake buildworld buildkernel
305de26e0adSMurray Stokelycd release
3068ef63d0dSNathan Whitehornmake release
3078ef63d0dSNathan Whitehornmake install DESTDIR=/var/freebsd-snapshot
308de26e0adSMurray Stokely.Ed
309de26e0adSMurray Stokely.Pp
310299a8b95SNathan WhitehornAfter running these commands, all produced distribution files (tarballs
311299a8b95SNathan Whitehornfor FTP, CD-ROM images, etc.) are available in the
312299a8b95SNathan Whitehorn.Pa /var/freebsd-snapshot
313de26e0adSMurray Stokelydirectory.
314de26e0adSMurray Stokely.Pp
315994c71f0SMurray StokelyThe following sequence of commands can be used to build a
3161bcf2f1aSMurray Stokely.Dq "-CURRENT snapshot"
317e8423d00SNathan Whitehornin a clean environment, including ports and documentation:
318de26e0adSMurray Stokely.Bd -literal -offset indent
3195af5af75SGleb Smirnoffcd /usr/src/release
320e8423d00SNathan Whitehornexport CVSUP_HOST=cvsupN.freebsd.org
321e8423d00SNathan Whitehornsh generate-release.sh head /local3/release
322de26e0adSMurray Stokely.Ed
323e8423d00SNathan Whitehorn.Pp
324e8423d00SNathan WhitehornAfter running these commands, all prepared release files are available in the
325e8423d00SNathan Whitehorn.Pa /local3/release/R
326e8423d00SNathan Whitehorndirectory.
327de26e0adSMurray Stokely.Sh SEE ALSO
328de26e0adSMurray Stokely.Xr cc 1 ,
329afb33690SMurray Stokely.Xr cvs 1 ,
330de26e0adSMurray Stokely.Xr install 1 ,
331de26e0adSMurray Stokely.Xr make 1 ,
332594ca9baSTom Rhodes.Xr svn 1 Pq Pa ports/devel/subversion-freebsd ,
333de26e0adSMurray Stokely.Xr uname 1 ,
334afb33690SMurray Stokely.Xr md 4 ,
335de26e0adSMurray Stokely.Xr make.conf 5 ,
336de26e0adSMurray Stokely.Xr build 7 ,
337de26e0adSMurray Stokely.Xr ports 7 ,
338afb33690SMurray Stokely.Xr chroot 8 ,
339f5178c4fSMurray Stokely.Xr mtree 8 ,
340f5178c4fSMurray Stokely.Xr sysctl 8
341994c71f0SMurray Stokely.Rs
3421bcf2f1aSMurray Stokely.%T "FreeBSD Release Engineering"
343aa4a335bSRuslan Ermilov.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/
344994c71f0SMurray Stokely.Re
345994c71f0SMurray Stokely.Rs
3461bcf2f1aSMurray Stokely.%T "FreeBSD Release Engineering of Third Party Packages"
347aa4a335bSRuslan Ermilov.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng-packages/
348994c71f0SMurray Stokely.Re
349994c71f0SMurray Stokely.Rs
3501bcf2f1aSMurray Stokely.%T "FreeBSD Developers' Handbook"
351aa4a335bSRuslan Ermilov.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/
352994c71f0SMurray Stokely.Re
353de26e0adSMurray Stokely.Sh HISTORY
354de26e0adSMurray Stokely.Fx
355de26e0adSMurray Stokely1.x
3561bcf2f1aSMurray Stokelyused a manual checklist, compiled by
3571bcf2f1aSMurray Stokely.An Rod Grimes ,
3581bcf2f1aSMurray Stokelyto produce a release.
359de26e0adSMurray StokelyApart from being incomplete, the list put a lot of specific demands on
360de26e0adSMurray Stokelyavailable file systems and was quite torturous to execute.
361de26e0adSMurray Stokely.Pp
362994c71f0SMurray StokelyAs part of the
363994c71f0SMurray Stokely.Fx 2.0
364994c71f0SMurray Stokelyrelease engineering effort, significant
365de26e0adSMurray Stokelyeffort was spent getting
366de26e0adSMurray Stokely.Pa src/release/Makefile
367de26e0adSMurray Stokelyinto a shape where it could at least automate most of the tediousness
368de26e0adSMurray Stokelyof building a release in a sterile environment.
369de26e0adSMurray Stokely.Pp
370e8423d00SNathan WhitehornFor the
371e8423d00SNathan Whitehorn.Fx 9.0
372e8423d00SNathan Whitehornrelease,
373e8423d00SNathan Whitehorn.Pa src/release/Makefile
374e8423d00SNathan Whitehornwas overhauled and the wrapper script
375e8423d00SNathan Whitehorn.Pa src/release/generate-release.sh
376e8423d00SNathan Whitehornintroduced to support the introduction of a new installer.
377e8423d00SNathan Whitehorn.Pp
378594ca9baSTom RhodesAt near 1000 revisions spread over multiple branches, the
379afb33690SMurray Stokely.Xr cvs 1
380994c71f0SMurray Stokelylog of
381994c71f0SMurray Stokely.Pa src/release/Makefile
382994c71f0SMurray Stokelycontains a vivid historical record of some
383de26e0adSMurray Stokelyof the hardships release engineers go through.
384de26e0adSMurray Stokely.Sh AUTHORS
385de26e0adSMurray Stokely.Pa src/release/Makefile
386afb33690SMurray Stokelywas originally written by
387afb33690SMurray Stokely.An -nosplit
388afb33690SMurray Stokely.An Rod Grimes ,
389afb33690SMurray Stokely.An Jordan Hubbard ,
390afb33690SMurray Stokelyand
391afb33690SMurray Stokely.An Poul-Henning Kamp .
392994c71f0SMurray StokelyThis manual page was written by
393de26e0adSMurray Stokely.An Murray Stokely Aq murray@FreeBSD.org .
394