cdbs doc linking behavior is different when building with -b vs. -B
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cdbs (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Binary package hint: cdbs
cdbs in Ubuntu has an Ubuntu-specific patch that causes docs that are identical between packages to be symlinked together:
- 1/rules/
+ Symlink /usr/share/doc/ files to identical versions in any depending
package which is built by the source package (except copyright, to
adhere to Debian Policy). This can be disabled by setting
However, when the package being linked *to* is Architecture: all, and the package being linked *from* is Architecture: any, this gives different package contents on i386 vs. other architectures because the Architecture: all package will only be available for inspection when dpkg-buildpackage is called with -B.
E.g., libfontconfig1:
$ dpkg -c ~/ubuntu/
-rw-r--r-- root/root 62 2006-09-07 16:33 ./usr/share/
$ dpkg -c ~/ubuntu/
lrwxrwxrwx root/root 0 2010-01-20 15:38 ./usr/share/
$
This difference in contents makes the resulting packages incompatible with multiarch, which requires that any files shared among the different architectures of a package be identical.
I believe the correct fix is to not symlink these files if the link source package is Arch: any and the link target package is Arch: all. However, I don't know how much this might increase package sizes on i386 as a result.
ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: cdbs 0.4.83ubuntu2
ProcVersionSign
Uname: Linux 2.6.35-25-generic x86_64
Architecture: amd64
Date: Mon Feb 21 18:56:19 2011
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
PackageArchitec
ProcEnviron:
PATH=(custom, user)
LANG=en_US.utf8
SHELL=/bin/bash
SourcePackage: cdbs
Thanks Steve, I wasn't aware that this would ever cause a problem on multiarch back then.
As we don't have access to the "all" binaries on !i386, I don't see another way to solve this either.