TurnKey Linux's take on Ubuntu appliance development: KISS

Liraz Siri liraz at turnkeylinux.org
Tue Dec 8 03:11:24 GMT 2009


Carlos Ribeiro wrote:
 > On the other hand, out of curiosity... In my opinion, it seems to be
> relatively simple to build a meta-package that would just state all
> dependencies, and put all customization/editing in a external script
> that would then collect all information needed and customize the init
> scripts. What is the problem with this approach?

There's a rule against Debian packages messing around with the
configuration files of other packages and that rule exists for a good
reason.

If you break the rules, then a franken-package could theoretically you
could do anything, we just don't believe that's the right tool for the job.

Packages are meant to be modular. Unfortunately, there's no reliable way
to merge system level configurations. For example, MySQL can either
accept connections from remote hosts or not accept connections. What's
the result of a merge? You could say, in that case let's just say that
those appliances conflict like we do with packages. Trouble is, an
appliance can have a ton of these configurations, each of which can be
incompatible with the configurations of any another appliance, or even
worse, incompatible with the result of a combination of appliances.

What this means is adding a large amount of extra complexity and
overhead to the development process. TurnKey Linux experimented with
this approach before the first release. It's easy to recommend that
someone else try to do things this way, but when you try to put it into
practice you realize it's death by a thousand paper cuts.

> Thanks and keep up with the great work,

Thanks. You're welcome!

Cheers,
Liraz Siri
Cell: +972-54-2013512
Twitter: http://twitter.com/lirazsiri
Google Talk: liraz at turnkeylinux.org (Jabber/XMPP IM)



More information about the ubuntu-devel mailing list