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 ok to do this in Rawhide only, however, it would be greatly appreciated if you could push it to Fedora 24 as well. 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
Hello Ratnadeep, 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.io/
Created attachment 1158579 [details] tweepy 3.6 spec This is an updated and modernised spec for version 3.5 of tweepy. The one in fedora is quite old. The new spec builds a python3 subpackage. Thanks
Hi Ratnadeep, as this is a bit of a time sensitive issue, we would really appreciate if you could take a look at the patch as soon as possible. If you are time constrained right now, I hope you won't mind if we do the review and push the changes ourselves in case you won't respond within a week. Thank you!
Hi Phillip! I must say, that's a very thorough patch, thank you for taking the time! There are just a few caveats: 1. It's not possible to rename a package using a patch, so if you want the patch to work, don't rename the spec file and don't change the Name tag. 2. Instead of the Conflict tag use the Provides tag and both the Provides and Obsoletes tags need to be versioned: Obsoletes: %{srcname} < 3.5.0-1 Provides: %{srcname} = %{version}-%{release} 3. The tests you have enabled in the spec file fail when I try to build the package. Did you test building the package after you made the changes? Thank you!
Created attachment 1159462 [details] tweepy 3.5.spec Updated tweepy 3.5.spec
Hello Tomas, "I must say, that's a very thorough patch, thank you for taking the time!" Thanks I like this package its very useful. "There are just a few caveats: 1. It's not possible to rename a package using a patch, so if you want the patch to work, don't rename the spec file and don't change the Name tag." Ok I have renamed the spec file back to tweepy.spec "2. Instead of the Conflict tag use the Provides tag and both the Provides and Obsoletes tags need to be versioned:" This has been corrected. "3. The tests you have enabled in the spec file fail when I try to build the package. Did you test building the package after you made the changes?" After a bit of investigation the test suite can only be run successfully when you have provided a valid set of API credentials in tests/config.py. The test suite also requires internet access to enable it. As debian has done i have disabled the test suite for now, perhaps later they will separate out the few tests that dont need any online credentials [1] I tested it on fc23 but i have just verified the build using mock and against rawhide. [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814464
Created attachment 1159538 [details] Patch for Python 3 support and modernization of the specfile Thanks for those changes Philip! I hope you won't mind I modified the patch a bit so we can push it: - I changed the Name tag back to tweepy - I made the tests optional instead of removing them (that would be wasted work!) and added a comment - Changed the dependencies back to `python-requests-oauthlib` and `python-simplejson` as they are not provided under the `python2-` names - Reverted back to 3.5.0 Sadly the 3.6.0 version is officially not released. The last commit does say 3.6.0, but maybe the author wants to follow it up with bugfixes or the like. Because neither of us is the official maintainer of the package I think we should stick to officially released versions. What I would suggest to you, however, is to ask the current maintainer(s) of the package to make you a co-maintainer. since you are currently the best man for the yob, and then you can update to 3.6.0. Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=14172429
http://koji.fedoraproject.org/koji/taskinfo?taskID=14185977
http://koji.fedoraproject.org/koji/taskinfo?taskID=14186047