infinite loop if deborphan returns packages that are not installed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
upgrade-system (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
High
|
Unassigned |
Bug Description
On my system, for some reason which looks like a bug in deborphan, deborphan returns packages that are not installed on the system - dpkg status is 'un' .
In this situation upgrade-system enters in an infinite loop when it purges orphan packages.
TEST CASE:
1. On an amd64 host, install a non-essential library for a foreign architecture and make sure that it is not already installed for the native architecture.
$ sudo apt-get install libodbc1:i386
2. Verify that deborphan lists the package:
$ sudo deborphan
3. Run upgrade-system
$ sudo upgrade-system
ACTUAL RESULT:
$ deborphan
libodbc1
Note that the arch is not displayed. upgrade-system tries to remove the amd64 version of the package resulting in a loop.
EXPECTED RESULT:
i386 is listed and purged (Bug #940379) or at least upgrade-system breaks from the loop
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: upgrade-system 1.5.1.0
ProcVersionSign
Uname: Linux 3.2.0-17-generic x86_64
NonfreeKernelMo
ApportVersion: 1.93-0ubuntu2
Architecture: amd64
Date: Fri Feb 24 16:09:28 2012
GsettingsChanges:
com.ubuntu.
com.ubuntu.
com.ubuntu.
PackageArchitec
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: upgrade-system
UpgradeStatus: Upgraded to precise on 2012-01-31 (23 days ago)
Pretty strange, since upgrade-system checks error codes and exits if something suspicious is found. I'm wondering if I should add another error checking step somewhere. Any suggestion?
Btw, should this bug be cloned as affecting deborphan too?