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

Re: More accurate package classification

On Thursday 02 November 2006 12:36, Mgr. Peter Tuharsky wrote:
> 	Hi all


> Sometimes I spend hours just reading Debian's package repository, and
> everytime I found interesting packages. The Debian is extremely large
> and juicy, but in contrary, it is really difficult sometimes to just
> find the "right" tool when needed.

Debian also has lots of lots of tools for package searching ;-) In fact I 
believe Debian has the most advanced searching tools amongst the operating 
systems. As others already suggested debtags, I can merely add that 
packagesearch (this is a package) can make use of debtags too. You may also 
want to try dctrl-tools.

> More and more, I miss some more accurate system for package classification.
> For example, just the cathegories "X11" and "GNOME" both contain bunch
> of excellent software of many kinds. The same goes for other cathegories
> too -sound, video,...
> New sub-cathegories should be created, such as: video_editing,
> video_players, sound_editing, sound_players, sound_conversion,
> sound_tools, mp3_tools, cd_creation, digital_camera, image_viewers,
> image_editors (possibly with bitmap and vector subcathegories), laptop,
> electronics, chemistry, astronomy, math, physics, junior, school..

Ahem, debtags.

> Independently, packages should also bear some flag, whether they are
> commandline-based, or X11, or GNOME, or KDE. So that I could for example
> find package for "video editing, for GNOME".
> Even other package flags could be independent, so that search would not
> be just "tree-oriended", but "multi-dimensional" instead. For example,
> if I need sound editing program for kids that runs under GNOME.

Allow me to introduce you to the package of ara. You can do boolean regexp 
queries against all/any package's field known to the Debian packaging system. 
Here is a fairly complex example:
ara -fields Package:8,Size,Description:100 -table 'section=games &
!depends:(gtk|sdl|kde|opengl|gnome) &
!description:(/shoot|kill|destroy|blast|race|bomb/iw |
/multi\(-\|\)player\|strategy\|conquest\|3\(-\|\)d/iw) &
depends:(xlibs|vga) & !size>1000000'
   Assuming a 125-column display, display the first eight characters of the
   package name, the size in bytes, and the first hundred characters of the
   description of all packages in the games section not exceeding one
   million bytes, not depending on fancy stuff like gtk,SDL,KDE,OpenGL or
   Gnome, not mentioning some forms of violence (to shoot, to kill, etc.)
   in its description, not described as multi-player, strategy, conquest or
   three-dimensional games, yet depending on either xlibs or svga to exclude
   console-based games.

Please see ara -examples and ara(1) for more.

> Sometimes I'd like to give Debian a try for a new user, and such a
> system would help greatly to find the proper applications for him.
> Sometimes I need a commandline tool for server. Again, would help much.

Ara has a command line tool (including interactive mode), a GTK2-based GUI 
(apt-get install ara xara-gtk) and a web interface (the Tag field is explored 
of course) -> http://ara.edos-project.org/

> I think, it shouldn't be too hard to implement that. Just create the
> structure in apt and let the package maintainers to set the few new
> flags for the packages.

You are alluding the Tag: field, but it is just one of them and you can 
explore any/all of them if you need to.

> I'm sure something like that has already been discussed. I'm just
> adding, that such kind of structure is NECESSARRY for such a great
> software collection as Debian is.

Well, since there are already some package searching tools, you might want to 
file wishlist bugs against them if you find something useful which has not 
been implemented yet.

P.S. Anyway, I can understand your chicken-and-egg problem, you were missing 
the searching tools to find your favorite searching tool ;-)

pub 4096R/0E4BD0AB 2003-03-18 <people.fccf.net/danchev/key pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 

Reply to: