← Back to team overview

ubuntu-phone team mailing list archive

Re: Library dependency support in click packages?

 

On Fri, Sep 27, 2013 at 6:37 PM, Scott Sweeny <scott.sweeny@xxxxxxxxxxxxx>wrote:

> Since libmrss0 is not in the image we needed a way to make it available.
> For
> demo purposes we just copied the .so file (and that of one other
> dependency) to
> a spot in /custom and wrapped the scope binary with a script that sets
> LD_LIBRARY_PATH. This is, as you might imagine, not ideal.  We could try
> to get
> libmrss0 into the system image, but that doesn't solve the larger problem.
>
> We also support click packages in the customization suite, and I'm told
> that
> eventually we'll be able to distribute scopes as click packages as well,
> so I'd
> like to start a discussion about what we can do for developers who need
> external libraries to support their applications or scopes.
>
> One thing click could do is look (at build time) at what external
> libraries an
> application makes use of and if those libraries aren't included in the
> system
> image include them in the click package itself, then at runtime ensure that
> those libraries are properly linked into the application.
>
> Is this something we'd like to pursue?
>


Please refer to the previous vUDS[1], there's been a lot of talk about this
there (look for either click or SDK). It's a bit of the other way around[2]
(at least for QML).

What I'm doing is using a mod from pull-lp-source[3] to grab the so, strip
it out and use it. For packages that are a bit more complex I added a
CLICK_MODE to the cmake options and have a debian packaging wrapper that
just builds the click package (build depends for shared libs carefully
don't leave the constrained list).

The debian wrapper is until click building is added in, which should build
(cross compile) out of a chroot that has everything you need and available
for development from the base touch image.

[1] http://summit.ubuntu.com/uds-1308/all/
[2]
https://blueprints.launchpad.net/ubuntu/+spec/community-1308-qml-extensions
[3]
http://bazaar.launchpad.net/~sergiusens/+junk/click_ready/view/head:/pull-lp-bin.py

References