From owner-svn-doc-all@freebsd.org Tue Jun 12 18:54:47 2018 Return-Path: Delivered-To: svn-doc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4203D101279D; Tue, 12 Jun 2018 18:54:47 +0000 (UTC) (envelope-from bcr@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E0D977470D; Tue, 12 Jun 2018 18:54:46 +0000 (UTC) (envelope-from bcr@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A527A69BA; Tue, 12 Jun 2018 18:54:46 +0000 (UTC) (envelope-from bcr@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w5CIskZt065852; Tue, 12 Jun 2018 18:54:46 GMT (envelope-from bcr@FreeBSD.org) Received: (from bcr@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w5CIskU2065851; Tue, 12 Jun 2018 18:54:46 GMT (envelope-from bcr@FreeBSD.org) Message-Id: <201806121854.w5CIskU2065851@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bcr set sender to bcr@FreeBSD.org using -f From: Benedict Reuschling Date: Tue, 12 Jun 2018 18:54:46 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r51824 - head/en_US.ISO8859-1/articles/releng X-SVN-Group: doc-head X-SVN-Commit-Author: bcr X-SVN-Commit-Paths: head/en_US.ISO8859-1/articles/releng X-SVN-Commit-Revision: 51824 X-SVN-Commit-Repository: doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2018 18:54:47 -0000 Author: bcr Date: Tue Jun 12 18:54:46 2018 New Revision: 51824 URL: https://svnweb.freebsd.org/changeset/doc/51824 Log: Re-commit my cleanup changes. Apparently, igor does not like the occurance of the second in the sequence in the abstract. Replacing it with something else makes the file not pass the DTD checks. Err on the side of letting the file compile, leaving a couple of igor checks unresolved. Overall, the docbook xml source in this file should be much cleaner now. Modified: head/en_US.ISO8859-1/articles/releng/article.xml Modified: head/en_US.ISO8859-1/articles/releng/article.xml ============================================================================== --- head/en_US.ISO8859-1/articles/releng/article.xml Tue Jun 12 18:19:12 2018 (r51823) +++ head/en_US.ISO8859-1/articles/releng/article.xml Tue Jun 12 18:54:46 2018 (r51824) @@ -2,28 +2,39 @@ -
- - &os; Release Engineering +
- - + + &os; Release Engineering + November 2001 BSDCon Europe - MurrayStokely - I've been involved in the development of &os; based products - since 1997 at Walnut Creek CDROM, BSDi, and now Wind River Systems. - &os; 4.4 was the first official release of &os; that I played - a significant part in. - -
murray@FreeBSD.org - https://people.FreeBSD.org/~murray/ -
-
+ + + Murray + Stokely + + + I've been involved in the development of &os; based + products since 1997 at Walnut Creek CDROM, BSDi, and now + Wind River Systems. &os; 4.4 was the first official + release of &os; that I played a significant part + in. + + +
+ murray@FreeBSD.org + https://people.FreeBSD.org/~murray/ +
+
+
@@ -36,394 +47,402 @@ - + This document is outdated and does not accurately describe the current release procedures of the &os; Release Engineering team. It is retained for historical purposes. The current procedures used by the &os; Release Engineering team are available in the &os; - Release Engineering article. - - - This paper describes the approach used by the &os; - release engineering team to make production quality releases - of the &os; Operating System. It details the methodology - used for the official &os; releases and describes the tools - available for those interested in producing customized &os; - releases for corporate rollouts or commercial - productization. - + Release Engineering article. + This paper describes the approach used by the &os; + release engineering team to make production quality + releases of the &os; Operating System. It details the + methodology used for the official &os; releases and + describes the tools available for those interested in + producing customized &os; releases for corporate rollouts + or commercial productization. +
- - Introduction + + Introduction - The development of &os; is a very open process. &os; is - comprised of contributions from thousands of people around the - world. The &os; Project provides - Subversion - - - Subversion, http://subversion.apache.org - - - access to the general public so that - others can have access to log messages, diffs (patches) between - development branches, and other productivity enhancements that - formal source code management provides. This has been a huge help - in attracting more talented developers to &os;. However, I - think everyone would agree that chaos would soon manifest if write - access to the main repository was opened up to everyone on the Internet. - Therefore only a select group of nearly 300 people are - given write access to the Subversion repository. These - committers - - - FreeBSD committers - - - are usually the people who do the bulk of &os; development. An elected - Core Team - - - &os; Core Team - - - of developers provide some level of direction over the project. + The development of &os; is a very open process. &os; is + comprised of contributions from thousands of people around the + world. The &os; Project provides Subversion + Subversion, http://subversion.apache.org + access to the general public so that + others can have access to log messages, diffs (patches) + between development branches, and other productivity + enhancements that formal source code management provides. + This has been a huge help in attracting more talented + developers to &os;. However, I think everyone would agree + that chaos would soon manifest if write access to the main + repository was opened up to everyone on the Internet. + Therefore only a select group of nearly 300 + people are given write access to the Subversion repository. + These committers + + FreeBSD + committers + + + are usually the people who do the bulk of &os; development. + An elected Core + Team + + &os; + Core Team + + of developers provide some level of direction over the + project. - The rapid pace of &os; - development makes the main development branch unsuitable for the - everyday use by the general public. In particular, stabilizing - efforts are required for polishing the development system into a - production quality release. To solve this conflict, development - continues on several parallel tracks. The main development branch - is the HEAD or trunk of - our Subversion tree, known as &os;-CURRENT or - -CURRENT for short. + The rapid pace of &os; + development makes the main development branch unsuitable for + the everyday use by the general public. In particular, + stabilizing efforts are required for polishing the development + system into a production quality release. To solve this + conflict, development continues on several parallel tracks. + The main development branch is the HEAD + or trunk of our Subversion tree, known as + &os;-CURRENT or -CURRENT for + short. - A set of more stable branches are maintained, known as - &os;-STABLE or -STABLE for short. - All branches live in a master Subversion repository maintained by the - &os; Project. &os;-CURRENT is the bleeding-edge of - &os; development where all new changes first enter the system. - &os;-STABLE is the development branch from which major releases - are made. Changes go into this branch at a different pace, and - with the general assumption that they have first gone into - &os;-CURRENT and have been thoroughly tested by our user - community. + A set of more stable branches are maintained, known as + &os;-STABLE or -STABLE for + short. All branches live in a master Subversion repository + maintained by the &os; Project. &os;-CURRENT is the + bleeding-edge of &os; development where all new + changes first enter the system. &os;-STABLE is the + development branch from which major releases are made. + Changes go into this branch at a different pace, and with the + general assumption that they have first gone into &os;-CURRENT + and have been thoroughly tested by our user community. - The term stable in the name of the branch - refers to the presumed Application Binary Interface stability, - which is promised by the project. This means that a user - application compiled on an older version of the system from the - same branch works on a newer system from the same branch. The - ABI stability has improved greatly from the compared to previous - releases. In most cases, binaries from the older - STABLE systems run unmodified on newer systems, - including HEAD, assuming that the system - management interfaces are not used. + The term stable in the name of the + branch refers to the presumed Application Binary Interface + stability, which is promised by the project. This means that + a user application compiled on an older version of the system + from the same branch works on a newer system from the same + branch. The ABI stability has improved greatly from the + compared to previous releases. In most cases, binaries from + the older STABLE systems run unmodified + on newer systems, including HEAD, + assuming that the system management interfaces are not + used. - In the interim period between releases, weekly snapshots are - built automatically by the &os; Project build machines and made - available for download from ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/. - The widespread availability of binary release snapshots, and the - tendency of our user community to keep up with -STABLE development - with Subversion and make - buildworld - - - Rebuilding "world" - - - helps to keep - &os;-STABLE in a very reliable condition even before the - quality assurance activities ramp up pending a major - release. + In the interim period between releases, weekly snapshots + are built automatically by the &os; Project build machines and + made available for download from + ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/. + The widespread availability of binary release snapshots, and + the tendency of our user community to keep up with -STABLE + development with Subversion and make + buildworld + Rebuilding + "world" helps to keep + &os;-STABLE in a very reliable condition even before the + quality assurance activities ramp up pending a major + release. - In addition to installation ISO snapshots, weekly virtual - machine images are also provided for use with - VirtualBox, - qemu, or other popular emulation - software. The virtual machine images can be downloaded from - ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/VM-IMAGES/. + In addition to installation ISO snapshots, weekly virtual + machine images are also provided for use with + VirtualBox, + qemu, or other popular emulation + software. The virtual machine images can be downloaded from + ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/VM-IMAGES/. - The virtual machine images are approximately 150MB &man.xz.1; - compressed, and contain a 10GB sparse filesystem when attached to - a virtual machine. + The virtual machine images are approximately 150MB + &man.xz.1; compressed, and contain a 10GB sparse filesystem + when attached to a virtual machine. - Bug reports and feature requests are continuously submitted by - users throughout the release cycle. Problems reports are entered into our - Bugzilla database - through the web - interface provided at https://www.freebsd.org/support/bugreports.html. - - To service our most conservative users, individual release - branches were introduced with &os; 4.3. - These release branches are created shortly before a final release - is made. After the release goes out, only the most critical - security fixes and additions are merged onto the release branch. - In addition to source updates via Subversion, binary patchkits are - available to keep systems on the - releng/X.Y - branches updated. - - - What this article describes - - The following sections of this article describe: - - - - - - - The different phases of the release engineering process - leading up to the actual system build. - - - - - - - - The actual build process. - - - - - + Bug reports and feature requests are continuously + submitted by users throughout the release cycle. Problems + reports are entered into our + Bugzilla database through the web + interface provided at https://www.freebsd.org/support/bugreports.html. - - How the base release may be extended by third parties. - - - - - + To service our most conservative users, individual release + branches were introduced with &os; 4.3. These release + branches are created shortly before a final release is made. + After the release goes out, only the most critical security + fixes and additions are merged onto the release branch. In + addition to source updates via Subversion, binary patchkits + are available to keep systems on the + releng/X.Y + branches updated. - - Some of the lessons learned through the release of &os; 4.4. - - + + What This Article Describes - - + The following sections of this article describe: - - Future directions of development. - - - - - + + + + + The different phases of the release engineering + process leading up to the actual system build. + + + + + + + + The actual build process. + + + + + + + + How the base release may be extended by third + parties. + + + + + + + + Some of the lessons learned through the release of + &os; 4.4. + + + + + + + + Future directions of development. + + + + + + - - Release Process + + Release Process - New releases of &os; are released from the -STABLE branch - at approximately four month intervals. The &os; release - process begins to ramp up 70-80 days before the anticipated release - date when the release engineer sends an email to the development - mailing lists to remind developers that they only have 15 days to - integrate new changes before the code freeze. During this time, - many developers perform what have become known as MFC - sweeps. + New releases of &os; are released from the -STABLE branch + at approximately four month intervals. The &os; release + process begins to ramp up 70-80 days before the anticipated + release date when the release engineer sends an email to the + development mailing lists to remind developers that they only + have 15 days to integrate new changes before the code freeze. + During this time, many developers perform what have become + known as MFC sweeps. - MFC stands for Merge From - CURRENT and it describes the process of merging a tested - change from our -CURRENT development branch to our -STABLE branch. - Project policy requires any change to be first applied to - trunk, and merged to the -STABLE branches after sufficient - external testing was done by -CURRENT users (developers are - expected to extensively test the change before committing to - -CURRENT, but it is impossible for a person to exercise all usages - of the general-purpose operating system). Minimal MFC period is 3 - days, which is typically used only for trivial or critical - bugfixes. + MFC stands for Merge From + CURRENT and it describes the process of merging a + tested change from our -CURRENT development branch to our + -STABLE branch. Project policy requires any change to be + first applied to trunk, and merged to the -STABLE branches + after sufficient external testing was done by -CURRENT users + (developers are expected to extensively test the change before + committing to -CURRENT, but it is impossible for a person to + exercise all usages of the general-purpose operating system). + Minimal MFC period is 3 days, which is typically used only for + trivial or critical bugfixes. - - Code Review + + Code Review - Sixty days before the anticipated release, the source - repository enters a code freeze. During this - time, all commits to the -STABLE branch must be approved by - &a.re;. The approval process is technically enforced by a - pre-commit hook. The kinds of changes that are allowed during - this period include: + Sixty days before the anticipated release, the source + repository enters a code freeze. During this + time, all commits to the -STABLE branch must be approved by + &a.re;. The approval process is technically enforced by a + pre-commit hook. The kinds of changes that are allowed + during this period include: - - - Bug fixes. - + + + Bug fixes. + - - Documentation updates. - + + Documentation updates. + - - Security-related fixes of any kind. - + + Security-related fixes of any kind. + - - Minor changes to device drivers, such as adding new Device - IDs. - + + Minor changes to device drivers, such as adding new + Device IDs. + - - Driver updates from the vendors. - + + Driver updates from the vendors. + - - Any additional change that the release engineering team feels - is justified, given the potential risk. - - + + Any additional change that the release engineering + team feels is justified, given the potential + risk. + + - Shortly after the code freeze is started, a - BETA1 image is built and released for - widespread testing. During the code freeze, at least one beta - image or release candidate is released every two weeks until the - final release is ready. During the days preceeding the final - release, the release engineering team is in constant - communication with the security-officer team, the documentation - maintainers, and the port maintainers to ensure that all of the - different components required for a successful release are - available. + Shortly after the code freeze is started, a + BETA1 image is built and released for + widespread testing. During the code freeze, at least one + beta image or release candidate is released every two weeks + until the final release is ready. During the days preceding + the final release, the release engineering team is in + constant communication with the security-officer team, the + documentation maintainers, and the port maintainers to + ensure that all of the different components required for a + successful release are available. - After the quality of the BETA images is satisfying enough, - and no large and potentially risky changes are planned, the - release branch is created and Release - Candidate (RC) images are built from the release - branch, instead of the BETA images from the STABLE branch. - Also, the freeze on the STABLE branch is lifted and release - branch enters a hard code freeze where it becomes - much harder to justify new changes to the system unless a - serious bug-fix or security issue is involved. - + After the quality of the BETA images is satisfying + enough, and no large and potentially risky changes are + planned, the release branch is created and Release + Candidate (RC) images are built from the + release branch, instead of the BETA images from the STABLE + branch. Also, the freeze on the STABLE branch is lifted and + release branch enters a hard code freeze + where it becomes much harder to justify new changes to the + system unless a serious bug-fix or security issue is + involved. + - - Final Release Checklist + + Final Release Checklist - When several BETA images have been made available for - widespread testing and all major issues have been resolved, the - final release polishing can begin. + When several BETA images have been made available for + widespread testing and all major issues have been resolved, + the final release polishing can begin. - - Creating the Release Branch + + Creating the Release Branch - - In all examples below, $FSVN - refers to the location of the &os; Subversion repository, - svn+ssh://svn.FreeBSD.org/base/. - + + In all examples below, + $FSVN refers to the location + of the &os; Subversion repository, + svn+ssh://svn.FreeBSD.org/base/. + - The layout of &os; branches in Subversion is - described in the Committer's Guide. - The first step in creating a branch is to - identify the revision of the - stable/X sources - that you want to branch from. + The layout of &os; branches in Subversion is described + in the Committer's + Guide. The first step in creating a branch is to + identify the revision of the + stable/X + sources that you want to branch + from. - &prompt.root; svn log -v $FSVN/stable/9 + &prompt.root; svn log -v $FSVN/stable/9 - The next step is to create the release branch - - - &prompt.root; svn cp $FSVN/stable/9@REVISION $FSVN/releng/9.2 + The next step is to create the release + branch - This branch can be checked out: - - &prompt.root; svn co $FSVN/releng/9.2 src + &prompt.root; svn cp $FSVN/stable/9@REVISION $FSVN/releng/9.2 + This branch can be checked out: + + &prompt.root; svn co $FSVN/releng/9.2 src + - Creating the releng branch and - release tags is done by the Release - Engineering Team. - + Creating the releng branch and + release tags is done by the Release + Engineering Team. - - - + + + - - &os; Development Branch - + + &os; Development Branch + - - - + + + - - &os; 3.x STABLE Branch - + + &os; 3.x STABLE Branch + - - - + + + - - &os; 4.x STABLE Branch - + + &os; 4.x STABLE Branch + - - - + + + - - &os; 5.x STABLE Branch - + + &os; 5.x STABLE Branch + - - - + + + - - &os; 6.x STABLE Branch - + + &os; 6.x STABLE Branch + - - - + + + - - &os; 7.x STABLE Branch - + + &os; 7.x STABLE Branch + - - - + + + - - &os; 8.x STABLE Branch - + + &os; 8.x STABLE Branch + - - - + + + - - &os; 9.x STABLE Branch - + + &os; 9.x STABLE Branch + @@ -431,104 +450,98 @@ Bumping up the Version Number Before the final release can be tagged, built, and - released, the following files need to be modified to reflect - the correct version of &os;: + released, the following files need to be modified to reflect + the correct version of &os;: - - doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml - - + + doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml + - - doc/en_US.ISO8859-1/books/porters-handbook/book.xml - - + + doc/en_US.ISO8859-1/books/porters-handbook/book.xml + - - doc/en_US.ISO8859-1/htdocs/cgi/ports.cgi - + + doc/en_US.ISO8859-1/htdocs/cgi/ports.cgi + - - ports/Tools/scripts/release/config - + + ports/Tools/scripts/release/config + + + doc/share/xml/freebsd.ent + - - doc/share/xml/freebsd.ent - + + src/Makefile.inc1 + - - src/Makefile.inc1 - + + src/UPDATING + - - src/UPDATING - + + src/gnu/usr.bin/groff/tmac/mdoc.local + - - src/gnu/usr.bin/groff/tmac/mdoc.local - + + src/release/Makefile + - - src/release/Makefile - + + src/release/doc/en_US.ISO8859-1/share/xml/release.dsl + - - src/release/doc/en_US.ISO8859-1/share/xml/release.dsl - + + src/release/doc/share/examples/Makefile.relnotesng + - - src/release/doc/share/examples/Makefile.relnotesng - + + src/release/doc/share/xml/release.ent + - - src/release/doc/share/xml/release.ent - + + src/sys/conf/newvers.sh + - - src/sys/conf/newvers.sh - + + src/sys/sys/param.h + - - src/sys/sys/param.h - + + src/usr.sbin/pkg_install/add/main.c + - - src/usr.sbin/pkg_install/add/main.c - - - - doc/en_US.ISO8859-1/htdocs/search/opensearch/man.xml - + + doc/en_US.ISO8859-1/htdocs/search/opensearch/man.xml + - The release notes and errata files also need to be adjusted for the - new release (on the release branch) and truncated appropriately - (on the stable/current branch): + The release notes and errata files also need to be + adjusted for the new release (on the release branch) and + truncated appropriately (on the stable/current branch): - - src/release/doc/en_US.ISO8859-1/relnotes/common/new.xml - - + + src/release/doc/en_US.ISO8859-1/relnotes/common/new.xml + - - src/release/doc/en_US.ISO8859-1/errata/article.xml - - + + src/release/doc/en_US.ISO8859-1/errata/article.xml + - Sysinstall should be updated to note - the number of available ports and the amount of disk space required - for the Ports Collection. - - - &os; Ports Collection - https://www.FreeBSD.org/ports - - - This information is currently kept in + Sysinstall should be updated to + note the number of available ports and the amount of disk + space required for the Ports Collection. + + &os; Ports Collection https://www.FreeBSD.org/ports + + + This information is currently kept in src/usr.sbin/bsdinstall/dist.c. After the release has been built, a number of files should @@ -537,62 +550,57 @@ doc/ subversion tree. - - share/images/articles/releng/branches-relengX.pic - + + share/images/articles/releng/branches-relengX.pic + - + head/share/xml/release.ent - + - + en_US.ISO8859-1/htdocs/releases/* - + - + en_US.ISO8859-1/htdocs/releng/index.xml - + - + share/xml/news.xml - + Additionally, update the BSD Family Tree file: - - src/share/misc/bsd-family-tree - - + + src/share/misc/bsd-family-tree + - Creating the Release Tag When the final release is ready, the following command - will create the release/9.2.0 - tag. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***