xkb-data has an undeclared file conflict. This may result in an unpack error from dpkg. The file /usr/share/X11/xkb is contained in the packages * keyboards-rg/0.3+nmu2 as present in trixie|forky|unstable * xkb-data/2.47-1 as present in forky|unstable 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
We believe that the bug you reported is fixed in the latest version of xkeyboard-config, 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 1133239@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Timo Aaltonen <tjaalton@debian.org> (supplier of updated xkeyboard-config 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: Wed, 05 Aug 2026 10:41:18 +0300 Source: xkeyboard-config Built-For-Profiles: derivative.ubuntu noudeb Architecture: source Version: 2.48-1 Distribution: unstable Urgency: medium Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Changed-By: Timo Aaltonen <tjaalton@debian.org> Closes: 1133239 Changes: xkeyboard-config (2.48-1) unstable; urgency=medium . * control: Add Conflicts on keyboards-rg (Closes: #1133239) * New upstream release. Checksums-Sha1: a378cc66b396d27e40a1251e5f10e23b2222ef53 2437 xkeyboard-config_2.48-1.dsc db598181c33031e4bdf98acf8857bc722d12b735 953316 xkeyboard-config_2.48.orig.tar.xz 324c17ec31cefcd18eaa1c41e35f04ab841d2c3a 488 xkeyboard-config_2.48.orig.tar.xz.asc 29c50363aebd94a82c1075ccf3bc615518b1be66 16660 xkeyboard-config_2.48-1.debian.tar.xz 6cbe9cfab5d86e07217dfc266ed4ab28947452fb 8904 xkeyboard-config_2.48-1_source.buildinfo Checksums-Sha256: 027c798c744abf31bd1cf9215121acf6a42b703c25ef135dadfdafac98608090 2437 xkeyboard-config_2.48-1.dsc b77041324f0109f77161ee43743fe04baa485866af8460d31e476ad3f7648fd5 953316 xkeyboard-config_2.48.orig.tar.xz 8e16b08c27882915b7656d81dd9f196c673d280265071752e18ae4e5f51fef24 488 xkeyboard-config_2.48.orig.tar.xz.asc 5a611277c6570a97b65f9175c48bf653fcb9074e5feb2670824cbf514e1816d9 16660 xkeyboard-config_2.48-1.debian.tar.xz 0b0132d086e1a5e670cdd446ce8f4969b1973c2d7ca08849c1f51648bc2b5548 8904 xkeyboard-config_2.48-1_source.buildinfo Files: 67bd85b2a8ab40e68af2c4a6a1495af1 2437 x11 optional xkeyboard-config_2.48-1.dsc 575106aff79b589abe4aff6c4bff4782 953316 x11 optional xkeyboard-config_2.48.orig.tar.xz d57e1455924eaa42bbdd87c67ff3335c 488 x11 optional xkeyboard-config_2.48.orig.tar.xz.asc b93f496de23b719021ec9e7735d3b524 16660 x11 optional xkeyboard-config_2.48-1.debian.tar.xz b94ca6e249c69502fd1c89ac8f80b034 8904 x11 optional xkeyboard-config_2.48-1_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEdS3ifE3rFwGbS2Yjy3AxZaiJhNwFAmpy6SgACgkQy3AxZaiJ hNztHw//RSqeG2jTtoK8QMVLrmVXV4KW9a1VLJPkLiw2vgir6TXBeuMEpMHKTS0W 8IOAbruomoFyOilrdJGexvmPvjkJ7kpRcvRsuws2A64+8slNyIZB1X19iAfc09hR pTKKkIzbYQjOwveh/EkkZabyCrwDvwPXfrCeTMPoY3iRDeJ43MUSjM4/WtnJYy3Z NpVxn+T/bjz81WksJYXVIc+7BC5J119KKfmIMKJxxBOeq/p0EFamXsQ9KLAfe/14 S34cVTSL3d+lM8nxiwBDypdx/DdUlA2pQ43cx+xltvmUoMtUSRIf8w/0WhzuMPrX 2EXCiQTRPEgD85K38vgTtKe6P1U8Ne4djZ16k6HSXcJEzWjVZPE3Xnz8Ak/1iamN s8Ooz90asazCyXeAK0floM/JOxmLOUef/Si3YFSnU+BxMI1TBb93WnyuvFVR4xlL WEtZ7v5Wa8rWyAE2zJkPcHbMfupxfdkkF+rSNNgawd/pcOrcdNqR7XZUysz2LzyG 4sQWJmkEMSlb6fsh15jKy9QlxeJ51D1LRtE1EgwQxH0YfjJH/WXmTwNokz0f/DbB rVxe8Vu0y8hniroash8qgCYEn2ZUS8S2Lh4MBpyrhp/SBMsHTO2YpSF/DOeOOSMV NVUyjvIrwyD60PdWNcpU5qGY4QngUwYRmlF/uZp+lQbiMJv6+AQ= =aYvV -----END PGP SIGNATURE-----
Hello, Helmut Grohne, le sam. 11 avril 2026 09:51:41 +0200, a ecrit: ? /usr/share/X11/xkb is not a file, but a directory. keyboards-rg contains keyboards-rg: /usr/share/X11/xkb/symbols/eo_rg keyboards-rg: /usr/share/X11/xkb/symbols/pancyr keyboards-rg: /usr/share/X11/xkb/symbols/sk_rg keyboards-rg: /usr/share/X11/xkb/symbols/sk_snk which are not in xkb-data, so I don't see why we would have a conflict. I tried installing keyboards-rg, it does unpack fine concurrently with xkb-data. So adding a Conflicts is not necessary. Worse, it made keyboards-rg uninstallable, since it depends on xkb-data, and now that xkb-data conflicts with keyboards-rg, keyboards-rg has become uninstallable in unstable, making xkb-data not migrating for 15 days. We want to remove the Conflicts from xkb-data. Samuel
Hi Samuel, thanks for noticing this and reporting back. Yes, and this is part of the problem. The conflict is not on the files you mentioned but on /usr/share/X11/xkb itself. If you look at the xkb-data side you notice that it is a symbolic link there. This is an aliasing problem very similar to /usr-merge. Yes, that's correct. But how it unpacked now depends on the unpack order. If you unpack xkb-data first, those files will be relocated to /usr/share/xkeyboard-config-2. If you were to then remove xkb-data, the symlink were going away and the files would no longer be available. Worse, if you then remove keyboards-rg, it would fail remove the installed files as the redirecting symbolic link is now gone. This very much is a problem. You make a very good case for the Conflicts declaration being the wrong solution for the problem at hand. As keyboards-rg depends on xkb-data (as you rightly observe), maybe it can instead rely on the presence of that symbolic link and move its own files to /usr/share/xkeyboard-config-2? At that point there would no longer be any conflict. Note that since this is an aliasing problem, you cannot just move the files and call it done. It's the same situation as the /usr-merge that caused the moratorium. If you were to do that, those files would readily disappear in a package upgrade. So for facilitating the upgrade, we need protective diversions for the aliased locations. keyboards-rg.preinst needs to check whether it upgrades from a pre-moved version. If that happens to be the case, it needs to install a protective diversion for each of the files below /usr/share/X11/xkb/ (the symbolic link) as a package that is not itself (can be one that never exists or it can be xkb-data if the maintainer agrees). When dpkg unpacks the moved package, the diversions will ensure that it does not unlink the moved files via aliasing. Then keyboards-rg.postinst needs to get rid of the protective diversions. This is not yet covering the error paths nor package downgrading. Consider using prior art. https://codesearch.debian.net/search?q=protective+diversion&literal=1 Things were becoming much easier if the files were to be renamed at the same time or moved to an entirely different location (such that no aliasing between the pre-upgrade and post-upgrade paths occurs). Helmut