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