Package: libtiff-dev Version: 4.5.0-2 Severity: important X-Debbugs-Cc: [email protected] User: [email protected] Usertags: multiarch
To reproduce: try to install libtiff-dev:amd64 and libtiff-dev:i386 together. Expected result: they are co-installable, as they used to be in 4.4.0-6 (they claim to be co-installable, by having Multi-Arch: same set). Actual result: > Preparing to unpack .../5-libtiff-dev_4.5.0-2_amd64.deb ... > De-configuring libtiff-dev:i386 (4.4.0-6), to allow configuration of > libtiff-dev:amd64 (4.5.0-2) ... > Unpacking libtiff-dev:amd64 (4.5.0-2) over (4.4.0-6) ... > Preparing to unpack .../6-libtiff-dev_4.5.0-2_i386.deb ... > Unpacking libtiff-dev:i386 (4.5.0-2) over (4.4.0-6) ... > dpkg: error processing archive > /tmp/apt-dpkg-install-vWc1tH/6-libtiff-dev_4.5.0-2_i386.deb (--unpack): > trying to overwrite shared > '/usr/share/man/man3/TIFFCustomDirectory.3tiff.gz', which is different from > other instances of package libtiff-dev:i386 This appears to be happening because one man page mostly has ASCII "straight" quote marks and apostrophes (U+0027 APOSTROPHE, U+0022 QUOTATION MARK) and the other has Unicode directional quote marks such as U+2019 RIGHT SINGLE QUOTATION MARK and U+201C LEFT DOUBLE QUOTATION MARK: │ │ --- libtiff-dev_4.5.0-2_amd64/usr/share/man/man3/TIFFCustomDirectory.3tiff.gz │ ├── +++ libtiff-dev_4.5.0-2_i386/usr/share/man/man3/TIFFCustomDirectory.3tiff.gz │ │ ├── TIFFCustomDirectory.3tiff │ │ │ @@ -120,15 +120,15 @@ │ │ │ EXIF and GPS tags, respectively. │ │ │ .SH NOTES │ │ │ .sp │ │ │ Be aware │ │ │ .INDENT 0.0 │ │ │ .IP \(bu 2 │ │ │ that until a directory is not written to file AND read back, the query │ │ │ +functions won\(aqt retrieve the correct information! │ │ │ -functions won’t retrieve the correct information! │ │ │ .IP \(bu 2 │ │ │ that the newly created directory will not exist on the file till │ │ │ \fI\%TIFFWriteDirectory()\fP, \fI\%TIFFCheckpointDirectory()\fP, │ │ │ \fI\%TIFFFlush()\fP or \fI\%TIFFClose()\fP has been called. │ │ │ .IP \(bu 2 │ │ │ that \fI\%TIFFCreateDirectory()\fP and \fI\%TIFFWriteDirectory()\fP │ │ │ create a new directory, free the \fB*tif\fP structure and set up a new one. │ │ │ @@ -167,15 +167,15 @@ │ │ │ .sp │ │ │ A sequence to handle a second (or third) TIFF directory \- in this case │ │ │ the GPS IFD \- is as follows: │ │ │ .INDENT 0.0 │ │ │ .IP 1. 3 │ │ │ Create TIFF file │ │ │ .IP 2. 3 │ │ │ +Complete the "normal" metadata │ │ │ -Complete the “normal” metadata │ │ │ .IP 3. 3 │ │ │ Set the tag for the custom directory with a “dummy” value in order to │ │ │ get the tag reserved. The final value will be inserted lateron. This │ │ │ prevents the main directory from being written to the file again at an │ │ │ additional area, leaving the first memory area unused: │ │ │ .UNINDENT │ │ │ .INDENT 0.0 One very easy way to work around this would be to move the man pages for the API into the Architecture: all libtiff-doc binary package, which would ensure that any present or future reproducibility issues in the man pages can never break multiarch co-installation, and would also reduce the size of libtiff-dev by about 15%. I don't know why this is happening, and I suspect it might be non-deterministic. Looking at reproducible-builds, the most recent builds of tiff_4.5.0-1_i386 in experimental had similar differences, but in the HTML manual in the -doc package, rather than the man pages in the -dev package. Similarly, the most recent builds of tiff_4.5.0-1_arm64 had quoting differences in the HTML *and* the man pages. I find it particularly odd that in the man page I quoted, *some* of the quote marks are Unicode in both cases, but some of them vary. The man pages are generated by sphinx, so I would guess that the root cause might be a sphinx issue? The only differences in installed packages between the amd64 and i386 buildds when building 4.5.0-2 were: -binutils-x86-64-linux-gnu_2.39.90.20230104-1 +binutils-i686-linux-gnu_2.39.90.20230104-1 -file_1:5.44-1 +file_1:5.41-4 -liblsan0_12.2.0-13 -libmagic-mgc_1:5.44-1 +libmagic-mgc_1:5.41-4 -libmagic1_1:5.44-1 +libmagic1_1:5.41-4 +libtsan2_12.2.0-13 -tar_1.34+dfsg-1.1 +tar_1.34+dfsg-1 none of which seem like things that should affect how sphinx generates man pages. Both buildds had LC_ALL=C.UTF-8 and no other locale-related environment variables. Full buildd logs for the versions I tried to install, in case there are any clues there: https://buildd.debian.org/status/fetch.php?pkg=tiff&arch=amd64&ver=4.5.0-2&stamp=1673395932&raw=0 https://buildd.debian.org/status/fetch.php?pkg=tiff&arch=i386&ver=4.5.0-2&stamp=1673397288&raw=0 smcv

