Building and Packaging

Coding

Coverity is one of the static code analysers we run on Traffic Server to find problems in the code. You might see comments like this in the code:

// coverity[secure_coding]
if (sscanf(buf, "%d\n", &val) != 1) {

This means not to report on the error in the following line of code. If you are going to modify the code on the following line or want to remove the comment please ask someone with some experience with Coverity. There are more details on various Coverity features and interaction in the Documentations page.

Version Control

Versioning

We will be using major.minor.patch format for versioning releases

major will be for binary compatibility

minor will be for new features

patch will be for bug fixes on a patch release

Backports

Bugs which are fixed in master (trunk) can be backported to stable series releases. This should be for critical fixes, crashes or security issues. With our frequent releases, we no longer expect to cherry-pick and release features or other non-critical fixes to stable release branches. While everyone can suggest patches to be back ported, only the current release manager is doing the actually back port commit on a release branch. The process for backporting a JIRA to one (or several) release branches is

Commit the fix to master as usual, make sure it builds, runs and tests properly.

Close the JIRA as normal.

Mark the bug with a "Backport" tag to the branch release (or releases) that you believe is appropriate. This can be done by anyone, not just the person(s) who initially made the fixes. Leave the JIRA close though.

The RMs will take the backport suggestions into suggestions.

If a RM decides a Backport is appropriate, the following steps happens:

The JIRA is reopened.

Once the commit(s) have been cherry picked to a release branch, the Backport tag is removed (or updated) accordingly, and the "Fix Version" tag is updated. This means the "Fix Version" now contains two or more version numbers. This is as expected, and helps us keep track on which versions a fix is going in for.