Package: dh-python
Version: 5.20220119
Severity: normal

Hi!

I'm in the process of packaging the latest version of send2trash, and
have stumbled upon an interesting bug.

During the build, I get the warnings:

   dh_python3 -O--buildsystem=pybuild
I: dh_python3 pydist:293: Cannot find package that provides 
pyobjc_framework_cocoa. Please add package that provides it to Build-Depends or 
add "pyobjc_framework_cocoa python3-pyobjc-framework-cocoa" line to 
debian/py3dist-overrides or add proper dependency to Depends by hand and ignore 
this info.
I: dh_python3 pydist:293: Cannot find package that provides pywin32. Please add 
package that provides it to Build-Depends or add "pywin32 python3-pywin32" line 
to debian/py3dist-overrides or add proper dependency to Depends by hand and 
ignore this info.

Now this package uses pyproject.toml instead of setup.py, so I depend
on pybuild-plugin-pyproject, and everything goes smoothly.

The setup.cfg file includes:

[options]
packages = send2trash
tests_require = pytest
python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*

[options.extras_require]
win32 = pywin32; sys_platform == "win32"
objc = pyobjc-framework-Cocoa; sys_platform == "darwin"
nativeLib = 
    pywin32; sys_platform == "win32"
    pyobjc-framework-Cocoa; sys_platform == "darwin"

so one would think that the pywin32 and pyobjc_famework_cocoa packages
would be ignored by dh_python3.  But for some reason they're not.

The generated file
usr/lib/python3/dist-packages/Send2Trash-1.8.1b0.dist-info/METADATA
contains the following "translated" version of setup.cfg:

Provides-Extra: nativelib
Requires-Dist: pyobjc-framework-Cocoa ; (sys_platform == "darwin") and extra == 
'nativelib'
Requires-Dist: pywin32 ; (sys_platform == "win32") and extra == 'nativelib'
Provides-Extra: objc
Requires-Dist: pyobjc-framework-Cocoa ; extra == 'objc'
Requires-Dist: sys-platform (=="darwin") ; extra == 'objc'
Provides-Extra: win32
Requires-Dist: pywin32 ; extra == 'win32'
Requires-Dist: sys-platform (=="win32") ; extra == 'win32'

Perhaps this is in a different format from that understood by
dh_python3?

Best wishes,

   Julian

Reply via email to