Upgrade hints in apt vs. update-manager

Emmet Hikory persia at ubuntu.com
Tue Jul 8 00:02:51 UTC 2008


Daniel Robitaille wrote:
> Someone else asked earlier today about why the special capability of
> update-manager is not rolled into apt.
>
> I always wondered why it is a delta between Debian and Ubuntu that seems
> to stay around and possibly even get worse between releases. Is there a
> technical reason why all of this special IA shouldn't be included in apt?
> "apt-get dist-upgrade" is something a lot of technical users are more
> used to (and natural at) than update-manager or do-release-upgrade when
> doing upgrades via the command line.

    Mostly because it is not always appropriate to look into the
future.  update-manager (and update-manager-core) have a facility to
review and download updated functionality at runtime.  While this
makes it much easier to ensure that a given release-upgrade will work,
it is also not necessarily appropriate in every case, and most
specifically doesn't offer any additional intelligence in cases other
than a specific upgrade between one fully-up-to-date Ubuntu release
and a target release for a supported upgrade path.

    Adding a facility to apt to download upgrade-path-specific hint
files at runtime and use these as input into the upgrade path
if-and-only-if specific meta-packages (e.g. ubuntu-desktop) are
installed is fairly invasive, and adds little benefit for apt use in
other distributions (e.g. Debian).  Rather, update-manager is
constructed as a front-end to apt, using information from the updated
hint files to call apt in a way that specifically supports Ubuntu
release upgrades along the supported upgrade path.  All the actual
package collection, replacement, and upgrades are performed by apt
directly (through python-apt).

    While this represents a difference in the suggested means by which
users should upgrade their machines between Ubuntu and other .deb
based distribtions, it has the advantage of minimal impact on the core
technologies involved, and increased collaboration between
distributions (e.g. Debian and Ubuntu), on that core infrastructure to
improve it.

    Note that there exist users who would be better served by apt-get
dist-upgrade rather than the use of update-manager (or
do-release-upgrade).  An example of such a user would be an
ubuntu-desktop user who would prefer to retain slocate in hardy,
rather than migrating to mlocate.  If such a user performed an
upgrade-manager mitigated upgrade, they would find that slocate
removed, and mlocate installed.  If such a user performed an upgrade
with apt-get dist-upgrade, they would be provided with a notification
that it was not possible to install both mlocate and slocate, and be
encouraged to address this issue as they felt best (likely by keeping
slocate installed, and choosing not to install mlocate).

    That said, the hint files for update-manager are not very
extensive.  Those interested in the details are encouraged to look at
DistUpgrade/*.cfg in the upgrade-manager source package.  With the
exception of specifically hinted packages, all other transitions, etc.
are managed entirely through apt.

-- 
Emmet HIKORY




More information about the Ubuntu-devel-discuss mailing list