KubuntuDapperPackageManager

Revision 21 as of 2005-12-19 23:47:01

Clear message

Summary

Kubuntu package manager tools for Dapper.

Rationale

Kubuntu Breezy added Adept, the first time KDE has had a first class .deb package manager. We should continue this work in Dapper.

Use cases

Bob is a new computer user who wants to install a fun game, he finds adept too complex but is able to use the new simple package tool to search and install.

Scope

Improve the existing tools and add an update-notifier, simple package manager and language selection tool. Investigate adding a .deb install tool.

Design

Adept

Adept 2.0 will add the ability to find more detailed package information including a file list, relations to other packages and available information. We should be careful here to do this in a way which does not crowd the user interface.

We will put Adept for a usability review on OpenUsability.org and implement any good suggestions from them.

Adept in SVN now creates .po files for translation, we will ship with these. We will also add i18n support to libapt-front for full i18n support in Adept. We will ensure Adept gets into Rosetta to make it easy for translators to use.

Options will be added to allow to purge and reinstall packages.

By default the console will be hidden and libapt's progress reporting functions will be used to display a progress bar only by default, with the option of showing the console.

Dependency tracking will be added pending this feature being included in libapt. This will allow for packages to be uninstalled with all the dependencies it brought in automatically uninstalled.

The undo and redo functions will be extended to show the user what will happen on each function.

We will add the ability to set version/release policy (pinning). This is another case where care with the user interface will have to be taken as it is a complex area.

Work is being completed on an advanced problem resolution algorithm in aptitide. This may be included in libapt. We will ensure this is supported in Adept if this happens.

Update Notifier

Adept includes an update application to download and install the latest packages. We will create an update notifier to monitor the archive (and sources.list) and bring up a notification when there are updates which will prompt the user to run Adept Updater. Similar to the Ubuntu update-notifier ours should not keep a copy of the dpkg database in memory for longer than necessary.

Simplified Installer

We will create a simplified installer using the best user interface ideas from gnome-app-install.

.deb installer

Time permitting we will create a program to install individual .deb files. This would have to check if the dependencies could be resolved and install those or if they are not available install nothing.

Target Feature Set

  • detailed package view and package browsing interface
  • further improved filtering ui
  • pinning support
  • full i18n
  • purge and reinstall options in the UI
  • konsole hiding
  • individual deb handling
  • simplified installer UI
  • update notifier

All of these should be completed for this spec to be considered done. See rest of the spec for details on how individual items should look like and the roadmap for milestones and their features.

Implementation

Update notifier will probably be created as a module of the KDE daemon.

The simplified installer should be based on libept, the user interface library for Adept and Adept Updater. It will use the same data-package as Ubuntu's gnome-app-install which contains the .desktop files that list the applications.

.deb installer details are to be worked out. It will be either via local repository managed by libapt-front or by reading in the information out of the .deb and finding the dependencies from that.

The adept-updater and adept code bases will be streamlined and common code pushed into libept (there's still some redundancy). This code may then be as well reused in the simplified installer. Any new features needed for the new utilities/applications will be carefully considered for inclusion in libapt-front, so everyone can benefit. If time permits.

The plan by APT team is to include new features in libapt-pkg, we will try to take advantage of those as much as possible.

Roadmap

[http://people.freedesktop.org/~mornfall/adept-tags.png screenshot as of 2005-12-12]

December 15th-20th: adept 1.88 (alpha 1)

  • the most "intrusive" changes to ui should be done at this point: the detailed package view and package browsing interface, improvements to the filtering ui [filtering ui nearly done, browser nearly done]
  • the ui should be fully i18n'd [done modulo few less important strings and the few strings from libapt-front; those shall be fixed in another alpha]
  • skeleton of the update notifier should be done [done]
  • purge and reinstall options in the UI [done]
  • at least basic support for konsole hiding (eventually without "waiting for input" detection)
  • interruptible download, cancel button in media swapping dialog [done]

January 5th-12th: adept 1.89 (alpha 2)

  • this should see completion of many of the "incomplete" features of the alpha
  • pinning support
  • installation of single .deb packages
  • any new libapt-pkg features that we are interested in and are complete enough at the time should be at least partially supported by this alpha
  • remaining "intrusive" usability issues are hopefully resolved (like error reporting in the fetcher)
  • completion of update notifier
  • introduction of simplified installer UI

February 9th-16th: adept 1.90 (beta 1)

  • this version should be feature complete
  • libapt-pkg new feature integration is finished
  • any other slips or omissions from the second alhpa are fixed
  • any serious bugs from alpha 2 get fixed here
  • finishing the simplified installer

March 2nd: adept 1.91 (beta 2)

  • fixes for any serious problems that appear in beta 2
  • all issues affecting the UI shall be fixed by now

March 12th: adept 1.92 (rc)

  • serious issues of beta 2 fixed
  • only critical issues will be fixed from now on

March 30th: adept 2.0

  • bar need for critical fixes arises, identical to 1.92

Comments

-Volker Löchte: Please also have a look at Xandros Networks, it has an excellent GUI

-Petr Rockai: There are few problems with the xandros ui -- too many scrollbars, eventual scalability problem with the treeview. The simple installer will surely take inspiration in this (as well as any other simple installers out there), still trying to improve on the ideas.