How do I dependency?

jwatte's picture

So, if I were to build a brand new OS, not based on Linux kernel necessarily, what should packaging look like?

What are the "atoms"?
Programs may need various libraries. And config files. And data files.
Sometimes, we want sharing. Sometimes, not.
Like, what if each program came with a mini-overlay-filesystem, with its own /lib and /etc and /bin and such?
And shared libraries were versioned.
But the system would de-duplicate on install, so you only have one of version 5.4.1 of clib (and one of 5.4.0, and one of 5.4.2, ...)
Maybe all components run in their own containers/chroots/jails
And the build process does the same, so dependencies are perfectly known, and no secret dependency can exist.