That is plan. The challenge here is to create the binaries for all architecture in one run. That is by default not possible with QtCreator. QtCreator knows only one chroot for for one Kit. There is no such as multiarch Kit.

cheers,

Zoltan

On 02/04/2015 02:45 PM, Jelmer Prins wrote:
Can’t you make it in a way that when you create a package it is an fat package 
by default with all the chroots selected that are available ?

greetz
JustCarakas

ps: I really need to learn to press answer all :p
On 04 Feb 2015, at 13:35, Zoltán Balogh <[email protected]> wrote:

Hi all,

here is the detailed feature description of the fat packages support in the SDK 
Tools

User story:
As an application developer I want to create .click package what can be 
installed on armhf phone, amd64 desktop or  i386 emulator and the same 
application will just work the same way on all platforms.


Technical  requirement:
- Developer environment has all (amd64, i386 and armhf) click chroots [1] 
available.
- Build process is initiated for each target architecture one by one
- Build artefacts are collected to a single location
- Combined build directory is packaged up to .click with a single command


Developer experience:
The developer opens the application project and does the magic. The application 
can be tested the known way: a target Kit is selected and clicking the Run 
button deploys the application either on the desktop, emulator or phone. On 
this path an arch specific .click package is created and deployed on the target 
what is assigned to the Kit.
When the application is ready to be published the developer should go to the Publish page and hit 
the "Create multiarch package" [3]. This will open a dialogue with a multi-selection list 
of the available Kits. The developer selects the targets and hits the "Create" button. 
This will trigger the build and packaging chain. The click build will be fired up for each target 
one by one with a common installation path.
The non compiled build artifacts (qlm files, media content, etc) are expected 
to be identical for each architecture and the compiled binaries are installed 
to an arch specific path. So the merge is expected to be trivial [4]
The click packaging of the merged build/install directory is identical to the 
arch specific builds.

Schedule:
To implement this feature we will need 2-3 weeks with testing and whatsoever. 
Our plate is far from empty but I expect this feature to land before 15.04 is 
released.

Questions, ideas?

cheers,

Zoltan


[1] Right now there is no way to guarantee that the chroots are in sync. The 
chroots made for stable frameworks like 14.04 and 14.10 are expected to be on 
the same page, but chroots made for the development release can diverge as it 
is up to the developer to keep the chroots up to date.
[2] The QtCreator's internal Build/Run frontend can not be used for doing 
multiarch builds. The reason is simple that QtCreator can build against single 
Kits and Kits have only one sysroot.
[3] The text is for sure subject of change. That button might be the actuall "Create 
package" button.
[4] We can not stop the developers to break this trivial merge. It is 
technically possible to mess around with the qmake/cmake project files in a way 
that the merge might not be trivial. But from developers who are smart enough 
to mess around with the cmake/qmake files we can expect to fix the problems 
they cause to themselves.

--
Mailing list: https://launchpad.net/~ubuntu-phone
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-phone
More help   : https://help.launchpad.net/ListHelp


--
Mailing list: https://launchpad.net/~ubuntu-phone
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-phone
More help   : https://help.launchpad.net/ListHelp

Reply via email to