• Bug#1082558: dpkg: confusing warning message

    From Guillem Jover@1:229/2 to Patrice Duroux on Tue Sep 24 03:50:01 2024
    XPost: linux.debian.bugs.dist
    From: guillem@debian.org

    Hi!

    On Sun, 2024-09-22 at 10:42:03 +0200, Patrice Duroux wrote:
    Source: dpkg
    Version:1.22.11
    Severity: wishlist

    On a biarch system (amd64,i386) and using --force options (note that I am aware of the taken risk ;-)), dpkg shows:

    $ dpkg --force-all -i libllvm19_1%3a19.1.0-3_i386.deb
    (Reading database ... 722987 files and directories currently installed.) Preparing to unpack libllvm19_1%3a19.1.0-3_i386.deb ...
    Unpacking libllvm19:i386 (1:19.1.0-3) over (1:19.1.0-3) ...
    dpkg: warning: overriding problem because --force enabled:
    dpkg: warning: trying to overwrite shared '/usr/lib/llvm-19/lib/libLLVM.so.19.1', which is different from other instances of package libllvm19:i386

    I think that the given message is confusing while including the arch,
    here (:i386) which is the one of this package itself and not the
    possible other instances.
    Shouldn't it be better to have: 'which is different from other
    instances of package libllvm19'?

    I think removing the arch qualifier would make it lose relevant
    information, but I think I see what you mean. Would something like the following string make it more clear?

    dpkg: warning: trying to overwrite shared '<pathname>' from
    multi-arch package <package>,
    which is different from currently unpacked instance <package>:<arch>

    Even though that repeats the package name, perhaps an alternative
    with less repetition could be:

    dpkg: warning: trying to overwrite shared '<pathname>' from
    multi-arch package <package>,
    which is different from currently unpacked <arch> instance

    Or thereabouts? (Both being way way longer though.)

    Thanks,
    Guillem

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Patrice Duroux@1:229/2 to All on Sun Sep 22 10:50:01 2024
    XPost: linux.debian.bugs.dist
    From: patrice.duroux@gmail.com

    Source: dpkg
    Version:1.22.11
    Severity: wishlist

    Dear dpkg maintainers,

    On a biarch system (amd64,i386) and using --force options (note that I am
    aware of the taken risk ;-)), dpkg shows:

    $ dpkg --force-all -i libllvm19_1%3a19.1.0-3_i386.deb
    (Reading database ... 722987 files and directories currently installed.) Preparing to unpack libllvm19_1%3a19.1.0-3_i386.deb ...
    Unpacking libllvm19:i386 (1:19.1.0-3) over (1:19.1.0-3) ...
    dpkg: warning: overriding problem because --force enabled:
    dpkg: warning: trying to overwrite shared '/usr/lib/llvm-19/lib/libLLVM.so.19.1', which is different from other
    instances of package libllvm19:i386

    I think that the given message is confusing while including the arch,
    here (:i386) which is the one of this package itself and not the
    possible other instances.
    Shouldn't it be better to have: 'which is different from other
    instances of package libllvm19'?

    Regards,
    Patrice

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Patrice Duroux@1:229/2 to All on Tue Sep 24 10:00:01 2024
    XPost: linux.debian.bugs.dist
    From: patrice.duroux@gmail.com

    Hi Guilhem,

    Also, the installed package providing the current file that is
    conflicting might not be related
    to that package (multiarch or not). I mean that it could be another
    unrelated package.
    I wasn't sure if it was a hint message from dpkg that determined the
    current proprietary
    package of the file (and so it should be another arch) or if it was a
    generic message for
    all cases.

    So maybe if dpkg can't determine at that time which already installed
    package is conflicting
    for the file to provide better guidance, the message should be very
    simple and avoid any
    additional sentences. No?

    Many thanks,
    Patrice

    Le mar. 24 sept. 2024 à 03:44, Guillem Jover <guillem@debian.org> a écrit :

    Hi!

    On Sun, 2024-09-22 at 10:42:03 +0200, Patrice Duroux wrote:
    Source: dpkg
    Version:1.22.11
    Severity: wishlist

    On a biarch system (amd64,i386) and using --force options (note that I am aware of the taken risk ;-)), dpkg shows:

    $ dpkg --force-all -i libllvm19_1%3a19.1.0-3_i386.deb
    (Reading database ... 722987 files and directories currently installed.) Preparing to unpack libllvm19_1%3a19.1.0-3_i386.deb ...
    Unpacking libllvm19:i386 (1:19.1.0-3) over (1:19.1.0-3) ...
    dpkg: warning: overriding problem because --force enabled:
    dpkg: warning: trying to overwrite shared '/usr/lib/llvm-19/lib/libLLVM.so.19.1', which is different from other instances of package libllvm19:i386

    I think that the given message is confusing while including the arch,
    here (:i386) which is the one of this package itself and not the
    possible other instances.
    Shouldn't it be better to have: 'which is different from other
    instances of package libllvm19'?

    I think removing the arch qualifier would make it lose relevant
    information, but I think I see what you mean. Would something like the following string make it more clear?

    dpkg: warning: trying to overwrite shared '<pathname>' from
    multi-arch package <package>,
    which is different from currently unpacked instance <package>:<arch>

    Even though that repeats the package name, perhaps an alternative
    with less repetition could be:

    dpkg: warning: trying to overwrite shared '<pathname>' from
    multi-arch package <package>,
    which is different from currently unpacked <arch> instance

    Or thereabouts? (Both being way way longer though.)

    Thanks,
    Guillem

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Guillem Jover@1:229/2 to Patrice Duroux on Tue Sep 24 15:00:01 2024
    XPost: linux.debian.bugs.dist
    From: guillem@debian.org

    Hi!

    On Tue, 2024-09-24 at 09:47:55 +0200, Patrice Duroux wrote:
    Also, the installed package providing the current file that is
    conflicting might not be related
    to that package (multiarch or not). I mean that it could be another
    unrelated package.

    No, this message is always only concerned about multi-arch instances,
    of the same package. There is no support for ref-counting for anything
    that is not a Multi-Arch:same package.

    I wasn't sure if it was a hint message from dpkg that determined the
    current proprietary
    package of the file (and so it should be another arch) or if it was a
    generic message for
    all cases.

    The message is only about a conflict that occurs when installing a
    multi-arch instance when other instances of the same package are
    already unpacked, and the new one does not match the digest for the
    other ones.

    So maybe if dpkg can't determine at that time which already installed
    package is conflicting
    for the file to provide better guidance, the message should be very
    simple and avoid any
    additional sentences. No?

    See above, the current instance conflicts with all existing ones (at
    the same version). It could also print instead all the existing ones,
    but that would make the message longer, and the information for the
    current instance is readily available, so I'm not sure what would be
    the gain with a reversal of the affected packages?

    (I'm now wondering whether I really understand the source of the
    confusion for the error message. :)

    Thanks,
    Guillem

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