Hi, thanks to Santiago for deferring the issue to me.
On Tue, Jun 25, 2024 at 12:57:14PM -0300, Trixie wrote: > Package: base-files > Version: 13.1ubuntu1 > Severity: important > X-Debbugs-Cc: sanv...@debian.org, publiccontact2...@protonmail.com > > dpkg-divert: error: 'diversion of /lib32 to /.lib32.usr-is-merged by base- > files' clashes with 'diversion of /lib32 to /lib32.usr-is-merged by > base-files' Earlier versions of my base-files patch used a different location for diverting aliasing links to. As far as I understand it, this earlier version was uploaded to Ubuntu by Julian Andres Klode. His early feedback was that since those directories are actually created as long as we install aliased files, their visibility confuses users. We agreed that we should use a dot filename instead and I changed the patch due to Julian's feedback. Unfortunately, it seems that this change ended up not being included in Ubuntu noble, so Ubuntu and Debian now use incompatible protective diversions. Generally speaking, mixing packages from Ubuntu and Debian is a bad idea for many reasons this problem being one of them. Can you detail, why you expected this upgrade to work when it is generally considered unsupported? > /etc/lsb-release changed: > DISTRIB_ID=LinuxMint LMDE Cindy > DISTRIB_RELEASE=3 > DISTRIB_CODENAME=cindy > DISTRIB_DESCRIPTION="LMDE 3 Cindy" As far as I understand it, LinuxMint is based on Ubuntu. Installing a Debian package such as base-files on Ubuntu (or one of its derivatives) is prone to this kind of failure. > *** /media/Data/base-files.txt > usrmerge installed > > directories found: > lib.usr-is-merged > bin.usr-is-merged > sbin.usr-is-merged These ended up in Ubuntu and are not part of Debian due to improved risk analysis. > attempted apt install of package throws error for which I have found no fix > proceedure after web search: > > dpkg-divert: error: 'diversion of /lib32 to /.lib32.usr-is-merged by > base-files' clashes with 'diver > sion of /lib32 to /lib32.usr-is-merged by base-files' > > Have not found any directory /.lib32.usr-is-merged nor /lib32.usr-is-merged Indeed, these locations are not supposed to exist. Their purpose is to divert deletions from deleting the aliasing symbolic links. > *** /media/Data/base-files.txt > usrmerge installed > > directories found: > lib.usr-is-merged > bin.usr-is-merged > sbin.usr-is-merged > > attempted apt install of package throws error for which I have found no fix > proceedure after web search: > > dpkg-divert: error: 'diversion of /lib32 to /.lib32.usr-is-merged by > base-files' clashes with 'diver > sion of /lib32 to /lib32.usr-is-merged by base-files' > > Have not found any directory /.lib32.usr-is-merged nor /lib32.usr-is-merged Let me go into details on manual recovery. These diversions exist to protect the aliasing symbolic links from unintended deletion. Hence, they are not required for running your installation (as long as you do not install or remove any packages). Hence, I recommend removing all of those diversions owned by base-files and then reinstalling the desired version of base-files. for d in bin lib lib32 lib64 libo32 libx32 sbin; do dpkg-divert --package base-files --no-rename --remove /$d; done apt-get reinstall base-files This should get your system into a sane state. I still want to understand how you ended up there to figure out whether it is a common enough use case to do this migration more automatically. Helmut