Downgrading packages after removing a repository

Michael Bienia michael at bienia.de
Tue Aug 4 15:56:05 UTC 2009


On 2009-08-01 19:49:33 +0100, Andrew Sayers wrote:
> When you add a repository to your computer, then remove that repository, 
> it's not obvious how to downgrade packages that are no longer available.

Downgrades are not supported, while in practise they work in most cases.
Offering such a downgrade option will probably lead to bugs about broken
downgrades as people will assume that it should work.

Downgrade will certainly fail if the format of user data has changed
(e.g. a new database format or config file format). Assuming that the
new version will upgrade the data to new format on the first run, the
data won't be usable after a downgrade anymore (the old version doesn't
understand the new format).

While not the best solution, make downgrades only available to those
who know that downgrades might fail and that they're left alone in such
a case, will hopefully prevent that people assume that downgrades will
always succeed.

> Anna added a PPA through Synaptic > Settings > Repositories, which 
> upgraded emacs.  She didn't like the upgraded version, so she removed 
> the repository.  She scrambled around for a while, before realising she 
> could get her old emacs back by removing it then reinstalling.

Anna certainly won't be happy when she realizes that her fine emacs
config is gone because the new version upgrade it to a new format the
old version can't understand.

> Tim added a repository from a random website through System > Admin > 
> Software Sources, then updated and was notified that a new version of 
> debconf was available.  He installed the upgrade, then realised that the 
> upgrade had been downloaded from the new repository.  Realising he'd 
> been tricked, he removed the new repository and assumed that debconf had 
> been uninstalled as well.

We can't protect the users from themselves. I'm sorry, but if Tim add a
random (untrusted) package source without thinking, then he deserves a
little pain in undoing it. Otherwise people won't learn it if Ubuntu
makes everything ok what they break.

> Bob, thinking that a Debian-based distribution should be okay with 
> Debian packages, followed command-line instructions to create 
> /etc/apt/sources.list.d/debian-unstable.  Once his Ubuntu/Debian hybrid 
> was installed, he rang his technical friend to clear up the mess.  The 
> friend tried every "apt-get" command he knew, before gradually realising 
> that he had to run "apt-cache showpkg <name>", find the package version, 
> do "apt-get install <name>=<ubuntu version>", and repeat many, many times.

There a way too many ways to break a installation. Who breaks it, can
keep the parts.

Regards,
Michael




More information about the Ubuntu-devel-discuss mailing list