From Fedora Project Wiki
 
(34 intermediate revisions by 3 users not shown)
Line 7: Line 7:


== Summary ==
== Summary ==
That feature brings version 1.44.0 of Boost to Fedora 14.
This feature brings Boost 1.44.0 to Fedora 14.


== Owner ==
== Owner ==
Line 14: Line 14:


== Current status ==
== Current status ==
* Targeted release: [[Releases/14 |Fedora 14]]  
* Targeted release: [[Releases/14/Schedule |Fedora 14]] (and its [[Releases/14/FeatureList |Feature List]])
* Last updated: 2010-06-24
* Last updated: 2010-09-07
* Percentage of completion: 0%
* Percentage of completion: 100%


== Detailed Description ==
== Detailed Description ==
Line 22: Line 22:
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.
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 (and boost-1.41.0), the canonical sources used for the package switched from the official Boost release (with BJam build) to an alternate repository (with CMake build). 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.
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:
Some background:


* [https://admin.fedoraproject.org/pkgdb/acls/name/boost Boost package in Fedora]
* [http://koji.fedoraproject.org/koji/packageinfo?packageID=1074 Boost build status in Koji]
* [[Features/F13Boost141 |Fedora 13 Boost-1.41 Feature]]
* [[Features/F13Boost141 |Fedora 13 Boost-1.41 Feature]]
* [http://www.boost.org Boost] ships with an ad-hoc build system named [http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html#get-bjam 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 has worked for over a year on a more standard way to build Boost, thanks to the [http://www.cmake.org CMake tool], namely [https://svn.boost.org/trac/boost/wiki/CMake Boost-CMake].
* [http://www.boost.org Boost] ships with an ad-hoc build system named [http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html#get-bjam 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 [http://www.cmake.org CMake tool], namely [https://svn.boost.org/trac/boost/wiki/CMake 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.
 
That new way to build Boost allows (at least) two enhancements, when compared to the current build system:
* Deliver some more libraries, such as Boost.MPI
* Keep more easily synchronized with the latest Boost versions (Fedora 13 should ship with Boost 1.41.0).


Technical details are available in a [https://bugzilla.redhat.com/show_bug.cgi?id=529563 Bugzilla-filed] enhancement request.
Technical details are available in a [https://bugzilla.redhat.com/show_bug.cgi?id=607615 Bugzilla-filed (#607615)] enhancement request.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 59: Line 59:
* No special hardware is needed.
* 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 <tt>--with tests</tt>. Note that that testing phase should be done only once per type of architecture and distribution version.
* 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 <tt>--with tests</tt>. 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 13 and checking that it does not break any other package dependency.
* 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 13.
* Expected results: all the packages depending on Boost (for instance, gnash, pingus, kdeedu or k3d) should work properly on Fedora 14.
 
Note: for more adventurous developers, the new Boost packages can also be built and installed on other versions of Fedora (beginning with Fedora 12), enabling the soname patch within the specification file according to the Fedora version (for instance, the soname should be 5 on F12 and 4 on F11). But that testing is not required for that feature to be completed: it is just extra sugar.


== User Experience ==
== User Experience ==
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->


Expected to remain largely the same. New users of boost-mpi, welcome!
Expected to remain largely the same.


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


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


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->


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


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* Boost: http://www.boost.org/doc/libs/1_41_0
* Boost: http://www.boost.org/doc/libs/1_44_0
* Boost-CMake: https://svn.boost.org/trac/boost/wiki/CMake
* Boost-CMake: https://svn.boost.org/trac/boost/wiki/CMake


Line 125: Line 171:
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->


* Boost 1.40.0 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_40_0
http://www.boost.org/users/history/version_1_43_0


* Boost 1.41.0 Release Notes
* Boost 1.42.0 Release Notes


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


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/F14Boost144]]
* See [[Talk:Features/F14Boost144]]
* BZ: https://bugzilla.redhat.com/show_bug.cgi?id=529563
* 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
*** [https://admin.fedoraproject.org/updates/boost-1.44.0-1.fc14 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).
*** [http://koji.fedoraproject.org/koji/taskinfo?taskID=2354303 Koji build task for F14]
*** [https://admin.fedoraproject.org/updates/boost-1.44.0-0.5.fc14 Bodhi package DB update for F14]




[[Category:FeatureReadyForWrangler]]
[[Category:FeatureAcceptedF14]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 19:52, 7 September 2010


Fedora 14 Boost 1.44 Uplift

Summary

This feature brings Boost 1.44.0 to Fedora 14.

Owner

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

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