This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours

Bug 921134

Summary: Review Request: boost148 - The free peer-reviewed portable C++ source libraries
Product: [Fedora] Fedora EPEL Reporter: Denis Arnaud <denis.arnaud_fedora>
Component: Package ReviewAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: medium    
Version: el6CC: mcepl, mnewsome, package-review, radu, rdieter, redhat-bugzilla
Target Milestone: ---Flags: rdieter: fedora‑review+
limburgher: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: boost148-1.48.0-7.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 673839 Environment:
Last Closed: 2015-05-08 12:40:03 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On: 754865    
Bug Blocks:    
Attachments:
Description Flags
Patch to boost148.spec to correct build errors
none
Fix build error on EPEL 5
none
Patch to add the boost version to the files from the build and jam subpackages none

Description Denis Arnaud 2013-03-13 10:40:16 EDT
Spec URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148.spec
SRPM URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-1.src.rpm

Description:
A few packages require a fairly recent Boost version, which EPEL does not provide. EPEL 5 and 6 have had Boost-1.41 for a while (as a parallel installation for EPEL 5), thanks to Robert Scheck and the Zarafa project. The very same way they built Boost-1.41 for EPEL 5, I therefore propose to build Boost-1.48 for EPEL 5 and 6, as a parallel installation to the currently officially supported Boost packages (Boost-1.31 on EPEL 5 and Boost-1.41 on EPEL 6).

To minimise the work (and the support!) to be required, I re-start from the Boost-1.48 package (on Fedora 17), which cleanly builds on EPEL 6 without any modification. For EPEL 5 and its MPI-related issues, I re-inject the work-arounds of Boost141 (on EPEL 5).

References:
* Review request for Boost-1.41 on EPEL 5: http://bugzilla.redhat.com/show_bug.cgi?id=673839
* Feature request for Boost-1.48 on Fedora: http://fedoraproject.org/wiki/Features/F17Boost148
* Tracking of Boost-1.48 on Fedora: http://bugzilla.redhat.com/show_bug.cgi?id=754865
Comment 1 Radu Greab 2013-03-19 11:13:27 EDT
The provided rpm spec needs a few improvements. Without them I wasn't able to build the rpm.

I've made a patch with the following changes to the rpm spec, please review the patch:
- really remove the .cmake files from the build root
- the devel libraries are in versioned directories
- boost148-devel: don't require cmake
- boost148-devel: require boost148, not boost
Comment 2 Radu Greab 2013-03-19 11:14:27 EDT
Created attachment 712745 [details]
Patch to boost148.spec to correct build errors
Comment 3 Denis Arnaud 2013-03-19 17:09:58 EDT
Spec URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148.spec
SRPM URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-2.el5.src.rpm

Thanks Radu! Your patch has been applied and the resulting specification and source RPM are referenced above.
Note that there is still some unpackaged files on EPEL 5. I compare with Boost141 on EPEL 5 (http://kojipkgs.fedoraproject.org/packages/boost141/1.41.0/3.el5/data/logs/), but there is no obvious difference. If you have any idea, do not hesitate.
Comment 4 Radu Greab 2013-03-19 17:42:12 EDT
I see too unpackaged files on EPEL 5. It seems that all of them belong to the debuginfo package. I will try to find out why that is happening.
Comment 5 Denis Arnaud 2013-03-19 20:53:21 EDT
The logs of Koji scratch builds for EPEL 5 and 6 64bits are available at the following addresses:
* EPEL 5: http://koji.fedoraproject.org/koji/taskinfo?taskID=5145714
* EPEL 6: http://koji.fedoraproject.org/koji/taskinfo?taskID=5145723
Comment 6 Radu Greab 2013-03-20 15:48:31 EDT
After stumbling on this blog post from http://holyhandgrenade.org/blog/2010/09/an-annoying-and-non-obvious-rpmbuild-feature-enhancement/ and on the comments from bug 227790 I've discovered the cause of failure on EPEL 5: the boost148-build subpackage sets BuildArch to noarch and that disables the creation of the debuginfo on the older rpm from EPEL 5.

To fix this issue I've added the same condition used for the other noarch subpackages:

+%if 0%{?fedora} >= 10 || 0%{?rhel} >= 6
 BuildArch: noarch
+%endif
Comment 7 Radu Greab 2013-03-20 15:49:14 EDT
Created attachment 713445 [details]
Fix build error on EPEL 5
Comment 8 Radu Greab 2013-03-20 15:54:31 EDT
BTW, subpackages boost148-build and boost148-jam install files and directories that are not versioned:

/usr/share/boost-build
/usr/bin/bjam
/usr/share/man/man1/bjam.1.gz

These subpackages do not exist on the version of boost packaged for RHEL 5 and RHEL 6 so there is no conflict. In spite of that, should those files and directories be versioned too?
Comment 9 Denis Arnaud 2013-03-20 21:49:57 EDT
Spec URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148.spec
SRPM URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-3.fc17.src.rpm

Thanks again, Radu! Your patch has been integrated in the above version.
Moreover, the Koji builds are now:
* EPEL 5: http://koji.fedoraproject.org/koji/taskinfo?taskID=5150730
* EPEL 6: http://koji.fedoraproject.org/koji/taskinfo?taskID=5145723

As for the versioning of boost-build/boost-jam, I believe those utilities do not harm, and even bring value to the standard Boost (1.33/1.41) package of RHEL (5/6). Now, for consistency reasons, we may also want to version them; I would suggest to wait for a bug to be open in BZ for that :)
---------------------

