[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