Bug 1391444 - Review Request: boost159 - The free peer-reviewed portable C++ source libraries
Summary: Review Request: boost159 - The free peer-reviewed portable C++ source libraries
Alias: None
Product: RDO
Classification: Community
Component: Package Review
Version: trunk
Hardware: All
OS: Linux
Target Milestone: ---
: ---
Assignee: Javier Peña
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2016-11-03 10:45 UTC by Haïkel Guémar
Modified: 2017-06-22 16:22 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-06-22 16:22:55 UTC
jpena: rdo-review+

Attachments (Terms of Use)
fedora-review output (132.00 KB, text/plain)
2017-02-06 14:40 UTC, Javier Peña
no flags Details
Final fedora-review output, APPROVED (121.16 KB, text/plain)
2017-02-06 17:40 UTC, Javier Peña
no flags Details

Description Haïkel Guémar 2016-11-03 10:45:59 UTC
Spec URL: https://hguemar.fedorapeople.org/reviews/boost159.spec
SRPM URL: https://hguemar.fedorapeople.org/reviews/boost159-1.59.0-1.el7.src.rpm
Description: The free peer-reviewed portable C++ source libraries

Comment 1 Haïkel Guémar 2016-11-03 10:48:10 UTC
Co-installability with EL7 boost is important, please test it!

Comment 2 Javier Peña 2016-11-17 11:26:37 UTC
I've tried a package build and it failed for me. I found this in the log file:

+ ./b2 -d+2 -q -j8 --without-mpi --without-graph_parallel --build-dir=serial variant=release threading=multi debug-symbols=on pch=off python=2.7 stage
/builddir/build/BUILD/boost_1_59_0/tools/build/src/tools/gcc.jam:149: in gcc.init from module gcc
error: toolset gcc initialization:
error: no command provided, default command 'g++' not found
error: initialized from /builddir/build/BUILD/boost_1_59_0/tools/build/src/user-config.jam:4

Not sure if something is missing in my mock environment, or we need g++ as a build requirement.

Comment 3 Jason Tibbitts 2016-11-18 18:09:49 UTC
Just a note:

It's not required to open review requests for different versions of packages already in the distribution, though of course you can do so if you wish.


But please, follow the guidelines for naming such packages.  There is no version "159" of boost as far as I know; if the version is "1.59" then this package should be named "boost1.59".


Comment 4 Haïkel Guémar 2016-11-21 23:03:14 UTC
@Jason: it's a RDO package review, RDO being based upon CentOS 7 (though we try tofollow Fedora guidelines when possible)
Actually, we're following the //-installable boost package in EPEL convention (Boost 1.48 being shipped as boost148)

Comment 5 Haïkel Guémar 2016-11-23 15:01:54 UTC
@Javier: builds fine in mock and CBS
scratch build: https://cbs.centos.org/koji/taskinfo?taskID=140372

Comment 6 Alex Meng 2016-11-23 15:11:32 UTC
We can build a binary rpm from the source and it can be installed and co-exist with the centos system default.

However, better if you can build mongodb 3.x with this level of boost so that further test can be done.

Comment 7 Alan Pevec (Fedora) 2016-11-23 19:15:20 UTC
This also requirement for facter3 / puppet4.

Comment 8 Haïkel Guémar 2016-11-24 12:27:56 UTC
mongodb 3.2.8 build has been tested in local mock, it only requires changing 3 lines in Fedora spec

Comment 9 Javier Peña 2016-12-21 11:32:45 UTC
I have managed to build the package using a plain epel-7-x86_64 buildroot, but it still fails with the mock configuration used by DLRN. The packages are co-installable with boost 1.53.0 from the base repo, no issues found.

I found an issue when trying to run bjam159, got the following error message:

# bjam159
Unable to load Boost.Build: could not find "boost-build.jam"
Attempted search from /tmp/repo up to the root
at /usr/share/boost-build
and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: /usr/share/boost-build.
Please consult the documentation at 'http://www.boost.org'.

File boost-build.jam is placed at /usr/share/boost159-build/, so we may need to patch the default search path for bjam to match it.

Comment 10 roidelapluie 2017-02-03 13:43:51 UTC
We can remove bjam159 from the package and move forward.

Comment 11 Haïkel Guémar 2017-02-04 17:21:29 UTC
Ok, I fixed bjam159, I uploaded fixed package at same location.

<mock-chroot> sh-4.2# /usr/bin/bjam159 
warning: No toolsets are configured.
warning: Configuring default toolset "gcc".
warning: If the default is wrong, your build may not work correctly.
warning: Use the "toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
error: no Jamfile in current directory found, and no target references specified.

Now, package should be good. I also created leatherman fedora review for facter3.

I will build boost159 as preview in CBS, and update facter/puppet in Fedora/CBS as soon as leatherman gets reviewed.

Comment 12 Javier Peña 2017-02-06 14:40:52 UTC
Created attachment 1248047 [details]
fedora-review output

Comment 13 Javier Peña 2017-02-06 14:41:18 UTC
fedora-review has found a few issues:

- boost159-static obsoletes boost-devel-static < 1.34.1-14, but it doesn't provide it (it provides boost159-devel-static).
- same happens to boost159-mpich2, boost159-mpich-devel, boost159-mpich2-python. I guess we could remove all obsoletes to avoid issues with the main boost packages.
- It has BR: python-devel, while it should be python2-devel
- It doesn't like that libraries define an rpath, I'd need more information on this.
- Some subpackages seem to be missing an ldconfig in %postin and %postun: boost159-openmpi, boost159-openmpi-python, boost159-graph-openmpi, boost159-mpich, boost159-mpich-python, boost159-graph-mpich

As part of the SHOULD items:

- There should be no %clean section in the spec

The following are non-issues:

- licensecheck is finding two GPL-licensed files, but those are covered by the special exception in the Bison license, so there is no issue there.

- Header files in -devel subpackage are in an example, so expected.

- Documentation is already in a -doc subpackage.

Comment 14 Haïkel Guémar 2017-02-06 16:14:06 UTC
1. ack for removing Obsoletes
2. ack for python2-devel BR
3. rpath issue was fixed in Fedora, I backported the patch
4. MPI subpackages are special case, they don't need ldconfig to run through scriptlets, there's a comment about it
# MPI subpackages don't need the ldconfig magic.  They are hidden by
# default, in MPI back-end-specific directory, and only show to the
# user after the relevant environment module has been loaded.
# rpmlint will report that as errors, but it is fine.

New package uploaded
Spec URL: https://hguemar.fedorapeople.org/reviews/boost159.spec
SRPM URL: https://hguemar.fedorapeople.org/reviews/boost159-1.59.0-2.el7.src.rpm

Comment 15 Javier Peña 2017-02-06 17:39:22 UTC
- The ldconfig errors for MPI subpackages are expected and not an issue. 

- licensecheck is finding two GPL-licensed files, but those are covered by the special exception in the Bison license, so there is no issue there.

- Header files in -devel subpackage are in an example, so expected.

- Documentation is already in a -doc subpackage.

The package is APPROVED, review text included as attachment due to the 65535 char limitation in a comment.

Comment 16 Javier Peña 2017-02-06 17:40:23 UTC
Created attachment 1248095 [details]
Final fedora-review output, APPROVED

This is the final fedora-review output.

Comment 17 Christopher Brown 2017-06-22 16:22:55 UTC
Package landed so closing.

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