• Bug#1084948: dpkg not respecting Breaks+Replaces relationship

    From Daniel Markstedt@1:229/2 to All on Fri Oct 11 17:50:01 2024
    XPost: linux.debian.bugs.dist
    From: daniel@mindani.net

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) -----------------------c62f2e28ae494fa0afb9f328b3e89917 Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain;charset=utf-8

    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
    -----------------------c62f2e28ae494fa0afb9f328b3e89917--

    -----BEGIN PGP SIGNATURE-----
    Version: ProtonMail

    wsFzBAEBCgAnBYJnCUgXCZAjNVkqH/G22hYhBDxHZC5HbhsXpWt6ESM1WSof 8bbaAACqDhAApiqSQDz81AA/jWz/H3lXQLhEc0xe+japfD82rvmhsYzhDC6j B4L34dQ/ISR/LsLqAJNX3KHRbddZvoCoA7wqAt6y8eoIhHKaVorBVWcMVYJk ie75AJgayI7dJ8CMffReZkjyLJdaM9aCTVZDLkLyW1jocZH/rs/IrKmETfK1 MN6FQcixj7uNnTAXN1HTfNvBg5Sv5IHxjLiXgWQdUwJXlW/4+H1C4VP371s6 t+gyykO1MKgI5iF/CB7QMwFEL/TdvU+z1bJiXOiRuBICKSKYYqhAcIyYkE93 Qk6YsiSpy2lBRhl5NIxytvjKUxr3KNULdBiJmyD0AGXlZ2cVx7DqaYwiS61j aRatUmGcooknaZoIjffPIMj1pxnHMrkJG0Cq/haP5aE1KsZ0PPZSLVt5t0oi UET32dMnlznziRkLsMT06JhNfYSgXsaaFehu5CdQA1IlkqN0+sSpsuAJDai8 ZdBwK7FUqYLDrzk9Vj7JCv3y0qo2FIML7Y+LM56ctBlvEY0ErqulYYBt1iRZ uI1FxdP3oimqtWlBRwQG3E6LH2q1gCADLuHAg/avSvXS8PhUXNFrFebmjtIW y+kU4vfEi3AAQhNIJLxU2hPaTY0ePRImKBfOb/LO73W+XgCTdmGl26R3SMEY L0Kxd1L9LosgsE6EV8mvrvco7YDiADGhegI=
    =D6AT
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)