On Oct 14, 2011, at 20:12, Ryan Schmidt wrote:

>> I feel that, if that's the case, we should start ensuring that selfupdate 
>> can run itself twice (looks a file to signal "do selfupdate").
> 
> That would be a possible enhancement, but of course, it won't help anybody 
> upgrading *from* any existing version of MacPorts. It'll only help us in the 
> future.


But be sure you understand what the problem is. Prior to MacPorts 2.0.2, 
selfupdate did this:

1. The old version of MacPorts runs "sync" to download the new portfiles
2. The old MacPorts indexes those new ports
3. The old MacPorts downloads the code for the new version of MacPorts
4. The old MacPorts compiles the new MacPorts
5. The old MacPorts exits; any subsequent invocation of "port" will be the new 
version

The order may not be completely correct but the point is that the problem is 
that the old MacPorts is not capable of correctly indexing the ports that were 
just downloaded, if the ports contain new syntax only understood by the new 
MacPorts. Therefore MacPorts 2.0.2 and up skips step 2 if a new version of 
MacPorts has been downloaded, and prints a message telling the user to run 
selfupdate again. When the user does so, it'll be the new version of MacPorts 
running that is capable of indexing the ports correctly.

If you wanted to make this all work in a single selfupdate run, you'd have to 
have a way for the old MacPorts to launch the new MacPorts to do the indexing. 
That might be tricky.


_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to