On Fri, Dec 15, 2023 at 01:43:12PM +0200, Adrian Bunk wrote:
> The src:python3.x packages build idle-python3.x packages.
> IDLE is an IDE for Python.[1]
> 
> The idle-python3.x packages depend on python3-tk, which depends on blt.

The idle-python3.x package is called python3.x-full. It happens to issue
a runtime dependency on python3.x-tk which is provided from python3-tk
which is built from python3-stdlib-extensions. Since idle is otherwise
implemented in Python, one doesn't actually need tk to perform the
install step for idle in the Python build.

> There is a certain weirdness in Python shipping an IDE that is based
> on Tcl/Tk, but that's an upstream issue.

...

> The tk-dev/blt-dev build dependencies in src:python3.x:
> - might be remnants from the times when python3-tk was built there, or

This definitely is true in some sense.

> - might be test-only, or

I guess this is also true.

> - might be workaroundable with a noidle build profile

Given your pointer at pkg-config, I now performed another build
comparison:
 * Add uuid-dev and pkg-config to Build-Depends.
 * Drop tk-dev and blt-dev from Build-Depends (in one of two builds).
 * Fix the build path.
 * Disable testing and profile guided optimization
   (DEB_BUILD_OPTIONS="nocheck nopgo").

The differences reduce significantly. I can no longer spot differences
in the filenames. The sysconfigdata changes and around tkinter even
though no tkinter module is installed into any package. LTO seems to
still shuffle things around quite a bit. Diffing Python binary builds is
hard.

Helmut

Reply via email to