[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Packaging system improvements

Yann Dirson wrote:
> This reminds me I didn't see any answer to my question on *HOW* you
> would make a distinction between a program using X11 as an interface,
> and a package part of the core X11 stuff, with only a Keywords: field.

That's because Brian White answered for me at the time.

You can make the distiction by choosing your keywords to reflect
their specific meanings.  Or you can blend the meanings.

Any keyword can be added by any developper.  Deity will then classify
keywords such that they have meaning to the user.

Think of how a search mechanism works on the web.  If a web page
provides keywords for search system, they don't classify what
each keyword has to do with, it just lists those keywords the
author thinks are relevant to the document at hand.

> I still advocate adding more fields, like "Interface:", to the
> existing "Section:", for addressing such problems. Then you'll have a
> "X11" keyword as Interface, and a "X11" keyword as Section; this seems
> to me much more intuitive...

Why do you need to make the distinction?  The current Section X11
does not.  In the current X11 directory there are both packages
to run an X11 server and other packages that just have an X11
interface.  There are a lot of packages scattered all over the
debian hierarchy that argually belong in the X11 directory, and
yet don't.

Personally, I would specify the following keywords for the
following packages (off the top of my head):

xbase: X11, X11R6
fvwm2: X11, window_manager
xpm4.7: X11, lib, graphics
xpm4.7-dev: X11, lib, graphics, devel
xemacs: X11, full_screen, editor, emacs, email_client, www_client, news_client
mirrormagic: X11, game, sound

Please note, Keywords are seperate from the dependencies system.
Dependencies do a very good job of handling dependencies between
packages.  They do not, and should not be used for classifying
what a package does or is a part of.

The point of a single new Keywords header is that people can add any
keyword they wish (whether their own, or from a list of accepted
Debian keywords).  Debian keywords will be grouped in the deity
UI such that the user can deal with keywords with common meanings
in one place.  Custom keywords will be handled in a misc section.
By letting deity deal with how keywords are presented to the user,
we have a great deal of flexibility of adding new accepted debian
keywords or groupings of keywords without having to go back and
change the header fields on every package in Debian.

By using a rigid design of extracting the precise meaning of a
Keyword based on the field it's in, all flexibility is lost:
developpers would not be able to add their own keywords until a new
heading has been agreed upon (at which point they would have to
re-upload their packages), and the UI would not have the flexibility
to group keywords as it sees fit.  

>  > Now, if you use Keywords on the otherhand, you can specify multiple
>  > categories for each package.  All packages can be described in
>  > multiple ways after all.
> Note that even if we finally get hierarchical structure in "Section:"
> or any similar field (and I'm strongly *for* this extension), the dir
> structure need not reflect it...

I never said the directory structure should reflect a package's
classification.  In fact, deity will allow perform equally well
with a more complicated or more simplified directory structure
than we have now.  This is because the layout of the debian
directories has almost no impact on how packages are presented
to the user in the deity UI.

With the current deity design, keywords are used to make the directory
structure irrelevant (It's single classification of packages is not
sufficient in most instances).  Keywords allow an arbitrary
multi-classification of packages (which doesn't rely on directory
structure at all).

Deity could live quite happily with all Debian packages being in one
directory, or having one directory per package 16 levels deep.  This
is because it doesn't matter what directory a package is found in,
it matters what Keywords a package provides.

btw, keywords will not only be provided by the Keywords header but
also from most of the existing headers (Section/Priority/Recommends/

Thank you for your interest,


Behan Webster     mailto:behanw@verisim.com
+1-613-224-7547   http://www.verisim.com/

TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .

Reply to: