On Thu, 2013-11-21 at 17:11 -0600, Jamie Strandboge wrote: > 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
It's using dpkg-architecture at build time, not at run time, so not having it on the touch images isn't a big deal. Since the packages are arch specific (they have binaries) we're just aligning with what binaries are built. > 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? Adding an entry to LD_LIBRARY_PATH makes sense to me. Would we just add lib/$(triplet) or is there a different path we should be adding? Ted
signature.asc
Description: This is a digitally signed message part
-- Mailing list: https://launchpad.net/~ubuntu-appstore-developers Post to : ubuntu-appstore-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-appstore-developers More help : https://help.launchpad.net/ListHelp