You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_loader: Use the sort algorithm from Python 3.12 for dependencies
The comparison function used to sort dependencies does not impose a
total ordering. This means that the order of the sorted list depends on
the order of inputs and implementation details of the sort algorithm.
Python 3.13 changes the sort algorithm in a way that may affect the
sorting of dependencies. This in turn affects the staging order and
cache keys of elements.
This commit embeds the list sort algorithm from Python 3.12.9 in
BuildStream and uses that to sort dependencies. This restores cache key
compatibility across Python versions despite the flaw of the comparison
function.
The comparison function is not modified at this point to prevent changes
in staging order and cache keys on Python <= 3.12.
Fixes#1988.
0 commit comments