<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Yes, there were a couple of problems :-/ The version below has worked two times in a row on Yosemite. I hope you will at least put this script or something like it on the wiki as an alternative. It could save many people a lot of time.<div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Menlo" size="3" class="">#!/bin/bash</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class=""># If there is an argument, then don't preserve 'requested' flags.</font></div><div class=""><font face="Menlo" size="3" class="">function reinstallPorts() {</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; local -r dontPreserveRequestedFlags=$1</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; set -e</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; sudo -v</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp;&nbsp;</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; # Ensure that xcode-select has been run successfully.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; /usr/bin/clang --version</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; # Save the list of installed ports.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; port -qv installed &gt; myports.txt</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; if [[ ! "$dontPreserveRequestedFlags" ]] ; then</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; # Preserve the 'requested' flags.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; port echo requested | cut -d ' ' -f 1 &gt; requested.txt</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; fi</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; # Download the restore_ports script.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; curl -O <a href="https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl" class="">https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl</a></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; chmod +x restore_ports.tcl</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; # Change this if your installation is somewhere else.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; # (There should be a way to get the port command to report this.)</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; local -r MACPORTS_HOME=/opt/local</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; sudo bash &lt;&lt; EOF</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; set -xe</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; # Start with the latest data.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; port selfupdate</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; # Uninstall all installed ports.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; port -f uninstall installed</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; # Clean any partially-completed builds.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; port clean all</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; # Execute the restore_ports script.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; ./restore_ports.tcl -p $MACPORTS_HOME myports.txt</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp;&nbsp;</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; if [[ ! "$dontPreserveRequestedFlags" ]] ; then</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; &nbsp; # Restore the 'requested' flags.</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; &nbsp; port unsetrequested installed</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; &nbsp; &lt; requested.txt xargs port setrequested</font></div><div class=""><font face="Menlo" size="3" class="">&nbsp; &nbsp; fi</font></div><div class=""><font face="Menlo" size="3" class="">EOF</font></div><div class=""><font face="Menlo" size="3" class="">}</font></div><div class=""><font face="Menlo" size="3" class=""><br class=""></font></div><div class=""><font face="Menlo" size="3" class="">reinstallPorts $@</font></div><div class=""><br class=""></div></blockquote><div class=""><br class=""><br class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class="">On 2014-12-14, at 08:43 PM, Dave Yost &lt;<a href="mailto:Dave@Yost.com" class="">Dave@Yost.com</a>&gt; wrote:<br class=""><br class=""><br class=""><blockquote type="cite" class="">On 2014-12-14, at 07:59 PM, Lawrence Velázquez &lt;<a href="mailto:larryv@macports.org" class="">larryv@macports.org</a>&gt; wrote:<br class=""><br class="">The migration steps weren't really intended to be run as a single script. I'm not comfortable telling users&nbsp;to run this big untested blob of code.<br class=""></blockquote><br class="">Then let’s test it! Works for me on Yosemite. I’ll run it again.<br class=""><br class="">You could put in a caveat that one can run the commands interactively if one is worried about it.<br class=""><br class="">Really, code to do a migration should be part of macports, IMO. Nothing like being able to start a command and&nbsp;walk away for a couple of hours and have it do everything without tweaking.<br class=""><br class="">Dave<br class=""><br class=""><blockquote type="cite" class=""><br class=""><br class=""><blockquote type="cite" class="">On Dec 14, 2014, at 10:37 PM, MacPorts &lt;<a href="mailto:noreply@macports.org" class="">noreply@macports.org</a>&gt; wrote:<br class=""><br class="">Page "Migration" was changed by <a href="mailto:dave@yost.com" class="">dave@yost.com</a><br class="">Diff URL: &lt;<a href="https://trac.macports.org/wiki/Migration?action=diff&amp;version=80" class="">https://trac.macports.org/wiki/Migration?action=diff&amp;version=80</a>&gt;<br class="">Revision 80<br class="">Comment: Use a single sudo, so only one password is required.<br class="">Changes:<br class="">-------8&lt;------8&lt;------8&lt;------8&lt;------8&lt;------8&lt;------8&lt;------8&lt;--------<br class="">Index: Migration<br class="">=========================================================================<br class="">--- Migration (version: 79)<br class="">+++ Migration (version: 80)<br class="">@@ -23,29 +23,36 @@<br class="">&nbsp; {{{<br class="">&nbsp; # If there is an argument, then don't preserve 'requested' flags.<br class="">&nbsp; function reinstallPorts() {<br class="">- &nbsp; &nbsp; &nbsp;dontPreserveRequestedFlags=$1<br class="">+ &nbsp; &nbsp; &nbsp;local -r dontPreserveRequestedFlags=$1<br class="">+ &nbsp; &nbsp; &nbsp;set -e<br class="">+ &nbsp; &nbsp; &nbsp;# This will fail if xcode-select needs to be run.<br class="">+ &nbsp; &nbsp; &nbsp;clang --version<br class=""></blockquote><br class="">What is the point of printing the Clang version? And you don't know which "clang" is being run.<br class=""></blockquote><br class="">I was looking for a command I could run to smoke out wither code-select is going to have to run before port can&nbsp;do its work.<br class=""><br class=""></blockquote><br class=""></div></div></div></body></html>