fixing lockfile check of build_requires from 2 sources - #7698
Conversation
340cca4 to
929ba91
Compare
|
When I run the proposed test, the error I get is (release I see the build-requires is listed inside the lockfile: in the profile at the end, and related to the node: "1": {
"ref": "pkg2/1.0#34fb7804e2c99443300f566a19ca037b",
"options": "",
"package_id": "5825778de2dc9312952d865df314547576f129b3",
"requires": [
"2"
],
"build_requires": [
"8",
"11" <--- this is 'cmake'
],
"context": "host"
},
# cmake is also in the profile
"profile_host": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=apple-clang\ncompiler.libcxx=libc++\ncompiler.version=11.0\nos=Macos\nos_build=Macos\n[options]\n[build_requires]\n*: cmake/3.18.2\n[env]\n"If all the information is available, why don't we read it from the |
|
That is not the problem, we have the information available. The problem was that the build_requires are passed in 2 different calls, one for the recipe defined build_requires and another call for the profile defined build_requires. I managed to completely fix the issue while maintaining the check, by delaying the check for build_requires and doing it with both aggregated. But I felt that the code was adding a bit excessive complexity and something else could fail, and I didn't want to take the risk for a patch release. I can implement it again for 1.30. |
|
Hi @gordonjess Released in Conan 1.29.1, please upgrade and let us know if everything is working fine now. |
Changelog: BugFix: Removed lockfile checking build_requires when they come from 2 different origins: profiles and recipes.
Docs: Omit