Open maxnbk opened 2 years ago
Updated the reproduction information with a helpful oneliner to reproduce in bash, provided you have desired package-versions installed and/or tweak the resolve request according to what you have available.
Yeah I think this regression is a pure logic fail! I figure we just didn't take into account the case where rez-as-rez-pkg should keep a separate production install of rez visible.
between 2.60.1 and 2.61.0 ,
src/rez/system.py
changed it's determination of "whether to pass rez-tools along to the environment or not" from being a "is itwhich
-able, to, "is the currently importable rez module also a production install".This does not have to be the case, and makes sense not to be the case. In our production environment, we have a production install of rez tools exposed on the PATH, and a separate version of rez exposed as a module (via a package), and the module is not a production install, while the one on the PATH is.
When migrating our rez-tools versions to newer versions of rez, nothing changes, but when we migrate the package-version of rez to newer versions to 2.60.0+ , the module version of rez, when performing a solve, no longer exposes the rez tools from the PATH to the downstream resolved context.
This occurred here, although subsequent edits occur to expand the logic to lib64, etc. https://github.com/nerdvegas/rez/compare/2.60.1...2.61.0 "-update to system.rez_bin_path that is more reliable" (in
./src/rez/system.py
)Environment
To Reproduce
More direct reproduction sample that can be bash-executed, provided you have a python-2 package, and the rez package-versions you want to inspect the reproduction for (Pardon the backslash hell, I wanted a oneliner):
Expected behavior I expect the rez-tools to still be available after the execution of the RC's shell.
Actual behavior They aren't.
Regression Bug did not occur in 2.60.1, although we were working from 2.52.1