Carlos Ribeiro carribeiro at
Sun Nov 20 16:03:24 CST 2005

First of all, a brief introduction. My name is Carlos Ribeiro, from Brazil.
I am a Ubuntu user since last year. I used to be a programmer for a long
time, but now I'm currently working as a network engineer for a local
company. My interest in joining this list is to help Ubuntu development the
best I can, writing code or contributing on specs and discussions.

Now a bit of history... I have recently started to work on a app to
configure SoundFonts for Ubuntu. It was a problem I had while installing
Timidity to play MIDI and Karaoke files; I had trouble to install
SoundFonts, and more trouble yet to configure the instrument mappings for
Timidity. The particular problems that I found are not the topic here
though, because as soon as I started to do some research on the problem, it
came to me that there is one underlying problem in the way package
management is done today. It affects packages that contain SoundFonts, and
also other kinds of packages, such as LADSPA plugins and TrueType fonts.

For the lack of better name, I am calling it the "Application Specific
Package Management" problem.

The problem is as follows. Apt is great, synaptic also is great. However,
there's a big problem, that is the underlying assumption that all packages
are the same. This is not true. There are at least three kinds of packages:

1. Applications

2. Meta-packages (which are usually a bundle of associated applications and
application-specific packages)

3. Application-specific packages, which include LADSPA plugins, SoundFonts,
TrueType fonts, and possibly several other kinds of packages.

(I was tempted to list plugins and other application specific packages as
two items, but in fact they're the for the purpose here)

All these kinds of packages are different, but are handled the same way by
synaptic. I for instance found difficult to select only the packages that
contained TrueType fonts, or LADSPA plugins. While I can search for them,
the result includes other kinds of packages which incidentally contain the
same string in the name or in the description. There are also other
limitations; it's impossible to preview the contents of the package (this
would come handy for TrueType fonts, for example); or to tune the
configuration, deleting, remapping or reconfiguring individual files that
come with the package.

Ubuntu is already doing the right thing with the "Add applications" option -
it removes simplify the job of selecting well-behaved applications form the
numerous options in the repository. I think the same should be done for
application-specific packages. The proposal is as follows:

1. Application specific domains must be identified. I found three in my
daily use -- TrueType fonts, LADSPA plugins, and SoundFonts. I believe there
are more to come around (for example, perhaps packages that contain Python
modules, but that may be a stretch of the definition).

2. For each domain, some basic rules about packaging must be drafted. The
package must provide sufficient info to allow for application-specific
management, for things such as preview or configuration. Also, the
application specific packages should be clearly marked as such (for example,
using a "provides" directive) to guarantee that the packages are properly

3. For each domain, there would be a control-panel style application. This
app would be available from the System menu. It would allow to :

-- search the repository for application-specific packages;
-- preview the package contents;
-- install the package.
-- optionally, configure some aspects of the domain. For example, SoundFonts
must be mapped to instruments in a SoftSynth. TrueType fonts could be
disabled, or renamed.

Of course, this is still a pretty broad specification. But I think it is in
the right direction. As a rule of thumb, every kind of application that
makes use of additional data files or plugins that are provided as separate
packages should be configurable through a domain-specific applet. But of
course, I may be wrong... and I'm open to debate.

Thanks for the attention,

Carlos Ribeiro
Consultoria em Projetos
mail: carribeiro at
mail: carribeiro at
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the ubuntu-devel mailing list