Bug 1569483

Summary: boost drags in python2
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: boostAssignee: Jonathan Wakely <jwakely>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cstratak, dakingun, denis.arnaud_fedora, jwakely, python-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-27 12:35:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Miro Hrončok 2018-04-19 11:31:26 UTC
Description of problem:
When I install Boost, legacy Python 2 is installed.

Version-Release number of selected component (if applicable):
1.66.0-5.fc29

How reproducible: Easy


Steps to Reproduce:
1. $ mock -r fedora-rawhide-x86_64 --init
2. $ mock -r fedora-rawhide-x86_64 --install boost

Actual results:
Installing dependencies:
 boost-numpy
 boost-python2
 python2
 python2-libs
 python2-nose
 python2-numpy
 python2-pip
 python2-setuptools

Expected results:
  No python2.

Additional info:
  Python 3 is not pulled in this way.

Comment 1 Jonathan Wakely 2018-04-19 11:48:40 UTC
The boost metapackage installs boost-python, which depends on the system python, which is still python2 in rawhide, no?

(Bug 1563135 is not about Fedora, so is not relevant here.)

Comment 2 Jonathan Wakely 2018-04-19 11:51:23 UTC
Or, to put it another way, this also "drags in python2":

1. $ mock -r fedora-rawhide-x86_64 --init
2. $ mock -r fedora-rawhide-x86_64 --install python

That's why boost-python does so too.

If you're proposing that users should have to install boost-python explicitly (forcing them to choose between boost-python and boost-python3) that is a reasonable suggestion, but not a bug report.

Comment 3 Charalampos Stratakis 2018-04-19 11:57:36 UTC
(In reply to Jonathan Wakely from comment #1)
> The boost metapackage installs boost-python, which depends on the system
> python, which is still python2 in rawhide, no?
> 
> (Bug 1563135 is not about Fedora, so is not relevant here.)

The default system python is python3 for a very long time. [0]

[0] https://fedoraproject.org/wiki/Changes/Python_3_as_Default

Comment 4 Miro Hrončok 2018-04-19 12:03:42 UTC
> which depends on the system python, which is still python2 in rawhide, no?

What is "system python" exactly?

Comment 5 Jonathan Wakely 2018-04-19 16:00:07 UTC
(In reply to Charalampos Stratakis from comment #3)
> The default system python is python3 for a very long time. [0]

Yes, but comment 2 shows that installing "python" causes python2 to be installed. Similarly, installing boost-python causes python2 to be installed.

If you want the 'boost' metapackage to not install *any* python, or you want it to install python3 instead, then I suggest discussing this on the devel-list for better visibility, not in bugzilla.

Comment 6 Igor Gnatenko 2018-04-19 17:41:56 UTC
IMO not installing python package should be good enough.

Comment 7 Jonathan Wakely 2018-04-27 09:38:54 UTC
Fixed in 1.66.0-6.fc29

$ mock -r fedora-rawhide-x86_64 --enablerepo=local --install boost

Installing dependencies:
boost-atomic
boost-chrono
boost-container
boost-context
boost-coroutine
boost-date-time
boost-fiber
boost-filesystem
boost-graph
boost-iostreams
boost-locale
boost-log
boost-math
boost-program-options
boost-random
boost-regex
boost-serialization
boost-signals
boost-stacktrace
boost-system
boost-test
boost-thread
boost-timer
boost-type_erasure
boost-wave
libicu

$ mock -r fedora-rawhide-x86_64 --enablerepo=local --install boost-devel

Installing:
 boost-devel
Installing dependencies:
 boost
 boost-atomic
 boost-chrono
 boost-container
 boost-context
 boost-coroutine
 boost-date-time
 boost-fiber
 boost-filesystem
 boost-graph
 boost-iostreams
 boost-locale
 boost-log
 boost-math
 boost-program-options
 boost-random
 boost-regex
 boost-serialization
 boost-signals
 boost-stacktrace
 boost-system
 boost-test
 boost-thread
 boost-timer
 boost-type_erasure
 boost-wave
 libicu
 libicu-devel
 libquadmath
 libquadmath-devel

$ mock -r fedora-rawhide-x86_64 --enablerepo=local --install boost-python2

Installing:
 boost-python2
Installing dependencies:
 python2
 python2-libs
 python2-pip
 python2-setuptools

But I have one dependency to fix:

$ mock -r fedora-rawhide-x86_64 --enablerepo=local --install boost-openmpi-devel

  - nothing provides boost-openmpi-python(x86-64) = 1.66.0-6.fc29 needed by boost-openmpi-devel-1.66.0-6.fc29.x86_64

Comment 8 Jonathan Wakely 2018-04-27 12:35:33 UTC
Fixed in 1.66.0-7.fc29

Comment 9 Miro Hrončok 2018-04-27 13:10:53 UTC
Thank you.