Table of Contents

FreeBSD 8.0 release engineering TODO

:!: This page is of historical interest only.

This is the FreeBSD 8.0 release engineering wiki page. It tracks the status of the FreeBSD 8.0 release process, including schedule, branching condition, change request queues, TODO lists, known issues, and more. It is updated daily during the release process.

Please only edit this page if you are a member of the release engineering team, or if a member of the release engineering team has asked you to do so.

Release Status

FreeBSD 8.0 is in the release candidate series. 8.0-RC1 has been released, and 8.0-RC2 builds are currently planned for approximately 14 October.

Currently, we are working to resolve problems with Position-Independent Executable (PIE) binaries introduced by the recent NULL-mapping vulnerability mitigation work. This prevents certain binaries, both (rare but important) native binaries and certain Linux binaries from running while mitigation is enabled. Bug fixes are now in progress for the kernel image activator and runtime linker to address these problems. Once they are resolved, RC2 builds will commence.

We continue to track problems reported with booting from USB media, associated with boot order and dependencies in the USB/CAM stack, which may also affect firewire. We hope that these will be resolved for 8.0.

We are currently collecting errata information for the release, in order to document issues that will not be solved for 8.0.

The head branch has now been named 9-CURRENT and has reopened for conservative commits as the 8.0 release process continues. Developers are asked to avoid sweeping changes that may make it difficult to merge fixes from 9-CURRENT to 8.0.

Last updated: 11 October 2009

Release Schedule

All dates can/will change.

Action Expected Actual
Initial release schedule announcement - 29 March 2009
Release schedule reminder - 5 May 2009
Code Slush 1 June 2009 1 June 2009
Code Freeze 25 June 2009 27 June 2009
BETA1 29 June 2009 6 July 2009
BETA2 6 July 2009 17 July 2009
BETA3 17 August 2009 24 August, 2009
BETA4 5 September 2009 7 September, 2009
Doc tree slush 5 September 2009 5 September 2009
Doc tree tag 12 September 2009 13 September 2009
RC1 14 September 2009 21 September 2009
RC2 14 October 2009 28 October 2009
RC3 28 October 10 November 2009
RELEASE build 5 November 2009 -
RELEASE announcement TBD -

CAUTION: FreeBSD release schedules frequently slip by weeks or months – the above release schedule should be interpreted with this caution in mind.

Branch status

Action Status
Subversion: stable/8 created Done
Subversion: releng/8.0 created Done
Subversion: release/8.0.0 created -
CVS: RELENG_8 created Done
CVS: RELENG_8_0 created Done
CVS: RELENG_8_0_0_RELEASE created -
Tinderbox: RELENG_8 configured Done

Change approval and merge guidelines

Change request guidelines

In order to submit a patch to the release engineering patch queue, you must be a FreeBSD developer able to commit the patch. If you are not a committer, you will need to identify a committer to proxy your request.

Please follow these guidelines when submitting patches – all submissions must:

  1. include complete patches inline or attached to the e-mail; a URL is not sufficient. Use “svn diff -x -p” where appropriate. Diff at the src/ or src/sys. The diff shall be done against merged tree, and include the svn:mergeinfo changes.
  1. be fully build- and run-time tested.
  1. be reviewed before submission; include this review information with your submission.
  1. include a proposed commit message.
  1. unless exceptional circumstances apply, have baked in head for at least three days before a merge is requested.
  1. include the head revision number that will be merged.

Requests that do not follow these guidelines may be rejected without further consideration.

Change merge guidelines

The following guidelines must be followed when merging changes from head to stable/8:

  1. Unless approved by the release engineering team, changes must be committed to head before being merged to stable/8.
  1. When merging, use the instructions found in SubversionPrimer/Merging. Each changeset committed to head must be merged using svn merge as a single changeset to stable/8.
  1. Do not manually edit changes being merged to stable/8 without release engineering approval.
  1. Pay particular attention to the placement of mergeinfo.
  1. When committing the merge, include the original revision number (rXXXXXX) and a copy of the original commit message in the merge commit message.

Contact the release engineering team if you require assistance with the use of svn merge.

Release engineering issue and patch queue

The being-fixed and still-being-researched pile

Late-flying issues that have been resolved:

Blanket approvals

The following blanket approvals were valid until BETA3:

The following blanket approvals extend into the RC series:

The waiting for approval pile

This includes only changes requested as of 20090715.

The additional review or revisions sought pile

Sometimes the release engineering team will solicit further review or revisions for patches received; this list includes only changes requested as of 20090715.

The approved and queued for commit pile

These changes have been approved for commit to head and stable/8; this list includes only changes requested as of 20090715.

These changes have been approved for merge to stable/8 follow the release of the code freeze on head:

Committed fix pile

Changes that now appear in stable/8; this list includes only changes requested as of 20090715.

As of 20090812, fixes must be committed to head and then merged to stable/8. The following changes are now present in stable/8:

As of 20090823, changes may be committed to head without release engineering approval, but merges to stable/8 require approval:

The change request withdrawn pile

Changes in this list were requested, and then later withdrawn. This list includes only changes requested as of 20080715.

Rejected change request pile

This list contains changes requested during the end portion of the release cycle that were rejected, most likely due to the late point in the release cycle. This includes only changes requested as of 20080715.

Likely errata items

The following known issues are unlikely to be resolved before FreeBSD 8.0, and will require errata items:

Leading up to the release

Prior to beginning the release process, the following areas were known to require work, including projects that were late wrapping up, or issues that required resolution to cut the release.

Works-in-progress as the release cycle began

Works-in-progress and late-breaking features as the FreeBSD 8.0 release process started:

Cross-referenced project TODO lists

Here is a cross-reference to some other tasks that people are working on for the 8.0 release.

Kernel binary interface structure padding

Here are a list of data structures that require padding or cleanup to harden the kernel↔module interface against binary interface changes:

Known issues when the release process started

5.x 6.x
amd64 libkse / libthr libkse / libthr
arm libkse / libthr
ia64 libkse / libthr libkse / libthr
i386 libkse / libthr libkse / libthr
powerpc libkse / libthr libkse / libthr
sparc64 libc_r / libkse / libthr libc_r / libkse / libthr