links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Summary: Debian
Last updated at 4:12 am UTC on 29 March 2005
Reported by Lex Spoon

What problem is being addressed

  1. Easy installation of a large number of packages with a reasonably likelihood that they will Just Work.
  2. Development of occasional stable releases, where every package in the release has no known, highly serious bugs.

How it solves the problem

There are "branches" in the central repository. A branch sets a context just like a package universe: it specifies what packages are available for download, and how widely a package update is spread.

Useful links

For coherence I think the author should write the sections above this line.
People can add what they want to these later sections, and can suggest that the author change the rest.

What's cool about it

There are several things we can copy:
  1. They have thought carefully about their dependency system, and have the following kinds of dependencies marked:
  2. In general, they have a rich dependency language, but it doesn't seem to get used much. They allow restricting the versions of dependencies that are used, and they allow specifying alternatives in the dependency lists.
  3. They have a refined repository system (called APT), including management of mirrors, and having local non-public add-ons to a repository.
  4. They have carefully considered what load and unload scripts should be available. (Someone should dig up a link describing this...). They have: preinst, postinst, prerm, and postrm.
  5. They have thought about how to configure packages. Their decision is that the "postinst" script should also handle configuration, and that that same script can be re-executed later on if the user wants to re-execute a package.
  6. Configuration tools are being worked on by a few projects, so that you can configure a package no matter what kind of UI (X11, gnome, kde, console, line printer, ...) you are using.

What's not

It's very Unixy. The specific loading and unloading mechanisms do not apply directly.

The tools for repository management are terrible. The architecture seems to support local repository management (like the repository holding the Debian packages of Squeak!), but the tool support is lousy. I don't know if there is any fundamental reason for this; I think it is just not supported well.


Back to New Modules