[question] upload all recipes, exclude special packages from upload
See original GitHub issueI’ve again revisited the idea of having a Yocto SDK as a conan package (see also https://github.com/conan-io/conan/issues/5059) + profile tool requirement.
There is the cross compilation profile: profile: cross
[settings]
arch=armv8
os=Linux
compiler=gcc
compiler.version=11
compiler.libcxx=libstdc++11
build_type=Release
[tool_requires]
yocto-sdk-toolchain/1.2.3@user/channel
There is also the application I want to build: application hierarchy
app/1.0.0@user/channel -> fmt/8.1.1@
In this environment, I can now issue a command to build the application and the SDK: build command
conan install app/1.0.0@user/channel -b missing -pr cross
After the build, a previously empty cache now contains everything that was required for the build: packages in cache
app/1.0.0@user/channel
fmt/8.1.1@
yocto-sdk-toolchain/1.2.3@user/channel
For simplicity, clients usually go for the following: upload command
conan upload "*" -c --all -r remote
There are a few issues with this now.
- The installer of the Yocto SDK is approximately 1GB of data, whereas the installed SDK is about 2GB. Users would be quicker to not use the Prebuilt package in this case. Furthermore, the server has to keep less data around.
- The installed SDK location does vary between users. Assuming I build it inside my personal cache, the installed SDK is optimized to operate from that exact location. This means that everyone but me cannot really use it.
What I’ve tried:
build_policy = "always"
does prevent the upload of the unwanted package, but it also prevents every other package from uploading. Another sub-optimal thing here is that the SDK is installed way more often than intended.
As a developer of a SDK recipe, is there a way to enable the recipe upload, but prevent the prebuilt package upload, while still being able to upload everything else?
- I’ve read the CONTRIBUTING guide.
Issue Analytics
- State:
- Created a year ago
- Comments:5 (4 by maintainers)
I am drafting https://github.com/conan-io/conan/pull/12253 to discuss it, to be introduced in 1.54, as it would be necessary for the migration if we are removing
build_policy = "always"
Lets get some feedback from the Tribe, to see if we are missing some use cases.