On Wed, Sep 03, 2025 at 03:39:05PM +0200, Mauro Carvalho Chehab wrote: > Em Wed, 03 Sep 2025 12:45:25 +0200 Johannes Berg escreveu: > > On Wed, 2025-09-03 at 12:42 +0200, Mauro Carvalho Chehab wrote: > > > > For example, use case we have: using nix-shell to lock down the software > > > > used to build, for reproducible builds and similar reasons. Without -- > > > > pure, PATH may still contain (last!) software from the system itself, > > > > but it should basically never be used. > > > > > > if the PATH is mangled, you'll have a lot more problems than just > > > building docs as it will pick wrong exec files anyway. > > > > Err, no? To search a binary, directories in $PATH are meant to be > > searched in order of appearance. It's well-defined which one you pick > > for which, and this setup takes advantage of that (with a rather long > > $PATH) to control the binaries used for the build. > > Yes. So? the logic does that. > > > > In the particular case of docs, if you have, for instance, two different > > > python versions, one with sphinx and another one without it, it may pick > > > the wrong one, causing the build to fail. There's nothing the build system > > > can do to solve it. The proper fix would be to wrap the calling logic > > > to save the env before running under nix-shell, restoring env afterwards. > > > > I don't follow. If this setup breaks the build then that's good, I'll > > fix the env. If the build does magic inside and sort of ignores $PATH, > > that's bad. > > The build logic does follow PATH. If python --version < 3.7, it will > seek, within PATH, for python > 3.6. Please, let's stop here. As pointed out by Jani, Johannes and Jon, that's not a good idea. If the user wants to shoot themselves in the foot, that's all fine. Printing a message to indicate they may want to use a more recent Python version is totally fine. Picking a Python interpreter manually to override the python3 symlink is not fine. -- Regards, Laurent Pinchart