[Sugar-devel] Bundles with binary requirements (Was: The ARM is near)
Aleksey Lim
alsroot at member.fsf.org
Fri Aug 28 13:04:32 EDT 2009
On Fri, Aug 28, 2009 at 04:47:53AM +0100, Gary C Martin wrote:
> Hi Benjamin,
>
> On 28 Aug 2009, at 03:58, Benjamin M. Schwartz wrote:
>
> > Bobby Powers wrote:
> >> I think having something like:
> >>
> >> example.activity
> >> |-arch/
> >> |-arch/x86/
> >> |-arch/x86/bin/
> >> |-arch/x86/lib/
> >> |-arch/armel/
> >> ...
> >>
> >> could work. Sugar could set an environmental variable ARCH to the
> >> relevant value, and we could have a reference activity_startup.sh
> >> which adds the correct lib path to LD_LIBRARY_PATH and launches the
> >> appropriate executable (or maybe a flag in activty.info which has
> >> sugar do this). This is still somewhat kludgy, but I'm not sure of a
> >> better way.
> >
> > Which solution we should choose is a technical discussion that
> > deserves
> > its own thread. I'm personally not enthusiastic about the "fat
> > packages"
> > approach, in which binaries for many architectures are included in
> > one .xo
> > bundle, because:
>
> What would be your recommendation? As a long time Mac user (and
> developer) I was/am all for "fat packages" (universal binaries), and
> we certainly don't have the ability to compile binaries on demand for
> the significant portion of target sugar HW. Activity bundles are a
> major plus, from where I'm standing, vs. the traditional ./configure,
> make install, and dependancy requirements.
>
> With my activity author hat on, I've gone out of my way to avoid the
> hell of binary blobs, it breaks the whole idea of providing code in
> Python source for others to easily edit, modify, learn from. But I
> understand (having adopted maintenance of some old projects) that this
> has not always been possible for authors (though it woul would always
> be my goal when writing code).
Another option is adding 0install[1](or so) to sugar e.g.:
* activity bundles dont include any blobs at all
* on uploading .xo to journal, sugar popups 0install regular dialog to
install all needed by activity dependancies
* activity author "package"(in meaning of packaging in 0install)
binary dependancies for all environments/plarforms/architectures
that he wants to support
Purposes for 0install(or so) in comparing with native packages:
* one way to install deps in all environments
* non-root install
[1] http://0install.net/
--
Aleksey
More information about the Sugar-devel
mailing list