[Sugar-devel] On Zeroinstall and Sugar packages

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Tue Oct 20 10:39:08 EDT 2009


Sascha Silbe wrote:
> On Mon, Oct 19, 2009 at 11:42:32PM -0400, Benjamin M. Schwartz wrote:
> 
>> 0compile, combined with Zeroinstall's support for source bundles,
>> enables us (1) to approach true platform-independence and (2) to
>> provide users the opportunity to modify the source code of a package
>> and rebuild it in a natural way.
> So unless the sender and receiver architecture match, the receiver needs
> to build the package from source and requires the usual tools (gcc,
> autoconf, etc) for that? How much space would those take up on the XO-1?
> I'm not arguing against it, BTW, quite the contrary: I've suggested a
> similar scheme [1] in the past.

I think my answer is "sometimes".  There are many possible scenarios.  For
example, if there is good internet access, and the package maintainer has
compiled the package for many platforms, then the sender only needs to
send the package's name (which is a URL) and then the receiver can install
the arch-appropriate bundle from the internet.  If there is no internet
access, but the sender has kept binaries (and all dependencies) for both
architectures, then the receiver can get all needed binaries from the
sender.  If there is a school server, it can act as a 0mirror [2],
maintaining a cache of many Activity packages, including their
dependencies, for all the school's architectures.  If there is no school
server, and the sender does not have the arch-appropriate packages, the
receiver may use 0share [3] to see if there is anyone else on the network
who has them.  Bundles are GPG-signed for security.

Only after all those things fail do we need to talk about compiling from
source.  Then we have interesting questions like whether it's worth the
space overhead to require all bundles to include source, and whether to
include things like compilers that are needed to rebuild them.  My feeling
is that all Activity bundles should probably come with source code, but
automatically downloading all the build-time dependencies should be a
configuration option that can be disabled on systems with constrained disk
space or bandwidth.

> [1]
> http://wiki.sugarlabs.org/go/Activity_Team/Packaging_Ideas#combined_Source.2BBinary_package

Yeah, what I'm describing is very much like that ... except somebody
already did all the work for us!

[2] http://0install.net/0mirror.html
[3] http://0install.net/0share.html


More information about the Sugar-devel mailing list