# 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: 2026-08-16 15:12-0300\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 Hash Value: 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: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:62 msgid "Abstract" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:64 msgid "" "This article describes the release engineering process of the FreeBSD " "Project." msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:66 msgid "'''" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:70 #, no-wrap msgid "Introduction to the FreeBSD Release Engineering Process" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:74 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: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:77 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: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:79 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: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:82 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: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:85 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: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:87 msgid "" "This article will highlight the workflow and responsibilities of the " "{teamRe} for both \"dot-zero\" and \"point\"' releases." msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:89 msgid "The following sections of this article describe:" msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:90 #, no-wrap msgid "crossref:freebsd-releng[releng-prep, General Information and Preparation]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:92 msgid "General information and preparation before starting the release cycle." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:93 #, 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:95 #: documentation/content/en/articles/freebsd-releng/_index.adoc:280 #, no-wrap msgid "Website Changes During the Release Cycle" msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:96 #, no-wrap msgid "crossref:freebsd-releng[releng-terms, Release Engineering Terminology]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:98 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:99 #, no-wrap msgid "crossref:freebsd-releng[releng-head, Release from {branchHead}]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:101 msgid "The Release Engineering process for a \"dot-zero\" release." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:102 #, no-wrap msgid "crossref:freebsd-releng[releng-stable, Release from {branchStable}]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:104 msgid "The Release Engineering process for a \"point\" release." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:105 #, no-wrap msgid "crossref:freebsd-releng[releng-building, Building FreeBSD Installation Media]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:107 msgid "" "Information related to the specific procedures to build installation medium." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:108 #, no-wrap msgid "crossref:freebsd-releng[releng-mirrors, Publishing FreeBSD Installation Media to Project Mirrors]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:110 msgid "Procedures to publish installation medium." msgstr "" #. type: Labeled list #: documentation/content/en/articles/freebsd-releng/_index.adoc:111 #, no-wrap msgid "crossref:freebsd-releng[releng-wrapup, Wrapping up the Release Cycle]" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:113 msgid "Wrapping up the release cycle." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:115 #, no-wrap msgid "General Information and Preparation" msgstr "" #. type: .abstract-title #: documentation/content/en/articles/freebsd-releng/_index.adoc:120 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:125 #, no-wrap msgid "Milestone" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:127 #, no-wrap msgid "Anticipated Date" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:128 #, no-wrap msgid "{branchHead} slush:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:130 #, no-wrap msgid "May 27, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:131 #, no-wrap msgid "{branchHead} freeze:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:133 #, no-wrap msgid "June 10, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:134 #, no-wrap msgid "{branchHead} KBI freeze:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:136 #: documentation/content/en/articles/freebsd-releng/_index.adoc:139 #, no-wrap msgid "June 24, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:137 #, no-wrap msgid "`doc/` tree slush [1]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:140 #, no-wrap msgid "Ports quarterly branch [2]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:142 #, no-wrap msgid "July 1, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:143 #, no-wrap msgid "{branchStablex} branch:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:145 #: documentation/content/en/articles/freebsd-releng/_index.adoc:148 #: documentation/content/en/articles/freebsd-releng/_index.adoc:151 #, no-wrap msgid "July 8, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:146 #, no-wrap msgid "`doc/` tree tag [3]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:149 #, no-wrap msgid "BETA1 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:152 #, no-wrap msgid "{branchHead} thaw:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:154 #, no-wrap msgid "July 9, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:155 #, no-wrap msgid "BETA2 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:157 #, no-wrap msgid "July 15, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:158 #, no-wrap msgid "BETA3 build starts [*]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:160 #, no-wrap msgid "July 22, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:161 #, no-wrap msgid "{branchRelengx} branch:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:163 #: documentation/content/en/articles/freebsd-releng/_index.adoc:166 #, no-wrap msgid "July 29, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:164 #, no-wrap msgid "RC1 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:167 #, no-wrap msgid "{branchStablex} thaw:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:169 #, no-wrap msgid "July 30, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:170 #, no-wrap msgid "RC2 build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:172 #, no-wrap msgid "August 5, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:173 #, no-wrap msgid "Final Ports package builds [4]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:175 #, no-wrap msgid "August 6, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:176 #, no-wrap msgid "Ports release tag:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:178 #: documentation/content/en/articles/freebsd-releng/_index.adoc:181 #, no-wrap msgid "August 12, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:179 #, no-wrap msgid "RC3 build starts [*]:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:182 #, no-wrap msgid "RELEASE build starts:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:184 #, no-wrap msgid "August 19, 2016" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:185 #, no-wrap msgid "RELEASE announcement:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:186 #, no-wrap msgid "September 2, 2016" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:191 msgid "Items marked with \"[*]\" are \"as needed\"." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:194 msgid "The `doc/` tree slush is coordinated by the {teamDoceng}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:195 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:196 msgid "The `doc/` tree is tagged by the {teamDoceng}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:197 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:201 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:206 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:208 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:211 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:215 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:220 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:225 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:228 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:232 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:234 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:238 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:241 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:243 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:245 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:247 #, no-wrap msgid "Release Engineering Terminology" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:250 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:252 #, no-wrap msgid "The Code Slush" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:255 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:257 msgid "The code slush does not enforce commit approvals to the branch." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:259 #, no-wrap msgid "The Code Freeze" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:262 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:265 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:267 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:271 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:274 #, no-wrap msgid "The KBI/KPI Freeze" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:278 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:283 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:287 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:290 #, no-wrap msgid "Website Changes Before the Release Cycle Begins" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:293 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:298 #: documentation/content/en/articles/freebsd-releng/_index.adoc:317 #: documentation/content/en/articles/freebsd-releng/_index.adoc:388 #: documentation/content/en/articles/freebsd-releng/_index.adoc:443 #: documentation/content/en/articles/freebsd-releng/_index.adoc:491 #: documentation/content/en/articles/freebsd-releng/_index.adoc:547 #: documentation/content/en/articles/freebsd-releng/_index.adoc:637 #, no-wrap msgid "File to Edit" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:300 #: documentation/content/en/articles/freebsd-releng/_index.adoc:319 #: documentation/content/en/articles/freebsd-releng/_index.adoc:390 #: documentation/content/en/articles/freebsd-releng/_index.adoc:445 #: documentation/content/en/articles/freebsd-releng/_index.adoc:493 #: documentation/content/en/articles/freebsd-releng/_index.adoc:549 #: documentation/content/en/articles/freebsd-releng/_index.adoc:639 #: documentation/content/en/articles/freebsd-releng/_index.adoc:767 #, no-wrap msgid "What to Change" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:301 #: documentation/content/en/articles/freebsd-releng/_index.adoc:304 #: documentation/content/en/articles/freebsd-releng/_index.adoc:320 #, no-wrap msgid "[.filename]#~/shared/releases.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:303 #, no-wrap msgid "Change `beta-upcoming` from `IGNORE` to `INCLUDE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:306 #, no-wrap msgid "Change `beta-testing` from `IGNORE` to `INCLUDE`" msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:309 #, no-wrap msgid "Website Changes During `BETA` or `RC`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:312 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:322 #, no-wrap msgid "Update `betarel-vers` to `BETA__1__`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:323 #, no-wrap msgid "[.filename]#~/website/data/en/news/news.toml#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:325 #, no-wrap msgid "Add an entry announcing the `BETA`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:326 #: documentation/content/en/articles/freebsd-releng/_index.adoc:789 #, no-wrap msgid "[.filename]#~/website/static/security/advisory-template.txt#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:328 #: documentation/content/en/articles/freebsd-releng/_index.adoc:330 #, 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:329 #: documentation/content/en/articles/freebsd-releng/_index.adoc:792 #, no-wrap msgid "[.filename]#~/website/static/security/errata-template.txt#" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:333 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:337 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:340 #, no-wrap msgid "Ports Changes During `BETA`, `RC`, and the Final `RELEASE`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:344 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 man:bsdinstall[8], 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:346 #, no-wrap msgid "Release from {branchHead}" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:349 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:351 #, no-wrap msgid "FreeBSD \"`ALPHA`\" Builds" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:355 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:357 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:359 msgid "FreeBSD `ALPHA` snapshots should be built approximately once a week." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:362 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:364 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:366 #, no-wrap msgid "Creating the {branchStablex} Branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:371 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:375 msgid "Make sure that you are in the {branchHead} branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:380 #, no-wrap msgid "% git checkout -b {branchStablex}\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:383 msgid "" "Once the {branchStablex} branch has been created, make the following edits:" msgstr "" #. type: Table #: 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:643 #, no-wrap msgid "[.filename]#UPDATING#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:393 #, no-wrap msgid "Update the FreeBSD version, and remove the notice about `WITNESS`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:394 #, no-wrap msgid "[.filename]#contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:403 #, 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:404 #: documentation/content/en/articles/freebsd-releng/_index.adoc:464 #: documentation/content/en/articles/freebsd-releng/_index.adoc:500 #, no-wrap msgid "[.filename]#lib/clang/llvm.build.mk#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:406 #, no-wrap msgid "Uncomment `-DNDEBUG`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:407 #, no-wrap msgid "[.filename]#sys/\\*/conf/GENERIC*#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:409 #: documentation/content/en/articles/freebsd-releng/_index.adoc:412 #, no-wrap msgid "Remove debugging support" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:410 #, no-wrap msgid "[.filename]#sys/*/conf/MINIMAL#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:413 #, no-wrap msgid "[.filename]#release/release.conf.sample#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:415 #, no-wrap msgid "Update `SRCBRANCH`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:416 #, no-wrap msgid "[.filename]#sys/*/conf/GENERIC-NODEBUG#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:418 #, no-wrap msgid "Remove these kernel configurations" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:419 #, no-wrap msgid "[.filename]#sys/arm/conf/std.arm*#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:421 #, no-wrap msgid "Remove debugging options" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:422 #: documentation/content/en/articles/freebsd-releng/_index.adoc:449 #: 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:565 #: documentation/content/en/articles/freebsd-releng/_index.adoc:640 #, no-wrap msgid "[.filename]#sys/conf/newvers.sh#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:424 #, no-wrap msgid "Update the `BRANCH` value to reflect `BETA1`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:425 #: documentation/content/en/articles/freebsd-releng/_index.adoc:428 #, no-wrap msgid "[.filename]#share/mk/src.opts.mk#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:427 #, 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:430 #, 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:431 #, no-wrap msgid "[.filename]#libexec/rc/rc.conf#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:433 #, 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:434 #, no-wrap msgid "[.filename]#release/Makefile#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:435 #, no-wrap msgid "Remove the `debug.witness.trace` entries" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:438 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:448 #, no-wrap msgid "Update the FreeBSD version" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:451 #, no-wrap msgid "Update the `BRANCH` value to reflect `CURRENT`, and increment `REVISION`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:452 #: documentation/content/en/articles/freebsd-releng/_index.adoc:497 #, no-wrap msgid "[.filename]#Makefile.inc1#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:454 #, no-wrap msgid "Update `TARGET_TRIPLE` and `MACHINE_TRIPLE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:455 #: documentation/content/en/articles/freebsd-releng/_index.adoc:553 #: documentation/content/en/articles/freebsd-releng/_index.adoc:568 #, no-wrap msgid "[.filename]#sys/sys/param.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:457 #: documentation/content/en/articles/freebsd-releng/_index.adoc:555 #: documentation/content/en/articles/freebsd-releng/_index.adoc:569 #, no-wrap msgid "Update `__FreeBSD_version`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:458 #, no-wrap msgid "[.filename]#gnu/usr.bin/cc/cc_tools/freebsd-native.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:460 #, no-wrap msgid "Update `FBSD_MAJOR` and `FBSD_CC_VER`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:461 #, no-wrap msgid "[.filename]#contrib/gcc/config.gcc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:463 #, no-wrap msgid "Append the `freebsdversion.h` section" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:466 #, no-wrap msgid "Update the value of `OS_VERSION`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:467 #, no-wrap msgid "[.filename]#lib/clang/freebsd_cc_version.h#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:469 #, no-wrap msgid "Update `FREEBSD_CC_VERSION`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:470 #, no-wrap msgid "[.filename]#lib/clang/include/lld/Common/Version.inc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:472 #, no-wrap msgid "Update `LLD_REVISION_STRING`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:473 #: documentation/content/en/articles/freebsd-releng/_index.adoc:503 #, no-wrap msgid "[.filename]#Makefile.libcompat#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:474 #: documentation/content/en/articles/freebsd-releng/_index.adoc:504 #, no-wrap msgid "Update `LIB32CPUFLAGS`" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:477 #, no-wrap msgid "Release from {branchStable}" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:480 msgid "" "This section describes the general procedures of the FreeBSD release cycle " "from an established {branchStable} branch." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:482 #, no-wrap msgid "FreeBSD `stable` Branch Code Slush" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:486 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:496 #, no-wrap msgid "Update the `BRANCH` value to reflect `PRERELEASE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:499 #, no-wrap msgid "Update `TARGET_TRIPLE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:502 #, no-wrap msgid "Update `OS_VERSION`" msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:507 #, no-wrap msgid "FreeBSD `BETA` Builds" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:512 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:517 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:521 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:524 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:526 #, no-wrap msgid "Creating the {branchRelengx} Branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:532 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:536 msgid "Make sure that you are in the {branchStablex} branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:541 #, no-wrap msgid "% git checkout -b {branchRelengx}\n" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:552 #, no-wrap msgid "Change `BETA__X__` to `RC1`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:556 #, no-wrap msgid "[.filename]#sys/conf/kern.opts.mk#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:558 #, 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:559 #, no-wrap msgid "[.filename]#etc/pkg/FreeBSD.conf#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:561 #: documentation/content/en/articles/freebsd-releng/_index.adoc:564 #, no-wrap msgid "Replace `latest` with `quarterly` as the default package repository location" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:562 #, no-wrap msgid "[.filename]#release/pkg_repos/release-dvd.conf#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:567 #, no-wrap msgid "Update `BETA__X__` with `PRERELEASE`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:572 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:577 #, no-wrap msgid "" "% git add .\n" "% git commit\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:580 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:582 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:584 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:586 #, no-wrap msgid "Building FreeBSD Installation Media" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:589 msgid "" "This section describes the general procedures producing FreeBSD development " "snapshots and releases." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:591 #, no-wrap msgid "Release Build Scripts" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:594 msgid "" "Prior to FreeBSD 9.0-RELEASE, [.filename]#src/release/Makefile# was updated " "to support man:bsdinstall[8], and the [.filename]#src/release/generate-" "release.sh# script was introduced as a wrapper to automate invoking the " "man:release[7] targets." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:597 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:599 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:603 #, no-wrap msgid "# /bin/sh /usr/src/release/release.sh\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:606 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:614 #, 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:617 msgid "Then invoke [.filename]#src/release/release.sh# as:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:621 #, 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:624 msgid "" "See man:release[7] and [.filename]#src/release/release.conf.sample# for more " "details and example usage." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:626 #, no-wrap msgid "Building FreeBSD Releases" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:630 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:632 msgid "In preparation for the release build, several files need to be updated:" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:642 #, no-wrap msgid "Update the `BRANCH` value to `RELEASE`" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:645 #, no-wrap msgid "Add the anticipated announcement date" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:646 #, no-wrap msgid "[.filename]#lib/csu/common/crtbrand.S#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:647 #, 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:652 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:656 msgid "Make sure that you are in the {branchRelengx} branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:661 #, no-wrap msgid "% git tag {tagReleasex}\n" msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:664 #, no-wrap msgid "Publishing FreeBSD Installation Media to Project Mirrors" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:667 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:669 #, no-wrap msgid "Staging FreeBSD Installation Media Images" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:672 msgid "Staging FreeBSD snapshots and releases is a two part process:" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:674 msgid "Creating the directory structure to match the hierarchy on `ftp-master`" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:677 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 man:chroot[8] 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 man:chroot[8] directly:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:681 #, 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:684 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:685 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:687 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:691 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:694 #, no-wrap msgid "Publishing FreeBSD Installation Media" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:698 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, man:pax[1] 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:702 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:705 msgid "" "There is a caveat, however, where rsync must be used after man:pax[1] to " "correct the symbolic links in [.filename]#pub/FreeBSD/snapshots/ISO-IMAGES# " "which man:pax[1] will replace with a hard link, increasing the propagation " "time." msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:709 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:712 msgid "As the `archive` user:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:718 #, 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:721 msgid "Replace _snapshots_ with _releases_ as appropriate." msgstr "" #. type: Title == #: documentation/content/en/articles/freebsd-releng/_index.adoc:723 #, no-wrap msgid "Wrapping up the Release Cycle" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:726 msgid "This section describes general post-release tasks." msgstr "" #. type: Title === #: documentation/content/en/articles/freebsd-releng/_index.adoc:728 #, no-wrap msgid "Post-Release Errata Notices" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:732 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:736 msgid "The actual process of issuing ENs is handled by the {teamSecteam}." msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:739 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:741 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:745 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:747 #, no-wrap msgid "Handoff to the {teamSecteam}" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:750 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:752 #, no-wrap msgid "Release End-of-Life" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:755 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:757 #, no-wrap msgid "Website Updates for End-of-Life" msgstr "" #. type: Plain text #: documentation/content/en/articles/freebsd-releng/_index.adoc:760 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:765 #, no-wrap msgid "File" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:768 #, no-wrap msgid "[.filename]#~/website/themes/beastie/layouts/index.html#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:770 #: documentation/content/en/articles/freebsd-releng/_index.adoc:788 #, no-wrap msgid "Remove `u-relXXX-announce` and `u-relXXX-announce` references." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:771 #, no-wrap msgid "[.filename]#~/website/content/en/releases/_index.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:773 #, 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:774 #, no-wrap msgid "[.filename]#~/website/content/en/releng/_index.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:776 #, 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:777 #, no-wrap msgid "[.filename]#~/website/content/en/security/_index.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:779 #, no-wrap msgid "Remove the branch from the supported branch list." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:780 #, no-wrap msgid "[.filename]#~/website/content/en/security/unsupported.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:782 #, no-wrap msgid "Add the branch to the unsupported branch list." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:783 #, no-wrap msgid "[.filename]#~/website/content/en/where.adoc#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:785 #, no-wrap msgid "Remove the URLs for the release." msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:786 #, no-wrap msgid "[.filename]#~/website/themes/beastie/layouts/partials/sidenav.html#" msgstr "" #. type: Table #: documentation/content/en/articles/freebsd-releng/_index.adoc:791 #: documentation/content/en/articles/freebsd-releng/_index.adoc:793 #, no-wrap msgid "Remove references to the release and releng branch." msgstr ""