Hello, this is not explained in the FAQ, but the way I have done it is like this (in build-depends, removed irrelevant parts):
python (>= 2.6.6-2) | base-files (>= 11), python-all-dbg (>= 2.6.6-2) | base-files (>= 11), python-all-dev (>= 2.6.6-2) | base-files (>= 11), python-setuptools | base.files (>= 11), scons, python3-all-dev (>= 3.3), python3-all-dbg (>= 3.3), python3-setuptools, python-appdirs | base-files (>= 11), python3-appdirs | base-files (<< 7.2), python-pil | python-imaging | base-files (>= 11), python3-pil | base-files (<< 11), The reason being, that Nuitka is built for older Debian and Ubuntu distributions in Neurodebian as well. This is not pretty, but has been a strategy used for a long time now, although more reduced, see the Python3 appdirs dependency. In dependencies there is then this: python3-appdirs | base-files (<< 7.2), python-dev (>= 2.6.6-2) | base-files (>= 11), python3-dev, ${misc:Depends}, ${python:Depends}, ${python3:Depends} That should not cause an issue. I have a bullseye based builder, where my package doesn't build, but the next one will (some rules check to discover Debian 11 fails on "testing", but not for "unstable"), and I had to make actual fixes with e.g. the tests not using "#!/usr/bin/env python" as that won't work anymore, so I am convinced it pulls in no python2 package. Are you saying, that portable control files like these are disallowed? Or is simply the case, that I should put it in a different order, e.g. "base-files (>= 11) | ..." and your checker tools (which I assume found this) will be happier? As I said, in the past, I have used this approach to disallow tools that were not usable. Recommending python-xml will be replaced with python3-xml or simply removed, but lxml will later become a dependency, where similar problems will appear. Please advise. Yours, Kay