Basic Concepts

From Apache OpenOffice Wiki
< Documentation‎ | Building Guide
Revision as of 13:33, 15 July 2009 by Pereriksson2 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


To understand all concepts, techniques and the terminology described in this guide, make sure you understand the following basic concepts.

Development branch

This is where most hacking is done. It has the most open policy for applying patches and it is typically where new features are developed and debugged.

The good side to this is that you have the latest features, the down side is that you get the side effects of the changes. We don't discourage you from working here but you can expect problems at times.

Developer releases are merged back to the stable branch on a semi-regular basis. All features migrated to the stable branch must be stable.

Stable branch

A stable branch is base for a release build of the OpenOffice.org product. This is where bug fix tracking takes place. The policy on these branches are to fix functional errors only.

The good side is that any patches are more thoroughly vetted before going into a stable release. Therefore you have fewer mystery bugs. The downside is that there are fewer features and some bug fixes are already in the developer release.

Master workspace branch

This branch, with the name mws_srxNNN, is the place where work from developers is integrated into the main codeline. Developers work in child workspaces with names cws_srxNNN_workspace_Name, and this work is then merged into the corresponding master workspace. Developer snapshots are released from this branch at regular intervals.

Porting branch

This is where a lot of porting to new platforms takes place. There are few features added in these branches and sometimes they are somewhat outdated in terms of functionality as a port needs some stability so that they are not solving new problems but working to an end goal together.

Features that are added are to help support that platform for example adding a new way of calling windowing functions for example coding Mac OS aqua calls instead of X windows calls.

This branch is used for platforms that are not yet part of the official release platforms, e.g. Irix and Linux s390.

Tinderbox builds

A tinderbox build can be any one of the above branch types. It is executed repeatedly on your machine. This ensures that the particular branch is working on all platforms that it is supposed to work on.

The reason that a build may break on a branch is that a developer committed a patch that did not take into account another platforms. A patch that works fine on windows but breaks a Linux build and vice versa.

More information
http://ooo.ximian.com/tinderbox-setup.html

Modules

Personal tools