From owner-svn-doc-user@freebsd.org Wed Mar 15 21:43:38 2017 Return-Path: Delivered-To: svn-doc-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84DACD0E673 for ; Wed, 15 Mar 2017 21:43:38 +0000 (UTC) (envelope-from gjb@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 mx1.freebsd.org (Postfix) with ESMTPS id 5F8541E08; Wed, 15 Mar 2017 21:43:38 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v2FLhbkH064893; Wed, 15 Mar 2017 21:43:37 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v2FLhbtc064891; Wed, 15 Mar 2017 21:43:37 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201703152143.v2FLhbtc064891@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 15 Mar 2017 21:43:37 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-user@freebsd.org Subject: svn commit: r50064 - user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng X-SVN-Group: doc-user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-user@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for doc experimental trees List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Mar 2017 21:43:38 -0000 Author: gjb Date: Wed Mar 15 21:43:37 2017 New Revision: 50064 URL: https://svnweb.freebsd.org/changeset/doc/50064 Log: Add sections on creating stable and releng branches, and what files to edit in head and new stable branches, as well as the simplified workflow. There is still quite a bit to be written, however. Sponsored by: The FreeBSD Foundation Modified: user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml Modified: user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml ============================================================================== --- user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml Wed Mar 15 09:41:25 2017 (r50063) +++ user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml Wed Mar 15 21:43:37 2017 (r50064) @@ -44,9 +44,65 @@ When creating the &branch.stable; branch, several changes are required in both the new &branch.stable; branch and the - &branch.head; branch. + &branch.head; branch. The files listed are relative to the + repository root. To create the new &branch.stablex; branch + in Subversion: + + &prompt.user; svn cp head &branch.stablex; + + Once the &branch.stablex; branch has been committed, make + the following edits: + + + + + + File to Edit + What to Change + + + + + + stable/11/UPDATING + Update the &os; version, and remove the notice + about WITNESS + + + + stable/11/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h + #ifndef MALLOC_PRODUCTION +#define MALLOC_PRODUCTION +#endif + + + + stable/11/sys/*/conf/GENERIC* + Remove debugging support + + + + stable/11/release/release.conf.sample + Update SRCBRANCH + + + + stable/11/sys/*/conf/GENERIC-NODEBUG + Remove these kernel configurations + + + + stable/11/sys/conf/newvers.sh + Update the BRANCH value to + reflect PRERELEASE + + + + + + Then in the &branch.head; branch, which will now become + a new major version: - @@ -58,13 +114,84 @@ -   -   + head/UPDATING + Update the &os; version + + + + head/gnu/usr.bin/groff/tmac/mdoc.local.in + Add the new &os; version + + + + head/sys/conf/newvers.sh + Update the BRANCH value to + reflect CURRENT, and increment + REVISION + + + + head/Makefile.inc1 + Update TARGET_TRIPLE + + + + head/sys/sys/param.h + Update __FreeBSD_version + + + + head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp + Update + __FreeBSD_cc_version + + + + head/gnu/usr.bin/cc/cc_tools/freebsd-native.h + Update FBSD_MAJOR and + FBSD_CC_VER + + + + head/contrib/gcc/config.gcc + Append the + freebsd<version>.h + section + + + + head/release/Makefile + Remove the + debug.witness.trace entries + + + + head/release/doc/en_US.ISO8859-1/readme/article.xml + Replace &a.current; with &a.stable; + + + + head/release/doc/share/xml/release.ent + + + + ?> + + + head/lib/clang/clang.build.mk + Uncomment -DNDEBUG + + + + head/lib/clang/freebsd_cc_version.h + Update + FREEBSD_CC_VERSION - ?> Modified: user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml ============================================================================== --- user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml Wed Mar 15 09:41:25 2017 (r50063) +++ user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml Wed Mar 15 21:43:37 2017 (r50064) @@ -10,22 +10,164 @@ This section describes the general procedures of the &os; release cycle from an extablished &branch.stable; branch. + + &os; <literal>stable</literal> Branch Code Slush + + In preparation for the code freeze on + a stable branch, several files need to be + updated to reflect the release cycle is officially in + progress. These files are all relative to the top-most level of + the stable branch: + + + + + + File to Edit + What to Change + + + + + + gnu/usr.bin/groff/tmac/mdoc.local.in + Add the new &os; version + + + + sys/conf/newvers.sh + Update the BRANCH value to + reflect PRERELEASE + + + + Makefile.inc1 + Update TARGET_TRIPLE + + + + + + &os; <literal>BETA</literal> Builds -   + Following the code slush, the next phase of the release + cycle is the code freeze. This is the point at which all + commits to the stable branch require explicit approval from + the &team.re;. This is enforced by pre-commit hooks in the + Subversion repository by editing + base/svnadmin/conf/approvers to include + a regular expression matching the &branch.stablex; branch for + the release: + + ^/&branch.stablex; re + + + There are two general exceptions to requiring commit + approval during the release cycle. The first is any change + that needs to be committed by the Release Engineer in order + to proceed with the day-to-day workflow of the release cycle, + the other is security fixes that may occur during the release + cycle. + + + Once the code freeze is in effect, the next build from the + branch is labeled BETA1. This is done by + updating the BRANCH value in + sys/conf/newvers.sh from + PRERELEASE to + BETA1. + + Once this is done, the first set of BETA + builds are started. Subsequent BETA builds + do not require updates to any files other than + sys/conf/newvers.sh, incrementing the + BETA build number. Creating the &branch.relengx; Branch -   - - - - Code Thaw in the &branch.stablex; Branch - -   + When the first RC (Release Candidate) + build is ready to begin, the &branch.releng; branch is created. + This is a multi-step process that must be done in a specific + order, in order to avoid anomalies such as overlaps with + __FreeBSD_version values, for example. The + paths listed below are relative to the repository root. The + order of commits and what to change are: + + &prompt.user; svn cp &branch.stablex; &branch.relengx; + + + + + + File to Edit + What to Change + + + + + + releng/11.0/sys/conf/newvers.sh + Change BETAX + to RC1 + + + + releng/11.0/sys/sys/param.h + Update __FreeBSD_version + + + + releng/11.0/etc/pkg/FreeBSD.conf + Replace latest with + quarterly as the default package + repository location + + + + releng/11.0/release/pkg_repos/release-dvd.conf + Replace latest with + quarterly as the default package + repository location + + + + stable/11/sys/conf/newver.sh + Update BETAX + with PRERELEASE + + + + stable/11/sys/sys/param.h + Update __FreeBSD_version + + + + svnadmin/conf/approvers + Add a new approvers line for the releng + branch as was done for the stable branch + + + + + + &prompt.user; svn propdel -R svn:mergeinfo &branch.relengx; +&prompt.user; svn commit &branch.relengx; +&prompt.user; svn commit &branch.stablex; + + Now that two new __FreeBSD_version values + exist, also upate + head/en_US.ISO8859-1/books/porters-handbook/versions/chapter.xml + in the Documentation Project repository. + + After the first RC build has completed + and tested, the &branch.stable; branch can be + thawed by removing (or commenting) the + ^/&branch.stablex; entry in + svnadmin/conf/approvers.