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 this package uses Python 3 as default in Fedora 22. 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)
Note: do not follow this portion of the 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.
We support python 2 & 3 upstream now (via six). Debian and Ubuntu have started shipping a py3 based sos build and I'm getting some reports of problems there. Once we understand and fix the problem upstream I'll start making plans to switch the Fedora builds to py3 too.
Hi, since we're getting close to F22 alpha and the Python guidelines have been changed to suggest building with Python 3 if possible [1], I'd like to ask you to build sos with Python 3. Thanks. [1] https://fedoraproject.org/wiki/Packaging:Python#Guidelines
We've had upstream support for py3 runtimes for some time and I have a private branch where I build py3 RPMs for Fedora. I'm currently tied up with Atomic/Docker work and preparation for DevConf but I'll be pushing a python3-enabled sos build for Fedora shortly.
Ping, could you please do this ASAP so that it's built for F22 before the Feature Freeze? (24th February)
Package built and tested for f22: # rpm -q sos sos-3.2-16.fc22.noarch # rpm -q --requires sos /usr/bin/python3 bzip2 config(sos) = 3.2-16.fc22 libxml2-python python(abi) = 3.3 python3-six rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 xz rpmlib(PayloadIsXz) <= 5.2-1 The libxml2-python dep doesn't make sense & I'll remove it in a future build; there is code in sos that uses the libxml bindings however it's not been used/maintained for some time and I'm going to remove it upstream in the near future.
(In reply to Bryn M. Reeves from comment #6) > Package built and tested for f22: > > # rpm -q sos > sos-3.2-16.fc22.noarch > > # rpm -q --requires sos > /usr/bin/python3 > bzip2 > config(sos) = 3.2-16.fc22 > libxml2-python > python(abi) = 3.3 > python3-six > rpmlib(CompressedFileNames) <= 3.0.4-1 > rpmlib(FileDigests) <= 4.6.0-1 > rpmlib(PartialHardlinkSets) <= 4.0.4-1 > rpmlib(PayloadFilesHavePrefix) <= 4.0-1 > xz > rpmlib(PayloadIsXz) <= 5.2-1 > > The libxml2-python dep doesn't make sense & I'll remove it in a future > build; there is code in sos that uses the libxml bindings however it's not > been used/maintained for some time and I'm going to remove it upstream in > the near future. Hmm, the python(abi) = 3.3 is weird. This should be 3.4 in F22. AFAIK there's now even libxml2-python3, so you may want to use that if you wish. Thanks!
Haha, well spotted :) That's just me cheating and doing a 'fedpkg local' on an f20 machine while I waited for the f22 RPMs to pop out of koji. The properly build packages do have the correct requires. I'm not happy with the current distutils build however; /etc/sos.conf is not handled properly (looks like Ubuntu just dropped it from the install) so I'll be fixing this and pushing a new build today. > libxml2-python3, so you may want to use that if you wish. Thanks, didn't realise this was available now (last time I checked libxml2 wasn't ported). The XML reporting code is actually broken even on a py2 runtime however - it's not been used in years and removing it was already on the upstream plan.
Ok, so it seems that we'll have to revert after all for F22 [1]. Please only build this for F23 (so this doesn't need to be built today). Thanks. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1194577#c4
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22
Hello, our system wide change was accepted by FESCO for Fedora23. Please switch sos to use python3.
Will do; I still have a branch in dist-git somewhere with the changes that were backed out from the previous attempt to switch.
Bryn, have you found the python3 branch in dist-git somewhere? I could provide the patch for spec, but I don't want to do it if it already exists.
Miro, you should be able to find this on the f22 branch, commit 42637e3 although I should really update this to include more post-3.2 patches (it's quite out of date compared to e.g. the current RHEL branches). http://pkgs.fedoraproject.org/cgit/sos.git/log/?h=f22 Any feedback on the py3 changes very welcome.
You should not invoke python3 command directly, but use %{__python3} macro. The result is the same, but that's the guideline. sos-install-sos_conf-from-setup_py.patch patch is missing from git but used Requires: libxml2-python should be Requires: libxml2-python3 Otherwise it looks good.
Bryn, what's the status? Do you need my help with this?
After IRC conversation with Bryn, I'will do this.