<pre style='margin:0'>
Umesh Singla (umeshksingla) pushed a commit to branch gsoc17-migrate
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/ba7b50c57aa3d7d5c97071bd1db676890368aff8">https://github.com/macports/macports-base/commit/ba7b50c57aa3d7d5c97071bd1db676890368aff8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ba7b50c57aa3d7d5c97071bd1db676890368aff8
</span>Author: Umesh Singla <umeshksingla@macports.org>
AuthorDate: Mon Jul 17 19:13:43 2017 +0530

<span style='display:block; white-space:pre;color:#404040;'>    Add install ports proc to restore
</span>---
 src/macports1.0/reclaim.tcl |  1 +
 src/macports1.0/restore.tcl | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/reclaim.tcl b/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 4db3fda..a319e03 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -404,6 +404,7 @@ namespace eval reclaim {
</span>         foreach port $portlist {
             sortdependents_helper $port ports_for_name dependents seen ret
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts $ret
</span>         return $ret
     }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/restore.tcl b/src/macports1.0/restore.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index ba7cc0c..580033e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/restore.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/restore.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -132,4 +132,34 @@ namespace eval restore {
</span>         }
         return 0
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc install_ports {portList} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach port $portList {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set name [string trim [lindex $port 0]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set variations [lindex $port 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            array unset portinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            array set portinfo [lindex $res 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set porturl $portinfo(porturl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # TODO: error handling, if any?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set workername [mportopen $porturl [list subport $portinfo(name)] $variations]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # TODO: instead of mportexec, lookup for some API?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[catch {set result [mportexec $workername install]} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                global errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                mportclose $workername
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_msg "$errorInfo"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return -code error "Unable to execute target 'install' for port '$name': $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                mportclose $workername
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # port will be active here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
</pre><pre style='margin:0'>

</pre>