Freezing Maverick – behind the scenes on Ubuntu 10.10
Ubuntu community leader and Server and Cloud Ubuntu Developer, Dave Walker, explains the processes behind bringing Maverick Meerkat to the masses…
Ubuntu 10.10 (codename Maverick Meerkat) is well into the development cycle, with the planned celebrity release date of 10 October 2010 (10/10/10). The development time frame of Ubuntu is quite condensed, and this is managed with a number of stages. These stages tend to symbolise milestones of the schedule, and usually refer to a restriction on what activity can happen during this time.
We have long passed the Alpha 1 CD image stage and I anticipate the release of Alpha 2 by the time you read this. You will no doubt be eager to test Alpha 3, which is currently scheduled for 5 August. Alpha 3 will be the last CD image created before the development of Maverick starts entering the second half of the ‘freeze’ stages.
The freeze stages we have already passed include ‘Feature Definition Freeze’, which was on 17 June. This is defined as packages in the ‘main’ repository that will have new features in this cycle and will need to be defined by this date. One of the primary reasons for this is that changes in the ‘main’ archive tend to have larger consequential issues for others, as this archive constitutes the bones of everything else. Additionally, the packages are often used as a dependency for other packages in the archives, or packages maintained by others. Therefore, following this stage the work of developers becomes implemented and fixing the current features often constitutes particular versions of particular packages.
Shortly after this, the ‘Debian Import Freeze’ passed on 24 June. Prior to this milestone, newer packages untouched by Ubuntu (solely maintained by Debian) are automatically synchronised into the Ubuntu development version. If a new package is introduced to Debian that hasn’t previously been in Ubuntu, it is automatically copied over as well. Only the source (code) package is copied over – the actual compiled binary package (end result) is built by Ubuntu build servers. This is to ensure that they do actually build with the current Ubuntu archives, and don’t have build conflicts or other issues with the packages already in Ubuntu.
Additionally, by this date Ubuntu developers should have also manually merged packages that have Ubuntu specific changes at least once, which normally brings them to a new upstream version. This means checking that the delta (or difference) between the two versions still needs to exist (removing that patch if it doesn’t), pushing patches to Debian if suitable or continuing to carry them. This can be a rewarding task for community members wishing to get involved in Ubuntu development.
Prior to this date, non-developers (ie anybody without upload access to the archive, or the specific package) can request additional imports if they notice a change in the Debian package and an Ubuntu Archive Administrator will act on it. After this date, it needs to be approved or initiated from an Ubuntu Developer (someone with upload access to that component of the archive).
Continue to page two to learn about the ‘feature freeze’, currently planned for 12 August…