← Back to team overview

ubuntu-appstore-developers team mailing list archive

Re: Executing fat packages

 

On 11/21/2013 04:52 PM, Ted Gould wrote:
> Hey all,
> 
> There was a discussion a while back on IRC about executing binaries in fat
> packages.  After that I started a branch, but I just found it again, and cleaned
> it up.  But I felt like we should probably make sure this is what we want before
> I go ahead and commit it.  First here's the branch:
> 
>     https://code.launchpad.net/~ted/upstart-app-launch/tracking-arch/+merge/196194
> 
> 
> What it does is adjust the PATH environment variable to first have an
> architecture specific directory.  This way anything that is specified in the
> desktop file could have an architecture specific version that would be found by
> normal path expansion.  That directory is:
> 
>     $(PACKAGE_DIR)/lib/$(ARCH TRIPLET)/bin/
> 
> 
> Does that still look good to everyone?
> 
The branch uses dpkg-architecture, but that isn't available on the touch images.
I think you can use 'dpkg --print-architecture' instead. Eg, using the emulator
(yay!):

$ adb shell dpkg-architecture
/bin/bash: dpkg-architecture: command not found
$ adb shell dpkg --print-architecture
armhf

More importantly, I'm thinking this is probably not enough when considering
compiled programs. Right now, for arch-dependent non-fat packages, .desktop
files use '/usr/bin/qmlscene -I<relative_dir> someapp.qml. Eg:

Exec=aa-exec-click -p com.ubuntu.developer.user.app_app_0.1 -- /usr/bin/qmlscene -I backend/modules app.qml
Path=/opt/click.ubuntu.com/.click/users/username/com.ubuntu.developer.user.app

Where will C++ extensions like this end up in fat packages? Should we be
adjusting LD_LIBRARY_PATH in addition to PATH?

-- 
Jamie Strandboge                 http://www.ubuntu.com/

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References