Upstream, this software supports Python 3. Please provide a Python 3 package for Fedora. According to the Python packaging guidelines [0], software must be packaged for Python 3 if upstream supports it. The guidelines give detailed information on how to do this, and even provide an example spec file [1]. The current best practice is to provide subpackages for the two Python versions (called "Common SRPM" in the guidelines). Alternatively, if nothing depends on your Python2 package, you can just switch to Python 3 entirely. It's fine to do this in Rawhide only. If anything is unclear, or if you need any kind of assistance with the porting, you can ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy to help! [0] https://fedoraproject.org/wiki/Packaging:Python [1] https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle. Changing version to '24'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase
Hello Paul, Do you need any help adding Python 3 support to the RPM? If you need more instructions, a [guide] for porting Python-based RPMs is available. [guide] http://python-rpm-porting.readthedocs.org/en/latest/index.html
I prepared a spec file that provides Python 3 subpackage. However, mock reports several C API related errors for Python 3 version. I open GitHub issue for the problem [https://github.com/sdgathman/pymilter/issues/11]. Let's wait for an upstream fix.
Hi Paul, Python 3 version spec file is available in upstream [https://github.com/sdgathman/pymilter/blob/master/py3milter.spec]. A slight update will be probably required (e.g. from ...-pydns to python3-py3dns). Do you need any help adding Python 3 support to the RPM?
There will be an upstream release when I finalize what is str vs bytes on the python3 side. I'll create an issue so people can comment. https://github.com/sdgathman/pymilter/issues/12
To compile python3, my spec file applies a patch to miltermodule.c. All the python code and most of the C code remains the same that way.
I checked out python-pymilter and started on this. The Fedora packaging guide wants to make python2-pymilter and python3-pymilter, and have python-pymilter require the system_python version. The snag is that there are some common files/dirs between python2 and python3. I can't stick them in python-pymilter, or you'll always get the system_python version. I guess they need to go in python-common, and have both subpackages require python-common.
Created attachment 1281309 [details] Here is a first cut that builds Need to add the python-pymilter-common package as discussed, I think.
Created attachment 1281310 [details] pymilter-dns_dsn.patch
This message is a reminder that Fedora 26 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 26. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '26'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 26 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.
Paul?
I just noticed I have commit access, so on Mon I'll test on f28 and commit to master and f28.
Any progress on this?
Pushed python-pymilter-1.0.2 to rawhide and built. Builds py2 and py3 subpackages and supplies common and selinux subpackages as well. I'm not sure if the selinux policy is needed in Fedora, but it is in el7 (and el6). I built locally for el7, and will briefly test here on a live el7 mail server with py2 before pushing. Son_Goku will test the py3 build on pagure.
Pushed to epel7 branch and building. Tested py2 on live mail server. (Seems to work...) I should see if I can get the self test to run in %check.
python-pymilter-1.0.2-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-0170897c75
python-pymilter-1.0.2-4.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-2c90db0b5f
python-pymilter-1.0.2-4.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-4cb4d75005
python-pymilter-1.0.2-4.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-2c90db0b5f
python-pymilter-1.0.2-4.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-4cb4d75005
python-pymilter-1.0.2-4.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.
python-pymilter-1.0.2-4.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.