[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#830574: marked as done (Unable to purge a removed package if its' architecture is different from the candidate's one)



Your message dated Sun, 10 Jul 2016 11:58:30 +0200
with message-id <20160710095830.GA31604@crossbow>
and subject line Re: Bug#830574: Unable to purge a removed package if its' architecture is different from the candidate's one
has caused the Debian Bug report #830574,
regarding Unable to purge a removed package if its' architecture is different from the candidate's one
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
830574: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830574
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: apt
Version: 1.0.9.8.3

Summary
--------

When purging a removed-but-not-purged package, apt is picking the candidate version instead --
and fails if the latter has a different architecture.


Details
--------

Due to iceweasel -> firefox-esr migration in stable, I removed iceweasel and installed firefox-esr
(which is faster than performing a dist-upgrade, removing transitional iceweasel packages and
marking firefox-esr as manually installed). Later I decided to purge iceweasel to get rid of now
obsolete /etc/iceweasel tree, but got this:

# apt-get purge iceweasel -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  iceweasel*
0 upgraded, 0 newly installed, 1 to remove and 6 not upgraded.
After this operation, 0 B of additional disk space will be used.
dpkg: warning: ignoring request to remove iceweasel which isn't installed
#

Here is how apt called dpkg:

/usr/bin/dpkg --status-fd 15 --force-depends --force-remove-essential --purge iceweasel:all

However:

# dpkg -s iceweasel | grep -E '^(Status|Version|Arch)'
Status: deinstall ok config-files
Architecture: i386
Version: 38.8.0esr-1~deb8u1
#

So it's iceweasel:i386 which should be purged, but apt picked iceweasel:all instead. This output
gives a clue, why:

# apt-cache policy iceweasel
iceweasel:
  Installed: (none)
  Candidate: 45.2.0esr-1~deb8u1
  Version table:
     45.2.0esr-1~deb8u1 0
        500 http://security.debian.org/ jessie/updates/main i386 Packages
     38.8.0esr-1~deb8u1 0
        500 http://http.debian.net/debian/ jessie/main i386 Packages
        500 http://security.debian.org/ jessie/updates/main i386 Packages
        100 /var/lib/dpkg/status
# apt-cache show iceweasel | grep -E Version\|Arch
Version: 45.2.0esr-1~deb8u1
Architecture: all
Version: 38.8.0esr-1~deb8u1
Architecture: i386
#

So iceweasel:all is the candidate version.

Explicit specification of the correct architecture (i.e. `apt-get purge iceweasel:i386') doesn't work.


Reproduction
-------------

In order to simplify reproduction of this bug, I've created a fake bar package (attached) with
`Architecture: all', which installs /etc/fakebar conf-file. Also, there is a real bar package in the
archive with the same architecture as the host one.

Steps to reproduce:
 1. Install the attached package.
 2. Run `apt-get remove bar'.
 3. Run `apt-get purge bar'.

The last one fails because instead of the fake bar apt tries to purge the real one, which has
a different architecture.


-- 
Алексей Шилин

Attachment: bar_1.0_all.deb
Description: Binary data


--- End Message ---
--- Begin Message ---
Version: 1.1~exp9

Hi,

On Sat, Jul 09, 2016 at 07:22:21PM +0300, Алексей Шилин wrote:
> When purging a removed-but-not-purged package, apt is picking the candidate version instead --
> and fails if the latter has a different architecture.

Thanks for the report!

(Un)fortunately this issue had been reported previously and was also fixed in
later versions – as described in the bugreport #770898 I deemed the issue as
too esoteric for starting the stable update machinery (or back then the
unblock one).

With iceweasel it gets slightly less esoteric perhaps, but it is still
not a giant issue as nothing bad happens, it "just" doesn't get the job
done (but the job itself is more a cosmetic one).

You can always delete packages in 'rc' state with dpkg directly without
a problem as nothing can depend on it anyhow anymore (it is a relatively
"new" feature that you can purge 'rc' state packages with apt at all
btw).


Best regards

David Kalnischkies

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply to: