RE: dh-python: help needed with recursive resolution of pyproject optional dependencies

PICCA Frederic-Emmanuel <[email protected]> Mon, 22 Jun 2026 12:14:48 +0000
Newsgroups gmane.linux.debian.devel.python
Message-ID <PA3P195MB2769E920976D47E78FA357E4EDEF2@PA3P195MB2769.EURP195.PROD.OUTLOOK.COM>
--_000_PA3P195MB2769E920976D47E78FA357E4EDEF2PA3P195MB2769EURP_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

>I am trying to rely on the dependencies declared in pyproject.toml to popu=
late the test/autopkgtest dependencies.

> How are you doing this?

This is not done automatically, this is just ${Python:3Depends} which is no=
t computed properly due to the nested dependencies.

>My understanding was that selecting all optional dependencies, or selectin=
g the test extra, should recursively include the dependencies from the nest=
ed extras as well. In particular:

> How are you "selecting" them?

Using this command line

override_dh_python3:
        dh_python3 --depends-section=3Dall


>  3.  If not, what is the recommended Debian packaging approach for this c=
ase?

> B-D must be listed explicitly, there is no way around that.

Yes we Add them in the B-D, but the {Python3:Depends} is not computed prope=
rly due to this error.

Fred

--_000_PA3P195MB2769E920976D47E78FA357E4EDEF2PA3P195MB2769EURP_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-size: 11pt;">&gt;I am trying to rely on the dependencie=
s declared in pyproject.toml to populate the test/autopkgtest dependencies.=
<br>
<br>
&gt; How are you doing this?</span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
This is not done automatically, this is just ${Python:3Depends} which is no=
t computed properly due to the nested dependencies.</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
&gt;My understanding was that selecting all optional dependencies, or selec=
ting the test extra, should recursively include the dependencies from the n=
ested extras as well. In particular:<br>
<br>
&gt; How are you &quot;selecting&quot; them?</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
Using this command line</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
override_dh_python3:</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
&nbsp; &nbsp; &nbsp; &nbsp; dh_python3 --depends-section=3Dall</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
<br>
&gt;&nbsp; 3.&nbsp; If not, what is the recommended Debian packaging approa=
ch for this case?<br>
<br>
&gt; B-D must be listed explicitly, there is no way around that.</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
Yes we Add them in the B-D, but the {Python3:Depends} is not computed prope=
rly due to this error.</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);">
Fred</div>
</body>
</html>

--_000_PA3P195MB2769E920976D47E78FA357E4EDEF2PA3P195MB2769EURP_--