Bug#934511: qtbase5-dev fails to coinstall with itself aka Multi-Arch:same violation

Helmut Grohne helmut at subdivi.de
Sun Aug 11 20:43:38 BST 2019


Package: qtbase5-dev
Version: 5.11.3+dfsg1-2+b1
Severity: important
User: debian-cross at lists.debian.org
Usertags: ftcbfs
Control: affects -1 + src:qtwayland-opensource-src

qtbase5-dev fails to coinstall with itself on any of pair of release
architectures. A typical error is:

| Unpacking qtbase5-dev:s390x (5.11.3+dfsg1-2+b1) ...
| Selecting previously unselected package qtbase5-dev:amd64.
| Preparing to unpack .../449-qtbase5-dev_5.11.3+dfsg1-2+b1_amd64.deb ...
| Unpacking qtbase5-dev:amd64 (5.11.3+dfsg1-2+b1) ...
| dpkg: error processing archive /tmp/apt-dpkg-install-o9TSE3/449-qtbase5-dev_5.11.3+dfsg1-2+b1_amd64.deb (--unpack):
|  trying to overwrite shared '/usr/share/qt5/doc/global/template/images/Qt-logo.png', which is different from other instances of package qtbase5-dev:amd64
| dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

The multiarch hinter reports:

| qtbase5-dev conflicts on 4 files starting with /usr/share/qt5/doc/global/template/ on any two of amd64, arm64, armel, armhf, and 6 more

Running diffoscope on that file yields the following:

| $ diffoscope {a,b}/usr/share/qt5/doc/global/template/images/Qt-logo.png
| --- a/usr/share/qt5/doc/global/template/images/Qt-logo.png
| +++ b/usr/share/qt5/doc/global/template/images/Qt-logo.png
| ├── sng
| │ @@ -2,21 +2,21 @@
| │  IHDR {
| │      width: 74; height: 88; bitdepth: 8;
| │      using color alpha;
| │  }
| │  bKGD {red: 255;  green: 255;  blue: 255;}
| │  pHYs {xpixels: 2835; ypixels: 2835; per: meter;}  # (72 dpi)
| │  tIME {
| │ -    #  7 Aug 2019 18:06:40 GMT
| │ +    #  7 Aug 2019 17:41:15 GMT
| │      year:   2019
| │      month:  8
| │      day:    7
| │ -    hour:   18
| │ -    minute: 6
| │ -    second: 40
| │ +    hour:   17
| │ +    minute: 41
| │ +    second: 15
| │  }
| │  IMAGE {
| │      pixels hex
| │  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 7ec24214 7ec24238 7ec24232 7ec24224 7ec24207 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
| │  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 7ec24207 7ec24272 7ec242e5 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242fc 7ec242da 7ec242b0 7ec24286 7ec2425b 7ec24231 7ec24209 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
| │  00000000 00000000 00000000 00000000 00000000 00000000 00000000 7ec24201 7ec2425b 7ec242df 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242fd 7ec242dd 7ec242b3 7ec24289 7ec2425f 7ec24235 7ec2420c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
| │  00000000 00000000 00000000 00000000 00000000 00000000 7ec24201 7ec242b3 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242ff 7ec242fe 7ec242e1 7ec242b6 7ec2428c 7ec24262 7ec24238 7ec2420f 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
| $

We cannot see this difference on the reproducible builds report, because
its output size is limited:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/qtbase-opensource-src.html

I kinda would have expected dh-strip-nondetermnism to handle this as it
is supposed to clamp tIME chunks. Not sure why it doesn't.

In any case, the status quo is not valid usage of Multi-Arch. There are
essentially three options to fix this bug:

 * Remove Multi-Arch: same. (<- very bad)
 * Move the images to a Multi-Arch: foreign package.
 * Remove the variation of the tIME chunk. (<- preferred)

Due to the installation failure, the affected package(s) fail to cross
build from source.

Helmut



More information about the Reproducible-builds mailing list