This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 754865 - Update of Boost to 1.48
Update of Boost to 1.48
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: boost (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Petr Machata
Fedora Extras Quality Assurance
: FutureFeature
Depends On: 756005 756395 757385 772397 781751 781859 812728
Blocks: 921134
  Show dependency treegraph
 
Reported: 2011-11-17 18:49 EST by Denis Arnaud
Modified: 2015-05-04 21:36 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
: 825826 (view as bug list)
Environment:
Last Closed: 2012-05-28 10:45:47 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Denis Arnaud 2011-11-17 18:49:52 EST
+++ This bug was initially created as a clone of Bug #711845 +++

Boost 1.48 has just been delivered (http://sourceforge.net/projects/boost/files/boost/1.47.0/), one week after the release of Fedora 16.

On the other hand, Boost 1.49 should be delivered around mid-February 2012 (http://www.boost.org/development/index.html and, when available,
http://sourceforge.net/projects/boost/files/boost/1.49.0/), leaving not enough time to package that version for Fedora 17 (https://fedoraproject.org/wiki/Releases/17 => the feature freeze should happen at the beginning of February 2011).

Fedora 17 and Rawhide should ship with Boost 1.48. A Fedora feature has
been submitted: https://fedoraproject.org/wiki/Features/F17Boost148
Comment 1 Petr Machata 2011-11-17 19:23:39 EST
Great, thanks for this.  This plan indeed sounds reasonable.  Has any work been done on packaging, or can I start poking in that?
Comment 2 Denis Arnaud 2011-11-18 05:21:37 EST
(In reply to comment #1)
> This plan indeed sounds reasonable. Has any work been done on packaging,
> or can I start poking in that?

Apart the Git synchronisation work (and the creation of the "Fedora feature" page), I have not started anything else on it. This week-end, I can add the CMakeLists.txt files for the new packages (Container, Locale and Move), update the RPM specification file and try a build.
Comment 3 Denis Arnaud 2011-11-19 19:57:16 EST
Successful build of Boost-1.48.0 on Koji:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3526523

It will trigger the breaking of a lot of packages (due to the soname change).

The change-log (
http://pkgs.fedoraproject.org/gitweb/?p=boost.git;a=blob_plain;f=boost.spec;hb=HEAD) reads:
- Upgrade to Boost-1.48.0, adding two new header-only components
  (Container and Move) and a new library (Locale).
- Added a patch with a manual page for the bjam executable.
- Added a patch to fix the non-UTF8-encoded example source file.
- Re-worked a little bit the example section, so as to fix the
  DOS-formatted and the ISO-8859-encoded files. The examples
  sub-package itself has been renamed into examples-devel.

Those changes fixed most of the errors and warnings reported by rpmlint: it remains only MPI-related warnings and one or two spelling errors. Do not hesitate if you think you have some better ways to achieve the same results.
Comment 4 Petr Machata 2011-11-22 07:52:19 EST
Thanks for the work Denis, but please next time write a note of intent to fedora-devel-list.  Also, normally before doing the update, I test-drive the to-be new boost package and see if it breaks anyone in unexpected ways.  You may have made this work, but I don't know.  For example, hasn't the boost::filesystem v2 been obsoleted by now?  The docs include the following statement, so maybe it has and maybe it hasn't:

> Version 2 is deprecated, and will not be included in Boost releases
> 1.48 and later.
Comment 5 Petr Machata 2011-11-22 08:18:13 EST
I'll rename the -examples-devel subpackage back to -examples.  If we rename or remove a subpackage, we also need to manually add a Provide for that package somewhere else, so that upgrade paths work.  Besides, the consensus seems to be to call subpackages with examples, well, "examples" ;)
Comment 6 Petr Machata 2011-11-22 09:03:27 EST
... and I see you already took care of that further on the list.  My mail was wonky most of Monday, so I didn't keep up with the lists.
Comment 7 Denis Arnaud 2011-11-22 10:06:34 EST
(In reply to comment #4)
> [...] but please next time write a note of intent to fedora-devel-list.

You are absolutely right, of course.

After having worked with Boost-1.48 tens of hours, and built it a dozen of times on my desktop (in Rawhide virtual machines), I was relieved to be able to commit the new specification and patch files into the Git repository for a seemingly nice working version of Boost... until I triggered the "fedpkg build" command, almost by error :(

But it was too late when I realised that Rawhide, unlike the branched releases, does not need the update to be validated through Bodhi before finding its way to the repository...

Indeed, from your comment #2, I understood that you were to work on it, and I wanted to ease your task (sic!). So, I rushed to complete my part of the work during the week-end, and I actually intended to wait for you to review it...

Well, then, the damage was done, and it was too late to re-call that update from the repository (if you know a way, I am interested!). So, I wrote the note to fedora-devel-list, too late understandably, as it had already broken a few packages...

> Also, normally before doing the update, I test-drive the to-be new boost
> package and see if it breaks anyone in unexpected ways.  You
> may have made this work, but I don't know.

Yes, I have tested the new Boost package with the few "upstream" projects I maintain. In those projects, we use something like fifteen distinct Boost components (e.g., Spirit, accumulators, date-time, program-options, math, shared pointers, containers, asio, filesystem, thread, etc.), and all went well.

I agree that that can not be considered as an exhaustive test. But, again, I did not intend to actually push the update into the repository.

> For example, hasn't the boost::filesystem v2 been obsoleted by now?

That is what the documentation has always been stating. Boost.Filesystem v2 has been deprecated for a while, but it will certainly stay for still a few releases, as a lot of projects still use that version of the API.
As you can check from the header file, v2 is still in there: http://svn.boost.org/svn/boost/tags/release/Boost_1_48_0/boost/filesystem.hpp

--------------------------------------
(In reply to comment #5)
> I'll rename the -examples-devel sub-package back to -examples.  If we rename
> or remove a sub-package, we also need to manually add a Provide for that
> package somewhere else, so that upgrade paths work.  Besides, the consensus
> seems to be to call sub-packages with examples, well, "examples" ;)

Again, I originally intended to discuss that with you. I re-named it, in order to silent rpmlint about the dependency on the -devel sub-package.

Indeed, I was pretty happy to have "fixed" almost all the tractable rpmlint errors and warnings... though I was not so happy with such a name for a sub-package containing only examples. One can argue, though, that those examples are intended for developers only. But, then, devel-examples would make more sense... but not make rpmlint happier :(
--------------------------------------
Comment 8 Petr Machata 2011-11-22 15:31:55 EST
(In reply to comment #7)
> Indeed, from your comment #2, I understood that you were to work on it, and I
> wanted to ease your task (sic!). So, I rushed to complete my part of the work
> during the week-end, and I actually intended to wait for you to review it...

Well, you took care of the packaging itself well enough, thanks for that.  I just wish you waited a bit the next time around.  It wouldn't have made a difference in the end, I would have just pointed out the -example-devel thing, wrote to fedora-devel, and fired a build.  We would hit that Wesnoth breakage one way or another.  I just like to know what's happening, and the larger community doesn't like the feeling of the rug being pulled from under them either ;)

> > Also, normally before doing the update, I test-drive the to-be new boost
> > package
> 
> Yes, I have tested the new Boost package with the few "upstream" projects I
> maintain. In those projects, we use something like fifteen distinct Boost
> components (e.g., Spirit, accumulators, date-time, program-options, math,
> shared pointers, containers, asio, filesystem, thread, etc.), and all went
> well.

Great, that seems enough.  One never can do exhaustive testing.  Quite often you hit a change that needs to be fixed in the client packages anyway, the testing just points out these errors and makes it possible to write some recommendations to the mailing list, together with the announcement.

> > For example, hasn't the boost::filesystem v2 been obsoleted by now?
> 
> That is what the documentation has always been stating.

Yeah, and as you point out, it's still there.  So much for the better, because there's quite a few packages that will break due to this.

> Again, I originally intended to discuss that with you. I re-named it, in order
> to silent rpmlint about the dependency on the -devel sub-package.

Ahh, but rpmlint is right!  If we ship boost examples, it makes no sense to install them without headers to compile against.
Comment 9 Denis Arnaud 2011-11-22 20:00:41 EST
(In reply to comment #8)
> Well, you took care of the packaging itself well enough, thanks for that. I
> just wish you waited a bit the next time around.

I'll sure wait next time :)


> It wouldn't have made a difference in the end, I would have just pointed out
> the -example-devel thing, wrote to fedora-devel, and fired a build.
> We would hit that Wesnoth breakage one way or another. I just like to know
> what's happening, and the larger community doesn't like the feeling of the
> rug being pulled from under them either ;)

I am 100% in line with you.


> > Again, I originally intended to discuss that with you. I re-named it, in order
> > to silent rpmlint about the dependency on the -devel sub-package.
> 
> Ahh, but rpmlint is right! If we ship boost examples, it makes no sense to
> install them without headers to compile against.

Sure. My point was not to remove the dependency on the -devel sub-package, but rather to have the examples sub-package be a -devel sub-package itself. As, out of my memory, rpmlint complains that a non-devel package requires a -devel package.
Comment 10 Fedora Admin XMLRPC Client 2012-01-11 07:31:22 EST
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 11 Fedora Admin XMLRPC Client 2012-01-11 09:52:06 EST
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 12 Petr Machata 2012-05-28 10:45:47 EDT
Fedora 17 is golden and ships with boost 1.48.

Note You need to log in before you can comment on or make changes to this bug.