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 --- |