Opened 7 weeks ago

Last modified 3 weeks ago

#3653 new bug

Crash with setuptools 82+

Reported by: Hugo Osvaldo Barrera Owned by:
Priority: minor Milestone: needs verified
Component: Core Version: 2.0.5
Keywords: Cc:

Description

Setuptools 82 removed the deprecated pkg_resources module.

Deluge 2.2.0 uses this module at start-up and for loading plugins, and crashes at start-up trying to import this module which no longer exists.

For the Alpine Linux package, we're patching builds to use importlib.metadata instead: https://gitlab.alpinelinux.org/alpine/aports/-/blob/6da06b896ec927967e8078d221b92f4aac7ae040/community/deluge/no-pkg_resources.patch

The main issue with this patch is that it breaks backwards compatibility with older Pythons: importlib was introduced in Python 3.8, and Deluge supports Python 3.6+, so it's not suitable for upstream. I asked on #deluge on IRC for feedback but didn't receive any response.

The main focus when introducing the patch was to get Deluge back in a state where it actually starts, and it seems to break loading plugins in some scenarios, so needs a lot more refinement.

Change History (3)

comment:1 by DjLegolas, 3 weeks ago

well, deluge 2.2.0 dropped support for python 3.6... and works on >=3.7

and the next release will support only 3.10

comment:2 by DjLegolas, 3 weeks ago

dupe..

Last edited 3 weeks ago by DjLegolas (previous) (diff)

comment:3 by Hugo Osvaldo Barrera, 3 weeks ago

3.10+ should be a lot more manageable and using importlib directly should work fine.

The patch I linked works for the main start-up sequence, but doesn't properly load plugins installed as .egg files.

Note: See TracTickets for help on using tickets.