Deleted Added
full compact
release.7 (230110) release.7 (233648)
1.\" Copyright (c) 2002 Murray Stokely <murray@FreeBSD.org>
2.\" 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.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.

--- 8 unchanged lines hidden (view full) ---

17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
1.\" Copyright (c) 2002 Murray Stokely <murray@FreeBSD.org>
2.\" 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.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.

--- 8 unchanged lines hidden (view full) ---

17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD: head/share/man/man7/release.7 230110 2012-01-14 18:16:10Z glebius $
25.\" $FreeBSD: head/share/man/man7/release.7 233648 2012-03-29 05:02:12Z eadler $
26.\"
27.Dd January 14, 2012
28.Dt RELEASE 7
29.Os
30.Sh NAME
31.Nm release
32.Nd "release building infrastructure"
33.Sh DESCRIPTION

--- 14 unchanged lines hidden (view full) ---

48.Pp
49For some users, it may be desirable to provide an absolutely clean
50build environment, with no local modifications to the source tree or to
51.Xr make.conf 5 ,
52and with clean checkouts of specific versions of the doc, src, and ports
53trees. For this purpose, a script
54.Pq Pa src/release/generate-release.sh
55is provided to automate these checkouts and then execute
26.\"
27.Dd January 14, 2012
28.Dt RELEASE 7
29.Os
30.Sh NAME
31.Nm release
32.Nd "release building infrastructure"
33.Sh DESCRIPTION

--- 14 unchanged lines hidden (view full) ---

48.Pp
49For some users, it may be desirable to provide an absolutely clean
50build environment, with no local modifications to the source tree or to
51.Xr make.conf 5 ,
52and with clean checkouts of specific versions of the doc, src, and ports
53trees. For this purpose, a script
54.Pq Pa src/release/generate-release.sh
55is provided to automate these checkouts and then execute
56.Dq Li "make release"
56.Dq Li "make release"
57in a clean
58.Xr chroot 8 .
59.Pp
60Before attempting to build a release, the user is expected to be
61familiar with the contents of
62.Xr build 7 ,
63and should have experience upgrading systems from source.
64.Pp
65The release build process requires that
66.Pa /usr/obj
67be populated with the output of
57in a clean
58.Xr chroot 8 .
59.Pp
60Before attempting to build a release, the user is expected to be
61familiar with the contents of
62.Xr build 7 ,
63and should have experience upgrading systems from source.
64.Pp
65The release build process requires that
66.Pa /usr/obj
67be populated with the output of
68.Dq Li "make buildworld"
68.Dq Li "make buildworld"
69and
70.Dq Li "make buildkernel" .
71This is necessary to provide the object files for the release or, when
72using
73.Pa generate-release.sh ,
74so that the object files for a complete system can be installed into a clean
75.Xr chroot 8
76environment. In this second case, the built world must be capable of running

--- 57 unchanged lines hidden (view full) ---

134CVS repository to use for the doc and ports trees. One of
135.Ev CVSUP_HOST
136or
137.Ev CVSROOT
138must be specified for ports and documentation to be included in the release.
139.It Ev CVS_TAG
140If the variable
141.Ev CVS_TAG
69and
70.Dq Li "make buildkernel" .
71This is necessary to provide the object files for the release or, when
72using
73.Pa generate-release.sh ,
74so that the object files for a complete system can be installed into a clean
75.Xr chroot 8
76environment. In this second case, the built world must be capable of running

--- 57 unchanged lines hidden (view full) ---

