ubuntu-phone team mailing list archive
-
ubuntu-phone team
-
Mailing list archive
-
Message #05627
Re: Click packages for more than one architecture
Hey!
On Tue, Dec 17, 2013, Daniel Holbach wrote:
> - Where we expect binaries or modules (for both QML and HTML5 apps)
> to live, for a case of multiple architectures in one click?
I would like to propose we apply similar namings to the multiarch-ed
directories in / and /usr for Click with arch-specific bits.
There are essentially 3 cases:
1. arch all
2. arch specific for one arch
3. and arch specific for multiple arches
we can make case 2. a subcase of 3. or not.
For 1., just like today, we'd have:
DEBIAN/manifest saying arch all and pointing at data which can be
anywhere; typically no lib/ or bin/ is needed.
For 2., we currently have:
DEBIAN/manifest saying arch armhf and pointing at data which can be
anywhere however some packages use e.g. usr/lib/arm-linux-gnueabihf/qt5
for modules and share/ for data. I think it would be cleaner to say
something like:
lib/$triplet/ is prepended to LD_LIBRARY_PATH
lib/$triplet/xyz is for modules extending specific components; e.g. your
Qt5 components would be under lib/$triplet/qt5.
bin/$triplet/ is prepended to PATH
For 3. we would ship for multiple triplets exactly as in 2. except your
manifest would declare multiple architectures and we'd discard lib/*/
and bin/*/ for other triplets than the target device's triplet.
If we dont want to hardcode any specific structure, I guess we could
just list the arch-specific pathnames to prepend to LD_LIBRARY_PATH or
PATH in the manifest and rm -rf the ones for other arches.
> - How apparmor (and friends) will deal with this?
Dont think it changes anything; AA context is set before launching.
upstart-app-launch and hooks parse desktop files, but these shouldn't be
arch-specific.
> - Which impact it's going to have on Unity and upstart-app-launch?
Would need to add PATH + LD_LIBRARY_PATH triplet support IMO, or some
way to extend from the manifest.
> - Which changes will have to be made for our development tools?
* combining multiple builds into one tree before building the .click
* multiple arches in the manifest
* support for extending PATH / LD_LIBRARY_PATH in manifest
> - Which review tests we want to implement?
Perhaps checking that roughly the same files are present across
architectures and/or that the declared architectures are indeed present?
Cheers,
--
Loïc Minier
References