<br><br><div><span class="gmail_quote">On 11/27/06, <b class="gmail_sendername">Hisham Muhammad</b> &lt;<a href="mailto:hisham.hm@gmail.com">hisham.hm@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Yes, that what it says, though there is still some confusion over the<br>&quot;Foo 1.0&quot; syntax. We're switching to &quot;Foo = 1.0&quot; or &quot;Foo &gt;= 1.0&quot; now.</blockquote><div><br>Maybe a more expressive language could be used in the future for dependencies, one with AND, OR, priorities, nesting and the like? An imaginary example (just to illustrate the concept):
<br><br>(AND<br>&nbsp;( Foo 1.0 )<br>&nbsp;( Fooz OR-LATER 1.0 &nbsp;&nbsp; )<br>( Bar BEST-LAST&nbsp; 1.0-TO-3.2&nbsp; 3.5-TO-4.1) )<br>(IF-THEN-ELSE (= $graphicsCard Nvidia) (Foo4nvidia 1.0) SKIP&nbsp; )<br>)<br><br><br>BTW, I'm a bit wary of the &quot;&gt;=&quot;. I guess some libraries are supposed to keep backwards compatibility, but still I think there should be a way to distinguish tested compatibilities from reasonable assumptions. For instance, there could be a global setting to make Compile read &quot;&gt;=&quot; as &quot;=&quot; in recipes, if that's what the user prefers.
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; First question: Who builds those dependency lists, each project's managers
<br>&gt; or Gobolinux devs? (I assume the latter will at least have to write the<br>&gt; right package names, but do they follow indications from the former, or do<br>&gt; they decide on their own?).<br><br>Whoever writes the recipe (ie, devs/contributors, not the upstream
<br>devs, though of course we do it based on the dependency relations set<br>by upstream).</blockquote><div><br>So, when I &quot;contribute&quot; a recipe (using MakeRecipe, then Compile and send sending the tar.gz) does it contain accurate information about dependencies, or do developers have to fix it? I mean, maybe the recipe I send only contains, as dependencies, the library versions I used for my compilation, not all the valid versions.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Second question: What happens when, say, Cairo is updated? I assume Gimp<br>
&gt; will stick to its old version (Cairo 1.0.0), but will Firefox automatically<br>&gt; relink the the newest version of Cairo? Or will it do it the next time you<br>&gt; compile Firefox?<br><br>Depends on what is currently symlinked in the system. The dependency
<br>files are used by the tools, but ultimately, what happens in runtime<br>is defined by what's linked in, which can be overriden by the using<br>calling SymlinkProgram explicitly.<br><br></blockquote></div>Is there a way to know what are the actual links the program is using, a file that changes every time you recompile or relink a program? I'm thinking of something like /Programs/Foo/Resources/CurrentLinks. 
<br><br>Anyway, I read your answer as &quot;No, Firefox does not get relinked unless you tell it to&quot; which I think is a good thing :)<br>