Downgrading packages after removing a repository

C de-Avillez hggdh2 at ubuntu.com
Tue Aug 4 19:14:25 BST 2009


On Tue, 2009-08-04 at 17:56 +0200, Michael Bienia wrote:
> 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).

Indeed. Some options seem to apply, though: offer to replace the current
configuration with the maintainers one; warn the user the the current
user data format is incompatible with the one provided in this version,
and that the user will have to *manually* recover; etc, etc.

Still, this is not a reason *not* to provide such service. We already
provide a similar service in the other direction. Also, I am not aware
of API/ABI changes *within* a version (or Ubuntu release) being a common
case. So, for most cases, we are talking only about updates/downgrades
*within* a version/release.

Nevertheless, I agree that downgrading to a *previous* version is a
potentially dangerous situation, and should not be offered to either the
casual or experienced user.

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

Although this is the current practice everywhere (not only on Ubuntu),
and I am not aware of any implementation of this idea, the proposal
still *can* bring value to the table. I certain would love it. And I
think that this would bring even more value for Ubuntu.

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

Although the example of a random package may be a bit extreme, the
concept still survives.

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

I respectfully disagree. 

User Case. Jacob upgraded to a -updates package. This upgrade seems to
have broken something (perhaps a regression), and he wants to get back.

If what you state were to be generically valid, then Ubuntu must keep
the parts.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20090804/25b791b5/attachment.pgp 


More information about the Ubuntu-devel-discuss mailing list