I think the .xo activities must be noarch only. These can be modified by teachers and kids, shared, you can &quot;view-source&quot; 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&#39;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">&lt;<a href="mailto:bernie@codewiz.org">bernie@codewiz.org</a>&gt;</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">&gt; By having distinct packages built separately for each distribution by<br>
&gt; experts.  This is incompatible with our (or at least my) goal of allowing<br>
&gt; users to throw packages around as atomic objects, without internet access<br>
&gt; and without having to understand anything beyond &quot;my friend has Sugar, so<br>
&gt; it will work&quot;.  It is also incompatible with allowing novices to generate<br>
&gt; first-class Activities.<br>
<br>
</div>I withdraw my previous example.<br>
<br>
Admittedly, we couldn&#39;t rely on upstream for packaging up things even if<br>
we&#39;re using native packaging tools.<br>
<div class="im"><br>
<br>
&gt; This is also incompatible with your proposal to &quot;choose RPM&quot;.  The<br>
&gt; equivalent here would be to choose RPM on Fedora, DEB on Ubuntu, ebuild on<br>
&gt; 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&#39;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&#39;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>
&gt; &gt;&gt; I agree, switching bundle formats would gain us a lot of these features.<br>
&gt; &gt;&gt; However, I don&#39;t think features such as dependency tracking are of much<br>
&gt; &gt;&gt; use to us, because we can&#39;t trust system package managers,<br>
&gt; &gt;<br>
&gt; &gt; Why not?<br>
&gt;<br>
&gt; Because there is no way to build a single binary that will safely link<br>
&gt; with all the different distros&#39; 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>
&gt; &gt; Why would we have to?  Several good distros already exist... just pick<br>
&gt; &gt; one.  No, actually, let&#39;s pick many!<br>
&gt;<br>
&gt; We can&#39;t pick one, because we wish to run on them all.  We can&#39;t pick<br>
&gt; 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 &quot;noarch&quot; 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&#39;ll think<br>
   about these esoteric scenarios when they come... if at all.<br>
   The &quot;what if&quot; 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>