-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[doxygen] Model libstdc++ compatibility #17051
[doxygen] Model libstdc++ compatibility #17051
Conversation
I detected other pull requests that are modifying doxygen/all recipe: This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
This comment has been minimized.
This comment has been minimized.
* Add model of libstdc++ compatibility to ensure that binaries can not be used with older version of libstdc++ than what it was compiled for. * Remove deletion of self.info.settings.compiler because this _is_ relevant metadata for executables, as it inserts a dependency on a libstdc++ version at least what it was compiled with. * Modify the dependency version impact on package id to use full_version_mode. This ensures that the dependency package id's don't impact doxygen's package id - only version changes in dependencies will impact doxygen's package id. This is necessary to allow doxygen built with gcc 10 to be identified as compatible with a gcc 12 profile. Without this, compiler.version=12 propagates through the dependency tree and the package id of the doxygen package built with gcc 10 does not match appropriately and is not resolved as compatible. Relates to conan-io#17034
4287699
to
517198b
Compare
This comment has been minimized.
This comment has been minimized.
* Improve compatibility definition by removing the need to manually query settings.yml, instead using get_definition() to provide the possible values of a SettingsItem.
This comment has been minimized.
This comment has been minimized.
Conan 1.x doesn't have the necessary SettingsItem.get_definition() to query settings.yml, so guard it to enable a conan 2.0 implementation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@@ -55,9 +57,17 @@ def requirements(self): | |||
self.requires("zlib/1.2.13") | |||
|
|||
def package_id(self): | |||
del self.info.settings.compiler | |||
self.info.requires.full_version_mode() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, do not enforce another package version mode, besides the default one. This is break the dependencies graph and will result in missing packages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
custom package id mode breaks cci
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 9 (
Conan v2 pipeline ✔️
All green in build 4 (
|
This pull request may not be merged, as it will break CCI due a custom package ID not used by CI. The result will be missing packages, incapacitating other PRs of using doxygen. Thank you for your effort and case report, it's a valid situation, but can not be fixed with that side-effect. |
@uilianries can you elaborate on this? The whole purpose of this pr is to make the package id more flexible to ensure that doxygen is rebuilt as necessary. This is an extremely important consideration for tool requires, because the current method CCI employs actually does result in broken binaries for any compiler less than gcc11. Features were added to Conan to support this explicitly in #13793. I was waiting for the CCI version of Conan to catch up before revising this pr. I think the |
Relates to #17034