On 11/25/05, <b class="gmail_sendername">Matt Zimmerman</b> &lt;<a href="mailto:mdz@ubuntu.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">mdz@ubuntu.com</a>&gt; wrote:<div><span class="gmail_quote">
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Sun, Nov 20, 2005 at 08:03:24PM -0200, Carlos Ribeiro wrote:<br>&gt; For the lack of better name, I am calling it the &quot;Application Specific<br>&gt; Package Management&quot; problem.<br>&lt;snip&gt;<br>
</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">The most promising approach I've seen is debtags, which allows packages to<br>
be categorized in meaningful ways by attaching an arbitrary number of tags
<br>to them.&nbsp;&nbsp;There was a debtags-enabled Synaptic at some point in the past,<br>but I'm not sure where it stands today.&nbsp;&nbsp;Michael Vogt would presumably know.</blockquote><div><br>

Thanks for you answer. You're right on several counts: this is not a
new problem, and it's not a infrastructure problem. However, there's
clearly room for improvement in the way the &quot;application specific
packages&quot; are managed. I think my original post was not as clear as I wished, so please take my apologies for that.<br>

<br>

Let's restate the proposal in a more straighforward way:<br>

<br>

1) Provide support for basic package management functionality in
applets such as the &quot;System &gt; Preferences &gt; Fonts&quot;. I believe
that this kind of functionality is missed by many users, and would make
Ubuntu easier to use, specially for people migrating from other OSs.<br>

<br>

Please note that this is a long term goal; I do not expected that all
applications will be rewritten or extended in the short term. I think
about it more like a &quot;roadmap&quot; thing.<br>

<br>

2) Define very simple rules for &quot;application specific&quot; packages:<br>

<br>

a) define a generic mechanism to select the correct packages from the package database;<br>

b) define rules about how the packages should be structured.<br>

<br>
Item (a) is a decision about how to tag the packages. There are a
number of possibilities, such a tag in the package name ('-ttf', or
'-soundfont'); use of the &quot;provides&quot; tag; or debtags. As long as
there's a way to select the packages from the database, it's ok.<br>

<br>

Item (b) is concerned with two problems; the system must be kept
simple, and it should be backwards compatible. Simplicity is attainable
by defining that the add-on packages should contain only the minimum of
stuff needed (for example, just the font files and a few preview samples). Backwards
compatibility means that the package should install just fine from
apt-get or synaptic. The only thing that would be gained through the
application specific management interface would be the ease to
select the packages from a shorter and less confusing listing (something that's hard to do today, given the size
of the package list), and (hopefully) the ability to preview the contents of the package in a context that makes sense.<br>

<br>

Example:<br>

<br>

** A TrueType font package contains fonts that go into
/usr/share/fonts. The preview could be handled either by allowing fonts
to be extracted from the package just for preview, or by including some
images for previewing. <br>

<br>

** A Soundfont package contains files that go into
/usr/share/midi/soundfont. The preview can also be handled either by
allowing individual fonts to be extracted for preview, or by including
audio snippets (standard WAV files) for listening.<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">This solves the problem in a general way, whereas your approach requires a
<br>significant amount of work for each new category.<br></blockquote></div><br>
You're right, that's why I think about it more in a 'roadmap' way. It's
a lot of work, and it's pretty easy to overdo it. So yes, I am aware of
the problem and willing to work to avoid it.<br>
<br>
<br>-- <br>Carlos Ribeiro<br>Consultoria em Projetos<br>blog: <a href="http://rascunhosrotos.blogspot.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://rascunhosrotos.blogspot.com
</a><br>blog: <a href="http://pythonnotes.blogspot.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://pythonnotes.blogspot.com</a><br>mail: <a href="mailto:carribeiro@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
carribeiro@gmail.com</a><br>mail: <a href="mailto:carribeiro@yahoo.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">carribeiro@yahoo.com
</a><br><br>