#1144091 knot has an undeclared file conflict on /usr/share/doc/knot/README.md

Package:
knot
Source:
knot
Description:
Authoritative domain name server
Submitter:
Helmut Grohne
Date:
2026-08-21 19:59:02 UTC
Severity:
normal
#1144091#5
Date:
2026-08-11 05:59:03 UTC
From:
To:
knot has an undeclared file conflict.  This may result in an unpack
error from dpkg.

The file /usr/share/doc/knot/README.md is contained in the packages
 * knot/3.5.6-2 as present in unstable
 * knot-doc/3.5.6-1 as present in forky

These packages can be unpacked concurrently, because there is no
relevant Replaces or Conflicts relation.  Attempting to unpack these
packages concurrently results in an unpack error from dpkg, because none
of the packages installs a diversion for the affected file.

Kind regards

Helmut Grohne

#1144091#12
Date:
2026-08-11 13:13:43 UTC
From:
To:
Thanks for looking for and reporting these kind of problems!

Isn't this report a fall-out after fixing
https://bugs.debian.org/1143626 and that everything will be fine as soon
as 3.5.6-2 enters testing?

Mutual installability mixing packages from unstable and testing is not
supported, right?

The 3.5.6-2 version seems to already be in testing, even though the PTS
'news' section doesn't have any entry for testing migration.

Alas, package versioning, file conflicts and upgrade issues usually make
my head hurt, and I wish there were more tooling around to detect and
regression check these issues.  I guess what I'm looking for is a recipe
to reproduce the file conflict error in some supported environment. Or
better: a suggestion how to untangle the situation from where we are
now.

/Simon

Helmut Grohne <helmut@subdivi.de> writes:

#1144091#17
Date:
2026-08-11 14:29:12 UTC
From:
To:
Hi Simon,

It is fine if you assume that nobody ever installed knot-doc/3.5.6-1.
However, that version was part of forky. Once 3.5.6-2 migrated, forky
users could run into this upgrade running a testing to testing upgrade
procedure.

It also can be experienced by unstable users upgrading there, but for
unstable users we somewhat expect that users can resolve this (e.g. by
temporarily removing knot-doc).

Technically speaking you're right and this has not been rc bug. It
became an rc bug the exact moment the package migrated to forky. Of
course we would like to not increase the rc bug count in forky. Hence me
filing it as a migration blocker in unstable.

If you were to fix it right now, it would take another two days for the
fix to reach forky. By that time, the majority of users will have
upgraded and run into the bug (if applicable). So it is indeed
questionable whether fixing it now is worth the effort. I argue that it
would have helped if testing migration were prevented. So I leave it up
to you whether to fix or to close without further action.
working on. My filing of these bugs serves a dual purpose. For one
thing, I report bugs, but for another I gain more experience with what
kinds of issues exist. It turns out that a significant fraction of these
issues require further communication (including this one).

A general rule of thumb: If you move a file from one binary package to
a differently named package without changing the name of the file, the
new package has to declare versioned Breaks and Replaces against the old
package. The version should be the first version missing the file in the
old package with a tilde ("~") appended.

Evidently, remembering this rule is difficult when moving a file. Yet,
following it would have prevented both bugs.

Helmut

