PackageManagementRoadmap

Differences between revisions 23 and 24
Revision 23 as of 2005-04-30 03:06:43
Size: 5522
Editor: intern146
Comment: how about linking to the debbugs stuff mvo?
Revision 24 as of 2005-04-30 03:24:15
Size: 5582
Editor: intern146
Comment: Michael to move sticky, Matt to approve. You so totally rock dude!!! Gimme fin!
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
  * Status: DraftSpec, ScottJamesRemnantQueue, SimonSharwoodQueue, MichaelVogtQueue, UduBof, DistroSpecification[[BR]]   * Status: EditedSpecification, ScottJamesRemnantQueue, MichaelVogtQueue, MattZimmerManQueue UduBof, DistroSpecification[[BR]]
Line 17: Line 17:
Define what road we want to take for our package managment tools. Define what road we want to take for our package management tools.
Line 21: Line 21:
The package managment tools needs to be updated to work with the new requirements that the distro imposes on them. The package management tools needs to be updated to work with the new requirements that the distro imposes on them.
Line 25: Line 25:
Both apt, aptitude, dpkg and synaptic needs updates in various areas. Both `apt`, `aptitude`, `dpkg` and `synaptic` needs updates in various areas.
Line 31: Line 31:
 0. The package managment tools should support logging so that the user gets a idea what's going on.  0. The package management tools should support logging so that the user gets a idea what's going on.
Line 33: Line 33:
  * 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)   * Synaptic logs the high level operations of a single 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 terminal)
Line 48: Line 48:
  * 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
  * 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
Line 51: Line 51:
 0. 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.  0. 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.
Line 53: Line 53:
 0. There are some similar but slightly different results when calling "aptitude dist-upgrade" and "apt-get dist-upgrade". A review is needed why they have different results and if it is possible to unify them.  0. There are some similar but slightly different results when calling "`aptitude` dist-upgrade" and "`apt`-get dist-upgrade". A review is needed why they have different results and if it is possible to unify them.
Line 55: Line 55:
 0. There are various patches for apt available that need to be reviewed and added into apt:  0. There are various patches for `apt` available that need to be reviewed and added into `apt`:
Line 57: Line 57:
  * Package Index Diff support to make downloading of indexfile (apt-get update) faster (debian #128818, prototype patch in BTS)   * Package Index Diff support to make downloading of indexfile (`apt`-get update) faster (debian #128818, prototype patch in BTS)
Line 60: Line 60:
  * support for a directory with sources.list entries (/etc/apt/sources.list.d)   * support for a directory with sources.list entries (/etc/`apt`/sources.list.d)
Line 62: Line 62:
 0. The python-apt bindings needs to be extended to support apts:  0. The python-`apt` bindings needs to be extended to support `apt`s:
Line 67: Line 67:
    * a high level interface writen in python that wraps most of the low-level python interface     * a high level interface written in python that wraps most of the low-level python interface
Line 69: Line 69:
    (part of that exist in michael.vogt@ubuntu.com--2005/python-apt--mvo--0) interface     (part of that exist in michael.vogt@ubuntu.com--2005/python-`apt`--mvo--0) interface
Line 73: Line 73:
 0. The extentsion for the DependencyManagment needs to be implemented (for details see PackageDependencyManagment)  0. The extension for the DependencyManagment needs to be implemented (for details see PackageDependencyManagment)
Line 77: Line 77:
 0. 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)  0. 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)
Line 79: Line 79:
 0. 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/  0. Some of the more experimental `apt` patches should go into a separate package with the codename "`apt`-woa" (working-overloaded-`apt`) that will be published on http://people.ubuntu.com/~mvo/
Line 95: Line 95:
The automatic dependency feature needs updates to the apt and synaptic GUI. The automatic dependency feature needs updates to the `apt` and synaptic GUI.

Status

Introduction

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

Rationale

The package management 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 no longer does)
  2. The package management 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 config file questions)
    • Synaptic logs the high level operations of a single 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 terminal)

  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 "aptitude 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 written 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 extension 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 separate 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

  • 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])

UbuntuDownUnder/BOFs/PackageManagementRoadmap (last edited 2008-08-06 16:36:00 by localhost)