| ▲ | jakewins 12 hours ago | ||||||||||||||||||||||||||||||||||||||||
You’re converging a lot of ground here! The article is about producing container images for deployment, and have no relation to Bazels building stuff for you - if you’re not deploying as containers, you don’t need this? On Linux vs Win32 flame warring: can you be more specific? What specifically is very very wrong with Linux packaging and dependency resolution? | |||||||||||||||||||||||||||||||||||||||||
| ▲ | forrestthewoods 12 hours ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||
> The article is about producing container images for deployment Fair. Docker does trigger my predator drive. I’m pretty shocked that the Bazel workflow involves downloading Docker base images from external URLs. That seems very unbazel like! That belongs in the monorepo for sure. > What specifically is very very wrong with Linux packaging and dependency resolution? Linux userspace for the most part is built on a pool of global shared libraries and package managers. The theory is that this is good because you can upgrade libfoo.so just once for all programs on the system. In practice this turns into pure dependency hell. The total work around is to use Docker which completely nullifies the entire theoretic benefit. Linux toolchains and build systems are particularly egregious at just assuming a bunch of crap is magically available in the global search path. Docker is roughly correct in that computer programs should include their gosh darn dependencies. But it introduces so many layers of complexity that are solved by adding yet another layer. Why do I need estargz?? If you’re going to deploy with Docker then you might as well just statically link everything. You can’t always get down to a single exe. But you can typically get pretty close! | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||