<div dir="ltr"><div class="gmail_extra">Hi</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 6, 2017 at 6:56 PM, Joshua Root <span dir="ltr"><<a href="mailto:jmr@macports.org" target="_blank">jmr@macports.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2017-8-6 22:11 , Umesh Singla wrote:<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Sat, Jul 22, 2017 at 7:26 AM, Joshua Root <<a href="mailto:jmr@macports.org" target="_blank">jmr@macports.org</a> <mailto:<a href="mailto:jmr@macports.org" target="_blank">jmr@macports.org</a>>> wrote:<br>
<br>
<br>
        For now, I'd like to ask in what order does "registry::entry<br>
        imaged" returns the port list? Because I'm running the sorting<br>
        function which the restore_ports.tcl uses but it's giving me the<br>
        ports in the same order as result.<br>
<br>
<br>
    Probably just ordered by rowid, i.e. might as well be random. Note<br>
    that the sort_ports proc from restore_ports.tcl does not take a list<br>
    of registry references like registry::entry returns, but a list of<br>
    strings representing port names, versions and variants in the format<br>
    generated by 'port installed'.<br>
<br>
<br>
`port installed` returns the result of `registry::entry imaged` sorted in an alphabetical order, first by name, then version etc.<br>
</blockquote>
<br></span>
Yes. The order of the input lines doesn't matter for restore_ports.tcl of course because it's sorting them. My point was just that that particular sort procedure takes something like "zlib @1.2.11_0 (active)" as input, rather than "::registry::entry150".</blockquote><div><br></div><div>Yes, I was aware of that anyway.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
`registry::entry imaged` might be returning in a random order but sorting it (with ports coming before their dependencies) doesn't change the result at all.<br>
</blockquote>
<br></span>
This could easily be true in some cases but definitely not in the general case. Are you testing on real-world registry contents or just on an installation you created recently for testing? In the latter case, each port will happen to come before its dependents simply because dependencies are installed first. After some upgrading of ports over time, in practically random order, this will often no longer be the case.<br></blockquote><div><br></div><div>I was only trying on installation I created which had about 60 ports in total but only 5 requested. So, you are right because the order was always stored sorted and was never modified. Thanks.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Attached is a small script that I used to demonstrate that this property does not hold in my own registry. There, entry0 is fftw-3, and comes before its dependent entry243 (py27-numpy). On the other hand, entry267 is py27-setuptools, which comes after its dependent entry76 (py27-nose).<br></blockquote><div><br></div><div>- Umesh </div></div><br></div></div>