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

RFC: bringing back task packages

A long time ago, tasksel installed task packages, which were regular
metapackages. This was dropped because the task packages had to Depend
on many packages, which made the installed system brittle, and made 
testing propigation a problem. Now that Recommends are installed by
default, I'm revisiting the idea of using task packages. It solves
many issues and inconsistencies with tasksel vs the rest of Debian.

The other problem with task packages before is that tasksel allowed the
user to select from amoung all that were available, and this resulted in a
confusing long mess of tasks to choose from. To avoid that, I intend to
keep the ultimate decision about what tasks are displayed in tasksel under
the control of the tasksel maintainers. But, I do hope that moving more of
the maintenance of tasks to the developers responsible for those areas of
Debian will result in a better selection of software and less work. We've
already had some good progress in that area with the gnome metapackages
which are used by tasksel.

If tasksel was switched to task packages, the task packages would probably
be initially built from tasksel's source. They could be split out of
tasksel's source as other groups stepped up to maintain them.

## Questions for teams

### gnome

Would the gnome team want to maintain a task-gnome?
Much of tasksel's gnome task is already taken from the gnome-core
and gnome metapackages, with a few more things added. task-gnome
would not need to deal with core X desktop stuff; task-desktop would
still handle that. Although we could move away from having a task-desktop
if you'd prefer.

There are also many localized desktop tasks. Mostly these add things
like localization packages for openoffice, and occasionally some fonts.
I'd like to see those be maintained in conjunction with task-gnome,
but it would mean some coordination with the dozens of people who
currently maintain those localization tasks.

### kde, lxde, xfce

See above and s/gnome/$you/

### cups

Would the cups maintainers be interested in maintaining a
task-print-server? Keeping the right ppds and cups packages in the task
has been an ongoing issue for me.

Note that a subset of cups is also installed as part of the desktop
tasks, and it would also make sense to have a metapackage on the cups
side that desktop tasks could use. The sole different currently is
that openprinting-ppds is included in the print server task, but not
the desktop tasks.

### blends

I think there is interest in getting some blends displayed in Taskel?
It's mostly orthagonal to this proposal, but this would help with
giving you full control over what your tasks do. I do feel that blends
need to be listed below the other tasks in tasksel, and probably with
a divider between them. Also, we have been careful to only have ten
tasks, to avoid overloading the user; and there is a limit to the length
of the list before it begins scrolling, so the d-i team would have to
look at the UI before adding Blends to the interface.

### i18n

There are many language tasks in tasksel. It might be good to have
the task packages be moved out of tasksel; I don't know if it'd make
sense to have individual language teams maintain them, or what.

If tasksel displayed Task packages' short Description fields, those
would need to be translated. I know we have translated Descriptions
but I don't know about coverage, or if that info is available when
tasksel runs in d-i?

## Comparing tasksel and dpkg fields

Key -> Depends
	This would be an improvement, as new Depends of a task would be
	installed on upgrade; there is currently no way to upgrade a task
	and get new packages that have been added to it.

	Note that Britney already treats Key as Depends internally.
	So this change would not impact testing migration.

Packages -> Recommends
	Recommends may be better than what we have now in tasksel.
	If aptitude auto-selects *new* recommends of a previously installed
	package to be installed? Currently new Packages added to a task
	only affect new installations of that task.

	Most packages in a task need to be Recommends, to avoid wedging
	Britney, and to allow removing bits of a task that are not wanted.

	Note that the Task field on the package side, which is added to the
	archive based on data from tasksel, could go away.

Enhances -> ???
	The Enhances fields are not truely the same as Depends
	(but are probably closer to Depends than to dpkg's Enhances).
	A task that Enhances other tasks is hidden, and 
	auto-force-installed when the other tasks are installed.

Relevance -> ???
	This is used to do some UI ordering of tasks. Closest equivilant
	is Priority, but it's not granular enough.

Test- -> ???
	These fields specify programs to run to test if the 
	task should be force-auto-installed, or hidden, or selected
	for installation.

Description -> Description
	Note that tasks' short description needs to be carefully worded
	since it appears in a short, low-jargon list of tasks in tasksel.
	For example, "Graphical desktop environment", "Web server",
	"DNS server", "Laptop". The long description can say that it's a
	task package, and provide arbitrary detail (but tasksel doesn't
	display it).

	Perhaps tasksel should only display part of the short description.
	Then we could have "task package: Web server". I don't know if
	this buys much, and it makes handling translated descriptions

Section -> ???
	This field is currently one of user, server, or l10n.
	It is only used by aptitude. It could be dropped, as aptitude
	probably won't be displaying task packages in its "Tasks" section.
	Unless it has some metadata to know that packages are tasks..

## Implementation Option A

Put everything in the task package.

Test-* -> XB-Task-Test-*

Enhances -> XB-Task-Enhances

Relevance -> XB-Task-Relevance

Section -> (remove)

tasksel-data would then contain only a list of task packages that should
be displayed, and no other information need be maintained. This
informaton would still be provided by debian-tasks.desc, but in a much
reduced format from what is there now. I want to retain debian-tasks.desc
since it is designed to be overridable and extensible to meet needs of

This would limit interaction between task package maintainers and tasksel
maintainers to communication about what tasks meet criteria to be shown
in tasksel.

## Implementation Option B

Keep Test-*, Enhances, Relevance, and Section in the debian-tasks.desc
file; move the other fields to the task packages.

Some ongoing interaction would be needed between task package maintainers
and tasksel maintainers. Enhances and Relevance would be the fields most
likely to need to be updated in tasksel to reflect changes in the task

see shy jo

Attachment: signature.asc
Description: Digital signature

Reply to: