Comments (7)
Thanks for your question.
Quick question, have you read https://docs.conan.io/2/devops/using_conancenter.html? This would be updated advice on how to use ConanCenter packages in production environments.
from conan.
Regarding your questions:
What are the reasons for allowing libraries to rerelease recipes an previously released version instead of forcing them to make new unique releases?
Because often it is necessary to do changes to recipes, that still package exactly the same source code, for example the boost - 1.81.0 source code. When the recipe changes to accomodate some new compiler, architecture, or to solve a bug, it gets a new revision, yet the underlying packaged source code is boost/1.81.0
. Conan cannot invent a new version different from the boost original version, that would be super confusing, so it generates a recipe revision instead.
What are the ways we as users are meant to get around the issues I have detailed here? For example, is appending the recipe hash the correct solution, or could copying the built recipe from conan centre to the company's artifactory with a unique user/channel be a better one?
The advice in https://docs.conan.io/2/devops/using_conancenter.html for your case:
- Do not use a different user/channel for ConanCenter
- Build your own binaries from source, from
conan-center-index
repo (in Conan 2 the new "local-recipes-index" feature can help with this: https://blog.conan.io/2024/04/23/Introducing-local-recipes-index-remote.html)
from conan.
Hi @memsharded, thanks for the swift reply. It is very much appreciated.
No, I have not seen those links before. Thank you for adding them here so I can reach them easily. I'll read over them and use the information to help my issue.
I noticed these links and your response mentions how Conan 2 is expected to work for production envs. Would the information in your response and these links extend to Conan 1.x series too (sadly not ready to upgrade to 2.0 yet)?
from conan.
I noticed these links and your response mentions how Conan 2 is expected to work for production envs. Would the information in your response and these links extend to Conan 1.x series too (sadly not ready to upgrade to 2.0 yet)?
Yes, most of the information in that docs is equally valid for Conan 1.X with a couple of notes:
- Creating and using lockfiles in Conan 1.X is far more complex than in Conan 2, where lockfiles have been greatly simplified and improved
- So the recommendation to create your own binaries from
conan-center-index
repo (or a fork) is probably even more recommended in Conan 1.X - The
local-recipes-index
feature doesn't exist in Conan 1.X, but it is possible to achieve very similar results with some simple scripts.
from conan.
@memsharded I think this is systemic of packaging not being contained with official sources like other ecosystems do, I personally believe Conan should take note from Debian, where rereleases use ~dsfg.*
as post releases/repacks, and I don't think anyone finds it too confusing
from conan.
Related Issues (20)
- [bug] test_package_folder attribute doesn't work HOT 1
- [question] Limitations of `CMakeToolchain` wrt legacy generators HOT 4
- [bug] Github actions fail when set `tools.system.package_manager:mode` HOT 2
- [question] How to depend on a specific Git commit or branch of a project HOT 7
- [bug] build_requires with different #RREV are not used correctly HOT 2
- [question] What is the correct way of exposing PATH when packaging library type? HOT 2
- [bug] CMakeToolchain changes the value of string variables unexpectedly/incorrectly HOT 6
- [feature] [question] Support the Tricore-gcc toolchain and arch
- Incorrect generation of file conanvcvars.ps1 HOT 2
- [question] Should Visual Studio 17.10 require a profile update to 194? HOT 31
- [bug] Multiple `--build=missing:~foo` does not work HOT 3
- [bug] Conan setting `CMAKE_FIND_ROOT_PATH_MODE_*=BOTH` fundamentally breaks cross-compilation HOT 4
- [feature] Add a --skip-generator option HOT 4
- [feature] Allow multiline blocks and inline comments in profiles HOT 1
- [question] Handling package that is platform and variant agnostic but not the tests in the package HOT 30
- [question] Install from local recipes index with user/channel HOT 9
- [bug] requires of a dependency of a dependency in build context not visible HOT 3
- [question] How to modify global.conf HOT 10
- [bug] conan.tools.build.check_min_cppstd does infer default cppstd as documented HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conan.