I think the .xo activities must be noarch only. These can be modified by teachers and kids, shared, you can "view-source" etc.<br>The .xo can require the binary dependencies using PackageKit. <br>Now we have one hundred activities based in GCompris and avery one must add the binaries and the activities like Phisics include the binaries for every plataform.<br>
Please don't reinvent the wheel.<br><br>Gonzalo <br><br><br><div class="gmail_quote">On Tue, Sep 22, 2009 at 3:14 AM, Bernie Innocenti <span dir="ltr"><<a href="mailto:bernie@codewiz.org">bernie@codewiz.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">El Mon, 21-09-2009 a las 23:50 -0400, Benjamin M. Schwartz escribió:<br>
<div class="im">> By having distinct packages built separately for each distribution by<br>
> experts. This is incompatible with our (or at least my) goal of allowing<br>
> users to throw packages around as atomic objects, without internet access<br>
> and without having to understand anything beyond "my friend has Sugar, so<br>
> it will work". It is also incompatible with allowing novices to generate<br>
> first-class Activities.<br>
<br>
</div>I withdraw my previous example.<br>
<br>
Admittedly, we couldn't rely on upstream for packaging up things even if<br>
we're using native packaging tools.<br>
<div class="im"><br>
<br>
> This is also incompatible with your proposal to "choose RPM". The<br>
> equivalent here would be to choose RPM on Fedora, DEB on Ubuntu, ebuild on<br>
> Gentoo, tarball on Slackware, etc.<br>
<br>
</div>Yes, this is what I said initially: use native packages. RPM was just<br>
an example.<br>
<br>
Anyway, we'd have to provide different binaries for different<br>
architectures, distros, and even different distro versions.<br>
<br>
The temptation to simplify the universe and declare that there's just<br>
one CPU and just one OS is very strong. OLPC tried to take exactly this<br>
shortcut, but even in this idealized scenario it will break in many<br>
ways, given enough time: switching to ARM, upgrading to Fedora 42<br>
defaulting to Python 3.0...<br>
<div class="im"><br>
<br>
> >> I agree, switching bundle formats would gain us a lot of these features.<br>
> >> However, I don't think features such as dependency tracking are of much<br>
> >> use to us, because we can't trust system package managers,<br>
> ><br>
> > Why not?<br>
><br>
> Because there is no way to build a single binary that will safely link<br>
> with all the different distros' libraries<br>
<br>
</div>Yes, we obviously need a multitude of binaries built for several distros<br>
and architectures. I thought this was implicit.<br>
<br>
Either this, or we decide that the XO-1 with Fedora 11 is the only<br>
platform that will ever be fully supported by Sugar. Can we afford to<br>
do that? Not really...<br>
<div class="im"><br>
<br>
> > Why would we have to? Several good distros already exist... just pick<br>
> > one. No, actually, let's pick many!<br>
><br>
> We can't pick one, because we wish to run on them all. We can't pick<br>
> many, because then users cannot share Activity bundles.<br>
<br>
</div>Hmmm, quite an unsolvable dilemma. Well, maybe not. We could make a<br>
few compromises that are actually quite acceptable in practice:<br>
<br>
* all "noarch" packages would be interchangeable between<br>
different CPUs<br>
<br>
* if two laptops happen to have the same architecture (highly likely<br>
within one school), they could exchange also the arch dependent<br>
packages<br>
<br>
* Even rpm could be made to work on non-rpm distributions, too.<br>
See <a href="http://kitenet.net/%7Ejoey/code/alien/" target="_blank">http://kitenet.net/~joey/code/alien/</a> . This is a bit of<br>
a hack, but still more robust than the XO bundles.<br>
<br>
* Direct exchange of bundles between nearby laptops could be seen<br>
as an optimization. If the package is not of the right kind,<br>
the other laptop would fall back to the online repositories<br>
<br>
Last, but certainly not least,<br>
<br>
* Activity sharing is not even implemented, yet! We'll think<br>
about these esoteric scenarios when they come... if at all.<br>
The "what if" engineering often results in really bad<br>
engineering.<br>
<div><div></div><div class="h5"><br>
--<br>
// Bernie Innocenti - <a href="http://codewiz.org/" target="_blank">http://codewiz.org/</a><br>
\X/ Sugar Labs - <a href="http://sugarlabs.org/" target="_blank">http://sugarlabs.org/</a><br>
<br>
_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Gonzalo Odiard<br>Responsable de Desarrollo<br>Sistemas Australes<br>