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

cleaning up our task packages



I suspect most people don't look at tasksel on a regular basis, but if
it were possible to do a fresh woody install today, here is what you
would see:

  x [ ] Advanced Linux Sound Architecture  Meta package which depends on sta`x 
  x [ ] C++ Dev                            Development in C++               ax 
  x [ ] C Dev                              Development in C                 ax 
  x [ ] Chinese S                          Simplified Chinese environment   ax 
  x [ ] Chinese T                          Traditional Chinese environment  ax 
  x [ ] Database Pg                        PostgreSQL database              ax 
  x [ ] Debian Devel                       Debian package development       ax 
  x [ ] Debug                              Debugging of C, C++, Objective C ax 
  x [ ] Devel Common                       Development in various languages ax 
  x [ ] Dialup                             Dialup utilities                 ax 
  x [ ] Dialup Isdn                        Dialup utilities (ISDN)          ax 
  x [ ] Dns Server                         DNS Server                       ax 
  x [ ] Doc                                General documentation            ax 
  x [ ] Fortran                            Fortran development environment  ax 
  x [ ] Games                              A selection of games             ax 
  x [ ] German                             German-speaking environment      ax 
  x [ ] Gnome Apps                         GNOME applications and utilities ax 
  x [ ] Gnome Desktop                      GNOME basic desktop              ax 
  x [ ] Gnome Games                        GNOME games                      ax 
  x [ ] Gnome Net                          GNOME network applications       ax 
  x [ ] Imap                               IMAP Server                      ax 
  x [ ] Japanese                           Japanese-speaking environment    ax 
  x [ ] Kde                                The K Desktop Environment        ax 
  x [ ] Kde Devel                          The K Desktop Environment develop`x 
  x [ ] Kdeadmin                           tools for adminstration written fax 
  x [ ] Kdegames                           KDE games collection             ax 
  x [ ] Kdegraphics                        KDE collection of graphics prograax 
  x [ ] Kdemultimedia                      KDE multimedia task              ax 
  x [ ] Kdenetwork                         KDE Networking Applications      ax 
  x [ ] Kdepim                             Personal Information Management fax 
  x [ ] Kdetoys                            some toys for the KDE            ax 
  x [ ] Kdeutils                           KDE Utilities Applications       ax 
  x [ ] Koffice                            KDE Office Suite                 ax 
  x [ ] Laptop                             A selection of tools for laptop uax 
  x [ ] Newbie Help                        New user documentation           ax 
  x [ ] News Server                        USENET News Server               ax 
  x [ ] Objc Dev                           Development in Objective C       ax 
  x [ ] Parallel Computing Dev             Packages for development of paralax 
  x [ ] Parallel Computing Node            Libraries for parallel computing ax 
  x [ ] Polish                             Polish-speaking environment      ax 
  x [ ] Python                             Python script development environax 
  x [ ] Python Bundle                      Full distribution of Python      ax 
  x [ ] Python Dev                         Full Python development environmeax 
  x [ ] Python Web                         Python web application developmen`x 
  x [ ] Samba                              Samba SMB server                 ax 
  x [ ] Science                            Basic tools for scientific work  ax 
  x [ ] Sgml                               SGML and XML authoring and editinax 
  x [ ] Sgml Dev                           SGML and XML development environmax 
  x [ ] Spanish                            Spanish environment              ax 
  x [ ] Tcltk                              Running Tcl/Tk applications      ax 
  x [ ] Tcltk Dev                          Developing Tcl/Tk applications   ax 
  x [ ] Tex                                TeX/LaTeX environment            ax 
  x [ ] Webserver Roxen                    Web server (Roxen)               ax 
  x [ ] Webserver Roxen2                   Web server (Roxen)               ax 
  x [ ] X Window System                    X Window System (complete)       ax 
  x [ ] X Window System Core               X Window System (core components)`x 

Notice a few things about this list:

1. It is long. More than 2x as long as the list in potato, much longer than
   one or even two screens. It is approaching a length that most hurried 
   people will probably not bother reading. I'll bet that back in the early
   days, dselect's list was about this long, and the thought, frankly, scares
   me..
2. It is filled with junk. Task packages are supposed to deliniate _tasks_:
   things one would want to use a computer for. They are supposed to make
   decisions _for_ people who cannot be bothered to make decisions for
   themselves[1]. So why do we have three sets of games, two desktops,
   and a slew of different programming languages all listed?

We need to trim this list down, and I propose an objective criteria
that can go into policy, as follows:

%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<

  2.3.1.1 Task packages
  ---------------------
  
  Task packages are packages whose names are prefixed with `task-'.
  Typically they are empty metapackages that merely depend on a collection
  of other packages.

  These packages are designed to enable users to set up their system to 
  perform a specific task, with a minimum of work. Task packages are the 
  embodyment of statements like "I want a ..." or "I want to ...". For
  example, "I want a web server" (task-web-server), or "I want to write
  programs" (task-programming), and if such a statement cannot be resonably
  constructed to explain the purpose of the task, a task package is not
  appropriate and should not exist in Debian.

  Task packages must each delinate a specific task, and no two task packages
  should offer the same, or effectively the same task. (So there can only
  be one task package for a X desktop, a web server, or program development.)
  Moreover, task packages should not be present for tasks that the standard
  Debian system can perform by default (so task-[emacs-]editor is right out).

  Task packages must not conflict either directly, or indirectly (this means
  that the dependancies of any two task packages must not conflict).

%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<%<

I'd expect that if this were adopted into policy, it would eliminate a whole
pile of tasks that clearly violate it, although I'm sure many of them would
 be fought long and hard; at least once we get a definition in policy, we
will have a standard to aim for (and something to fight over ;-P.

The resulting list would look something like:

  x [ ] Chinese                            Chinese environment              ax 
  x [ ] Database Pg                        PostgreSQL database              ax 
  x [ ] Debian Devel                       Debian package development       ax 
  x [ ] Dialup                             Dialup utilities                 ax 
  x [ ] Dns Server                         DNS Server                       ax 
  x [ ] Doc                                General documentation            ax 
  x [ ] Games                              A selection of games             ax 
  x [ ] German                             German-speaking environment      ax 
  x [ ] Imap                               IMAP Server                      ax 
  x [ ] Japanese                           Japanese-speaking environment    ax 
  x [ ] Kde                                The K Desktop Environment        ax 
  x [ ] Laptop                             A selection of tools for laptop uax 
  x [ ] Newbie Help                        New user documentation           ax 
  x [ ] News Server                        USENET News Server               ax 
  x [ ] Polish                             Polish-speaking environment      ax 
  x [ ] Samba                              Samba SMB server                 ax 
  x [ ] Science                            Basic tools for scientific work  ax 
  x [ ] Sgml                               SGML and XML authoring and editinax 
  x [ ] Spanish                            Spanish environment              ax 
  x [ ] Tex                                TeX/LaTeX environment            ax 
  x [ ] X Window System                    X Window System (complete)       ax 

Which doesn't include some very important tasks (task-web-server 
and task-programming come to mind), but is a large improvment from 
what we have now. And almost even fits on one screen. 

-- 
see shy jo

[1] Which is why most of us will never use them..



Reply to: