Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-23 Thread Goswin von Brederlow
On Sun, Jul 22, 2012 at 05:13:00AM +0200, Guillem Jover wrote:
 reassign 682365 apt
 thanks
 
 On Sun, 2012-07-22 at 04:37:02 +0200, Arno Schuring wrote:
  Package: dpkg
  Version: 1.16.4.3
  Severity: normal
 
  It appears that dpkg's logic to prevent installing different versions
  of a multi-arch:foreign package considers removed but-not-purged
  packages as still installed:
  
  dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb
  (--unpack): libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not
  co-installable with libwine which has multiple installed instances
  
  rc  libwine:amd64   1.4.1-1.2Windows API implementation - library
  ii  libwine:i3861.4.1-1.2Windows API implementation - library
  
  
  This leads to the odd situation that migrating from one architecture to
  another in effect requires you to purge the package (and lose config,
  although I'm not sure m-a:foreign packages can even support config
  files).
 
 Yes, that's on purpose, otherwise the database could end up with
 multiple instances of non-coinstallable packages, which would break
 lots of internal and external assumptions. And yes, any package could
 contain conffiles, in the libwine case I'd assume it's just the postrm
 maintainer scripts that remains.

That doesn't track. That would require all conffiles to be split off
into architecture:all packages for no good reason. The packages is
M-A: foreign. That imho means it will have to work with its conffiles
from any architecture, i.e. the conffiles need to be architecture
independent. As M-A:foreign package libwine:i386 is a full replacement
for libwine:amd64 in every way and that should include conffiles in
dpkg.

Otherwise cross-grading will be a total nightmare.

  The full log of what I was trying to do (shortened for brevity though):
  
  # apt-get -t sid install libwine:i386 [..]
  [..]
  The following packages will be REMOVED:
libwine [..]
  The following packages will be upgraded:
libwine:i386 [..]
  [..]
  Removing libwine:amd64 ...
  [..]
  Preparing to replace libwine-bin:i386 1.4.1-1.2
  (using .../libwine-bin_1.4.1-2_i386.deb) ... Unpacking replacement
  libwine-bin:i386 ... dpkg: error
  processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb (--unpack):
  libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not co-installable with
  libwine which has multiple installed instances [..] # dpkg -la|grep
  libwine rc  libwine:amd64
  1.4.1-1.2  Windows API implementation - library
  ii  libwine:i386
  1.4.1-1.2  Windows API implementation - library
  [..] # dpkg -P libwine:amd64 (Reading database ... 125749 files and
  directories currently installed.) Removing libwine:amd64 ...
  Purging configuration files for libwine:amd64 ...
  # apt-get -t sid install -f
  [..]
  The following extra packages will be installed:
libwine:i386
  [..]
  The following packages will be upgraded:
libwine:i386
  [..]
  Unpacking replacement libwine ...
  [..]
  Setting up libwine (1.4.1-2) ...
  # dpkg -la|grep libwine
  ii  libwine
  1.4.1-2Windows API implementation - library
  ii  libwine-bin:i386
  1.4.1-2Windows API implementation - system
  services [..]
 
  I also notice that libwine no longer is listed as libwine:i386. Not
  sure where that comes from though. Maybe because there is a
  non-multiarch libwine in stable?
 
 libwine 1.4.1-2 is not arch-qualified because it's not Multi-Arch:same
 anymore and as such does not really need to be disambiguated.
 
  Filing against dpkg because I think configuration-only packages should
  not prevent installation like this, but if this is expected behaviour
  then this bug might need to be reassigned to apt so that apt knows to
  purge packages in this situation. I also looked through the 1.16.8
  changelog but saw no mention of something like this already being
  fixed, and I also don't know if 1.16.8 might or might not make it into
  wheezy.
 
 Yes, this appears to be a problem with apt, reassigning as such.
 
 thanks,
 guillem

Are you sayind that configuration files must be purged when
cross-grading packages? That looks like a serious implementation flaw
in dpkg.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-23 Thread Goswin von Brederlow
On Sun, Jul 22, 2012 at 05:51:08AM +0200, Guillem Jover wrote:
 On Sat, 2012-07-21 at 22:30:30 -0500, Jonathan Nieder wrote:
  Guillem Jover wrote:
   On Sun, 2012-07-22 at 04:37:02 +0200, Arno Schuring wrote:
  
   dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb
  [...]
   rc  libwine:amd64   1.4.1-1.2Windows API implementation - library
   ii  libwine:i3861.4.1-1.2Windows API implementation - library
  [...]
   Yes, that's on purpose, otherwise the database could end up with
   multiple instances of non-coinstallable packages, which would break
   lots of internal and external assumptions.
  
  How does crossgrading normally work?
 
 Cross-grading happens whenever a new package instance is installed
 with a different architecture from the current single instance, as
 long as both old and new are not M-A:same, or they switch from
 non-M-A:same to M-A:same or the reverse.
 
  If Arno had not had libwine:i386 installed, would the upgrade have worked?
 
 Yeah (assuming not-installed == not-present), that would have been a
 cross-grade. Because the old one is M-A:same and the new one is
 M-A:foreign.

Corect me if I'm wrong but your saying the following work:

foo:i386  same 1.2-3 - foo:i386  foreign 1.2-4
foo:amd64 same 1.2-3 - foo:i386  foreign 1.2-4
foo:i386  same 1.2-3 - foo:amd64 foreign 1.2-4
foo:amd64 same 1.2-3 - foo:amd64 foreign 1.2-4

But not:

foo:amd64 same 1.2-3 -\
   - foo:i386 foreign 1.2-4
foo:i386  same 1.2-3 -/

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-23 Thread Guillem Jover
On Mon, 2012-07-23 at 10:52:16 +0200, Goswin von Brederlow wrote:
 On Sun, Jul 22, 2012 at 05:13:00AM +0200, Guillem Jover wrote:
  Yes, that's on purpose, otherwise the database could end up with
  multiple instances of non-coinstallable packages, which would break
  lots of internal and external assumptions. And yes, any package could
  contain conffiles, in the libwine case I'd assume it's just the postrm
  maintainer scripts that remains.
 
 That doesn't track. That would require all conffiles to be split off
 into architecture:all packages for no good reason. The packages is
 M-A: foreign. That imho means it will have to work with its conffiles
 from any architecture, i.e. the conffiles need to be architecture
 independent. As M-A:foreign package libwine:i386 is a full replacement
 for libwine:amd64 in every way and that should include conffiles in
 dpkg.

As I explicitly said above (“any package could contain conffiles“),
conffiles work just fine in M-A:same, they are just ref-counted as any
other files, I don't see where you got that impression.

 Are you sayind that configuration files must be purged when
 cross-grading packages? That looks like a serious implementation flaw
 in dpkg.

I don't see where I said that either, I've just said that *packages*
in config-files state need to be purged whenever there's multiple
instances present and one wants to switch to a non-M-A:same packages.

regards,
guillem


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-23 Thread Guillem Jover
On Mon, 2012-07-23 at 11:06:31 +0200, Goswin von Brederlow wrote:
 On Sun, Jul 22, 2012 at 05:51:08AM +0200, Guillem Jover wrote:
  On Sat, 2012-07-21 at 22:30:30 -0500, Jonathan Nieder wrote:
   How does crossgrading normally work?
  
  Cross-grading happens whenever a new package instance is installed
  with a different architecture from the current single instance, as
  long as both old and new are not M-A:same, or they switch from
  non-M-A:same to M-A:same or the reverse.
  
   If Arno had not had libwine:i386 installed, would the upgrade have worked?
  
  Yeah (assuming not-installed == not-present), that would have been a
  cross-grade. Because the old one is M-A:same and the new one is
  M-A:foreign.
 
 Corect me if I'm wrong but your saying the following work:
 
 foo:i386  same 1.2-3 - foo:i386  foreign 1.2-4
 foo:amd64 same 1.2-3 - foo:i386  foreign 1.2-4
 foo:i386  same 1.2-3 - foo:amd64 foreign 1.2-4
 foo:amd64 same 1.2-3 - foo:amd64 foreign 1.2-4

 But not:
 
 foo:amd64 same 1.2-3 -\
- foo:i386 foreign 1.2-4
 foo:i386  same 1.2-3 -/

Yes (where ‘foreign’ could be also ‘allowed’ or implicit ‘no’).

regards,
guillem


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-23 Thread Guillem Jover
Hi!

On Sun, 2012-07-22 at 00:23:43 -0500, Jonathan Nieder wrote:
 Guillem Jover wrote:
  On Sat, 2012-07-21 at 22:30:30 -0500, Jonathan Nieder wrote:
   What dpkg commands should apt run to upgrade from this state?
 
  In this particular case, apt would need to check that there's no multiple
  instances present if the new package is switching from M-A:same to
  non-M-A:same. And in that case notify the user that the package instance
  in config-files state would need to be purged.
 
 Makes sense.  Thanks for explaining.

