Multiarch: dpkg gets confused when installing new packages with the same version

Bug #827950 reported by Chris Halse Rogers
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dpkg (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

I often install test-build packages locally before uploading to the archive. Then, once they're built in the archive, these packages get replaced by the archive versions. This seems to confuse dpkg's multiarch /usr/share handling - for example:

Selecting previously deselected package libglib2.0-0:i386.
Unpacking libglib2.0-0:i386 (from .../libglib2.0-0_2.29.16-0ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/libglib2.0-0_2.29.16-0ubuntu2_i386.deb (--unpack):
 './usr/share/doc/libglib2.0-0/changelog.Debian.gz' is different from the same file on the system
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Preparing to replace libglib2.0-0 2.29.16-0ubuntu2 (using .../libglib2.0-0_2.29.16-0ubuntu2_amd64.deb) ...
Unpacking replacement libglib2.0-0 ...
Selecting previously deselected package libpcre3:i386.

This doesn't occur when upgrading to a different package version.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: dpkg 1.16.0.3ubuntu3 [modified: usr/bin/dpkg-deb]
ProcVersionSignature: Ubuntu 3.0.0-8.11-generic 3.0.1
Uname: Linux 3.0.0-8-generic x86_64
Architecture: amd64
Date: Wed Aug 17 21:16:12 2011
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Alpha amd64 (20110730)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_AU.UTF-8
 SHELL=/bin/zsh
SourcePackage: dpkg
UpgradeStatus: Upgraded to oneiric on 2011-08-16 (0 days ago)

Revision history for this message
Chris Halse Rogers (raof) wrote :
tags: added: multiarch
Revision history for this message
Steve Langasek (vorlon) wrote :

dpkg isn't actually confused, it knows exactly what it's doing. When you build a package locally without using pkgbinarymangler, you wind up with full package changelogs, various documentation being file copies instead of symlinks, etc. When launchpad builds, it obviously applies all these changes to the package as part of the build.

So the contents of the packages are different between the two archs, and dpkg has no basis for deciding which contents are the "right" ones in a multiarch context. It does the only thing it can do, it refuses to install the new package whose contents differ from the existing ones.

Changed in dpkg (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.