Package: dpkg Version: 1.22.11 Severity: normal Dear maintainers,
It seems like dpkg does not allow for overwriting files when using the combination of package Replaces and Breaks that's described in Policy chapter 7.6.1 https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces If I read the Policy correctly, if you split off package A 1.0 into package A 2.0 and B 2.0, where B 2.0 contains some files that was previously in A 1.0, you can then declare the relationships in a way that you can install B 2.0 on top of A 1.0 and have dpkg replace the overlapping files and make B 2.0 the owner of them. However, in my testing this does not happen. Rather, dpkg will throw an error as such. ========== $ apt install netatalk $ dpkg -i netatalk-tools_4.0.0~ds-4_arm64.deb dpkg: regarding .../netatalk-tools_4.0.0~ds-4_arm64.deb containing netatalk-tools: netatalk-tools breaks netatalk (<< 4.0.0~ds-1) netatalk (version 3.2.10~ds-1) is present and installed. dpkg: error processing archive ../netatalk-tools_4.0.0~ds-4_arm64.deb (--install): installing netatalk-tools would break netatalk, and deconfiguration is not permitted (--auto-deconfigure might help) Errors were encountered while processing: ../netatalk-tools_4.0.0~ds-4_arm64.deb ========== This commit represents the particular test case that I was using: https://salsa.debian.org/netatalk-team/netatalk/-/commit/50d0f4b5522a366ce186d567dfa516b71c09d600 Am I missing something obvious here, or is there a discrepancy between what the Policy says and how dpkg behaves presently? Your insights would be hugely appreciated! Sincerely, Daniel
signature.asc
Description: OpenPGP digital signature