Bug 921134 - Review Request: boost148 - The free peer-reviewed portable C++ source libraries
Summary: Review Request: boost148 - The free peer-reviewed portable C++ source libraries
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: Package Review
Version: el6
Hardware: All
OS: Linux
medium
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 754865
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-13 14:40 UTC by Denis Arnaud
Modified: 2018-04-11 07:21 UTC (History)
7 users (show)

Fixed In Version: boost148-1.48.0-7.el7
Doc Type: Bug Fix
Doc Text:
Clone Of: 673839
Environment:
Last Closed: 2015-05-08 16:40:03 UTC
Type: Bug
Embargoed:
rdieter: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
Patch to boost148.spec to correct build errors (2.82 KB, patch)
2013-03-19 15:14 UTC, Radu Greab
no flags Details | Diff
Fix build error on EPEL 5 (1.05 KB, patch)
2013-03-20 19:49 UTC, Radu Greab
no flags Details | Diff
Patch to add the boost version to the files from the build and jam subpackages (2.58 KB, patch)
2013-03-22 00:35 UTC, Radu Greab
no flags Details | Diff

Description Denis Arnaud 2013-03-13 14:40:16 UTC
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 15:13:27 UTC
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 15:14:27 UTC
Created attachment 712745 [details]
Patch to boost148.spec to correct build errors

Comment 3 Denis Arnaud 2013-03-19 21:09:58 UTC
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 21:42:12 UTC
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-20 00:53:21 UTC
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 19:48:31 UTC
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 19:49:14 UTC
Created attachment 713445 [details]
Fix build error on EPEL 5

Comment 8 Radu Greab 2013-03-20 19:54:31 UTC
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-21 01:49:57 UTC
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 10:07:28 UTC
(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 10:19:00 UTC
Yes, I would be happy, if boost148 would not obsolete boost141.

Comment 12 Radu Greab 2013-03-22 00:30:23 UTC
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-22 00:35:31 UTC
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 21:40:35 UTC
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-06 02:54:51 UTC
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 20:36:49 UTC
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 23:09:21 UTC
Boost148 as SCL (Software Collection): http://www.softwarecollections.org/en/scls/denisarnaud/boost148/

Comment 18 Denis Arnaud 2015-04-11 21:03:22 UTC
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 22:03:15 UTC
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 22:05:24 UTC
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-12 01:27:19 UTC
(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-12 01:40:27 UTC
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-12 03:39:08 UTC
(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-12 03:42:19 UTC
Successful build on EPEL 6: http://koji.fedoraproject.org/koji/taskinfo?taskID=9463281

Comment 25 Denis Arnaud 2015-04-12 06:33:22 UTC
Successful builds on EPEL 6 for all the architectures: http://koji.fedoraproject.org/koji/taskinfo?taskID=9463313

Comment 26 Gwyn Ciesla 2015-04-12 15:10:42 UTC
Git done (by process-git-requests).

Comment 27 Fedora Update System 2015-04-12 18:52:17 UTC
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 19:59:05 UTC
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 20:02:53 UTC
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 21:05:15 UTC
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 21:35:33 UTC
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 21:37:04 UTC
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 18:38:38 UTC
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 16:40:03 UTC
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 16:40:49 UTC
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 16:41:39 UTC
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.


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