Re: Multiarch interfaces: print foreign arches, pkgname I/O
On Mon, 05 Dec 2011, Guillem Jover wrote:
> For package name input, taking into account the output restrictions,
> pkgname cannot mean pkgname:native whenever that could be ambiguous
> (M-A: same). The only options are then to either consider it pkgname:*
> or to fail. I still think pkgname == pkgname:* makes way more sense as
> an interface, but failing would also be acceptable to me (as it can
> always be switched to pkgname:*).
I was thinking a bit more about this and I don't thinkt that this
alternative is the only one.
To me it falls down to "be conservative in what you do, but be liberal in
what you accept". While it's ok to make sure there's no ambiguity in what
we output, it's important to keep backwards compatibility when it comes
to what we accept.
So "pkgname" should really be accepted and should not represent multiple
package instances because it's not what any user unaware of multiarch
would expect. It's also not acceptable to fail just because the package
is M-A: same because we have such packages installed at the point where
a multiarch-enabled dpkg gets installed.
So we should only fail when there's a real ambiguity because we have
multiple instances installed. In other cases, this should automatically
resolve to the single installed instance if any (no matter whether it's
foreign or native) or to the native one if there's no installed instance
(for example when we do dpkg --set-selections).
Does this sound ok?
Raphaël Hertzog ◈ Debian Developer
Pre-order a copy of the Debian Administrator's Handbook and help
liberate it: http://debian-handbook.info/liberation/