134CVS repository to use for the doc and ports trees. One of
135.Ev CVSUP_HOST
136or
137.Ev CVSROOT
138must be specified for ports and documentation to be included in the release.
139.It Ev CVS_TAG
140If the variable
141.Ev CVS_TAG
142is set, that tag will be used for CVS checkouts (doc and ports), otherwise
142is set, that tag will be used for CVS checkouts (doc and ports), otherwise
143.Ic generate-release.sh
144will use HEAD.
145.It Ev MAKE_FLAGS
146This environment variable can be set to pass flags (e.g. -j) to
147.Xr make 1
148when invoked by the script.
149.It Ev SVNROOT
150The location of the FreeBSD SVN source repository. Defaults to
151.Pa svn://svn.freebsd.org/base .
152.It Ev RELSTRING
153Optional base name for generated media images (e.g. FreeBSD-9.0-RC2-amd64).
143.Ic generate-release.sh
144will use HEAD.
145.It Ev MAKE_FLAGS
146This environment variable can be set to pass flags (e.g. -j) to
147.Xr make 1
148when invoked by the script.
149.It Ev SVNROOT
150The location of the FreeBSD SVN source repository. Defaults to
151.Pa svn://svn.freebsd.org/base .
152.It Ev RELSTRING
153Optional base name for generated media images (e.g. FreeBSD-9.0-RC2-amd64).
154Defaults to the output of
154Defaults to the output of
155.Ic `uname -s`-`uname -r`-`uname -p`
156within the chroot.
157.El
158.Sh MAKEFILE TARGETS
159The release makefile
160.Pq Pa src/release/Makefile
161is fairly abstruse.
162Most developers will only be concerned with the
163.Cm release
164and
165.Cm install
166targets.
167.\" XXX: Some sort of introduction to this list? All the others have one.
168.Bl -tag -width ".Cm packagesystem"
169.It Cm release
170Meta-target to build all release media and distributions applicable to this
171platform.
172.It Cm install
155.Ic `uname -s`-`uname -r`-`uname -p`
156within the chroot.
157.El
158.Sh MAKEFILE TARGETS
159The release makefile
160.Pq Pa src/release/Makefile
161is fairly abstruse.
162Most developers will only be concerned with the
163.Cm release
164and
165.Cm install
166targets.
167.\" XXX: Some sort of introduction to this list? All the others have one.
168.Bl -tag -width ".Cm packagesystem"
169.It Cm release
170Meta-target to build all release media and distributions applicable to this
171platform.
172.It Cm install
173Copy all produced release media to
173Copy all produced release media to
174.Pa ${DESTDIR} .
175.It Cm cdrom
176Builds installation CD-ROM images. On some systems, this may require that
177.Xr mkisofs 8
174.Pa ${DESTDIR} .
175.It Cm cdrom
176Builds installation CD-ROM images. On some systems, this may require that
177.Xr mkisofs 8
178be installed
178be installed
179.Pq Pa sysutils/cdrtools
180and possibly that the
181.Xr md 4
182(memory disk) device driver be present in the kernel
183(either by being compiled in or available as a module). This target
184produces files called
185.Pa release.iso
186and

--- 47 unchanged lines hidden (view full) ---

234Location of a directory containing the ports tree. By default,
235.Pa /usr/ports .
236If it is unset or cannot be found, ports will not be included in the release.
237.It Va DOCDIR
238Location of a directory containing the doc tree. By default,
239.Pa /usr/doc .
240If it is unset or cannot be found, most documentation will not be included in
241the release; see
179.Pq Pa sysutils/cdrtools
180and possibly that the
181.Xr md 4
182(memory disk) device driver be present in the kernel
183(either by being compiled in or available as a module). This target
184produces files called
185.Pa release.iso
186and

--- 47 unchanged lines hidden (view full) ---

234Location of a directory containing the ports tree. By default,
235.Pa /usr/ports .
236If it is unset or cannot be found, ports will not be included in the release.
237.It Va DOCDIR
238Location of a directory containing the doc tree. By default,
239.Pa /usr/doc .
240If it is unset or cannot be found, most documentation will not be included in
241the release; see
242.Ev NODOC
242.Ev NODOC
243below.
244.It Va NOPORTS
245If defined, the Ports Collection will be omitted from the release.
246.It Va NOSRC
247If set, do not include system source code in the release.
248.It Va NODOC
249If defined, the SGML-based documentation from the
250.Fx

--- 113 unchanged lines hidden (view full) ---

364release engineering effort, significant
365effort was spent getting
366.Pa src/release/Makefile
367into a shape where it could at least automate most of the tediousness
368of building a release in a sterile environment.
369.Pp
370For the
371.Fx 9.0
243below.
244.It Va NOPORTS
245If defined, the Ports Collection will be omitted from the release.
246.It Va NOSRC
247If set, do not include system source code in the release.
248.It Va NODOC
249If defined, the SGML-based documentation from the
250.Fx

--- 113 unchanged lines hidden (view full) ---

364release engineering effort, significant
365effort was spent getting
366.Pa src/release/Makefile
367into a shape where it could at least automate most of the tediousness
368of building a release in a sterile environment.
369.Pp
370For the
371.Fx 9.0
372release,
372release,
373.Pa src/release/Makefile
374was overhauled and the wrapper script
375.Pa src/release/generate-release.sh
376introduced to support the introduction of a new installer.
377.Pp
378At near 1000 revisions spread over multiple branches, the
379.Xr cvs 1
380log of

--- 13 unchanged lines hidden ---
373.Pa src/release/Makefile
374was overhauled and the wrapper script
375.Pa src/release/generate-release.sh
376introduced to support the introduction of a new installer.
377.Pp
378At near 1000 revisions spread over multiple branches, the
379.Xr cvs 1
380log of

--- 13 unchanged lines hidden ---