2012-03-27 15:52:57 |
Michael Vogt |
bug |
|
|
added bug |
2012-04-03 12:59:23 |
Anthony Lenton |
software-center-agent: status |
New |
Confirmed |
|
2012-04-03 12:59:25 |
Anthony Lenton |
software-center-agent: importance |
Undecided |
Medium |
|
2012-07-13 21:15:14 |
Aminda Suomalainen |
bug |
|
|
added subscriber Mika Suomalainen |
2012-07-18 20:19:52 |
Anthony Lenton |
software-center-agent: assignee |
|
Anthony Lenton (elachuni) |
|
2012-07-18 20:19:55 |
Anthony Lenton |
software-center-agent: status |
Confirmed |
In Progress |
|
2012-08-07 14:45:16 |
ISD Branch Mangler |
software-center-agent: status |
In Progress |
Fix Committed |
|
2012-08-09 11:50:34 |
Michael Nelson |
description |
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. |
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.
QA steps:
1) Publish an app, setting the architecture as multiarch
2) Verify that the app appears in USC for both i386 and amd64 (or check /api/2.0/applications/en/ubuntu/precise/i386/ and /api/2.0/applications/en/ubuntu/precise/amd64/
3) Verify that the package name in the amd64 link above is postfixed with :i386
4) Verify that you can install the app from USC on both architectures. |
|
2012-08-23 12:10:58 |
Dave Morley |
software-center-agent: status |
Fix Committed |
Fix Released |
|
2012-08-23 13:05:43 |
Dave Morley |
software-center-agent: milestone |
|
12.08 |
|