Saturday, 2025-05-03

fricklerlooks like latest setuptools (80.3.0) is breaking pbr in combination with projects using pyproject.toml https://zuul.opendev.org/t/openstack/build/f0d02ae7402a4cd4bc5240bc2a3e70c017:40
fricklerAttributeError: module 'setuptools.command.easy_install' has no attribute 'sys_executable'17:43
fricklerseems this indeed got removed based on an 8y old issue https://github.com/pypa/setuptools/issues/91717:44
fricklerlikely https://github.com/pypa/setuptools/issues/3143 triggered this action17:46
Clark[m]frickler: the "good" news is you can exclude that version of setuptools with pyproject.toml. but probably something to look into. I won't be able to do so until after next week likely18:03
fungiyeah, from a pbr standpoint i think that's only checked for backwards compatibility so could simply make the check conditional on something like a try/except18:10
fricklerthis doesn't look optional to me https://opendev.org/openstack/pbr/src/branch/master/pbr/packaging.py#L491-L49218:23
JayFhttps://github.com/pypa/setuptools/commit/8940538d4703c71d39ca596ae3bb8ae1a76eba9e the entire module is gone and https://opendev.org/openstack/pbr/src/branch/master/pbr/packaging.py#L45 we use it in 7 different places18:27
Clark[m]Looks like it is used to find the python executable for wsgi scripts and command scripts. PBR produces its own command scripts that do not use entry points because entry points are terribly slow. If setuptools doesn't use entry points anymore we can probably defer to it here18:28
Clark[m]I think eventually python realized entry points are not necessarily a good use it by default everywhere option so maybe this is the case now18:29
Clark[m]Alternatively I imagine there is some other way to determine the executable shebang header in setuptools.18:30
Clark[m]Since they are writing one too for their scripts18:30
Clark[m]Just work backward from their implementation if we can't use theirs18:31

Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!