Description of problem: Please build a twisted package for python3 support. Version-Release number of selected component (if applicable): - How reproducible: yes Steps to Reproduce: 1. dnf install python3-twisted 2. 3. Actual results: fail Expected results: package python3-twisted is available Additional info: New python packaging guidelines are simplified to build with both python2 and python3. See the provided example. https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file
Not all of Twisted is ported to Python3 upstream, but a large part of the important functionality is, and upstream does a good job documenting their status (in twisted.python.dist3). Enough of Twisted is ported that some dependent packages in Fedora could start switching to py3. Please let me know if you'd like help with packaging for Python3.
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
I tried to add python3 support. I got to the spec in attachement (relies on my update proposal to twisted 15.5.0). However, I have lots of RPMS build errors with stuff listed twice and stuff installed in /usr/twisted. That will require more work: RPM build errors: File listed twice: /usr/lib/python2.7/site-packages/twisted/plugins File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__init__.py File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__ File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__/__init__.cpython-34.pyc File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__/__init__.cpython-34.pyo File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__/twisted_trial.cpython-34.pyc File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__/twisted_trial.cpython-34.pyo File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__/twisted_web.cpython-34.pyc File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/__pycache__/twisted_web.cpython-34.pyo File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/twisted_trial.py File listed twice: /usr/lib/python3.4/site-packages/twisted/plugins/twisted_web.py Installed (but unpackaged) file(s) found: /usr/twisted/conch/topfiles/NEWS /usr/twisted/conch/topfiles/README /usr/twisted/internet/iocpreactor/build.bat /usr/twisted/internet/iocpreactor/iocpsupport/acceptex.pxi /usr/twisted/internet/iocpreactor/iocpsupport/connectex.pxi /usr/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c /usr/twisted/internet/iocpreactor/iocpsupport/iocpsupport.pyx /usr/twisted/internet/iocpreactor/iocpsupport/winsock_pointers.c /usr/twisted/internet/iocpreactor/iocpsupport/winsock_pointers.h /usr/twisted/internet/iocpreactor/iocpsupport/wsarecv.pxi /usr/twisted/internet/iocpreactor/iocpsupport/wsasend.pxi /usr/twisted/internet/iocpreactor/notes.txt /usr/twisted/internet/test/fake_CAs/chain.pem /usr/twisted/internet/test/fake_CAs/not-a-certificate /usr/twisted/internet/test/fake_CAs/thing1.pem /usr/twisted/internet/test/fake_CAs/thing2-duplicate.pem /usr/twisted/internet/test/fake_CAs/thing2.pem /usr/twisted/internet/test/process_cli.py /usr/twisted/internet/test/process_cli.pyc /usr/twisted/internet/test/process_cli.pyo /usr/twisted/internet/test/process_helper.py /usr/twisted/internet/test/process_helper.pyc /usr/twisted/internet/test/process_helper.pyo /usr/twisted/mail/test/rfc822.message /usr/twisted/mail/test/server.pem /usr/twisted/mail/topfiles/NEWS /usr/twisted/mail/topfiles/README /usr/twisted/manhole/gladereactor.glade /usr/twisted/manhole/inspectro.glade /usr/twisted/manhole/logview.glade /usr/twisted/manhole/ui/gtk2manhole.glade /usr/twisted/names/topfiles/NEWS /usr/twisted/names/topfiles/README /usr/twisted/news/topfiles/NEWS /usr/twisted/news/topfiles/README /usr/twisted/pair/topfiles/NEWS /usr/twisted/pair/topfiles/README /usr/twisted/positioning/test/receiver.py /usr/twisted/positioning/test/receiver.pyc /usr/twisted/positioning/test/receiver.pyo /usr/twisted/python/_sendmsg.c /usr/twisted/python/test/pullpipe.py /usr/twisted/python/test/pullpipe.pyc /usr/twisted/python/test/pullpipe.pyo /usr/twisted/python/twisted-completion.zsh /usr/twisted/runner/portmap.c /usr/twisted/runner/topfiles/NEWS /usr/twisted/runner/topfiles/README /usr/twisted/spread/ui/login2.glade /usr/twisted/test/_preamble.py /usr/twisted/test/_preamble.pyc /usr/twisted/test/_preamble.pyo /usr/twisted/test/plugin_basic.py /usr/twisted/test/plugin_basic.pyc /usr/twisted/test/plugin_basic.pyo /usr/twisted/test/plugin_extra1.py /usr/twisted/test/plugin_extra1.pyc /usr/twisted/test/plugin_extra1.pyo /usr/twisted/test/plugin_extra2.py /usr/twisted/test/plugin_extra2.pyc /usr/twisted/test/plugin_extra2.pyo /usr/twisted/test/process_cmdline.py /usr/twisted/test/process_cmdline.pyc /usr/twisted/test/process_cmdline.pyo /usr/twisted/test/process_echoer.py /usr/twisted/test/process_echoer.pyc /usr/twisted/test/process_echoer.pyo /usr/twisted/test/process_fds.py /usr/twisted/test/process_fds.pyc /usr/twisted/test/process_fds.pyo /usr/twisted/test/process_linger.py /usr/twisted/test/process_linger.pyc /usr/twisted/test/process_linger.pyo /usr/twisted/test/process_reader.py /usr/twisted/test/process_reader.pyc /usr/twisted/test/process_reader.pyo /usr/twisted/test/process_signal.py /usr/twisted/test/process_signal.pyc /usr/twisted/test/process_signal.pyo /usr/twisted/test/process_stdinreader.py /usr/twisted/test/process_stdinreader.pyc /usr/twisted/test/process_stdinreader.pyo /usr/twisted/test/process_tester.py /usr/twisted/test/process_tester.pyc /usr/twisted/test/process_tester.pyo /usr/twisted/test/process_tty.py /usr/twisted/test/process_tty.pyc /usr/twisted/test/process_tty.pyo /usr/twisted/test/process_twisted.py /usr/twisted/test/process_twisted.pyc /usr/twisted/test/process_twisted.pyo /usr/twisted/test/raiser.c /usr/twisted/test/raiser.pyx /usr/twisted/test/server.pem /usr/twisted/test/stdio_test_consumer.py /usr/twisted/test/stdio_test_consumer.pyc /usr/twisted/test/stdio_test_consumer.pyo /usr/twisted/test/stdio_test_halfclose.py /usr/twisted/test/stdio_test_halfclose.pyc /usr/twisted/test/stdio_test_halfclose.pyo /usr/twisted/test/stdio_test_hostpeer.py /usr/twisted/test/stdio_test_hostpeer.pyc /usr/twisted/test/stdio_test_hostpeer.pyo /usr/twisted/test/stdio_test_lastwrite.py /usr/twisted/test/stdio_test_lastwrite.pyc /usr/twisted/test/stdio_test_lastwrite.pyo /usr/twisted/test/stdio_test_loseconn.py /usr/twisted/test/stdio_test_loseconn.pyc /usr/twisted/test/stdio_test_loseconn.pyo /usr/twisted/test/stdio_test_producer.py /usr/twisted/test/stdio_test_producer.pyc /usr/twisted/test/stdio_test_producer.pyo /usr/twisted/test/stdio_test_write.py /usr/twisted/test/stdio_test_write.pyc /usr/twisted/test/stdio_test_write.pyo /usr/twisted/test/stdio_test_writeseq.py /usr/twisted/test/stdio_test_writeseq.pyc /usr/twisted/test/stdio_test_writeseq.pyo /usr/twisted/topfiles/CREDITS /usr/twisted/topfiles/ChangeLog.Old /usr/twisted/topfiles/NEWS /usr/twisted/topfiles/README /usr/twisted/trial/test/mockdoctest.py /usr/twisted/trial/test/mockdoctest.pyc /usr/twisted/trial/test/mockdoctest.pyo /usr/twisted/trial/test/moduleself.py /usr/twisted/trial/test/moduleself.pyc /usr/twisted/trial/test/moduleself.pyo /usr/twisted/trial/test/moduletest.py /usr/twisted/trial/test/moduletest.pyc /usr/twisted/trial/test/moduletest.pyo /usr/twisted/trial/test/novars.py /usr/twisted/trial/test/novars.pyc /usr/twisted/trial/test/novars.pyo /usr/twisted/trial/test/ordertests.py /usr/twisted/trial/test/ordertests.pyc /usr/twisted/trial/test/ordertests.pyo /usr/twisted/trial/test/packages.py /usr/twisted/trial/test/packages.pyc /usr/twisted/trial/test/packages.pyo /usr/twisted/trial/test/sample.py /usr/twisted/trial/test/sample.pyc /usr/twisted/trial/test/sample.pyo /usr/twisted/trial/test/scripttest.py /usr/twisted/trial/test/scripttest.pyc /usr/twisted/trial/test/scripttest.pyo /usr/twisted/web/topfiles/NEWS /usr/twisted/web/topfiles/README /usr/twisted/words/im/instancemessenger.glade /usr/twisted/words/topfiles/NEWS /usr/twisted/words/topfiles/README /usr/twisted/words/xish/xpathparser.g
What attachment do we talk about? There's none in this bug (yet). For the duplicated files listed: Just use %{python2_sitelib}/* and %{python3_sitelib}/* as in the example common spec file of the guidelines wiki page. I think /usr/twisted/ must be changed in %{_datadir}/%{name}/ and I guess those test folders can be excluded from the package. Please poke upstream.
Created attachment 1135156 [details] spec with python3 support
> What attachment do we talk about? There's none in this bug (yet). I forgot to add it, sorry. > I think /usr/twisted/ must be changed in %{_datadir}/%{name}/ and I guess those test folders can be excluded from the package. Please poke upstream. Probably yes. I'll try to continue my work today.
Sorry, I mean %{_datadir}/%{srcname}/ of course, to be compliant with the example common spec file of the wiki page.
I guess I manage to get it working: SPEC: http://dl.jujens.eu/SPECS/python-twisted.spec SRPM: http://dl.jujens.eu/SRPMS/python-twisted-15.5.0-2.fc23.src.rpm Patches: - http://dl.jujens.eu/dist3.patch - http://dl.jujens.eu/resources-install-python3.patch
I've polished the patch a bit. Attaching a patch for dist-git. Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=13994666
Created attachment 1155756 [details] dist-git patch to add python3 support
Created attachment 1155825 [details] dist-git patch to add python3 support Scratch that, I forgot to take care of Obsoletes & co. Here is an updated patch. Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=13997909
I reviewed Petr's patch and it looks good. As the assignee—Thomas—hasn't responded in several months, I hope he won't mind if the patch is pushed for him.
python-twisted-16.2.0-2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-1c2cd11eac
python-twisted-16.2.0-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-fd1d324745
python-twisted-16.2.0-2.fc23 has been pushed to the Fedora 23 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-2016-fd1d324745
python-twisted-16.2.0-2.fc24 has been pushed to the Fedora 24 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-2016-1c2cd11eac
python-twisted-16.2.0-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
python-twisted-16.2.0-2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.