Bug#789927: libanthyinput0: fails to upgrade from 'sid' - trying to overwrite /usr/lib/x86_64-linux-gnu/libanthyinput.so.0.0.0'
Control: affects -1 ibus-anthy Control: found -1 ibus-anthy/1.5.9-2 Control: found -1 anthy/1:0.3-5 Hi, Packaging is still broken on sid. (Interesting how 2 years of forewarning were still not sufficient to prevent this.) $ sudo apt install ibus-anthy Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: ibus-anthy : Depends: libanthy0 but it is not going to be installed E: Unable to correct problems, you have held broken packages. Note: I have *not* held packages. Anyway, it seems to me that the problem is not difficult to identify (though I can't give great insight about the solution): it is obvious that the groups of packages andconflict, yet there are many (IME-related) packages (such as ibus-anthy, or kasumi) that depend on both "anthy" (which now pulls in libanthy1 and libanthyinput0) and "libanthy0", which is an unworkable situation. Now, I wonder, why does libanthy0 have to still exist (in parallel to the new libanthy1 and libanthyinput0)? Why not simply replacing the dependency in all packages dependent on libanthy0 (and then maybe even removing libanthy0)? Just thinking out loud. You might want to take a look at the graph below showing some anthy-related dependencies on Debian unstable (I had to edit it by hand because both "apt-cache dotty" and "debtree" are too under-featured). Thanks. -- digraph packages { concentrate=true; size="30,40"; "ibus-anthy" -> "anthy"; "ibus-anthy" -> "ibus"; "libanthyinput0" -> "libanthy1"; "libanthyinput0" -> "anthy"[color=springgreen]; "anthy" -> "anthy-common"; "anthy" -> "libanthy1"; "anthy" -> "libanthyinput0"; "anthy" -> "anthy-common"[color=springgreen]; "libanthy0" -> "anthy-common"; "libanthy1" -> "anthy-common"; "uim-dict-gtk3" -> "libanthy0"; "uim-dict-gtk" -> "libanthy0"; "uim-anthy" -> "libanthy0"; "hime-anthy" -> "libanthy0"; "gcin-anthy" -> "libanthy0"; "uim-dict-gtk3" -> "libanthy0"; "uim-dict-gtk" -> "libanthy0"; "uim-anthy" -> "libanthy0"; "fcitx-anthy" -> "libanthy0"; "uim-dict-gtk3" -> "libanthy0"; "uim-dict-gtk" -> "libanthy0"; "uim-anthy" -> "libanthy0"; "scim-anthy" -> "libanthy0"; "m17n-lib-mimx" -> "libanthy0"; "ibus-anthy" -> "libanthy0"; "hime-anthy" -> "libanthy0"; "gcin-anthy" -> "libanthy0"; "kasumi" -> "libanthy0"; "ibus-anthy" [shape=box]; "anthy-common" [shape=box]; "ibus" [color=orange,shape=box]; "libanthyinput0" [shape=box]; "anthy" [shape=box]; "libanthy0" [shape=box]; "libanthy1" [shape=box]; "uim-dict-gtk3" [shape=box]; "uim-dict-gtk" [shape=box]; "uim-anthy" [shape=box]; "hime-anthy" [shape=box]; "gcin-anthy" [shape=box]; "uim-dict-gtk3" [shape=box]; "uim-dict-gtk" [shape=box]; "uim-anthy" [shape=box]; "fcitx-anthy" [shape=box]; "uim-dict-gtk3" [shape=box]; "uim-dict-gtk" [shape=box]; "uim-anthy" [shape=box]; "scim-anthy" [shape=box]; "m17n-lib-mimx" [shape=box]; "hime-anthy" [shape=box]; "gcin-anthy" [shape=box]; "kasumi" [shape=box]; }
Bug#789927: libanthyinput0: fails to upgrade from 'sid' - trying to overwrite /usr/lib/x86_64-linux-gnu/libanthyinput.so.0.0.0'
Hi, this isn't resolved yet: Package: libanthy0,libanthyinput0 Version: libanthy0/9100h-25+b2 Version: libanthyinput0/1:0.3-4 Severity: serious User: trei...@debian.org Usertags: edos-file-overwrite Date: 2017-08-29 Architecture: amd64 Distribution: sid Hi, automatic installation tests of packages that share a file and at the same time do not conflict by their package dependency relationships has detected the following problem: Selecting previously unselected package anthy-common. (Reading database ... 11002 files and directories currently installed.) Preparing to unpack .../anthy-common_1%3a0.3-2_all.deb ... Unpacking anthy-common (1:0.3-2) ... Selecting previously unselected package libanthy0:amd64. Preparing to unpack .../libanthy0_9100h-25+b2_amd64.deb ... Unpacking libanthy0:amd64 (9100h-25+b2) ... Selecting previously unselected package libanthy1:amd64. Preparing to unpack .../libanthy1_1%3a0.3-2_amd64.deb ... Unpacking libanthy1:amd64 (1:0.3-2) ... Selecting previously unselected package libanthyinput0:amd64. Preparing to unpack .../libanthyinput0_1%3a0.3-2_amd64.deb ... Unpacking libanthyinput0:amd64 (1:0.3-2) ... dpkg: error processing archive /var/cache/apt/archives/libanthyinput0_1%3a0.3-2_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libanthyinput.so.0.0.0', which is also in package libanthy0:amd64 9100h-25+b2 Processing triggers for libc-bin (2.24-15) ... Errors were encountered while processing: /var/cache/apt/archives/libanthyinput0_1%3a0.3-2_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) This is a serious bug as it makes installation fail, and violates sections 7.6.1 and 10.1 of the policy. An optimal solution would consist in only one of the packages installing that file, and renaming or removing the file in the other package. Depending on the circumstances you might also consider Replace relations or file diversions. If the conflicting situation cannot be resolved then, as a last resort, the two packages have to declare a mutual Conflict. Please take into account that Replaces, Conflicts and diversions should only be used when packages provide different implementations for the same functionality. Here is a list of files that are known to be shared by both packages (according to the Contents file for sid/amd64, which may be slightly out of sync): /usr/lib/x86_64-linux-gnu/libanthyinput.so.0 /usr/lib/x86_64-linux-gnu/libanthyinput.so.0.0.0 This bug has been filed against both packages. If you, the maintainers of the two packages in question, have agreed on which of the packages will resolve the problem please reassign the bug to that package. You may then also register in the BTS that the other package is affected by the bug. -Ralf. PS: for more information about the detection of file overwrite errors of this kind see http://qa.debian.org/dose/file-overwrites.html.
Bug#789927: libanthyinput0: fails to upgrade from 'sid' - trying to overwrite /usr/lib/x86_64-linux-gnu/libanthyinput.so.0.0.0'
Package: libanthyinput0 Version: 1:0.3-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, during a test with piuparts I noticed your package fails to upgrade from 'sid' to 'experimental'. It installed fine in 'sid', then the upgrade to 'experimental' fails because it tries to overwrite other packages files without declaring a Breaks+Replaces relation. See policy 7.6 at https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces From the attached log (scroll to the bottom...): Selecting previously unselected package libanthyinput0:amd64. Preparing to unpack .../libanthyinput0_1%3a0.3-1_amd64.deb ... Unpacking libanthyinput0:amd64 (1:0.3-1) ... dpkg: error processing archive /var/cache/apt/archives/libanthyinput0_1%3a0.3-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libanthyinput.so.0.0.0', which is also in package libanthy0:amd64 9100h-25 Preparing to unpack .../anthy_1%3a0.3-1_amd64.deb ... Unpacking anthy (1:0.3-1) over (9100h-25) ... dpkg: warning: unable to delete old directory '/var/lib/anthy': Directory not empty Errors were encountered while processing: /var/cache/apt/archives/libanthyinput0_1%3a0.3-1_amd64.deb cheers, Andreas anthy_1:0.3-1.log.gz Description: application/gzip