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

[Tip of the Week] Using debtags to find suitable packages



Hi.

The number of packages in Debian is growing nearly daily and
the sheer amount of available choices has become a pain long time ago.
However, this has been even more of a problem for people around the
accessibility area then for anyone else since we are usually
limited to just a special subset of packages.  For instance, in the
past, all X11 packages were basically unusable for blind users.
These days, this has improved a bit with the efforts around
the GTK2 toolkit, but it still remains largely valid.

A solution for this is around the corner though, and I wanted to make
you aware of it, so that you can give it a spin and maybe even benefit
From it already.  It is called debtags, simply "apt-get install debtags".

The most useful tags are interface::commandline, interface::text-mode and
interface::x11.  There are other things
like uitoolkit::gtk, uitoolkit::qt or uitoolkit::ncurses too.

I am just giving a simple example, debtags is documented and
you should rather dive into it for yourself if you find this thing
helpful.

Say we want to find tools for working with audio but we only want
to see those which somehow support a text-mode interface of some sorts:

$ debtags grep 'works-with::audio && ( interface::commandline || interface::text-mode || uitoolkit::ncurses )'
mp32ogg: application, file-formats, format::mp3, format::ogg, format::vorbis, interface::commandline, made-of::lang-perl, use::converting, works-with::audio
toolame: application, file-formats, format::mp3, interface::commandline, use::converting, works-with::audio
mpeg3-utils: application, file-formats, format::mp3, interface::commandline, use::converting, works-with::audio, works-with::video
vorbis-tools: application, file-formats, format::ogg, interface::commandline, use::converting, use::playing, works-with::audio
sndfile-programs: application, file-formats, format::wav, interface::commandline, sound::player, use::converting, works-with::audio
normalize-audio: application, file-formats, format::wav, interface::commandline, use::converting, works-with::audio
flac, sox: application, file-formats, interface::commandline, use::converting, works-with::audio
enscribe: application, file-formats, interface::commandline, use::converting, works-with::audio, works-with::rasterimage
ices2: application, filetransfer::http, format::mp3, format::ogg, format::vorbis, format::wav, interface::commandline, interface::shell, made-of::lang-c, net, netcomm, protocol::http, role::sw-client, sound::compression, sound::recorder, use::transmission, works-with::audio, works-with::video
pyxmms-remote: application, format::mp3, format::ogg, interface::commandline, made-of::lang-python, role::sw-client, sound::player, suite::xmms, works-with::audio
yaret: cd, hardware::storage, hardware::storage-cd, interface::commandline, made-of::lang-perl, works-with::audio
vlc: culture::turkish, format::mp3, format::ogg, interface::commandline, protocol::ipv6, role::aux-shlib, role::sw-application, sound::player, uitoolkit::ncurses, use::playing, works-with::audio, works-with::video
icecast2: filetransfer::http, format::html, format::mp3, format::ogg, interface::commandline, interface::daemon, interface::web, made-of::lang-c, network::service, protocol::http, role::sw-server, sound::mixer, use::transmission, web::application, web::server, works-with::audio
somaplayer: format::iso9660, format::mp3, format::ogg, format::wav, interface::commandline, interface::x11, role::sw-client, role::sw-server, sound::player, uitoolkit::gtk, use::playing, works-with::audio, x11::application
cdda2wav: format::iso9660, hardware::storage, hardware::storage-cd, interface::commandline, works-with::audio
jack: format::mp3, format::ogg, format::vorbis, hardware::storage, hardware::storage-cd, interface::commandline, made-of::lang-python, role::aux-shlib, works-with::audio
fapg: format::mp3, format::ogg, format::wav, interface::commandline, made-of::lang-c, use::organizing, works-with::audio
cplay: format::mp3, format::ogg, format::wav, interface::text-mode, made-of::lang-python, sound::player, works-with::audio
mp3c: format::mp3, format::ogg, hardware::storage, hardware::storage-cd, interface::commandline, interface::text-mode, uitoolkit::ncurses, works-with::audio
randomplay: format::mp3, format::ogg, interface::commandline, made-of::lang-perl, sound::player, use::playing, works-with::audio
streamripper: format::mp3, format::ogg, interface::commandline, role::sw-client, sound::recorder, works-with::audio
madplay, mpg321: format::mp3, interface::commandline, sound::player, use::playing, works-with::audio
checkmp3, mp3check: format::mp3, interface::commandline, use::checking, works-with::audio
id3tool, id3v2: format::mp3, interface::commandline, use::editing, use::organizing, works-with::audio
id3, id3ren, mp3rename: format::mp3, interface::commandline, use::organizing, works-with::audio
mp3blaster: format::mp3, interface::text-mode, sound::mixer, sound::player, uitoolkit::ncurses, works-with::audio
mp3info: format::mp3, interface::text-mode, uitoolkit::ncurses, use::checking, works-with::audio
id3ed: format::mp3, interface::text-mode, uitoolkit::ncurses, use::organizing, works-with::audio
vorbisgain: format::ogg, interface::commandline, works-with::audio
dcd: hardware::storage, hardware::storage-cd, implemented-in::c++, interface::commandline, sound::player, use::playing, works-with::audio
cdcd: hardware::storage, hardware::storage-cd, interface::commandline, interface::text-mode, sound::player, uitoolkit::ncurses, use::playing, works-with::audio
sound-recorder: hardware::storage, hardware::storage-cd, interface::commandline, sound::recorder, works-with::audio
xmcd: hardware::storage, hardware::storage-cd, interface::text-mode, interface::x11, sound::player, uitoolkit::motif, uitoolkit::ncurses, use::playing, works-with::audio, x11::application
workbone: hardware::storage, hardware::storage-cd, interface::text-mode, sound::player, uitoolkit::ncurses, use::playing, works-with::audio
mcdp: hardware::storage, hardware::storage-cd, interface::text-mode, sound::player, use::playing, works-with::audio
jackd: interface::commandline, interface::daemon, role::sw-client, role::sw-server, sound::player, use::playing, works-with::audio
mikmod: interface::commandline, interface::text-mode, made-of::lang-c, sound::player, uitoolkit::ncurses, works-with::audio
ffmpeg: interface::commandline, interface::x11, role::aux-shlib, role::sw-server, uitoolkit::sdl, use::playing, works-with::audio, works-with::video, x11::application
timidity: interface::commandline, interface::x11, role::sw-application, sound::midi, sound::player, uitoolkit::athena, uitoolkit::ncurses, use::playing, works-with::audio, x11::application
icecream: interface::commandline, made-of::lang-perl, role::sw-client, use::downloading, works-with::audio
grandfatherclock: interface::commandline, made-of::lang-perl, use::timekeeping, works-with::audio
eyed3: interface::commandline, made-of::lang-python, use::organizing, works-with::audio
bplay: interface::commandline, sound::player, sound::recorder, works-with::audio
music123: interface::commandline, sound::player, use::playing, works-with::audio
xmms-shell: interface::commandline, suite::xmms, uitoolkit::gtk, use::playing, works-with::audio
mpegdemux: interface::commandline, works-with::audio, works-with::video
playmidi: interface::text-mode, interface::x11, made-of::lang-c, sound::midi, sound::player, uitoolkit::athena, uitoolkit::ncurses, works-with::audio, x11::application
xine-ui: interface::text-mode, interface::x11, role::sw-application, role::sw-client, sound::player, uitoolkit::ncurses, use::playing, works-with::audio, works-with::video, x11::application
zinf-extras: interface::text-mode, role::aux-data, sound::player, uitoolkit::ncurses, works-with::audio
ncmpc: interface::text-mode, role::sw-client, sound::player, uitoolkit::ncurses, use::playing, works-with::audio
gom: interface::text-mode, sound::mixer, uitoolkit::ncurses, works-with::audio
moc: interface::text-mode, sound::player, uitoolkit::ncurses, use::playing, works-with::audio
timidity-interfaces-extra: interface::x11, role::aux-shlib, role::sw-application, sound::midi, sound::player, uitoolkit::gtk, uitoolkit::ncurses, uitoolkit::tk, use::playing, works-with::audio



As you can see, queries can be arbitrarily complex, and the example
results are actually quite useful.  Filtering on UI toolkit is something
I wanted to be able to do within Debian since years!  Thanks to all the guys
having worked on debtags!

It definitely needs some work still, for instance, I am missing
a interface::emacs or uitoolkit::emacs tag which could be used
for packages like ilisp, ecasound-el or supercollider (just to name three
examples).  I also noticed there is only one
uitoolkit::gtk and it seems to be used by GTK1 applications as
well.  For the sake of being helpful to people relying
on accessibility tech it`d probably be better to
have a uitoolkit::gtk1 and uitoolkit::gtk2 tag or even better,
invent a completely new tag for packages which have been
tested and work mostly with AT-SPI clients like gnopernicus or gok.

If you find other things you'd consider useful, maybe
we can start a small thread here and try to reach a conclusion which we then
could forward to the debtags maintainers?

Anyway, have fun with this wonderful new tool!
-- 
CYa,
  Mario

Attachment: pgpMrTruBLH9t.pgp
Description: PGP signature


Reply to: