Bug 985310

Summary: pykickstart Python 3 compatibility
Product: [Fedora] Fedora Reporter: Bohuslav "Slavek" Kabrda <bkabrda>
Component: pykickstartAssignee: Chris Lumens <clumens>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: a.badger, bcl, clumens, dshea, jzeleny, mhroncok
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-20 15:58:26 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: 985288, 1141245    
Bug Blocks: 1014220    

Description Bohuslav "Slavek" Kabrda 2013-07-17 09:40:17 UTC
Hi,
is there any plan/estimate of making pykickstart compatible with Python 3? I'm currently trying to figure out what it'd take to move Fedora to Python 3 and since pykickstart is one of Anaconda's deps, it'd need to be converted as one of the first.
Thanks.

Comment 1 Chris Lumens 2013-07-23 21:07:10 UTC
A quick run of 2to3 across certain files doesn't indicate anything too weird that would have to be done.

I don't have any concrete plans on doing this yet.  One serious non-programming concern here is that in the past, we have used later versions of pykickstart on older internal systems (like RHEL6).  I'm concerned that if we move to python3 here, we're going to break the ability to do that.  Or, I'm going to end up having to port things back and forth.

Comment 2 Bohuslav "Slavek" Kabrda 2013-07-24 07:11:36 UTC
If RHEL 6 (Python 2.6) is the oldest you need to support, you can easily (more or less) run from a single source. Or do you need to support even older Pythons?

Comment 3 Fedora End Of Life 2013-09-16 14:34:18 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle.
Changing version to '20'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora20

Comment 4 Miro Hrončok 2013-10-01 14:30:32 UTC
If you need any extra hand with this, feel free to use me :)

Comment 5 Miro Hrončok 2013-10-02 11:35:51 UTC
Hi, we would like to use Python 3 on the default installation instead of Python 2 on Fedora 22.

From that perspective, your package is considered as IMPORTANT - that means, is has to be updated to Python 3, for our intention come true.

The goal here is, that at least for F22 you should provide python3- prefixed subpackage.

Please, help use update to Python 3 flawlessly.

Check if upstream already support Python 3, if yes, use it and add te support to the package.

If upstream doesn't support Python 3 yet, encourage it to do so by sending patches and offering your help.

When upstream is dead or unwilling to support Python 3, you'll need to patch this package on Fedora level. Try to avoid this as much as you can, but use it, if it's the last option.

Chances are, that you ARE the upstream. In that case, everything is easier, just do it yourself.

There is a table on wiki, that should list your package. Chances are, that you can see an upstream link that covers the problem. Anyway, please update the table with information you know.

https://fedoraproject.org/wiki/User:Churchyard/python3

I offer my help with this task, so if you have no idea, how to work on this, or it is just not your priority, don't hesitate to ask for help.

(As you've already realized, this is a bulk text, so if something is not quite exact about your package, sorry for that, just ask)

Comment 6 Toshio Ernie Kuratomi 2013-10-02 22:07:21 UTC
Note: do not follow this piece of advice as it is against the Packaging Guidelines: "When upstream is dead or unwilling to support Python 3, you'll need to patch this package on Fedora level. Try to avoid this as much as you can, but use it, if it's the last option."

If you are in this situation, you'll essentially be forking upstream in order to produce a python3 port.  In that situation, the proper thing to do is to create a new package with the python3 port.  It would be even better to create the proper upstream infrastructure as well (new upstream scm and issue tracker) but that isn't 100% required by the guidelines.

Comment 7 Ales Kozumplik 2013-12-16 10:12:10 UTC
Related: bug 1009283. This current bug is not really blocking us but I fully expect someone to yell the dnf kickstart plugin doesn't work in py3.

Comment 8 Chris Lumens 2015-02-20 15:58:26 UTC
I've pushed all the patches for this.  I just need to do a build.