develop, build, test and distribute QML extensions

Registered by Daniel Holbach on 2013-08-26

How can developers develop, build, test and distribute QML extensions?

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

state of things
 - lots of things exposed to qml layer, API set is far from perfect, some things missing, so we want to keep the door open to access other services
   → create QML API, using C++, expose classes/methods/data, so you can continue work through QML
 - fairly common use case
 - packaging all qml modules in the archive might not be the best way forward
 - bundling (for now - 13.10) not ideal, but it works
 - some sort of dependencies in the future might be possible - read-only system might be a problem
 - we want: cross-building, multiarch libraries in place, no emulation
   - library meta-data being fixed now by doko (qt?)
 - use sbuild+cross-building won't work out of the box - but this is just an example and won't have the right performance properties anyway
 - option: build a persistent chroot in QtCreator with the right set of multiarch build-deps installed for whichever combination of targets you want to build for; if the necessary Multi-Arch headers are present in packages ("foreign" for tools, "same" for libraries) then any combination is possible
 - see https://wiki.ubuntu.com/MultiarchSpec, http://wiki.debian.org/Multiarch/Implementation, https://wiki.ubuntu.com/CrossBuilding, etc.

Use cases for 14.04:
 - multiple apps using the same non-standard framework
 - dmedia being used by other apps

Using debs, scenarios
 - Build locally from source package and extract bits from binary package.
 - Build source package on remote system(PPA) for distribution.
 - Use pull-lp-package to get binary packages and extract into click package.
 - SDK will list available binary packages in PPA (or PPAs).

(?)

Work Items

Work items:
[cjwatson] get time budgeted in Foundations for fleshing out multiarch metadata sufficiently to build PPA extensions: TODO
[bzoltan] find out how to do local cross-compilation: TODO
[bzoltan] investigate how to tie SDK to PPAs: TODO
[dholbach] schedule meeting to figure out library distribution model: TODO