[python-bugzilla] Patch for Python 3 Support
Cole Robinson
crobinso at redhat.com
Thu Oct 18 21:40:05 UTC 2012
On 08/01/2012 08:55 AM, Ralph Bean wrote:
> On Tue, Jun 26, 2012 at 11:20:30AM -0700, Toshio Kuratomi wrote:
>> On Tue, Jun 26, 2012 at 01:08:02PM -0400, Ralph Bean wrote:
>>> On Mon, Jun 25, 2012 at 10:39:48PM -0700, Toshio Kuratomi wrote:
>>>
>>> Here's my list of updated patches (including a rename of my original).
>>> I kept them separated out instead of rebasing just to preserve
>>> history and make them easier to cherry-pick.
>>>
>>> http://threebean.org/patches/python-bugzilla/0001-Python3-support.patch
>>> http://threebean.org/patches/python-bugzilla/0002-Replace-str-foo-with-six.text_type-foo.patch
>>> http://threebean.org/patches/python-bugzilla/0003-Rewrite-two-loops-as-one-generator.patch
>>> http://threebean.org/patches/python-bugzilla/0004-Regression-fix.patch
>>> http://threebean.org/patches/python-bugzilla/0005-Always-return-bytestrings-from-to_encoding.patch
>>>
>> These look good to me.
>>
>>>> * Needs python-2.6 or greater (as python-2.5 doesn't have from __future__
>>>> import print_function, the new format of "except Foo as bar:", and
>>>> relative imports)
>>>
>>> This is correct. Can anyone comment on what python versions
>>> python-bugzilla is required to support? EPEL6 is on python-2.6 now.
>>>
>> So this question and whether adding the dep on python-six is okay are the
>> questions that need answering.
>
> It has been over a month, so I'm bumping this discussion.
>
> I understand in retrospect that I introduced a patch that could
> potentially destabilize python-bugzilla thus giving everybody
> nightmares after the BZ upgrade earlier in the Summer.
>
> I think this work maintains all the backwards compatibility it can,
> with exceptions to what Toshio has raised: no more python-2.5 and a
> new dependency on python-six.
>
> Someday, python2 will be unmaintained. We won't be able to start
> porting things to python3 that depend on python-bugzilla until it
> itself is ported. Better to get a head start.
Hey Ralph, sorry for the general lack of response (excluding Toshio being
awesome).
Originally my thought was to cut another python-bugzilla release or two, with
a whole bunch more unit tests and squashing most of the reports in bugzilla.
That way we could push a more solid version out to epel 5, commit your patches
the next day, and then declare that we aren't ever rebasing again in epel 5.
And then I didn't find the time/energy/motivation to do anything with
python-bugzilla for months :)
During that time, epel5 /usr/bin/bugzilla has been completely busted due to a
python2.5-ism:
https://bugzilla.redhat.com/show_bug.cgi?id=854979
It took 3 months for anyone to file a bug which leads me to believe that there
aren't enough epel5 users to hold up taking this patch.
Ralph and/or Toshio, can you clarify a couple things for me?
1) How can I test future changes to make sure they work on both python2 and
python3?
2) If packaging this new version for epel6, I'd need to add a dep on python26
and python-six. How to ensure that python-bugzilla is only used with python26
in that case? (or does python26 basically replace the stock RHEL6 python version?)
Also cc-ing wwoods, the main man in python-bugzilla land. Will, any issues
with taking this patch soon-ish?
Thanks,
Cole
More information about the python-bugzilla
mailing list