cdbs doc linking behavior is different when building with -b vs. -B

Bug #722933 reported by Steve Langasek
6
This bug affects 1 person
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/debhelper.mk.in:
      + 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
        $CDBS_NO_DOC_SYMLINKING.

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/pool/main/f/fontconfig/libfontconfig1_2.8.0-2ubuntu1_amd64.deb |grep AUTHOR
-rw-r--r-- root/root 62 2006-09-07 16:33 ./usr/share/doc/libfontconfig1/AUTHORS
$ dpkg -c ~/ubuntu/pool/main/f/fontconfig/libfontconfig1_2.8.0-2ubuntu1_i386.deb |grep AUTHOR
lrwxrwxrwx root/root 0 2010-01-20 15:38 ./usr/share/doc/libfontconfig1/AUTHORS -> ../fontconfig-config/AUTHORS
$

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
ProcVersionSignature: Ubuntu 2.6.35-25.44-generic 2.6.35.10
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)
PackageArchitecture: all
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: cdbs

Revision history for this message
Steve Langasek (vorlon) wrote :
tags: added: multiarch
removed: amd64 maverick
Changed in cdbs (Ubuntu):
importance: Undecided → High
status: New → Confirmed
status: Confirmed → Triaged
Revision history for this message
Martin Pitt (pitti) wrote :

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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cdbs - 0.4.90ubuntu5

---------------
cdbs (0.4.90ubuntu5) natty; urgency=low

  * 1/rules/debhelper.mk.in: don't replace docs with symlinks to matching
    files in dependent packages when the dependent package is arch: all and
    the depending package isn't; ensures consistency between packages built
    with -b vs. -B, required by multiarch. LP: #722933.
 -- Steve Langasek <email address hidden> Tue, 22 Feb 2011 11:07:42 -0800

Changed in cdbs (Ubuntu):
status: Triaged → Fix Released
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.