<div dir="ltr">







<p class="gmail-m_-6969996031382443439gmail-p1"><font face="arial, helvetica, sans-serif">Hi Brad,</font></p><p class="gmail-m_-6969996031382443439gmail-p1"><font face="arial, helvetica, sans-serif">With another week over, I have the following updates to share. These are actually the points from my Notes as I keep going on, so the email might not be well crafted. Thought, would share with you without any delay.</font></p><p class="gmail-m_-6969996031382443439gmail-p1"><b><font face="arial, helvetica, sans-serif">Week #5-6 (28 Jun - 12 Jul)</font></b></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Golden lines for the project:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">A <b>snapshot</b> would be a list of install commands that created the current installed state.<span class="gmail-m_-6969996031382443439gmail-Apple-converted-space"> </span></font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif"><b>Restoring</b> a snapshot would deactivate the active ports and reproduce the install commands for the selected snapshot.<span class="gmail-m_-6969996031382443439gmail-Apple-converted-space"> </span></font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif"><b>Migrate</b> would amount to creating a new snapshot, uninstalling installed ports and reproducing the install commands for the last snapshot.</font></li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">@Brad: Did you miss “uninstalling installed ports” in the second point above?</font></p><p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif"><br></font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Challenges from the first phase:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">“variants” - still not discussed by anyone after 2 emails, 1 post and 1 comment on GitHub. -> resolved.</font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">I wrote at the end of my first phase that one variant of a port can be active at a time, turns out I was wrong. All thanks to the UI messages and the research.</font></li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Challenges still to tackle:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">snapshot needs to store which ports are active as well?</font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">refactoring snapshot to use registry::write wrappers and transaction logic.</font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">ensuring that active versions are installed after the inactive versions since the output after running </font>`port install vim -huge +tiny`:</li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">——</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Computing dependencies for vim</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">..</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Staging vim into destroot</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><b><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Installing vim @8.0.0596_0+tiny</font></b></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><b><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Deactivating vim @8.0.0596_0+tiny+x11</font></b></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Cleaning vim</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><b><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Activating vim @8.0.0596_0+tiny</font></b></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Cleaning vim</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">---><span class="gmail-m_-6969996031382443439gmail-Apple-converted-space">  </span>Updating database of binaries</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">..</font></p>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">shows that installation also activates and we don’t want to activate the ports which were originally inactivated.</font></p><p class="gmail-m_-6969996031382443439gmail-p3"><span style="font-family:arial,helvetica,sans-serif">Agenda for last two weeks:</span><br></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">Begin with restore action.</font></li><li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">Write for uninstalling ports - took the help of reclaim.tcl for this</font></li><li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">Work on reproducing the install commands for a snapshot</font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">Improve the snapshot action as needed for the restore action.</font></li></ol><div><p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Still left from last two weeks:</font></p><ol class="gmail-m_-6969996031382443439gmail-ol1"><li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">A part to include installation of ports with the help of restore_ports.tcl.</font></li></ol></div>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Agenda for next two:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">Finish the restore action by Jul 24.</font></li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Challenges that might come later:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">dealing with builds at MP_PREFIX and not at /opt/local. Don’t know now but keep in mind.</font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">conflicting ports as Josh said and migration guide says.</font></li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Important discoveries I made during this period:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">came to know that the port <b>vim +tiny+x11</b> is different from <b>vim +tiny</b>, says a lot how ports are variant-bundled.</font></li>
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">‘imaged’ is installed but inactive, while ‘installed’ is installed and active.</font></li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Pondering:</font></p>
<ol class="gmail-m_-6969996031382443439gmail-ol1">
<li class="gmail-m_-6969996031382443439gmail-li3"><font face="arial, helvetica, sans-serif">Reinstalling the MacPorts/Xcode CL tools for the new platform if it is not built for the new OS already is not something we can help with, right?</font></li></ol>
<p class="gmail-m_-6969996031382443439gmail-p3"><font face="arial, helvetica, sans-serif">Work log:</font><span style="font-family:arial,helvetica,sans-serif"> <a href="https://github.com/macports/macports-base/commits/gsoc17-migrate" target="_blank">https://github.com/<wbr>macports/macports-base/<wbr>commits/gsoc17-migrate</a></span></p><div class="gmail_extra"><span style="font-size:12.8px"><br></span></div><div class="gmail_extra"><span style="font-size:12.8px">All reviews and comments are welcome.</span><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_extra"><span style="font-size:12.8px"><br></span></div><div class="gmail_extra"><font face="arial, helvetica, sans-serif">Regards,<br clear="all"></font><div></div></div></div>