<pre style='margin:0'>
Aljaž Srebrnič (g5pw) pushed a commit to branch reclaim_enhancements
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/4e3d2de765b8a945acde457d2af5060a87a17e30">https://github.com/macports/macports-base/commit/4e3d2de765b8a945acde457d2af5060a87a17e30</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4e3d2de765b8a945acde457d2af5060a87a17e30
</span>Author: Aljaž "g5pw" Srebrnič <a2piratesoft@gmail.com>
AuthorDate: Sun Mar 11 22:46:27 2018 +0100

<span style='display:block; white-space:pre;color:#404040;'>    reclaim.tcl: don't ask for partial removal
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This patch eliminates the possibility for the user to choose which
</span><span style='display:block; white-space:pre;color:#404040;'>    unrequested/inactive port to remove in the reclaim phase. Now the user
</span><span style='display:block; white-space:pre;color:#404040;'>    can either remove all ports on none at all.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This was done so we can safely force-remove all ports and avoid asking
</span><span style='display:block; white-space:pre;color:#404040;'>    confirmation to the user.
</span>---
 src/macports1.0/reclaim.tcl | 38 ++++++++++++--------------------------
 1 file changed, 12 insertions(+), 26 deletions(-)

<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 dcd18a5..9824c3a 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;'>@@ -456,20 +456,13 @@ namespace eval reclaim {
</span>             ui_msg "Found no inactive ports."
 
         } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[info exists macports::ui_options(questions_multichoice)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set retstring [$macports::ui_options(questions_multichoice) "Would you like to uninstall these inactive ports?" "" $inactive_names]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[llength $retstring] > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    foreach i $retstring {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set port [lindex $inactive_ports $i]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set name [lindex $inactive_names $i]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ui_msg "Uninstalling: $name"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        # Note: 'uninstall' takes a name, version, revision, variants and an options list. 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[info exists macports::ui_options(questions_yesno)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set retval [$macports::ui_options(questions_yesno) "Inactive ports found:" "" $inactive_names "y" 0 "Would you like to uninstall them?"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {${retval} == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach port $inactive_ports {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        # Note: 'uninstall' takes a name, version, revision, variants and an options list.
</span>                         try -pass_signal {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                            registry_uninstall::uninstall [$port name] [$port version] [$port revision] [$port variants] {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            registry_uninstall::uninstall [$port name] [$port version] [$port revision] [$port variants] {ports_force true}
</span>                         } catch {{*} eCode eMessage} {
                             ui_error "Error uninstalling $name: $eMessage"
                         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -526,21 +519,14 @@ namespace eval reclaim {
</span>             ui_msg "Found no unrequested ports without requested dependents."
 
         } else {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[info exists macports::ui_options(questions_yesno)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set retval [$macports::ui_options(questions_yesno) "Unrequested ports without requested dependents found:" "" $unnecessary_names "y" 0 "Would you like to uninstall them?"]
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_msg "Found unrequested ports without requested dependents: [join $unnecessary_names {, }]."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[info exists macports::ui_options(questions_multichoice)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set retstring [$macports::ui_options(questions_multichoice) "Would you like to uninstall these ports?" "" $unnecessary_names]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[llength $retstring] > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    foreach i $retstring {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set name [lindex $unnecessary_names $i]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set port $ports($name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ui_msg "Uninstalling: $name"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        # Note: 'uninstall' takes a name, version, revision, variants and an options list. 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {${retval} == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach port $unnecessary_ports {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        # Note: 'uninstall' takes a name, version, revision, variants and an options list.
</span>                         try -pass_signal {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                            registry_uninstall::uninstall [$port name] [$port version] [$port revision] [$port variants] {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            registry_uninstall::uninstall [$port name] [$port version] [$port revision] [$port variants] {ports_force true}
</span>                         } catch {{*} eCode eMessage} {
                             ui_error "Error uninstalling $name: $eMessage"
                         }
</pre><pre style='margin:0'>

</pre>