#2266 Python 2 exception: trac-spamfilter-plugin
Closed: Accepted a year ago by zbyszek. Opened a year ago by pghmcfc.

This one was discussed in https://bugzilla.redhat.com/show_bug.cgi?id=1737930 along with trac and its other plugins but was kept separate because it pulls in several additional dependencies:

  • python2-dns
    • python2-crypto
    • python2-pycryptodomex
    • python2-typing
  • python2-httplib2
  • python2-oauth2
  • python2-pillow
    • python2-olefile
    • python2-numpy

Of these, I currently maintain python2-crypto and python2-typing and am content to keep them around as long as needed for this package.

Only one of python2-crypto and python2-pycryptodomex is needed as they are alternative back-ends for python-dns. python2-pycryptodomex is preferred by upstream but python-dns currently uses the (dead upstream) python2-crypto. I have submitted https://src.fedoraproject.org/rpms/python-dns/pull-request/1 with a view to changing this. I am willing to maintain python2-pycryptodomex myself instead of python2-crypto if necessary, though I have also asked the python2-pycryptodomex maintainer (https://bugzilla.redhat.com/show_bug.cgi?id=1761070).

The python2-dns maintainer has not yet replied about whether or not they will continue to support it on Python 2 (https://bugzilla.redhat.com/show_bug.cgi?id=1764096). I am willing to take this one too if necessary.

The python2-httplib2 maintainer is OK supporting Python 2 (https://bugzilla.redhat.com/show_bug.cgi?id=1764099).

The python2-oauth2 maintainer is OK supporting Python 2 (https://bugzilla.redhat.com/show_bug.cgi?id=1764101).

The python2-pillow and python2-olefile maintainer is OK supporting Python 2 (https://bugzilla.redhat.com/show_bug.cgi?id=1764104).

The python2-numpy maintainer is OK supporting Python 2 and will drop the test-only dependencies on python2-nose and python2-pytest (https://bugzilla.redhat.com/show_bug.cgi?id=1737930#c39).


thanks for doing the preparatory work

Metadata Update from @churchyard:
- Issue tagged with: python 2 exception

a year ago

The python2-cryptodomex maintainer is OK supporting Python 2 too.


After 7 days, this is APPROVED with +4,0,-0

Metadata Update from @churchyard:
- Issue tagged with: pending announcement

a year ago

Metadata Update from @zbyszek:
- Issue untagged with: pending announcement
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

a year ago

Heads up, python-pillow-7.0.0 has dropped support for python2. I suppose I can hold off updating it in rawhide for the time being, but I'd like to know how long this exception is expected to be required. The only other package still requiring python2-pillow is gourmet, which looks due to be retired [1].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1777630

Blocking python2-pillow updates for more than a few weeks does not seem like a good option at all.

I think trac-spamfilter-plugin should be built without a dependency on pillow (possibly with reduced functionality), or a compat package should be created for pillow. The second solution is noticeably more work, and if it is worth depends on how important the dependency is.

Another option would be to do something like what Miro and I did for jsonschema (similar to a compat package, but simpler in this case):

Some dependent packages only supported python2-jsonschema < 3, so we split off python2-jsonschema in the old version, and updated python-jsonschema to python3-only 3.x.y releases.

In this case, that would mean splitting off python2-pillow as a separate source package and let it stay on 6.2.1, until it's no longer needed. Then python-pillow can be updated to the python3-only 7.0.0.

I agree with @decathorpe - let's split off a new python2-pillow package (which I'll maintain or co-maintain since I'm the one that needs it) and let the python3-pillow package move on.

python2-pillow is now built, @pghmcfc I've added you as admin, please go ahead and retire the package when it is not needed anymore by trac-spamfilter-plugin.

I have now dropped python2 support from python-crypto in Rawhide as python-dns has moved from python-crypto to python-pycryptodomex.

Login to comment on this ticket.