DebtagsSpec

Summary

This spec suggests replacing 'metapackages' with debtags and/or tasksel

Rationale

The current approach in preselecting a set of packages which is to be installed on the users machine is using 'meta-packages' like 'ubuntu-desktop. This approach has some limitations:

  • A package conflicting to a package in the set removes the meta-package, making upgrades possibly problematic
  • Some packages might not be wanted by the user

Use cases

  • ubuntu-drivers define what packages belong to the tasks 'minimal', 'ubuntu-desktop', 'kubuntu-desktop' and 'ubuntu-accessibility' by adding corresponding tasks to their respective launchpad package pages. Bill, an ubuntu user has installed from a shipit cd, which installer has installed packages belonging to the tasks 'minimal' and 'ubuntu-desktop'. Now he decides that he wants to give kde a try and fires up synaptic version supporting tasks and selects the 'kubuntu-desktop' task. synaptic will then look up the packages belonging to the 'kubuntu-desktop' task and tries to install them
  • The MOTUGames team wants to create a 'ubuntu-games' task. Since many packages are in universe, they need some way to access and edit the debtags database. They apply the 'ubuntu-games' tag to the packages they want to be included

  • Oliver wants to quickly prepare his new laptop for his son. He fires up a terminal and types: 'sudo aptitude install -y ~tedubuntu-desktop'. Minutes later, all packages from the edubuntu-desktop task are installed.
  • The ubuntu distribution wants to profit from the work of the debian debtags team. All debian debtags are imported regularily in the first half of the development cycle only. Ubuntu debtags get a non-conflicting namespace on their own.

Scope

  • Launchpad needs to expose debtags to the Packages.gz file.
  • Launchpad needs to provide facilities to list, add and edit debtags to existing packages in the archive.
  • Only authorized users (ubuntu-core-dev for main/restricted and ubuntu-dev for universe/multiverse for ubuntu) should be able to edit/delete/add tasks to packages.
  • Package installers like aptitude, synaptic, adept, update-manager, etc need to respect these debtags

Design

Implementation

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec

DebtagsSpec (last edited 2008-08-06 16:38:50 by localhost)