On 04.10.24 12:22, Colin Watson wrote:
While pkg_resources is indeed deprecated upstream, there's nothing that
we can sensibly do about it at the Debian level in lazr.* or zope.*, and
it's not even as clear as you might hope what to do upstream.  They all
do something like this in an __init__.py (with unimportant variations):

   __import__('pkg_resources').declare_namespace(__name__)

As
https://packaging.python.org/en/latest/guides/packaging-namespace-packages/#pkg-resources-style-namespace-packages
says:

   If you are creating a new distribution within an existing namespace
   package that uses this method then it’s recommended to continue using
   this as the different methods are not cross-compatible and it’s not
   advisable to try to migrate an existing package.

I know pkg_resources is deprecated for most other purposes, but even
upstream currently advises here not to try to migrate in this case.
Now, I know there've been some attempts to figure this out:
https://github.com/pypa/sample-namespace-packages thinks a migration may
be possible as long as developers are willing to accept some
limitations.  But it's still a difficult migration and upstream hasn't
really got going on it; for Zope, see
https://github.com/zopefoundation/meta/issues/194.

Please can you reconsider, and not force this for Debian trixie?  I
think we need to keep pkg_resources around for this use case until a
good deal more work has been done on migrating away from it for
namespace packages.

I don't want to force it. the separation of this module into it's own module is a Debian specific change to avoid runtime dependencies on pkg_resources. So you'll find a lot of hard-coded dependencies that are just not used anymore. That's what I want to catch for the trixie release.

Matthias

Reply via email to