Re: Componentized linux?
Ian Murdock wrote:
> Colin is right in that although Componentized Linux does help alleviate
> one set of problems, it potentially creates an entirely new set of
> problems. One problem, as Colin points out, is that dependencies are not
> necessarily one-dimensional. If I install the C compiler, then I
> want all the development packages for all the components I have
> installed, and if I remove the C compiler, I want them all to be
> removed; likewise, if I upgrade the Python component, then
> I want Apache, Gnome, and the two dozen other components with Python
> interfaces to be upgraded to match the new version.
This can be handled with a combination of a debfoster-like program and
> And there's the
> potentially combinatorial explosion in QA and testing this implies..
Now *that* is very difficult.
> Componentized Linux is really just an application of the same basic
> ideas to solve a new set of problems. How do you reduce the complexity
> of managing a distro from thousands or tens of thousands of modules to
> a few hundred modules?
Metapackages. Then, separating packages into "chosen" and "installed by
dependency" (a la debfoster) makes removal work properly. Also, tags will
help when you *want* to look through tens of thousands of modules.
> How do you further decouple those few hundred
> modules so they can be more flexibly assembled in a greater number of
Highly accurate dependencies (which may (or may not) require a richer
"namespace" than the current packagename/version one). And slicker
conventions for libraries; symbol versioning helps eliminate a lot of the
"must... upgrade... everything" problem, as do all other
> How do you solve problems at the lowest layers of the module stack
> so they don't have to be solved over and over again by different
> Given my experience with Debian, I'm confident the seemingly
> intractable problems can be solved. And I'm equally confident that
> when we solve them, the result will change the way distros are built.
I think a lot of the tools have been prototyped already. :-)
Make sure your vote will count.