Your message dated Sun, 21 Dec 2025 21:35:59 +0000
with message-id <[email protected]>
and subject line Bug#1093869: fixed in dh-python 6.20251221
has caused the Debian Bug report #1093869,
regarding pybuild setuptools: enable parallel building of extensions via 
DIST_EXTRA_CONFIG
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1093869: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1093869
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dh-python
Version: 6.20240603
Severity: wishlist
File: /usr/share/dh-python/pybuild
X-Debbugs-Cc: [email protected], [email protected]

Dear Maintainers,

Please enhance pybuild (when using setuptools via the default plugin, or when 
using the pyproject plugin and the build backend is also setuptools) to build 
Python extensions in parallel when DEB_BUILD_OPTIONS contains the 'parallel=N' 
directive.

This can be accomplished by making a temporary file using the following template and 
setting the environment variable DIST_EXTRA_CONFIG [0] to the path of the temporary file. 
This is similar to the ".pydistutils.cfg" trick used in the pybuild distutils 
plugin [1].

cat > extra-setup.cfg <<EOF
[build_ext]
parallel=N
EOF

Where N is the value of "parallel" set in DEB_BUILD_OPTIONS.

One presume that dh-python will also respect the common "--parallel", "--no-parallel", 
and "--max-parallel" debhelper flags when setting up the pybuild invocation.

Doing this technique directly, I measured a speed up of 32% for the mypy 
package [2] when in multi-file mode on a server with a large core count.

I would send a merge request, or attach a patch, but it is unclear where the 
authors and maintainers of dh-python would like this logic to go. Feel free to 
give advice.

This technique is an adaptation of this Gentoo blog post. Many thanks to the 
author, Michał Górny, for it: 
https://blogs.gentoo.org/mgorny/2024/03/15/optimizing-parallel-extension-builds-in-pep517-builds/

[0] Historically undocumented, but now is documented at 
https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html#writing-the-setup-configuration-file
[1] 
https://salsa.debian.org/python-team/tools/dh-python/-/blob/b0fd6c5391a232374cdb2371139bbbbc61aad890/dhpython/build/plugin_distutils.py#L32-60
[2] 
https://salsa.debian.org/python-team/packages/mypy/-/commit/dc6fcce96341163fba81ed46a3990e28fe27bbe5

Cheers,

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Source: dh-python
Source-Version: 6.20251221
Done: Stefano Rivera <[email protected]>

We believe that the bug you reported is fixed in the latest version of
dh-python, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Stefano Rivera <[email protected]> (supplier of updated dh-python package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 21 Dec 2025 17:07:09 -0400
Source: dh-python
Architecture: source
Version: 6.20251221
Distribution: unstable
Urgency: medium
Maintainer: Piotr Ożarowski <[email protected]>
Changed-By: Stefano Rivera <[email protected]>
Closes: 1093869 1100737 1119036 1123536
Changes:
 dh-python (6.20251221) unstable; urgency=medium
 .
   [ Michael R. Crusoe ]
   * Enable parallel building of setuptools extensions, both with the distutils
     backend and the pyproject backend. Parallel building is only enabled
     if "parallel=N" is present in DEB_BUILD_OPTIONS in accordance with
     Debian policy § 4.9.1. (Closes: #1093869)
 .
   [ Stefano Rivera ]
   * Remove tox 3 support.
   * Add Type annotations and blacken the codebase.
   * Some related code-base refactoring and cleanup.
   * Prepend python3-supported-min (>= 3.13.1) | before packages requiring a
     minimum Python version. (Closes: #1119036)
   * Keep platform requirements if they apply to one of several supported
     environments. (Closes: #1100737)
   * Drop GNU/kFreeBSD from supported platforms.
   * Ignore blank lines in pybuild.testfiles. (Closes: #1123536)
   * Update cpython3_fallback.
   * Add --test-unittest to explicitly select the unittest runner.
Checksums-Sha1:
 0c6315240cf6f24cbb6504919550ef8bbe5412bb 1688 dh-python_6.20251221.dsc
 59525c0c42d5a3ee0f0b122d2d13f5a2bacaf237 135516 dh-python_6.20251221.tar.xz
 c7c896696b37ee8db0e717d6d277bd0951711421 6408 
dh-python_6.20251221_source.buildinfo
Checksums-Sha256:
 559730c99ddc43c4244bdbdb7830837f22f65d41002a5f3b685c54173619ac7f 1688 
dh-python_6.20251221.dsc
 d7189aa13ef05908ac1b1f56aa444bc60f0bce7647c21d7a841644738e5a354a 135516 
dh-python_6.20251221.tar.xz
 295088948fc6e4ffb58f71f870470d0a3d0f61787f23bc7cc6d3acdc59cdfa31 6408 
dh-python_6.20251221_source.buildinfo
Files:
 c4130bc5351a75f9e7c82d43b4497c97 1688 python optional dh-python_6.20251221.dsc
 0934023c409ac8534b6d1f5f5e439780 135516 python optional 
dh-python_6.20251221.tar.xz
 def99b9b75aeb4b321be3410a8e60d04 6408 python optional 
dh-python_6.20251221_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iIoEARYKADIWIQTumtb5BSD6EfafSCRHew2wJjpU2AUCaUhhzhQcc3RlZmFub3JA
ZGViaWFuLm9yZwAKCRBHew2wJjpU2NabAQCScnYBGO/VGxwXeZ33CpzvKaAZWrV7
XNXIYwIJcxcKyAEAyzlZRbDQDtHrPnOifXKs2/xc+yZ5seX/JumsujDTAAg=
=/BEF
-----END PGP SIGNATURE-----

Attachment: pgpBOubGNplL_.pgp
Description: PGP signature


--- End Message ---

Reply via email to