Bug#698957: dpkg poorly handles dependencies with | operator

Guillem Jover guillem at debian.org
Sat Jan 26 12:18:35 UTC 2013


Control: severity -1 wishlist
Control: reassign -1 gnome-terminal
Control: retitle -1 gnome-terminal: Please mark as M-A:foreign

On Fri, 2013-01-25 at 18:54:17 +0100, Maurizio Oliveri wrote:
> Package: dpkg
> Version: 1.16.9
> Severity: important

> I've recently encountered this problem when installing Steam's .deb
> package: in its control file ( after removing all the Ubuntu
> versioning numbers ) there's written "xterm | gnome-terminal".
> I have gnome-terminal installed on my system, yet dpkg returns an error
> about a missing dependency for "xterm | gnome-terminal" unless xterm is
> installed, so the | operator is pretty much being ignored.
> 
> This is also proven by the fact that if I run "apt-get remove xterm" it
> tries to install libutempter0:i386 and xterm:i386 along with removing
> xterm, and if i run "apt-get remove xterm xterm:i386" it tries to remove
> the Steam package as well.

> Debian Release: 7.0
>   APT prefers unstable
>   APT policy: (700, 'unstable'), (650, 'experimental'), (600, 'testing')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386

My assumptions here is that the steam's 3d-party package is arch i386,
and given that you are using multiarch, your native arch is amd64, and
you seem to have gnome-terminal:amd64 already installed, which is not
marked as «Multi-Arch: foreign», installing steam's package requires a
terminal emulator of the same architecture, which leaves the front-end
(apt/aptitude in this case, probably) with the only choice of
installing xterm (already marked as M-A:foreign), as those front-ends do
not support cross-grading (which would be a suboptimal solution anyway)
they do not offer to cross-grade gnome-terminal to satisfy the
dependency.

So I guess this bug report boils down to gnome-terminal not being
marked «Multi-Arch: foreign», reassigning. The error messages that
dpkg outputs on those situations are not optimal, but I've that on
my TODO list to fix for 1.17.x.

Thanks,
Guillem



More information about the pkg-gnome-maintainers mailing list