Control: tag -1 + confirmed
Control: retitle -1 aptitude: Package conflicts are reported incorrectly 
(without architecture) if foreign architectures are enabled

Hi,

Keith Edmunds wrote:
> I ran "aptitude show spamc"
> 
>    * What was the outcome of this action?
> 
> This (partial) output:
> 
> $ aptitude show spamc
> Package: spamc
> State: not installed
> Version: 3.4.0-5
> Priority: optional
> Section: mail
> Maintainer: Noah Meyerhans <no...@debian.org>
> Architecture: amd64
> Uncompressed Size: 186 k
> Depends: libc6 (>= 2.14), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4)
> Suggests: spamassassin
> Conflicts: spamassassin (< 2.30-2), spamassassin (< 2.30-2), spamc
> 
>    * What outcome did you expect instead?
> 
> I didn't expect it to list a conflict with spamassassin twice, nor did I
> expect it to conflict with itself.
[...]
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386

Indeed. I can reproduce it on an amd64 box with i386 as foreign
architecture, but not on a machine which doesn't have any foreign
architectures enabled. There it looks as expercted:

~ → aptitude show spamc
Package: spamc                           
State: not installed
Version: 3.4.0-5
Priority: optional
Section: mail
Maintainer: Noah Meyerhans <no...@debian.org>
Architecture: i386
Uncompressed Size: 150 k
Depends: libc6 (>= 2.7), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4)
Suggests: spamassassin
Conflicts: spamassassin (< 2.30-2)
[…]

The interactive text mode interface (TUI) shows why this happens:

  --\ Conflicts (3)
    --\ spamassassin (< 2.30-2)
    --\ spamassassin (< 2.30-2)
    --\ spamc
p    400  spamc:i386 3.3.2-5+deb7u2  0  136 kB
p    990  spamc:i386 3.4.0-5         0  150 kB

The shown conflict is an implicit one: spamc has no Multiarch header,
which implies "Multiarch: none" which again implies that it can't be
installed together with spamc from another architecture.

Aptitude seems to show these implicit conflicts like explicit ones. If
this is a good or bad thing is probably debatable.

The duplicated spamassassin conflict can be explained that way, too:
It probably duplicated it for each architecture, but doesn't show the
architecture at that point.

IMHO the output of aptitude in your case should have been similar to
this:

Package: spamc                           
State: not installed
Version: 3.4.0-5
Priority: optional
Section: mail
Maintainer: Noah Meyerhans <no...@debian.org>
Architecture: amd64
Uncompressed Size: 186 k
Depends: libc6 (>= 2.14), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4)
Suggests: spamassassin
Conflicts: spamassassin (< 2.30-2) [amd64], spamassassin (< 2.30-2) [i386], 
spamc [i386]

That way the source of these conflicts would have been much clearer.

Maybe a specific marker for shown implicit conflicts due to multiarch
wouldn't be a bad idea either.

                Regards, Axel
-- 
 ,''`.  |  Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to