Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Apr 2026 16:13:03 +0000
From:      bugzilla-noreply@freebsd.org
To:        python@FreeBSD.org
Subject:   [Bug 294631] devel/py-installer update to 1.0.0 broke several python ports builds
Message-ID:  <bug-294631-21822-nXajvPs29n@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-294631-21822@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294631

--- Comment #13 from John Hein <jcfyecrayz@liamekaens.com> ---
Up front: Please test with an upstream patch applied (see [[1]]) to see if it
fixes some or all of the ports mentioned here in this bug.



Longer discussion to provide more context...

This also breaks devel/py-build (during 'make -C devel/py-build stage
FLAVOR=py310') when staging py-build@py310 with py-build@py311 already
installed.

This is because the _path_with_destdir() function in
site-packages/installer/destinations.py uses pathlib.Path.resolve() which
follows the bin/pyproject-build -> pyproject-build-3.11 sym link which resolves
to /usr/local/bin/pyproject-build-3.11 (also mentioned in earlier comments in
this bug).  This results in the error during stage:

===> Creating unique files: Move files needing SUFFIX
Makefile error: UNIQUE (suffix): bin/pyproject-build not found

This is because work-py310/stage/usr/local/bin/pyproject-build-3.11 was created
(because of the resolve()) instead of
work-py310/stage/usr/local/bin/pyproject-build-3.10.

reproduction recipe:

make -C devel/py-build FLAVOR=py311 stage && sudo make -C devel/py-build
FLAVOR=py311 install
make -C devel/py-build FLAVOR=py310 stage


There are an upstream issue and some upstream pull requests for this particular
"resolving sym link" issue and performance regression from using resolve().

This was also noticed (and patched) by poetry:

https://github.com/python-poetry/poetry/pull/10821

upstream issue:

https://github.com/pypa/installer/issues/325 ("_path_with_destdir does not
consider destdir when resolving links")

upstream pull requests:

https://github.com/pypa/installer/pull/326
https://github.com/pypa/installer/pull/330  (superseded by pr #326)

[[1]]

above pull request merged to main upstream repo in:

https://github.com/pypa/installer/commit/8b72cf945bfa72295fe4e0e8b9ddc13f8df32964

This can be applied directly to the FreeBSD ports tree devel/py-build.  There
is no updated release for py-build yet.

Please test with that patch applied to see if it fixes some or all of the ports
mentioned here in this bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-294631-21822-nXajvPs29n>