PackageManagementRoadmap

Differences between revisions 18 and 19
Revision 18 as of 2005-04-29 01:40:41
Size: 3877
Editor: intern146
Comment: improved the format
Revision 19 as of 2005-04-29 05:29:57
Size: 5476
Editor: intern146
Comment: reworked a lot of the content
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
1. dpkg should not depend on dselect anymore (dpkg-1.13 does no longer)  0. dpkg should not depend on dselect anymore (dpkg-1.13 does no longer)
Line 31: Line 31:
2. support logging:
  * dpkg-1.13 support logging for states now (needs to log
    answers for conf file questions
  * log the output of dpkgs maintainer scripts in synaptic
    (because we don't get debconf questions there)
 0. 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)
Line 37: Line 35:
3. "automated package suggestions":
  * mime-type of packages should be used: find a application
   
to work with that mime type and install it
 0. 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).
Line 47: Line 44:
4. FeatureDependencies: http://www.dpkg.org/FeatureDependencies  0. 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)
Line 49: Line 46:
5. Future source package format: http://www.dpkg.org/NewSourceFormat
   * support for bz2 sources files will go in for breezy
 0. 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
Line 52: Line 49:
6. network sources stuff:
  * synaptic: ask network manager if we are online or not
  * apt,aptitude should test for network by forking a application
 0. 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
Line 57: Line 54:
7. libapt should support apt-get update in 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 59: Line 56:
8. aptitdue dist-upgrade <-> apt-get dist-upgrade why they are
  different and if we can merge that changes
 0. 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.
Line 62: Line 58:
9. probably move libapt-pkg and libapt-inst into one library  0. 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)
Line 64: Line 65:
10. Deb should be extended to support:
 * bwlimit (debian #146877, a prototype patch is in BTS)
 * Package Index Diff support (debian #128818, prototype patch in BTS)
 * i18n for Package Descriptions (debian #265009, prototype patch in BTS)
 * python-apt debcache/commit/update/progress (part of that exist in michael.vogt@ubuntu.com--2005/python-apt--mvo--0) interface
 * ClickInstall (FindingPackages)
 * Aptitude like AutoTracking for dependencies (PackageDependencyManagment)
 * evalute smart
 * #225947: apt-utils: please support architecture-specific extra overrides
 * consider using the https patches from progeny (debian bug #213465)
 0. 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
Line 75: Line 74:
11. plan: make apt-woa (working-overloaded-apt) and publish it on http://people.ubuntu.com/~mvo/ it will contain all the patches that we feel are ready and need testing from real users.  0. The ideas of the FindingPackages BOF that affect the PackageManager applications needs review

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

 0. The '''smart''' application needs to be evaluated

 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. 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/

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

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