UpdateManagerArchDependent

Revision 2 as of 2006-11-27 10:41:23

Clear message

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

The current dist-upgrader is architecture independant. It only contains python-code. To be more flexible in the future we want to change this to allow architecture depeandant code too.

Rationale

The current pure python implementation makes it impossible to backport selected parts of the target distribution (e.g. dpkg, libapt).

Use cases

  1. Ian implements a new dpkg field "Breaks" for edgy. The apt in dapper that will perform the dapper->edgy upgrade does not know about this field and breaks.

Scope

The upload handler in launchpad needs to be modified to place arch=any packages into the right directory. Update-manager needs to be modified to support fetching the right package.

Design

The required steps are:

  • - add new "UpgradeToolBaseURI" key to the meta-release file at http://changelogs.ubuntu.com/meta-release that contains the base-path to the upgrader - change DistUpgradeFetcher.py in update-manager--dapper to honor the new UpgradeToolBaseURI from the meta-release file and add "binary-$(dpkg --print-architecture)/current" to it - patch soyuz to accept raw-dist-upgrade uploads that are not arch==all and move them to "edgy/dist-upgrader/binary-$arch/$version" (+ keeping a current symlink) - change the dist-upgrader to check/use the backports in the tarbal - change the build-system of the dist-upgrader to make sure to include the right backported binary bits - change the update-notifier dist-upgrader on cdrom detection to search for CDROM_ROOT/dists/stable/dist-upgrader/binary-$(arch) - change the cd-build script (tools/edgy/upgrade.sh) to place the tarball into the CDROM_ROOT/dists/stable/dist-upgrader/binary-$(arch) subdir

Implementation

No implementation work was done yet.


CategorySpec