#1144091#22
Date:
2026-08-21 19:57:15 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
knot, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1144091@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon Josefsson <simon@josefsson.org> (supplier of updated knot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 21 Aug 2026 18:50:53 +0200
Source: knot
Architecture: source
Version: 3.5.7-1
Distribution: unstable
Urgency: medium
Maintainer: knot packagers <knot@packages.debian.org>
Changed-By: Simon Josefsson <simon@josefsson.org>
Closes: 1144091
Changes:
 knot (3.5.7-1) unstable; urgency=medium
 .
   * Team upload
   * Run wrap-and-sort -satbk
   * Untangle file conflict mess (Closes: #1144091)
Checksums-Sha1:
 43eeeb23b508bfecbf48b894f1d83be4982c9374 4894 knot_3.5.7-1.dsc
 5d220356b8ff8a3a076154d49ccf898a018e3eed 1735896 knot_3.5.7.orig.tar.xz
 104526feea8c9a106d340c2348e237eb1b1aa3d5 833 knot_3.5.7.orig.tar.xz.asc
 ece98acba27e1d65e5ca106b490e5fc516f396cc 31668 knot_3.5.7-1.debian.tar.xz
 0b8c0d4e451de82fe66fc6a9f96543fa6b7e7918 17016 knot_3.5.7-1_amd64.buildinfo
Checksums-Sha256:
 9649fef39f5a628bddbe55d34d0762a2e6deed85c0ce840bf789910030d4150f 4894 knot_3.5.7-1.dsc
 0e363e9160895e2b83d02b0a7488c3a566b605b92edac85d03be3ebce94b8214 1735896 knot_3.5.7.orig.tar.xz
 cede5335666863208d442a361258bb08bb5b1d3e9afbf1b640018aeb3d7cd2b0 833 knot_3.5.7.orig.tar.xz.asc
 6234a1dc4f14cc98a75fa1163e86da9f205f9092e89de3b7064b5361f2073e51 31668 knot_3.5.7-1.debian.tar.xz
 4bca429f6d8a935cf2b0a32522d459e30a10fafcf38fee3362bd502825a981e4 17016 knot_3.5.7-1_amd64.buildinfo
Files:
 126d43cfd3041d78a708e9c0067e2a0a 4894 net optional knot_3.5.7-1.dsc
 a6d19e1bd03be545a57a303717bed0ab 1735896 net optional knot_3.5.7.orig.tar.xz
 0fe53d546601e8d4bd3d27c3b54fee58 833 net optional knot_3.5.7.orig.tar.xz.asc
 0f0daeccecb8c47966c11be8cb1ec457 31668 net optional knot_3.5.7-1.debian.tar.xz
 5580ec6d4a4717f638162eb3856a647c 17016 net optional knot_3.5.7-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQOEBAEWCgMsFiEEo8ychwudMQq61M8vUXIrCP5HRaIFAmqIoEQbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMiwyFBxzaW1vbkBqb3NlZnNzb24ub3JnwhwmAJgzBFyS
zrQWCSsGAQQB2kcPAQEHQAiHK2SL4a8QwZCvX1fkJU5l8aNp2jmw7hrcOfGGsZTr
tCVTaW1vbiBKb3NlZnNzb24gPHNpbW9uQGpvc2Vmc3Nvbi5vcmc+iJYEExYIAD4C
GwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AWIQSx0r0Tdb7LeEz0+MTXPPY4xTwG
vgUCaeH1kQUJDmvq3QAKCRDXPPY4xTwGvoViAP9ZUL6yXhpUKudJT+rZvfQ9cw8u
ydbUN4WuMdCce65BUwD/YaVCrk75uptX18omVWGZbtviHfw6twiAGbzRflxK9gS4
MwRcks+BFgkrBgEEAdpHDwEBB0DsUwiDmnlwMSNoSF+ByvW0E6TVXou9PKDa9SpZ
vKghioj1BBgWCAAmAhsCFiEEsdK9E3W+y3hM9PjE1zz2OMU8Br4FAmngltcFCQ5q
i1YAgXYgBBkWCAAdFiEEo8ychwudMQq61M8vUXIrCP5HRaIFAlySz4EACgkQUXIr
CP5HRaKnTAEAoB+OWrHmYCK8Cjr1DgPUH7JnhPBmR2DbhR5jPRREEugA+gOMeWmL
6GOpaPfKYLcNhzw4ZnAlxSLY1wq1eANBpiQOCRDXPPY4xTwGvrOwAPoCCB6QQKQ6
XA49bCocw54Jqb8EH9FZB5nurPhBu6koKQEA3v1zK1NHND2t44vOXDKmYb8yThSP
7KHuutpcy9EGNwW4OARcks9qEgorBgEEAZdVAQUBAQdAMZUbpg1up2WOwPlQn3pP
VaRMejyZnScmD7d5TRzHehwDAQgHiH4EGBYIACYCGwwWIQSx0r0Tdb7LeEz0+MTX
PPY4xTwGvgUCaeCW1wUJDmqLbQAKCRDXPPY4xTwGvkTVAP9n2kDv5xU9OhPjJYZU
HaP9HIZUFwuU2TD01b1QRcKCzgD/cSyStKMORI082CQeCvNdAC/yL+jxDgBIAOHD
0x1ZWwkACgkQUXIrCP5HRaJgYQEAy1TWrU4GO0iZo9O05/pZuzOHvudNYw/86O9R
0AEpFSQA/RZsoGhkMckLNGzOU8CgatFMm+cEdXg+OMg9PFsFmTQP
=/NWQ
-----END PGP SIGNATURE-----