Enabling certain steps to run in a container #767
awesomekyle
started this conversation in
Ideas
Replies: 1 comment 2 replies
-
Have you tried: $ topgrade --only distrobox If everything you need is in the containers |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I use Silverblue and thus try to avoid installing tools on my host and instead use containers (through Distrobox). This works great because I'm able to install cargo packages within my container and use them on the host from my ~/.cargo/bin/ folder.
The problem is that topgrade detects cargo when running on the host and tries to run
cargo-install-update
, which fails witherror: linker
/usr/bin/clangnot found
(as expected). I could of course install Clang on the host to workaround this, but that defeats the purpose of using a container in the first place. I'm able to run topgrade within my container and obviously the update succeeds, but the whole point of using topgrade is that I only need to run it once and it takes care of everything. Right now my only option is to install things on the host I don't want, or disable the cargo step entirely.I'm not sure what the right solution is, but it'd be useful if I could delegate certain steps to either an existing container or a container image that is pulled/launched automatically (such as using the official Rust Docker images to do the update). Right now my only usecase is Cargo, but I could see this being useful for other tools as containerization grows.
Another option would be to make executable names/paths configurable. Then I could set up a
cargo update
script that does whatever I need it to do.Beta Was this translation helpful? Give feedback.
All reactions