I have tested Boost148 on CentOS 6, with another component which I submitted for review, namely OpenTREP (http://bugzilla.redhat.com/show_bug.cgi?id=866265). It works pretty well, as can been seen from http://search-airports.com, which is powered by OpenTREP on top of CentOS 6 and Boost148.

---------------------
So, ready for approval?
Comment 10 Denis Arnaud 2013-03-21 06:07:28 EDT
(In reply to comment #8)
> BTW, subpackages boost148-build and boost148-jam install files and
> directories that are not versioned:
> /usr/share/boost-build
> /usr/bin/bjam
> /usr/share/man/man1/bjam.1.gz
> 
> These subpackages do not exist on the version of boost packaged for RHEL 5
> and RHEL 6 so there is no conflict. In spite of that, should those files and
> directories be versioned too?

In fact, it is cleaner to version those files as well, as there might be some other such boostxxx packages in the future, and we do not want to obsolete one by the other, as EPEL should be, by construction, stable: we do not want to force the user to upgrade from boostxxx to boostyyy where xxx < yyy. Zarafa with Boost141 may even already fall in that case.
Comment 11 Robert Scheck 2013-03-21 06:19:00 EDT
Yes, I would be happy, if boost148 would not obsolete boost141.
Comment 12 Radu Greab 2013-03-21 20:30:23 EDT
I've prepared a change to add the boost version to those files and tested the resulting boost148-build and boost148-jam successfully with the hello tutorial for Boost.Build.
Comment 13 Radu Greab 2013-03-21 20:35:31 EDT
Created attachment 714194 [details]
Patch to add the boost version to the files from the build and jam subpackages
Comment 14 Denis Arnaud 2013-03-22 17:40:35 EDT
Spec URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148.spec
SRPM URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-4.fc17.src.rpm

Thanks again, Radu! Your patch has been integrated in the above version.
Moreover, the Koji builds are now:
* EPEL 5: http://koji.fedoraproject.org/koji/taskinfo?taskID=5158841
* EPEL 6: http://koji.fedoraproject.org/koji/taskinfo?taskID=5158829
------------------------------
Comment 15 Rex Dieter 2013-10-05 22:54:51 EDT
reassiging to Package Review component.

I may have need of this so will likely be able to help review this soon.
Comment 16 Rex Dieter 2013-10-12 16:36:49 EDT
May be worth reviewing later commits/fixes to base boost-1.48.0 pkg up to:
http://pkgs.fedoraproject.org/cgit/boost.git/commit/?id=dcde8a75575cb4c256ea982593c9710ac16b022c

In particular, 

1 MUST fix missing -math dep in main metapackage and missing scriptlets fixed in:
http://pkgs.fedoraproject.org/cgit/boost.git/commit/?id=8aad81e67cbfd196e040449b0bf2cd854642c447

most of the other commits to 1.48.0 don't look like review blockers to me, but please look it over sooner or later.

naming: ok

license: ok

sources: ok
d1e9a7a7f532bb031a3c175d86688d95  boost_1_48_0.tar.bz2

macros: mostly ok (see item 2)

2.  SHOULD consider using %{name} and %{?_isa} macros in place of hard-coding boost148 in dependencies. imo, that simplifies things keeps things consistent.  for example, replace
Requires: boost148-chrono = %{version}-%{release}
with
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}


Fresh scratch epel-6 build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6053896
which fails on ppc64 due to:
Error: No Package found for mpich2-devel

3.  MUST fix build failure on ppc64 somehow, preferably by avoiding ExcludeArch.  Possibly omitting mpich bits on ppc64 , something like updating:
%ifarch %{arm}
  %bcond_with mpich2
to
%ifarch %{arm} ppc64
  %bcond_with mpich2


I think the rest looks pretty good (so far).
Comment 17 Denis Arnaud 2014-04-26 19:09:21 EDT
Boost148 as SCL (Software Collection): http://www.softwarecollections.org/en/scls/denisarnaud/boost148/
Comment 18 Denis Arnaud 2015-04-11 17:03:22 EDT
Spec URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148.spec
SRPM URL: http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-5.fc20.src.rpm


EPEL 7: http://koji.fedoraproject.org/koji/taskinfo?taskID=9462960
EPEL 6: http://koji.fedoraproject.org/koji/taskinfo?taskID=9462986 (the build is fine, but the Koji build process fails at the end because of a lack of resource)

===================
(In reply to Rex Dieter from comment #16)
> May be worth reviewing later commits/fixes to base boost-1.48.0 pkg up to:
> http://pkgs.fedoraproject.org/cgit/boost.git/commit/
> ?id=dcde8a75575cb4c256ea982593c9710ac16b022c

Done. Integrated all the missing patches.

> 1 MUST fix missing -math dep in main metapackage and missing scriptlets
> fixed in:
> http://pkgs.fedoraproject.org/cgit/boost.git/commit/
> ?id=8aad81e67cbfd196e040449b0bf2cd854642c447

Done


> 2.  SHOULD consider using %{name} and %{?_isa} macros in place of
> hard-coding boost148 in dependencies. imo, that simplifies things keeps
> things consistent.  for example, replace
> Requires: boost148-chrono = %{version}-%{release}
> with
> Requires: %{name}-chrono%{?_isa} = %{version}-%{release}

Done


Did not check yet whether the fix for ppc64 works.
=======================
Comment 19 Denis Arnaud 2015-04-11 18:03:15 EDT
EPEL 7: http://koji.fedoraproject.org/koji/taskinfo?taskID=9463024
The builds were successful for both x86-64 and ppc64 (there is an error at the end in Koji, but it seems to be a Koji issue, as all the RPMs have successfully been built)

---------------------
So, ready for approval?
Comment 20 Rex Dieter 2015-04-11 18:05:24 EDT
The el6 failure is an undefined macro:
+ '%{_mpich2_load}'
/var/tmp/rpm-tmp.pLSGl7: line 97: fg: no job control

I won't treat it as a review blocker here, since the epel-7 build succeeds, but obviously this needs to be fixed if you want to support epel-6


Thanks.


APPROVED.
Comment 21 Denis Arnaud 2015-04-11 21:27:19 EDT
(In reply to Rex Dieter from comment #20)
> The el6 failure is an undefined macro:
> + '%{_mpich2_load}'
> /var/tmp/rpm-tmp.pLSGl7: line 97: fg: no job control

Thanks!

The only thing I do not understand, then, is why it used to work before. For instance,
http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-4.spec
contains the exact same macro (%{_mpich2_load})...
Comment 22 Denis Arnaud 2015-04-11 21:40:27 EDT
New Package SCM Request
=======================
Package Name: boost148
Short Description: The free peer-reviewed portable C++ source libraries
Upstream URL: http://www.boost.org/users/history/version_1_48_0.html
Owners: denisarnaud
Branches: f20 f21 f22 el5 el6 epel7
InitialCC: rdieter
Comment 23 Denis Arnaud 2015-04-11 23:39:08 EDT
(In reply to Denis Arnaud from comment #21)
> (In reply to Rex Dieter from comment #20)
> > The el6 failure is an undefined macro:
> > + '%{_mpich2_load}'
> > /var/tmp/rpm-tmp.pLSGl7: line 97: fg: no job control
> 
> The only thing I do not understand, then, is why it used to work before. For
> instance,
> http://denisarnaud.fedorapeople.org/boost/boost148/boost148-1.48.0-4.spec
> contains the exact same macro (%{_mpich2_load})...
>

As a matter of fact, MPICH2 has been upgraded into MPICH v3. So, the macro is now simply named _mpich_load (the '2' suffix has been dropped).
Comment 24 Denis Arnaud 2015-04-11 23:42:19 EDT
Successful build on EPEL 6: http://koji.fedoraproject.org/koji/taskinfo?taskID=9463281
Comment 25 Denis Arnaud 2015-04-12 02:33:22 EDT
Successful builds on EPEL 6 for all the architectures: http://koji.fedoraproject.org/koji/taskinfo?taskID=9463313
Comment 26 Jon Ciesla 2015-04-12 11:10:42 EDT
Git done (by process-git-requests).
Comment 27 Fedora Update System 2015-04-12 14:52:17 EDT
boost148-1.48.0-5.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/boost148-1.48.0-5.el5
Comment 28 Fedora Update System 2015-04-12 15:59:05 EDT
boost148-1.48.0-6.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/boost148-1.48.0-6.el6
Comment 29 Fedora Update System 2015-04-12 16:02:53 EDT
boost148-1.48.0-6.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/boost148-1.48.0-6.el7
Comment 30 Fedora Update System 2015-04-17 17:05:15 EDT
boost148-1.48.0-7.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/boost148-1.48.0-7.el7
Comment 31 Fedora Update System 2015-04-17 17:35:33 EDT
boost148-1.48.0-7.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/boost148-1.48.0-7.el6
Comment 32 Fedora Update System 2015-04-17 17:37:04 EDT
boost148-1.48.0-7.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/boost148-1.48.0-7.el5
Comment 33 Fedora Update System 2015-04-20 14:38:38 EDT
Package boost148-1.48.0-7.el7:
* should fix your issue,
* was pushed to the Fedora EPEL 7 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing boost148-1.48.0-7.el7'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2015-5890/boost148-1.48.0-7.el7
then log in and leave karma (feedback).
Comment 34 Fedora Update System 2015-05-08 12:40:03 EDT
boost148-1.48.0-7.el7 has been pushed to the Fedora EPEL 7 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 35 Fedora Update System 2015-05-08 12:40:49 EDT
boost148-1.48.0-7.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 36 Fedora Update System 2015-05-08 12:41:39 EDT
boost148-1.48.0-7.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.