Bug 1607172

Summary: package python3-modulemd-1.3.3-1.fc28.noarch requires python(abi) = 3.6, but none of the providers can be installed
Product: [Fedora] Fedora Reporter: Jun Aruga <jaruga>
Component: libmodulemdAssignee: Stephen Gallagher <sgallagh>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: bkabrda, cstratak, david.hannequin, dmalcolm, mcyprian, mhroncok, pviktori, rkuska, sgallagh, shcherbina.iryna, tomspur, torsava
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-07-23 14:43:08 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:
Bug Depends On:    
Bug Blocks: 1565020    

Description Jun Aruga 2018-07-22 22:05:48 UTC
Description of problem:

python3-devel and /usr/bin/python3.7 conflict when installing.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
At rawhide container.

1. # dnf -y install python3-devel 
2. # dnf -y install /usr/bin/python3.7

Actual results:

[root@8c6e98e10ce1 /]# dnf -y install python3-devel
Fedora - Rawhide - Developmental packages for the next Fedora release    2.3 MB/s |  62 MB     00:26    
Last metadata expiration check: 0:00:31 ago on Sun Jul 22 21:58:47 2018.
Error: 
 Problem: conflicting requests
  - package python3-devel-3.7.0-3.fc29.i686 conflicts with python3 < 3.7.0-3.fc29 provided by python3-3.6.4-16.fc29.x86_64
  - package python3-devel-3.7.0-3.fc29.x86_64 conflicts with python3 < 3.7.0-3.fc29 provided by python3-3.6.4-16.fc29.x86_64
  - package python3-modulemd-1.3.3-1.fc28.noarch requires python(abi) = 3.6, but none of the providers can be installed
  - problem with installed package python3-modulemd-1.3.3-1.fc28.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)

[root@8c6e98e10ce1 /]# dnf -y install /usr/bin/python3.7
ast metadata expiration check: 0:02:15 ago on Sun Jul 22 21:58:47 2018.
Error: 
 Problem: python3-libs-3.7.0-3.fc29.i686 has inferior architecture
  - package python3-3.7.0-3.fc29.i686 requires libpython3.7m.so.1.0, but none of the providers can be installed
  - cannot install both python3-libs-3.7.0-3.fc29.x86_64 and python3-libs-3.6.4-16.fc29.x86_64
  - conflicting requests
  - package python3-3.6.4-16.fc29.x86_64 requires python3-libs(x86-64) = 3.6.4-16.fc29, but none of the providers can be installed
  - cannot install both python3-3.7.0-3.fc29.x86_64 and python3-3.6.4-16.fc29.x86_64
  - package python3-modulemd-1.3.3-1.fc28.noarch requires python(abi) = 3.6, but none of the providers can be installed
  - problem with installed package python3-modulemd-1.3.3-1.fc28.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)
Expected results:

The install commands finish without error.


Additional info:
https://travis-ci.org/junaruga/rpm-py-installer/jobs/406920274

Comment 1 Miro Hrončok 2018-07-23 09:11:12 UTC
The root of this problem is:

"python3-modulemd-1.3.3-1.fc28.noarch requires python(abi) = 3.6"

This drags 3.6 and prevents you to update to 3.7.

modulemd was retired from Fedora and hence a newer version, that would use Python 3.7, is not available.

Retirement commit:  https://src.fedoraproject.org/rpms/modulemd/c/670430593aa493f80e283db13b195d6ff2d2cbf0?branch=master

It says:

> The package is obsolete and effectively replaced with (incompatible) libmodulemd


While libmodulemd obsoletes (on RPM level) nothing.


It used to obsolete python3-modeulemd:

https://src.fedoraproject.org/rpms/libmodulemd/c/b8df168786ad93f2645632c19c28f3b7e085b134?branch=master


Yet it was reverted (no reason obvious from the commit message):

https://src.fedoraproject.org/rpms/libmodulemd/c/5c87b190bce73ad3f6a2801da107ac495c546a10?branch=master


libmodulemd maintainers, please:

 - obsolete pythonX-modulemd from libmodulemd or fedora-obsolete-packages (you can provide this bugreport as the reason).

 - provide a reason why the obsoletes were removed

Comment 2 Jun Aruga 2018-07-23 10:01:40 UTC
Thanks for the quick response.
I still do not understand the root reason.

> "python3-modulemd-1.3.3-1.fc28.noarch requires python(abi) = 3.6"

This is okay.
But libmodulemd is currently calling pythonX-modulemd without obsolute?
I still do not know why pythonX-modulemd is called.

Comment 3 Miro Hrončok 2018-07-23 10:30:22 UTC
pythonX-modulemd is not called, you just happen to have it installed and it can only go away with explicit removal or being obsoleted or if you use --allowerasing.

Comment 4 Stephen Gallagher 2018-07-23 14:42:50 UTC
I added `Obsoletes: python-modulemd` to libmodulemd and built it today. This should be resolved when the next Rawhide compose finishes.

The reason it was reverted previously was because dnf was still depending on python3-modulemd. That's no longer the case, so I re-added the Obsoletes.

Comment 5 Miro Hrončok 2018-07-24 22:14:18 UTC
*** Bug 1608062 has been marked as a duplicate of this bug. ***

Comment 6 Stephen Gallagher 2018-07-26 11:16:02 UTC
*** Bug 1608062 has been marked as a duplicate of this bug. ***

Comment 7 Jun Aruga 2018-07-26 11:34:47 UTC
I could install it with

```
# dnf --allowerasing install ...
```

Comment 8 David Hannequin 2018-07-31 05:48:28 UTC
Hi,

I confirm it 's work now.

Best regard