# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2024-12-29 08:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: YAML Front Matter: description #: documentation/content/en/articles/freebsd-releng/_index.adoc:1 #, no-wrap msgid "Describes the approach used by the FreeBSD release engineering team to make production quality releases of the FreeBSD Operating System. It describes the tools available for those interested in producing customized FreeBSD releases for corporate rollouts or commercial productization" msgstr "" #. type: Title = #: documentation/content/en/articles/freebsd-releng/_index.adoc:1 #: documentation/content/en/articles/freebsd-releng/_index.adoc:16 #, no-wrap msgid "FreeBSD Release Engineering" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:63 msgid "Abstract" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:65 msgid "" "This article describes the release engineering process of the FreeBSD " "Project." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:67 msgid "'''" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:71 #, no-wrap msgid "Introduction to the FreeBSD Release Engineering Process" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:75 msgid "" "Development of FreeBSD has a very specific workflow. In general, all " "changes to the FreeBSD base system are committed to the {branchHead} branch, " "which reflects the top of the source tree." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:78 msgid "" "After a reasonable testing period, changes can then be merged to the " "{branchStable} branches. The default minimum timeframe before merging to " "{branchStable} branches is three (3) days." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:80 msgid "" "Although a general rule to wait a minimum of three days before merging from " "{branchHead}, there are a few special circumstances where an immediate merge " "may be necessary, such as a critical security fix, or a bug fix that " "directly inhibits the release build process." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:83 msgid "" "After several months, and the number of changes in the {branchStable} branch " "have grown significantly, it is time to release the next version of " "FreeBSD. These releases have been historically referred to as \"point\" " "releases." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:86 msgid "" "In between releases from the {branchStable} branches, approximately every " "two (2) years, a release will be cut directly from {branchHead}. These " "releases have been historically referred to as \"dot-zero\" releases." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:88 msgid "" "This article will highlight the workflow and responsibilities of the " "{teamRe} for both \"dot-zero\" and \"point\"' releases." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:90 msgid "The following sections of this article describe:" msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:91 #, no-wrap msgid "crossref:freebsd-releng[releng-prep, General Information and Preparation]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:93 msgid "General information and preparation before starting the release cycle." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:94 #, no-wrap msgid "crossref:freebsd-releng[releng-website, Website Changes During the Release Cycle]" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:96 #: documentation/content/en/articles/freebsd-releng/_index.adoc:281 #, no-wrap msgid "Website Changes During the Release Cycle" msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:97 #, no-wrap msgid "crossref:freebsd-releng[releng-terms, Release Engineering Terminology]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:99 msgid "" "Terminology and general information, such as the \"code slush\" and \"code " "freeze\", used throughout this document." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:100 #, no-wrap msgid "crossref:freebsd-releng[releng-head, Release from {branchHead}]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:102 msgid "The Release Engineering process for a \"dot-zero\" release." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:103 #, no-wrap msgid "crossref:freebsd-releng[releng-stable, Release from {branchStable}]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:105 msgid "The Release Engineering process for a \"point\" release." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:106 #, no-wrap msgid "crossref:freebsd-releng[releng-building, Building FreeBSD Installation Media]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:108 msgid "" "Information related to the specific procedures to build installation medium." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:109 #, no-wrap msgid "crossref:freebsd-releng[releng-mirrors, Publishing FreeBSD Installation Media to Project Mirrors]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:111 msgid "Procedures to publish installation medium." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:112 #, no-wrap msgid "crossref:freebsd-releng[releng-wrapup, Wrapping up the Release Cycle]" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:114 msgid "Wrapping up the release cycle." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:116 #, no-wrap msgid "General Information and Preparation" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:121 msgid "" "Approximately two months before the start of the release cycle, the {teamRe} " "decides on a schedule for the release. The schedule includes the various " "milestone points of the release cycle, such as freeze dates, branch dates, " "and build dates. For example:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:126 #, no-wrap msgid "Milestone" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:128 #, no-wrap msgid "Anticipated Date" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:129 #, no-wrap msgid "{branchHead} slush:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:131 #, no-wrap msgid "May 27, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:132 #, no-wrap msgid "{branchHead} freeze:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:134 #, no-wrap msgid "June 10, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:135 #, no-wrap msgid "{branchHead} KBI freeze:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:137 #: documentation/content/en/articles/freebsd-releng/_index.adoc:140 #, no-wrap msgid "June 24, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:138 #, no-wrap msgid "`doc/` tree slush [1]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:141 #, no-wrap msgid "Ports quarterly branch [2]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:143 #, no-wrap msgid "July 1, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:144 #, no-wrap msgid "{branchStablex} branch:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:146 #: documentation/content/en/articles/freebsd-releng/_index.adoc:149 #: documentation/content/en/articles/freebsd-releng/_index.adoc:152 #, no-wrap msgid "July 8, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:147 #, no-wrap msgid "`doc/` tree tag [3]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:150 #, no-wrap msgid "BETA1 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:153 #, no-wrap msgid "{branchHead} thaw:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:155 #, no-wrap msgid "July 9, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:156 #, no-wrap msgid "BETA2 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:158 #, no-wrap msgid "July 15, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:159 #, no-wrap msgid "BETA3 build starts [*]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:161 #, no-wrap msgid "July 22, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:162 #, no-wrap msgid "{branchRelengx} branch:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:164 #: documentation/content/en/articles/freebsd-releng/_index.adoc:167 #, no-wrap msgid "July 29, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:165 #, no-wrap msgid "RC1 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:168 #, no-wrap msgid "{branchStablex} thaw:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:170 #, no-wrap msgid "July 30, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:171 #, no-wrap msgid "RC2 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:173 #, no-wrap msgid "August 5, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:174 #, no-wrap msgid "Final Ports package builds [4]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:176 #, no-wrap msgid "August 6, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:177 #, no-wrap msgid "Ports release tag:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:179 #: documentation/content/en/articles/freebsd-releng/_index.adoc:182 #, no-wrap msgid "August 12, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:180 #, no-wrap msgid "RC3 build starts [*]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:183 #, no-wrap msgid "RELEASE build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:185 #, no-wrap msgid "August 19, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:186 #, no-wrap msgid "RELEASE announcement:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:187 #, no-wrap msgid "September 2, 2016" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:192 msgid "Items marked with \"[*]\" are \"as needed\"." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:195 msgid "The `doc/` tree slush is coordinated by the {teamDoceng}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:196 msgid "" "The Ports quarterly branch used is determined by when the final `RC` build " "is planned. A new quarterly branch is created on the first day of the " "quarter, so this metric should be used when taking the release cycle " "milestones into account. The quarterly branch is created by the " "{teamPortmgr}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:197 msgid "The `doc/` tree is tagged by the {teamDoceng}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:198 msgid "" "The final Ports package build is done by the {teamPortmgr} after the final " "(or what is expected to be final) `RC` build." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:202 msgid "" "If the release is being created from an existing {branchStable} branch, the " "KBI freeze date can be excluded, since the KBI is already considered frozen " "on established {branchStable} branches." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:207 msgid "" "When writing the release cycle schedule, a number of things need to be taken " "into consideration, in particular milestones where the target date depends " "on predefined milestones upon which there is a dependency. For example, the " "Ports Collection release tag originates from the active quarterly branch at " "the time of the last `RC`. This in part defines which quarterly branch is " "used, when the release tag can happen, and what revision of the ports tree " "is used for the final `RELEASE` build." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:209 msgid "" "After general agreement on the schedule, the {teamRe} emails the schedule to " "the FreeBSD Developers." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:212 msgid "" "It is somewhat typical that many developers will inform the {teamRe} about " "various works-in-progress. In some cases, an extension for the in-progress " "work will be requested, and in other cases, a request for \"blanket " "approval\" to a particular subset of the tree will be made." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:216 msgid "" "When such requests are made, it is important to make sure timelines (even if " "estimated) are discussed. For blanket approvals, the length of time for the " "blanket approval should be made clear. For example, a FreeBSD developer may " "request blanket approvals from the start of the code slush until the start " "of the `RC` builds." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:221 msgid "" "To keep track of blanket approvals, the {teamRe} uses an internal repository " "to keep a running log of such requests, which defines the area upon which a " "blanket approval was granted, the author(s), when the blanket approval " "expires, and the reason the approval was granted. One example of this is " "granting blanket approval to [.filename]#release/doc/# to all {teamRe} " "members until the final `RC` to update the release notes and other release-" "related documentation." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:226 msgid "" "The {teamRe} also uses this repository to track pending approval requests " "that are received just prior to starting various builds during the release " "cycle, which the Release Engineer specifies the cutoff period with an email " "to the FreeBSD developers." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:229 msgid "" "Depending on the underlying set of code in question, and the overall impact " "the set of code has on FreeBSD as a whole, such requests may be approved or " "denied by the {teamRe}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:233 msgid "" "The same applies to work-in-progress extensions. For example, in-progress " "work for a new device driver that is otherwise isolated from the rest of the " "tree may be granted an extension. A new scheduler, however, may not be " "feasible, especially if such dramatic changes do not exist in another branch." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:235 msgid "" "The schedule is also added to the Project website, in the `doc/` repository, " "in [.filename]#~/website/content/en/releases/{branchRevision}R/schedule." "adoc#. This file is continuously updated as the release cycle progresses." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:239 msgid "" "In most cases, the [.filename]#schedule.adoc# can be copied from a prior " "release and updated accordingly." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:242 msgid "" "In addition to adding [.filename]#schedule.adoc# to the website, [." "filename]#~/shared/releases.adoc# is also updated to add the link to the " "schedule to various subpages, as well as enabling the link to the schedule " "on the Project website index page." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:244 msgid "" "The schedule is also linked from [.filename]#~/website/content/en/releng/" "_index.adoc#." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:246 msgid "" "Approximately one month prior to the scheduled \"code slush\", the {teamRe} " "sends a reminder email to the FreeBSD Developers." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:248 #, no-wrap msgid "Release Engineering Terminology" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:251 msgid "" "This section describes some of the terminology used throughout the rest of " "this document." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:253 #, no-wrap msgid "The Code Slush" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:256 msgid "" "Although the code slush is not a hard freeze on the tree, the {teamRe} " "requests that bugs in the existing code base take priority over new features." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:258 msgid "The code slush does not enforce commit approvals to the branch." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:260 #, no-wrap msgid "The Code Freeze" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:263 msgid "" "The code freeze marks the point in time where all commits to the branch " "require explicit approval from the {teamRe}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:266 msgid "" "The FreeBSD Git repository contains several hooks to perform sanity checks " "before any commit is actually committed to the tree. One of these hooks " "will evaluate if committing to a particular branch requires specific " "approval." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:268 msgid "" "To enforce commit approvals by the {teamRe}, the Release Engineering Team " "must approve any changes to the branch, in which case the commit log must " "include an `Approved by: re (login)` line, where \"login\" is the login ID " "of the approver." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:272 msgid "" "During the code freeze, FreeBSD committers are urged to follow the link:" "https://wiki.freebsd.org/Releng/ChangeRequestGuidelines[Change Request " "Guidelines]." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:275 #, no-wrap msgid "The KBI/KPI Freeze" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:279 msgid "" "KBI/KPI stability implies that the caller of a function across two different " "releases of software that implement the function results in the same end " "state. The caller, whether it is a process, thread, or function, expects " "the function to operate in a certain way, otherwise the KBI/KPI stability on " "the branch is broken." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:284 msgid "" "This section describes the changes to the website that should occur as the " "release cycle progresses." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:288 msgid "" "The files specified throughout this section are relative to the `{branchHead}" "` branch of the `doc` repository." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:291 #, no-wrap msgid "Website Changes Before the Release Cycle Begins" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:294 msgid "" "When the release cycle schedule is available, these files need to be updated " "to enable different functionalities on the FreeBSD Project website:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:299 #: documentation/content/en/articles/freebsd-releng/_index.adoc:318 #: documentation/content/en/articles/freebsd-releng/_index.adoc:389 #: documentation/content/en/articles/freebsd-releng/_index.adoc:444 #: documentation/content/en/articles/freebsd-releng/_index.adoc:492 #: documentation/content/en/articles/freebsd-releng/_index.adoc:548 #: documentation/content/en/articles/freebsd-releng/_index.adoc:638 #, no-wrap msgid "File to Edit" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:301 #: documentation/content/en/articles/freebsd-releng/_index.adoc:320 #: documentation/content/en/articles/freebsd-releng/_index.adoc:391 #: documentation/content/en/articles/freebsd-releng/_index.adoc:446 #: documentation/content/en/articles/freebsd-releng/_index.adoc:494 #: documentation/content/en/articles/freebsd-releng/_index.adoc:550 #: documentation/content/en/articles/freebsd-releng/_index.adoc:640 #: documentation/content/en/articles/freebsd-releng/_index.adoc:768 #, no-wrap msgid "What to Change" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:302 #: documentation/content/en/articles/freebsd-releng/_index.adoc:305 #: documentation/content/en/articles/freebsd-releng/_index.adoc:321 #, no-wrap msgid "[.filename]#~/shared/releases.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:304 #, no-wrap msgid "Change `beta-upcoming` from `IGNORE` to `INCLUDE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:307 #, no-wrap msgid "Change `beta-testing` from `IGNORE` to `INCLUDE`" msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:310 #, no-wrap msgid "Website Changes During `BETA` or `RC`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:313 msgid "" "When transitioning from `PRERELEASE` to `BETA`, these files need to be " "updated to enable the \"Help Test\" block on the download page. All files " "are relative to [.filename]#head/# in the `doc` repository:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:323 #, no-wrap msgid "Update `betarel-vers` to `BETA__1__`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:324 #, no-wrap msgid "[.filename]#~/website/data/en/news/news.toml#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:326 #, no-wrap msgid "Add an entry announcing the `BETA`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:327 #: documentation/content/en/articles/freebsd-releng/_index.adoc:790 #, no-wrap msgid "[.filename]#~/website/static/security/advisory-template.txt#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:329 #: documentation/content/en/articles/freebsd-releng/_index.adoc:331 #, no-wrap msgid "Add the new `BETA`, `RC`, or final `RELEASE` to the template" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:330 #: documentation/content/en/articles/freebsd-releng/_index.adoc:793 #, no-wrap msgid "[.filename]#~/website/static/security/errata-template.txt#" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:334 msgid "" "Once the {branchRelengx} branch is created, the various release-related " "documents need to be added to the `doc/` repository." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:338 msgid "" "The relevant release-related documents exist in the [.filename]#doc# " "repository for FreeBSD 12.x and later." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:341 #, no-wrap msgid "Ports Changes During `BETA`, `RC`, and the Final `RELEASE`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:345 msgid "" "For each build during the release cycle, the `MANIFEST` files containing the " "`SHA256` of the various distribution sets, such as `base.txz`, `kernel.txz`, " "and so on, are added to the package:misc/freebsd-release-manifests[] port. " "This allows utilities other than , such as package:ports-mgmt/poudriere[], " "to safely use these distribution sets by providing a mechanism through which " "the checksums can be verified." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:347 #, no-wrap msgid "Release from {branchHead}" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:350 msgid "" "This section describes the general procedures of the FreeBSD release cycle " "from the {branchHead} branch." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:352 #, no-wrap msgid "FreeBSD \"`ALPHA`\" Builds" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:356 msgid "" "Starting with the FreeBSD 10.0-RELEASE cycle, the notion of \"`ALPHA`\" " "builds was introduced. Unlike the `BETA` and `RC` builds, `ALPHA` builds " "are not included in the FreeBSD Release schedule." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:358 msgid "" "The idea behind `ALPHA` builds is to provide regular FreeBSD-provided builds " "before the creation of the {branchStable} branch." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:360 msgid "FreeBSD `ALPHA` snapshots should be built approximately once a week." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:363 msgid "" "For the first `ALPHA` build, the `BRANCH` value in [.filename]#sys/conf/" "newvers.sh# needs to be changed from `CURRENT` to `ALPHA1`. For subsequent " "`ALPHA` builds, increment each `ALPHA__N__` value by one." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:365 msgid "" "See crossref:freebsd-releng[releng-building, Building FreeBSD Installation " "Media] for information on building the `ALPHA` images." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:367 #, no-wrap msgid "Creating the {branchStablex} Branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:372 msgid "" "When creating the {branchStable} branch, several changes are required in " "both the new {branchStable} branch and the {branchHead} branch. The files " "listed are relative to the repository root. To create the new " "{branchStablex} branch in Git:" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:376 msgid "Make sure that you are in the {branchHead} branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:381 #, no-wrap msgid "% git checkout -b {branchStablex}\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:384 msgid "" "Once the {branchStablex} branch has been created, make the following edits:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:392 #: documentation/content/en/articles/freebsd-releng/_index.adoc:447 #: documentation/content/en/articles/freebsd-releng/_index.adoc:644 #, no-wrap msgid "[.filename]#UPDATING#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:394 #, no-wrap msgid "Update the FreeBSD version, and remove the notice about `WITNESS`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:395 #, no-wrap msgid "[.filename]#contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:404 #, no-wrap msgid "" "[source,shell,subs=\"attributes\"]\n" "....\n" "#ifndef MALLOC_PRODUCTION\n" "#define MALLOC_PRODUCTION\n" "#endif\n" "...." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:405 #: documentation/content/en/articles/freebsd-releng/_index.adoc:465 #: documentation/content/en/articles/freebsd-releng/_index.adoc:501 #, no-wrap msgid "[.filename]#lib/clang/llvm.build.mk#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:407 #, no-wrap msgid "Uncomment `-DNDEBUG`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:408 #, no-wrap msgid "[.filename]#sys/\\*/conf/GENERIC*#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:410 #: documentation/content/en/articles/freebsd-releng/_index.adoc:413 #, no-wrap msgid "Remove debugging support" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:411 #, no-wrap msgid "[.filename]#sys/*/conf/MINIMAL#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:414 #, no-wrap msgid "[.filename]#release/release.conf.sample#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:416 #, no-wrap msgid "Update `SRCBRANCH`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:417 #, no-wrap msgid "[.filename]#sys/*/conf/GENERIC-NODEBUG#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:419 #, no-wrap msgid "Remove these kernel configurations" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:420 #, no-wrap msgid "[.filename]#sys/arm/conf/std.arm*#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:422 #, no-wrap msgid "Remove debugging options" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:423 #: documentation/content/en/articles/freebsd-releng/_index.adoc:450 #: documentation/content/en/articles/freebsd-releng/_index.adoc:495 #: documentation/content/en/articles/freebsd-releng/_index.adoc:551 #: documentation/content/en/articles/freebsd-releng/_index.adoc:566 #: documentation/content/en/articles/freebsd-releng/_index.adoc:641 #, no-wrap msgid "[.filename]#sys/conf/newvers.sh#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:425 #, no-wrap msgid "Update the `BRANCH` value to reflect `BETA1`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:426 #: documentation/content/en/articles/freebsd-releng/_index.adoc:429 #, no-wrap msgid "[.filename]#share/mk/src.opts.mk#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:428 #, no-wrap msgid "Move `REPRODUCIBLE_BUILD` from `\\__DEFAULT_NO_OPTIONS` to `__DEFAULT_YES_OPTIONS`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:431 #, no-wrap msgid "Move `LLVM_ASSERTIONS` from `\\__DEFAULT_YES_OPTIONS` to `__DEFAULT_NO_OPTIONS`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:432 #, no-wrap msgid "[.filename]#libexec/rc/rc.conf#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:434 #, no-wrap msgid "Set `dumpdev` from `AUTO` to `NO` (it is configurable via for those that want it enabled by default)" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:435 #, no-wrap msgid "[.filename]#release/Makefile#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:436 #, no-wrap msgid "Remove the `debug.witness.trace` entries" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:439 msgid "" "Then in the {branchHead} branch, which will now become a new major version:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:449 #, no-wrap msgid "Update the FreeBSD version" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:452 #, no-wrap msgid "Update the `BRANCH` value to reflect `CURRENT`, and increment `REVISION`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:453 #: documentation/content/en/articles/freebsd-releng/_index.adoc:498 #, no-wrap msgid "[.filename]#Makefile.inc1#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:455 #, no-wrap msgid "Update `TARGET_TRIPLE` and `MACHINE_TRIPLE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:456 #: documentation/content/en/articles/freebsd-releng/_index.adoc:554 #: documentation/content/en/articles/freebsd-releng/_index.adoc:569 #, no-wrap msgid "[.filename]#sys/sys/param.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:458 #: documentation/content/en/articles/freebsd-releng/_index.adoc:556 #: documentation/content/en/articles/freebsd-releng/_index.adoc:570 #, no-wrap msgid "Update `__FreeBSD_version`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:459 #, no-wrap msgid "[.filename]#gnu/usr.bin/cc/cc_tools/freebsd-native.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:461 #, no-wrap msgid "Update `FBSD_MAJOR` and `FBSD_CC_VER`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:462 #, no-wrap msgid "[.filename]#contrib/gcc/config.gcc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:464 #, no-wrap msgid "Append the `freebsdversion.h` section" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:467 #, no-wrap msgid "Update the value of `OS_VERSION`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:468 #, no-wrap msgid "[.filename]#lib/clang/freebsd_cc_version.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:470 #, no-wrap msgid "Update `FREEBSD_CC_VERSION`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:471 #, no-wrap msgid "[.filename]#lib/clang/include/lld/Common/Version.inc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:473 #, no-wrap msgid "Update `LLD_REVISION_STRING`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:474 #: documentation/content/en/articles/freebsd-releng/_index.adoc:504 #, no-wrap msgid "[.filename]#Makefile.libcompat#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:475 #: documentation/content/en/articles/freebsd-releng/_index.adoc:505 #, no-wrap msgid "Update `LIB32CPUFLAGS`" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:478 #, no-wrap msgid "Release from {branchStable}" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:481 msgid "" "This section describes the general procedures of the FreeBSD release cycle " "from an extablished {branchStable} branch." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:483 #, no-wrap msgid "FreeBSD `stable` Branch Code Slush" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:487 msgid "" "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:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:497 #, no-wrap msgid "Update the `BRANCH` value to reflect `PRERELEASE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:500 #, no-wrap msgid "Update `TARGET_TRIPLE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:503 #, no-wrap msgid "Update `OS_VERSION`" msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:508 #, no-wrap msgid "FreeBSD `BETA` Builds" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:513 msgid "" "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 {teamRe}. This is enforced by {git-admin-email} " "who handles the repository." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:518 msgid "" "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 to proceed with the day-to-day workflow of the release " "cycle, the other is security fixes that may occur during the release cycle." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:522 msgid "" "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 [.filename]#sys/" "conf/newvers.sh# from `PRERELEASE` to `BETA1`." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:525 msgid "" "Once this is done, the first set of `BETA` builds are started. Subsequent " "`BETA` builds do not require updates to any files other than [.filename]#sys/" "conf/newvers.sh#, incrementing the `BETA` build number." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:527 #, no-wrap msgid "Creating the {branchRelengx} Branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:533 msgid "" "When the first `RC` (Release Candidate) build is ready to begin, the " "{branchReleng} branch is created. This is a multi-step process that must be " "done in a specific 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:" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:537 msgid "Make sure that you are in the {branchStablex} branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:542 #, no-wrap msgid "% git checkout -b {branchRelengx}\n" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:553 #, no-wrap msgid "Change `BETA__X__` to `RC1`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:557 #, no-wrap msgid "[.filename]#sys/conf/kern.opts.mk#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:559 #, no-wrap msgid "Move `REPRODUCIBLE_BUILD` from `__DEFAULT_NO_OPTIONS` to `__DEFAULT_YES_OPTIONS`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:560 #, no-wrap msgid "[.filename]#etc/pkg/FreeBSD.conf#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:562 #: documentation/content/en/articles/freebsd-releng/_index.adoc:565 #, no-wrap msgid "Replace `latest` with `quarterly` as the default package repository location" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:563 #, no-wrap msgid "[.filename]#release/pkg_repos/release-dvd.conf#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:568 #, no-wrap msgid "Update `BETA__X__` with `PRERELEASE`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:573 msgid "" "Then, {git-admin-email} adds new approvers for the releng branch as did for " "the stable branch." msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:578 #, no-wrap msgid "" "% git add .\n" "% git commit\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:581 msgid "" "Now that two new `__FreeBSD_version` values exist, also update [.filename]#~/" "documentation/content/en/books/porters-handbook/versions/chapter.adoc# in " "the Documentation Project repository." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:583 msgid "" "After the first `RC` build has completed and tested, the {branchStable} " "branch can be \"thawed\" by {git-admin-email}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:585 msgid "" "Following the availability of the first `RC`, {teamBugmeister} should be " "emailed to add the new FreeBSD `-RELEASE` to the `versions` available in the " "drop-down menu shown in the bug tracker." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:587 #, no-wrap msgid "Building FreeBSD Installation Media" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:590 msgid "" "This section describes the general procedures producing FreeBSD development " "snapshots and releases." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:592 #, no-wrap msgid "Release Build Scripts" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:595 msgid "" "Prior to FreeBSD 9.0-RELEASE, [.filename]#src/release/Makefile# was updated " "to support , and the [.filename]#src/release/generate-release.sh# script was " "introduced as a wrapper to automate invoking the targets." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:598 msgid "" "Prior to FreeBSD 9.2-RELEASE, [.filename]#src/release/release.sh# was " "introduced, which heavily based on [.filename]#src/release/generate-release." "sh# included support to specify configuration files to override various " "options and environment variables. Support for configuration files provided " "support for cross building each architecture for a release by specifying a " "separate configuration file for each invocation." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:600 msgid "" "As a brief example of using [.filename]#src/release/release.sh# to build a " "single release in [.filename]#/scratch#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:604 #, no-wrap msgid "# /bin/sh /usr/src/release/release.sh\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:607 msgid "" "As a brief example of using [.filename]#src/release/release.sh# to build a " "single, cross-built release using a different target directory, create a " "custom [.filename]#release.conf# containing:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:615 #, no-wrap msgid "" "# release.sh configuration for powerpc/powerpc64\n" "CHROOTDIR=\"/scratch-powerpc64\"\n" "TARGET=\"powerpc\"\n" "TARGET_ARCH=\"powerpc64\"\n" "KERNEL=\"GENERIC64\"\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:618 msgid "Then invoke [.filename]#src/release/release.sh# as:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:622 #, no-wrap msgid "# /bin/sh /usr/src/release/release.sh -c $HOME/release.conf\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:625 msgid "" "See and [.filename]#src/release/release.conf.sample# for more details and " "example usage." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:627 #, no-wrap msgid "Building FreeBSD Releases" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:631 msgid "" "During the release cycle, a copy of [.filename]#CHECKSUM.SHA512# and [." "filename]#CHECKSUM.SHA256# for each architecture are stored in the {teamRe} " "internal repository in addition to being included in the various " "announcement emails. Each [.filename]#MANIFEST# containing the hashes of [." "filename]#base.txz#, [.filename]#kernel.txz#, etc. are added to package:misc/" "freebsd-release-manifests[] in the Ports Collection, as well." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:633 msgid "In preparation for the release build, several files need to be updated:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:643 #, no-wrap msgid "Update the `BRANCH` value to `RELEASE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:646 #, no-wrap msgid "Add the anticipated announcement date" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:647 #, no-wrap msgid "[.filename]#lib/csu/common/crtbrand.S#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:648 #, no-wrap msgid "Replace `__FreeBSD_version` with the value in [.filename]#sys/sys/param.h#" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:653 msgid "" "After building the final `RELEASE`, the {branchRelengx} branch is tagged as " "{tagReleasex} using the revision from which the `RELEASE` was built. " "Similar to creating the {branchStablex} and {branchRelengx} branches, this " "is done with `git tag`. From the repository root:" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:657 msgid "Make sure that you are in the {branchRelengx} branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:662 #, no-wrap msgid "% git tag {tagReleasex}\n" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:665 #, no-wrap msgid "Publishing FreeBSD Installation Media to Project Mirrors" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:668 msgid "" "This section describes the procedure to publish FreeBSD development " "snapshots and releases to the Project mirrors." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:670 #, no-wrap msgid "Staging FreeBSD Installation Media Images" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:673 msgid "Staging FreeBSD snapshots and releases is a two part process:" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:675 msgid "Creating the directory structure to match the hierarchy on `ftp-master`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:678 msgid "" "If `EVERYTHINGISFINE` is defined in the build configuration files, [." "filename]#main.conf# in the case of the build scripts referenced above, this " "happens automatically in the after the build is complete, creating the " "directory structure in [.filename]#${DESTDIR}/R/ftp-stage# with a path " "structure matching what is expected on `ftp-master`. This is equivalent to " "running the following in the directly:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:682 #, no-wrap msgid "# make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:685 msgid "" "After each architecture is built, [.filename]#thermite.sh# will rsync the [." "filename]#${DESTDIR}/R/ftp-stage# from the build to [.filename]#/snap/ftp/" "snapshots# or [.filename]#/snap/ftp/releases# on the build host, " "respectively." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:686 msgid "" "Copying the files to a staging directory on `ftp-master` before moving the " "files into [.filename]#pub/# to begin propagation to the Project mirrors" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:688 msgid "" "Once all builds have finished, [.filename]#/snap/ftp/snapshots#, or [." "filename]#/snap/ftp/releases# for a release, is polled by `ftp-master` using " "rsync to [.filename]#/archive/tmp/snapshots# or [.filename]#/archive/tmp/" "releases#, respectively." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:692 msgid "" "On `ftp-master` in the FreeBSD Project infrastructure, this step requires " "`root` level access, as this step must be executed as the `archive` user." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:695 #, no-wrap msgid "Publishing FreeBSD Installation Media" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:699 msgid "" "Once the images are staged in [.filename]#/archive/tmp/#, they are ready to " "be made public by putting them in [.filename]#/archive/pub/FreeBSD#. To " "reduce propagation time, is used to create hard links from [.filename]#/" "archive/tmp# to [.filename]#/archive/pub/FreeBSD#." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:703 msgid "" "For this to be effective, both [.filename]#/archive/tmp# and [.filename]#/" "archive/pub# must reside on the same logical filesystem." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:706 msgid "" "There is a caveat, however, where rsync must be used after to correct the " "symbolic links in [.filename]#pub/FreeBSD/snapshots/ISO-IMAGES# which will " "replace with a hard link, increasing the propagation time." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:710 msgid "" "As with the staging steps, this requires `root` level access, as this step " "must be executed as the `archive` user." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:713 msgid "As the `archive` user:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:719 #, no-wrap msgid "" "% cd /archive/tmp/snapshots\n" "% pax -r -w -l . /archive/pub/FreeBSD/snapshots\n" "% /usr/local/bin/rsync -avH /archive/tmp/snapshots/* /archive/pub/FreeBSD/snapshots/\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:722 msgid "Replace _snapshots_ with _releases_ as appropriate." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:724 #, no-wrap msgid "Wrapping up the Release Cycle" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:727 msgid "This section describes general post-release tasks." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:729 #, no-wrap msgid "Post-Release Errata Notices" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:733 msgid "" "As the release cycle approaches conclusion, it is common to have several EN " "(Errata Notice) candidates to address issues that were discovered late in " "the cycle. Following the release, the {teamRe} and the {teamSecteam} " "revisit changes that were not approved prior to the final release, and " "depending on the scope of the change in question, may issue an EN." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:737 msgid "The actual process of issuing ENs is handled by the {teamSecteam}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:740 msgid "" "To request an Errata Notice after a release cycle has completed, a developer " "should fill out the https://www.freebsd.org/security/errata-template." "txt[Errata Notice template], in particular the `Background`, `Problem " "Description`, `Impact`, and if applicable, `Workaround` sections." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:742 msgid "" "The completed Errata Notice template should be emailed together with either " "a patch against the {branchReleng} branch or a list of revisions from the " "{branchStable} branch." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:746 msgid "" "For Errata Notice requests immediately following the release, the request " "should be emailed to both the {teamRe} and the {teamSecteam}. Once the " "{branchReleng} branch has been handed over to the {teamSecteam} as described " "in crossref:freebsd-releng[releng-wrapup-handoff, Handoff to the " "{teamSecteam}], Errata Notice requests should be sent to the {teamSecteam}." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:748 #, no-wrap msgid "Handoff to the {teamSecteam}" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:751 msgid "" "Roughly two weeks following the release, the Release Engineer updates the " "Git repository changing the approver from the Release engineering team to " "the security officer for the {branchRelengx} branch." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:753 #, no-wrap msgid "Release End-of-Life" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:756 msgid "" "This section describes the website-related files to update when a release " "reaches EoL (End-of-Life)." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:758 #, no-wrap msgid "Website Updates for End-of-Life" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:761 msgid "" "When a release reaches End-of-Life, references to that release should be " "removed and/or updated on the website:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:766 #, no-wrap msgid "File" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:769 #, no-wrap msgid "[.filename]#~/website/themes/beastie/layouts/index.html#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:771 #: documentation/content/en/articles/freebsd-releng/_index.adoc:789 #, no-wrap msgid "Remove `u-relXXX-announce` and `u-relXXX-announce` references." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:772 #, no-wrap msgid "[.filename]#~/website/content/en/releases/_index.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:774 #, no-wrap msgid "Move the `u-relXXX-*` variables from the supported release list to the Legacy Releases list." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:775 #, no-wrap msgid "[.filename]#~/website/content/en/releng/_index.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:777 #, no-wrap msgid "Update the appropriate releng branch to reflect the branch is no longer supported." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:778 #, no-wrap msgid "[.filename]#~/website/content/en/security/_index.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:780 #, no-wrap msgid "Remove the branch from the supported branch list." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:781 #, no-wrap msgid "[.filename]#~/website/content/en/security/unsupported.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:783 #, no-wrap msgid "Add the branch to the unsupported branch list." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:784 #, no-wrap msgid "[.filename]#~/website/content/en/where.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:786 #, no-wrap msgid "Remove the URLs for the release." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:787 #, no-wrap msgid "[.filename]#~/website/themes/beastie/layouts/partials/sidenav.html#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:792 #: documentation/content/en/articles/freebsd-releng/_index.adoc:794 #, no-wrap msgid "Remove references to the release and releng branch." msgstr ""