[opensuse-factory] boost update and the great -devel split

Hello, Some of you may have noticed some submit requests for packages that BuildRequire: boost-devel. As of current Boost (1.63.0), the boost-devel subpackage has been split into individual libboost-*-devel subpackages. The reason for the split up is to reduce the giant dependency tree that Boost pulls in because of boost-devel. As an example. libboost_graph-devel is only required by 1 package in Factory and libboost_graph_parallel-devel is not required by anything. The latter pulls in the entire OpenMPI stack, and and this happened for every single build of anything that used any part of Boost! Splitting this up allows us to greatly reduce this dependency tree in shipped products. For now, boost-devel continues to exist in Factory, but please avoid using it in new packages. So, what are the few new packages? libboost_headers-devel libboost_atomic-devel libboost_chrono-devel libboost_container-devel libboost_context-devel libboost_coroutine-devel libboost_date_time-devel libboost_fiber-devel libboost_filesystem-devel libboost_graph-devel libboost_iostreams-devel libboost_locale-devel libboost_log-devel libboost_math-devel libboost_graph_parallel-devel libboost_mpi-devel libboost_program_options-devel libboost_python-py2_7-devel libboost_python-py3-devel libboost_random-devel libboost_regex-devel libboost_serialization-devel libboost_signals-devel libboost_system-devel libboost_test-devel libboost_thread-devel libboost_timer-devel libboost_type_erasure-devel libboost_wave-devel Quite a lot of software is only using header-only boost libraries, which means libboost_headers-devel is enough to get it to build. Currently I'm working through the list of about 200 packages that BuildRequire: boost-devel and changing these to an appropriate subset of these new subpackages. If your package BuildRequires: boost-devel and it's in Factory, I'll probably get to it in the next 24h and provide you with a submit request. Additionally, Boost package now provides full support for Python 3 as well as Python 2.7. This includes newly packaged Boost::MPI bindings for both python versions. Enjoy! - Adam -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Wednesday 2017-02-01 15:05, Adam Majer wrote:
05Nov2016/21:43 < uva:#opensuse-factory> DimStar: we should split boost-devel like debian Thank you for the effort. I only wish upstream would be more diligent, because even if we the buildroots now get slimmer, boost-headers-devel is still a class-1 behemoth: 05/21:42 < uva> 110M /usr/include/boost; are they reading mail or what I am pretty sure the /usr/include/boost/{fusion,phoenix} thing seems equally niche like boost-mpi. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On 02/01/2017 04:25 PM, Jan Engelhardt wrote:
That is true, there is still a quite a lot of headers. Unfortunately it is not possible to split up headers that belong to the compiled boost bits into -devel subpackages. Very often these interdepend without requiring compiled symbols. As best as I can recall (because I tried it!), Boost:Asio, which is header-only, still pulled in header files from Boost::Serialization (and others) but did not require the compiled serialization library. So, still giant header blob that keeps expanding as new libraries are added, but at least build requirements tree got flattened. - Adam -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On mercredi, 1 février 2017 15.05:15 h CET Adam Majer wrote:
Adam, can you share your work process to remove boost-devel and use subpackage I've a number of them in App:Geo I would like to modify with your new way of doing. So the interesting process for me is how can I determine wich part of boost- devel I should place as buildrequires. Thanks for the hardwork. -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On 02/02/2017 11:35 AM, Bruno Friedmann wrote:
Bruno, Here are the changes that Adam made for VirtualBox: BuildRequires: bin86 +%if 0%{?suse_version} > 1325 +BuildRequires: libboost_headers-devel +%else BuildRequires: boost-devel +%endif BuildRequires: dev86 I can never keep track of the openSUSE versions, thus I have no idea what "1325" refers to, but that seems to be the critical release. I also echo my thanks to Adam. Larry -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On jeudi, 2 février 2017 12.33:45 h CET Larry Finger wrote:
as TW is 1330 and leap an complicated 1315 + sle mix 1325 is a way to say anything over actual 42 leap and sle12 Thanks for the report -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Thursday 2017-02-02 18:35, Bruno Friedmann wrote:
$ rpm -qR yourpkg libboost_filesystem.so.xxx Look for boost*, then use those as BuildRequires (libbost_filesystem-devel). At least for a start. Then work your way forwards through compile errors (if any). -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On jeudi, 2 février 2017 23.08:42 h CET Jan Engelhardt wrote:
Thanks Jan, just another question, didn't I risk to get software which not detect that the boost component is not there and then change the way they build ? My guess is that I will have to spend time to carefully review the what happen during build. I've found that the use of zypper -v info --provides --requires pkg is easier to use so I can ask for non installed software ... -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Adam Majer
-
Bruno Friedmann
-
Jan Engelhardt
-
Larry Finger