Hi!

On Wed, 2022-07-06 at 18:50:08 +0100, Ian Jackson wrote:
> Package: dpkg
> Version: 1.20.10
> Severity: normal
> File: /usr/bin/dpkg
> Tags: patch

> Recently, I did a complex semi-manual crossgrade.  Runes like
>   dpkg -iGEOB
> were frequently involved.  But I discovered that dpkg -E would
> skip a package if the same version, but a different architecture,
> was involved.
> 
> I don't think that's right.  I think that for a normal
> (non-coinstallable) package,
>   dpkg --skip-same-version foo_otherarch.deb
> should crossgrade it.
> 
> For a coinstallable package, it should coinstall it.
> 
> I think that the attached patch achieves this behaviour.  I used it[1]
> during my crossgrade it and functioned well.

Thanks for the patch! So while I think the new behavior makes more
sense, my main concern has been mostly about the long option now feeling
somehow inaccurate. :/ I guess if this becomes bothersome or confusing
we can always add a new alias or similar.

In any case I've merged this locally, with a small fix to the --help
output to make it fit under 80 chars, and this addition to the man
page to clarify the behavior change:

,---
Since dpkg 1.21.10, the architecture is also taken into account,
which makes it possible to cross-grade packages or install additional
co-installable instances with the same version, but different architecture.
`---

And I'm going to be pushing this to git.

Thanks,
Guillem

Reply via email to