Summary

The current repository dialog for Synaptic, Gnome-App-Install and Update-Manager is not ideal and not future-proofed. The following redesign will allow us to use the same dialog into the future, regardless of underlying package system.

Rationale

The current dialog is less than ideal for adding new source list and does not scale well for the future.

Use cases

Assumptions

Scope

Design

Currently we separate repositories and theirs corresponding components in the repository list of software properties. Furthermore the terminology isn't consistent in the ui of apps, the documentation and common use: users do not make a difference between components and respositories, e.g. the "universe repository". A common misunderstand is that the "add" (repository" button is used for adding components - but the edit button would be the right one. This error even happend to the documentation team. The terms software channel, channel, repository and component are mixed up. If you want to enable multiverse you have to do this for dapper, dapper-security and dapper-updates - perhaps even dapper-backports each.

So SoftwareProperties should be extended to have a concept of a relationship between repositories. The "-updates","-backports" and "-security" repositories should be all dependant of the "dapper" (or $distro) repository. If you add "universe" to the main dapper respitory and have "security" enabled, it should automatically add "universe" to "security" as well. See RepositoryDialogRedesign

In the unlikely event that sources.list has been edited so that some enabled Ubuntu repositories have security updates turned on while others don't, the "Security updates" checkbox will appear in indeterminate state [-], and the dialog will let it be toggled through indeterminate → on → off → indeterminate states. Otherwise, the checkbox will toggle between on and off states as normal. The same applies to the "Other fixes" checkbox.

The Ubuntu repositories will appear by default; third-party channels may be present if agreements are signed with various companies (see ThirdPartyPackages), and they will have a way of supplying a human-readable name and icon. The "Add Channel" and "Edit Channel" dialogs will also let people enter a human-readable name for a repository along with its URL; manually added repositories will have a generic repository icon.

Implementation

This needs be covered by MichaelVogt

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion

Channels

Upgrades


CategorySpec

RepositoryDialogRedesign (last edited 2008-08-06 16:31:41 by localhost)