PackageManagementRoadmap

Revision 21 as of 2005-04-30 02:39:12

Clear message

Status

Introduction

Define what road we want to take for our package managment tools.

Rationale

The package managment tools needs to be updated to work with the new requirements that the distro imposes on them.

Scope and Use Cases

Both apt, aptitude, dpkg and synaptic needs updates in various areas.

Implementation Plan

  1. dpkg should not depend on dselect anymore (dpkg-1.13 does no longer)
  2. The package managment tools should support logging so that the user gets a idea what's going on.
    • dpkg-1.13 support logging for states now (needs to log answers for conf file questions)
    • Synaptic logs the high level operatons of a sinle run already, it should also log the output of dpkgs maintainer scripts (logging inside apt is impossible because debconf questions will be asked on the same termianl)
  3. For "automated package suggestions":
    • mime-type of packages should be used: find a application to work with that mime type and install it (see also FindingPackages).

      • Use-case:
        • download a file with unknown mime-type and firefox
          • tells us that it does not support it
        • have a non-supported file openend with nautilus and
          • it should ask for software to be installed
  4. FeatureDependencies in dpkg may be evaluated. The idea is to replace the existing dependency handling based on version with dependency handling based on the actual features introduced by that version (for details see http://www.dpkg.org/FeatureDependencies)

  5. A new source package format might be considered. It will expanded the current source package format so that it can include multiple patches (for details see http://www.dpkg.org/NewSourceFormat).

    • Support for bz2 sources files will go in for breezy
  6. Network sources should be enabled by default and the tools should behave sanely even if no network connection is available.
    • Synaptic: ask network manager if we are online or not
    • Apt,Aptitude should test for network by forking a application
      • that speaks dbus and tries to talk to network-manager
  7. The apt-library should be reviewed to make certain operations part of the library instead of part of the apt-get.cc application. "apt-get update" should be possible a single library call.
  8. There are some similar but slightly different results when calling "aptitdue dist-upgrade" and "apt-get dist-upgrade". A review is needed why they have different results and if it is possible to unify them.
  9. There are various patches for apt available that need to be reviewed and added into apt:
    • Limit the bandwidth of the download (debian #146877, a prototype patch is in BTS)
    • Package Index Diff support to make downloading of indexfile (apt-get update) faster (debian #128818, prototype patch in BTS)
    • Support i18n for the Package Descriptions (debian #265009, prototype patch in BTS). This needs to be hooked into rosetta
    • The https patches from progeny (debian bug #213465)
    • support for a directory with sources.list entries (/etc/apt/sources.list.d)
  10. The python-apt bindings needs to be extended to support apts:
    • debcache
    • commit
    • update
    • progress (callbacks)
    • a high level interface writen in python that wraps most of the low-level python interface
    • a highlevel interface to manipulate the sources.list entries

      (part of that exist in michael.vogt@ubuntu.com--2005/python-apt--mvo--0) interface

  11. The ideas of the FindingPackages BOF that affect the PackageManager applications needs review

  12. The extentsion for the DependencyManagment needs to be implemented (for details see PackageDependencyManagment)

  13. The smart application needs to be evaluated

  14. The debian bug #225947: "apt-utils: please support architecture-specific extra overrides" should e fixed (this is needed to better support debootsrap, see also PackageSelections)

  15. Some of the more experimental apt patches should go into a seperate package with the codename "apt-woa" (working-overloaded-apt) that will be published on http://people.ubuntu.com/~mvo/

Data Preservation and Migration

The packages tools must work as before, for the automatic handling of dependencies a script should be provided that converts the markings into the new format.

Packages Affected

Apt, aptitude, dpkg and synaptic.

User Interface Requirements

The automatic dependency feature needs updates to the apt and synaptic GUI.

Outstanding Issues

Most of the work is not done yet, some prototype patches exists.

UDU BOF Agenda

  • Logging of package management activity
  • Automated package suggestions
    • Support packages for hardware devices
    • Applications necessary to open file formats
  • Supporting changes to enable network sources by default during installation ([https://bugzilla.ubuntu.com/show_bug.cgi?id=6390 Bug#6390])