Comment 0 for bug 966335

Revision history for this message
Michael Vogt (mvo) wrote :

I worked on the multiarch support for software-center apps coming from the agent today and after some poking
and experimenting I think the best (and most reliable) solution involves using the software-center-agent.

The problem is that a foreign architecture application in the client (and in the python-apt cache) needs to be
postfixed with a ":arch", e.g. skype:i386 otherwise the client will not find it. We could do that automatically for
apps that are not available for the native architecture and try to guess the pkgname. The downside of this approach
is that we may simply guess incorrectly and present applications that may not be mutliarch ready or that are not
availalbe for the native architecture yet because of e.g. amd64 taking longer to build than i386.

So I would like to propose that we add a new architecture "amd64-multiarch" to the agent. If the app-developer uploads
a i386 application he may check "this will work on a multiarch amd64 system too" and in this case the software-center-agent
needs to send the pkgname postfixed with a ":i386" to the client. The client will then do the right thing with the pkgname
because its unambiguous.

Alternatively (but not quite as elegant) is to simply add nothing to the server but instead build the packages so that there
is a "pkgname" package on both i386 and amd64 and a "pkgname-bin" on i386 only. The "pkgname" package needs to depend
on "pkgname-bin" and in this case software-center/aptdaemon will again DTRT and install the right package/dependencies.