Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1489509

Summary: freeipa: binary RPMs require both Python 2 and Python 3
Product: [Fedora] Fedora Reporter: Iryna Shcherbina <ishcherb>
Component: freeipaAssignee: IPA Maintainers <ipa-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: abokovoy, ipa-maint, jhrozek, mkosek, pasik, pvoborni, rcritten, ssorce
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-03-20 17:46:17 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: 1285816, 1340802    

Description Iryna Shcherbina 2017-09-07 14:56:22 UTC
The freeipa-client, freeipa-server, freeipa-server-dns and freeipa-server-trust-ad RPMs require both Python 2 and Python 3.

Except in very special circumstances, there is no need for one package
to drag in both Python stacks. Usually, this is a packaging error: in this case the packages have Python 2 dependencies and '/usr/bin/python3' shebangs which introduce the dependency on Python 3. There is a section on
shebangs in the Python RPM Porting Guide [0].

As freeipa upstream supports Python 3 starting the latest release 4.6.0 [1],
please switch the packages to Python 3. If there is anything blocking this,
then please let us know.

It's ok to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 26 as well.


If anything is unclear, or if you need any kind of assistance, you can
ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy
to help investigating or fixing this issue!

[0] http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#are-shebangs-dragging-you-down-to-python-2
[1] https://www.freeipa.org/page/Releases/4.6.0#Enhancements

Comment 1 Petr Vobornik 2017-09-18 09:21:43 UTC
DNSSec support tooling in IPA is still not working correctly in Python3, therefore the tools still requires Python2. We are looking into it but I don't know yet when it will be solved.

Comment 2 Alexander Bokovoy 2017-09-18 09:24:14 UTC
The other part is in freeipa-server-trust-ad should be fixed now upstream.

Comment 3 Petr Vobornik 2017-10-16 08:40:03 UTC
Upstream ticket:
https://pagure.io/freeipa/issue/7208

Comment 4 Petr Vobornik 2017-10-17 13:20:33 UTC
Update: we are not atm looking into fixing ipa-server-dns to not depend on Python3 We are not aiming for F27 release.

Comment 5 Tomas Krizek 2017-11-14 12:03:29 UTC
The dependencies on python 2 were removed from all freeipa packages, except freeipa-server-dns, which is still not ported to python 3, I've opened a separate upstream ticket for the effort:

https://pagure.io/freeipa/issue/7257


Fixed upstream
master:
https://pagure.io/freeipa/c/e203e9f86e2abb49f6daafc76ad47dcb8a0022e3
https://pagure.io/freeipa/c/49c77d7781c7da6591851c3444bb4ed956656295
ipa-4-6:
https://pagure.io/freeipa/c/d4f47d17f1077f3c839c325fd3d86b363772434b
https://pagure.io/freeipa/c/aaf2621e84243ab8978054cad14164ae50b539b8

Comment 6 Fedora End Of Life 2018-02-20 15:22:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle.
Changing version to '28'.

Comment 7 Petr Vobornik 2018-03-20 17:46:17 UTC
Should be fixed in freeipa-4.6.90.pre1-3.fc28.