No problem. :)

 This idea of purging one arch of a package while keeping other arches
 is still new to me.

Well that could happen still due to explicit user request, so it's
something that needs to work correctly from the maintainer script
point of view anyway, and the consequences of this are due to the
file ref-counting, which in the maintainer scripts case will need
to be handled semi-manually for files not tracked by dpkg.

 + libc6.postrm purge runs db_purge.  The corresponding 'owner' is
   arch-qualified, making this safe.

 + Likewise for libpam0g, libpam-modules, libssl1.0.0, etc.

That's been one of the reasons to always arch-qualify package names
for M-A:same packages, yes.

 ? libc6-i686.postrm remove and other optimized libc packages use
   dpkg-query -l to find the version of all optimized libc packages.
   The parsing does not take the colon in Multi-Arch: same packages
   into account, so it never notices that all have been upgraded in
   order to remove /etc/ld.so.nohwcap.

This might need to be checked, I pointed to watch for this kind of
issue in my mail to d-d-a, though.

 + libglib2.0-0.postrm purges some caches that are not
   architecture-specific.  This is probably harmless because they are
   caches.

It's still wasteful and unneeded, should get fixed, but not too
serious.

 - libgphoto2-2.postrm purges .dpkg-bak files representing user
   customized obsolete configuration files without checking if another
   arch is staying around to take responsibility for them.

 - libgtk-2.0-0.postrm purge wipes out /etc/gtk-2.0/*
 
 - likewise for libgtk-3-0
 
 - liblockfile1.postrm remove wipes out its documentation directory
   (!)
 
 - libpaper1.postrm purge removes /etc/papersize and the
   corresponding ucf configuration
 
 - libuuid1.postrm purge removes /var/lib/libuuid
 
 - libwrap0.postrm purge removes /etc/hosts.{allow,deny}
 
 - libzvbi0.postrm purge removes /etc/default/libzvbi0

Yeah, all the above should get bugs reports.

 Those are just the libraries I currently have installed on the machine
 I am using to type this.
 
 I guess a general bug is in order.

I'm not sure that will help much. Instead I guess a mail to d-d might be
bettet given that people seems to have not realized the consequences of
ref-counting files. And then individual bugs being filed.

thanks,
guillem


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-22 Thread Arno Schuring
Guillem Jover (guil...@debian.org on 2012-07-22 05:13 +0200):
 
  I also notice that libwine no longer is listed as libwine:i386. Not
  sure where that comes from though. Maybe because there is a
  non-multiarch libwine in stable?
 
 libwine 1.4.1-2 is not arch-qualified because it's not Multi-Arch:same
 anymore and as such does not really need to be disambiguated.

Ah, I had missed that the package went from m-a:same to m-a:foreign. At
least that should make this a pretty rare occasion (hopefully).

Thanks for the insights,


Regards,
Arno


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-21 Thread Arno Schuring
Package: dpkg
Version: 1.16.4.3
Severity: normal

It appears that dpkg's logic to prevent installing different versions
of a multi-arch:foreign package considers removed but-not-purged
packages as still installed:

dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb
(--unpack): libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not
co-installable with libwine which has multiple installed instances

rc  libwine:amd64   1.4.1-1.2Windows API implementation - library
ii  libwine:i3861.4.1-1.2Windows API implementation - library


This leads to the odd situation that migrating from one architecture to
another in effect requires you to purge the package (and lose config,
although I'm not sure m-a:foreign packages can even support config
files).

The full log of what I was trying to do (shortened for brevity though):

# apt-get -t sid install libwine:i386 [..]
[..]
The following packages will be REMOVED:
  libwine [..]
The following packages will be upgraded:
  libwine:i386 [..]
[..]
Removing libwine:amd64 ...
[..]
Preparing to replace libwine-bin:i386 1.4.1-1.2
(using .../libwine-bin_1.4.1-2_i386.deb) ... Unpacking replacement
libwine-bin:i386 ... dpkg: error
processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb (--unpack):
libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not co-installable with
libwine which has multiple installed instances [..] # dpkg -la|grep
libwine rc  libwine:amd64
1.4.1-1.2  Windows API implementation - library
ii  libwine:i386
1.4.1-1.2  Windows API implementation - library
[..] # dpkg -P libwine:amd64 (Reading database ... 125749 files and
directories currently installed.) Removing libwine:amd64 ...
Purging configuration files for libwine:amd64 ...
# apt-get -t sid install -f
[..]
The following extra packages will be installed:
  libwine:i386
[..]
The following packages will be upgraded:
  libwine:i386
[..]
Unpacking replacement libwine ...
[..]
Setting up libwine (1.4.1-2) ...
# dpkg -la|grep libwine
ii  libwine
1.4.1-2Windows API implementation - library
ii  libwine-bin:i386
1.4.1-2Windows API implementation - system
services [..]

I also notice that libwine no longer is listed as libwine:i386. Not
sure where that comes from though. Maybe because there is a
non-multiarch libwine in stable?

Filing against dpkg because I think configuration-only packages should
not prevent installation like this, but if this is expected behaviour
then this bug might need to be reassigned to apt so that apt knows to
purge packages in this situation. I also looked through the 1.16.8
changelog but saw no mention of something like this already being
fixed, and I also don't know if 1.16.8 might or might not make it into
wheezy.


Regards,
Arno

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (900, 'stable'), (300, 'unstable'),
(200, 'experimental') Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-3-amd64 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg depends on:
ii  libbz2-1.0   1.0.6-3
ii  libc62.13-33
ii  liblzma5 5.1.1alpha+20120614-1
ii  libselinux1  2.1.9-5
ii  tar  1.26-4
ii  zlib1g   1:1.2.7.dfsg-13

dpkg recommends no packages.

Versions of packages dpkg suggests:
ii  apt  0.9.7.1

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-21 Thread Guillem Jover
reassign 682365 apt
thanks

On Sun, 2012-07-22 at 04:37:02 +0200, Arno Schuring wrote:
 Package: dpkg
 Version: 1.16.4.3
 Severity: normal

 It appears that dpkg's logic to prevent installing different versions
 of a multi-arch:foreign package considers removed but-not-purged
 packages as still installed:
 
 dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb
 (--unpack): libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not
 co-installable with libwine which has multiple installed instances
 
 rc  libwine:amd64   1.4.1-1.2Windows API implementation - library
 ii  libwine:i3861.4.1-1.2Windows API implementation - library
 
 
 This leads to the odd situation that migrating from one architecture to
 another in effect requires you to purge the package (and lose config,
 although I'm not sure m-a:foreign packages can even support config
 files).

Yes, that's on purpose, otherwise the database could end up with
multiple instances of non-coinstallable packages, which would break
lots of internal and external assumptions. And yes, any package could
contain conffiles, in the libwine case I'd assume it's just the postrm
maintainer scripts that remains.

 The full log of what I was trying to do (shortened for brevity though):
 
 # apt-get -t sid install libwine:i386 [..]
 [..]
 The following packages will be REMOVED:
   libwine [..]
 The following packages will be upgraded:
   libwine:i386 [..]
 [..]
 Removing libwine:amd64 ...
 [..]
 Preparing to replace libwine-bin:i386 1.4.1-1.2
 (using .../libwine-bin_1.4.1-2_i386.deb) ... Unpacking replacement
 libwine-bin:i386 ... dpkg: error
 processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb (--unpack):
 libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not co-installable with
 libwine which has multiple installed instances [..] # dpkg -la|grep
 libwine rc  libwine:amd64
 1.4.1-1.2  Windows API implementation - library
 ii  libwine:i386
 1.4.1-1.2  Windows API implementation - library
 [..] # dpkg -P libwine:amd64 (Reading database ... 125749 files and
 directories currently installed.) Removing libwine:amd64 ...
 Purging configuration files for libwine:amd64 ...
 # apt-get -t sid install -f
 [..]
 The following extra packages will be installed:
   libwine:i386
 [..]
 The following packages will be upgraded:
   libwine:i386
 [..]
 Unpacking replacement libwine ...
 [..]
 Setting up libwine (1.4.1-2) ...
 # dpkg -la|grep libwine
 ii  libwine
 1.4.1-2Windows API implementation - library
 ii  libwine-bin:i386
 1.4.1-2Windows API implementation - system
 services [..]

 I also notice that libwine no longer is listed as libwine:i386. Not
 sure where that comes from though. Maybe because there is a
 non-multiarch libwine in stable?

libwine 1.4.1-2 is not arch-qualified because it's not Multi-Arch:same
anymore and as such does not really need to be disambiguated.

 Filing against dpkg because I think configuration-only packages should
 not prevent installation like this, but if this is expected behaviour
 then this bug might need to be reassigned to apt so that apt knows to
 purge packages in this situation. I also looked through the 1.16.8
 changelog but saw no mention of something like this already being
 fixed, and I also don't know if 1.16.8 might or might not make it into
 wheezy.

Yes, this appears to be a problem with apt, reassigning as such.

thanks,
guillem


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-21 Thread Jonathan Nieder
Hi,

Guillem Jover wrote:
 On Sun, 2012-07-22 at 04:37:02 +0200, Arno Schuring wrote:

 dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb
[...]
 rc  libwine:amd64   1.4.1-1.2Windows API implementation - library
 ii  libwine:i3861.4.1-1.2Windows API implementation - library
[...]
 Yes, that's on purpose, otherwise the database could end up with
 multiple instances of non-coinstallable packages, which would break
 lots of internal and external assumptions.

How does crossgrading normally work?  If Arno had not had libwine:i386
installed, would the upgrade have worked?

[...]
 Yes, this appears to be a problem with apt, reassigning as such.

What dpkg commands should apt run to upgrade from this state?

Thanks,
Jonathan


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-21 Thread Guillem Jover
On Sat, 2012-07-21 at 22:30:30 -0500, Jonathan Nieder wrote:
 Guillem Jover wrote:
  On Sun, 2012-07-22 at 04:37:02 +0200, Arno Schuring wrote:
 
  dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb
 [...]
  rc  libwine:amd64   1.4.1-1.2Windows API implementation - library
  ii  libwine:i3861.4.1-1.2Windows API implementation - library
 [...]
  Yes, that's on purpose, otherwise the database could end up with
  multiple instances of non-coinstallable packages, which would break
  lots of internal and external assumptions.
 
 How does crossgrading normally work?

Cross-grading happens whenever a new package instance is installed
with a different architecture from the current single instance, as
long as both old and new are not M-A:same, or they switch from
non-M-A:same to M-A:same or the reverse.

 If Arno had not had libwine:i386 installed, would the upgrade have worked?

Yeah (assuming not-installed == not-present), that would have been a
cross-grade. Because the old one is M-A:same and the new one is
M-A:foreign.

 [...]
  Yes, this appears to be a problem with apt, reassigning as such.
 
 What dpkg commands should apt run to upgrade from this state?

In this particular case, apt would need to check that there's no multiple
instances present if the new package is switching from M-A:same to
non-M-A:same. And in that case notify the user that the package instance
in config-files state would need to be purged.

But I don't think apt would need to really learn about cross-grading to
handle this particular case though, only when multiple instances are
not allowed while installing a new version.

thanks,
guillem


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#682365: dpkg: native package in rc state prevents installation of m-a:foreign counterpart

2012-07-21 Thread Jonathan Nieder
Guillem Jover wrote:
 On Sat, 2012-07-21 at 22:30:30 -0500, Jonathan Nieder wrote:

 What dpkg commands should apt run to upgrade from this state?

 In this particular case, apt would need to check that there's no multiple
 instances present if the new package is switching from M-A:same to
 non-M-A:same. And in that case notify the user that the package instance
 in config-files state would need to be purged.

Makes sense.  Thanks for explaining.

This idea of purging one arch of a package while keeping other arches
is still new to me.

+ Most libraries' post-removal scripts run 'ldconfig' on removal and
  do nothing on purge, which should work fine.

+ libc6.postrm purge runs db_purge.  The corresponding 'owner' is
  arch-qualified, making this safe.

+ Likewise for libpam0g, libpam-modules, libssl1.0.0, etc.

? libc6-i686.postrm remove and other optimized libc packages use
  dpkg-query -l to find the version of all optimized libc packages.
  The parsing does not take the colon in Multi-Arch: same packages
  into account, so it never notices that all have been upgraded in
  order to remove /etc/ld.so.nohwcap.

+ libgdk-pixbuf2.0-0.postrm is a model citizen.

+ libglib2.0-0.postrm purges some caches that are not
  architecture-specific.  This is probably harmless because they are
  caches.

- libgphoto2-2.postrm purges .dpkg-bak files representing user
  customized obsolete configuration files without checking if another
  arch is staying around to take responsibility for them.

- libgtk-2.0-0.postrm purge wipes out /etc/gtk-2.0/*

- likewise for libgtk-3-0

- liblockfile1.postrm remove wipes out its documentation directory
  (!)

- libpaper1.postrm purge removes /etc/papersize and the
  corresponding ucf configuration

- libuuid1.postrm purge removes /var/lib/libuuid

- libwrap0.postrm purge removes /etc/hosts.{allow,deny}

- libzvbi0.postrm purge removes /etc/default/libzvbi0

Those are just the libraries I currently have installed on the machine
I am using to type this.

I guess a general bug is in order.

Jonathan


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org