Features/F14Boost144

= Fedora 14 Boost 1.44 Uplift =

Summary
This feature brings Boost 1.44.0 to Fedora 14.

Owner

 * Name: Denis Arnaud
 * Email: denis.arnaud_fedora@m4x.org

Current status

 * Targeted release: Fedora 14 (and its Feature List)
 * Last updated: 2010-09-07
 * Percentage of completion: 100%

Detailed Description
That feature aims at synchronising the top of the Fedora tree with the current Boost upstream release. The current Fedora release is boost-1.41.0, folded into devel 2009-11-17.

As of Fedora 13, the canonical sources used for the package switched from the official Boost release (with BJam build) to an alternate repository (with CMake build, for boost-1.41.0). That alternate repository seems to be no longer actively maintained.

The challenge is therefore to go on packaging with CMake. If that fails, Fedora packaging will have to switch back to BJam build. In case it is successful, however, Fedora 14 should ship with Boost 1.44.

Some background:


 * Boost package in Fedora
 * Boost build status in Koji
 * Fedora 13 Boost-1.41 Feature
 * Boost ships with an ad-hoc build system named BJam. The Boost development community is exploring alternate build and source code control approaches, including the use of more standard build and release management tools like git and CMake. Which, frankly, the Fedora boost maintainers wish to support. Fortunately for us, a team of developers had worked for over a year on a more standard way to build Boost, thanks to the CMake tool, namely Boost-CMake. However, the activity of that group has stalled since December 2009. Some members of the group would help any initiative, but nobody has taken the lead yet.

Technical details are available in a Bugzilla-filed (#607615) enhancement request.

Benefit to Fedora
Syncing with upstream keeps Fedora current. This is part of regular package maintenance.

Scope
Upstream sources for Boost releases are evaluated, along with alternate repositories. One is selected, packaged according to Fedora package conventions and cognizant of existing package practices, tested, evaluated, and then built in Koji. This is then pushed to fedora devel. Dependencies are rebuilt. The unicorns are once again happy, and can go back to drinking champagne and complaining about slow build times.

How To Test

 * No special hardware is needed.
 * Testing of the Boost packages themselves requires the host system to have the boost-test package installed. Testing can then be enabled at package build time by passing --with tests. Note that that testing phase should be done only once per type of architecture and distribution version.
 * Once the Boost packages have been built and checked according to the previous step, testing simply consists in installing them on Fedora 14 and checking that it does not break any other package dependency.
 * Expected results: all the packages depending on Boost (for instance, gnash, pingus, kdeedu or k3d) should work properly on Fedora 14.

User Experience
Expected to remain largely the same.

Dependencies
There are a large number of dependencies for the boost package in fedora. Here is a non-exhaustive list.

aqsis asc avogadro barry bastet bmpx CGAL chess conexus dchroot deluge easystroke enblend esperanza fuse-encfs fusecommon 1:fife glob2 glom gnash gnote gnuradio gpsdrive HippoDraw hugin libpst-python LuxRender lyx k3d kdeedu linkage mapnik Miro mkvtoolnix openvrml pingus player pokerth pyexiv2 pymilia python-gnash python-polybori python-tag qbittorent qpidc QuantLib rb_libtorrent rcsserver3d rcsslogplayer rcssserver referencer rmol schroot simspark soci source-highlight spring torium twinkle urge usrp vegastrike vigra-python wesnoth widelands wp_tray xmms2 xsd

Rebuilt for f14, +24 hours asc chess deluge fuse-encfs gnash mapnik pingus python-tag referencer source-highlight

Contingency Plan
Non-completion will result in the F13 boost version, 1.41.0, being used in F14.

Documentation

 * Boost: http://www.boost.org/doc/libs/1_44_0
 * Boost-CMake: https://svn.boost.org/trac/boost/wiki/CMake

Release Notes

 * Boost 1.44.0 Release Notes

http://www.boost.org/users/history/version_1_44_0


 * Boost 1.43.0 Release Notes

http://www.boost.org/users/history/version_1_43_0


 * Boost 1.42.0 Release Notes

http://www.boost.org/users/history/version_1_42_0

Comments and Discussion

 * See Talk:Features/F14Boost144
 * BZ: https://bugzilla.redhat.com/show_bug.cgi?id=607615 (for Fedora 13 and Boost-1.41: https://bugzilla.redhat.com/show_bug.cgi?id=529563)
 * Status
 * Boost-1.44.0-1, corresponding to the final 1.44.0 version of Boost, has been successfully built:
 * Rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=2416683
 * F14: http://koji.fedoraproject.org/koji/taskinfo?taskID=2416759 => http://kojipkgs.fedoraproject.org/packages/boost/1.44.0/1.fc14/
 * An alignment issue occurred, when packages built with boost-1.44.0-0.5 were running with newer boost-1.44.0-1 package. That alignment issue provoked segmentation fault, as witnessed for instance in hugin/nona (https://bugzilla.redhat.com/show_bug.cgi?id=624937). The solution was to let boost-1.44.0-1 slip through to the Fedora package repository and mirrors, and to rebuild the packages dependent on it.
 * Historical context:
 * All the Boost-dependent packages had been successfully rebuilt with a Boost tar-ball afar from pristine final 1.44.0 release: boost-1.44.0-0.5
 * The final version of Boost 1.44.0 has been built for the first time in boost-1.44.0-0.6 (rejected/unpushed from the Fedora package repository thanks to the segmentation fault issue), and then in boost-1.44.0-1. That latter has been pushed into stable for F14 (and is the current package on Rawhide).
 * Koji build task for F14
 * Bodhi package DB update for F14