3 ms·
> The package management is a system level concern and you should not mess with it. This makes anything approaching a hermetic/deterministic/reproducible build
by joshuamorton 5y ago
> The package management is a system level concern and you should not mess with it.
This makes anything approaching a hermetic/deterministic/reproducible build basically impossible. That's not good. How do I get consistent builds across systems if I have to hope that some (set of, if I'm building on multiple OSes) external dependencies give me the correct version of the package I'm looking for, especially since many of the tools you listed don't, for example, support multiple simultaneous versions of a particular package.
I'm also confused by precisely what you mean by package management. Tools like pip cargo and bazel etc. Don't manage compiled binaries, but uncompiled sources. They deal with code dependencies, not dynamic library dependencies.
Installing a source file via apt doesn't make a whole lot of sense.
- daemin 5y agoHave a script which downloads, installs, and builds dependencies. Have a script which generates build project/solution/script files for the actual build. These scripts can use whatever tools your organisation is most comfortable with, up to and including a mono repo.
- joshuamorton 5y agoYes. That seems reasonable. Gp suggested deferring such things to the os package manager (apt or pacman etc.) which doesn't, for example, handle keeping versions X and X+3 both available because I have different projects that depend on different versions.