<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/a8a887c5b43771e9bb67ea6c655addc391277ea2">https://github.com/macports/macports-base/commit/a8a887c5b43771e9bb67ea6c655addc391277ea2</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a8a887c5b Simplify restore::deactivate_all, use in migrate
</span>a8a887c5b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a8a887c5b43771e9bb67ea6c655addc391277ea2
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri May 24 21:24:21 2024 +1000

<span style='display:block; white-space:pre;color:#404040;'>    Simplify restore::deactivate_all, use in migrate
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also fix reference to nonexistent portlist_sort_dependencies_later
</span><span style='display:block; white-space:pre;color:#404040;'>    proc.
</span>---
 src/macports1.0/migrate.tcl | 22 +++-------------------
 src/macports1.0/restore.tcl | 15 ++++++---------
 2 files changed, 9 insertions(+), 28 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/migrate.tcl b/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index bb9aef400..ff1b44780 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,7 +99,7 @@ namespace eval migrate {
</span>         ui_msg "Done: Snapshot '$id' : '$note' created at $datetime"
 
         ui_msg "Deactivating all ports..."
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        deactivate_installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        restore::deactivate_all
</span>         ui_msg "Uninstalling ports that need to be reinstalled..."
         uninstall_incompatible
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -122,30 +122,14 @@ namespace eval migrate {
</span>         return 0
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    ##
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Deactivate all installed ports for migration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # @return void on success, raises an error on failure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    proc deactivate_installed {} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set options {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set portlist [restore::portlist_sort_dependencies_later [registry::entry installed]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach port $portlist {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_msg "Deactivating: [$port name]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![registry::run_target $port deactivate $options]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    && [catch {portimage::deactivate [$port name] [$port version] [$port revision] [$port variants] $options} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ui_error "Error deactivating [$port name]: $result"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     ##
     # Uninstall installed ports that are not compatible with
     # the current platform
     #
     # @return void on success, raises an error on failure
     proc uninstall_incompatible {} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set options [dict create ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set portlist [restore::portlist_sort_dependencies_later [registry::entry imaged]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set options [dict create ports_nodepcheck 1 ports_force 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set portlist [restore::deactivation_order [registry::entry imaged]]
</span>         foreach port $portlist {
             # TODO: check archs match (needs open mport)
             if {![snapshot::_os_mismatch [$port os_platform] [$port os_major]]} {
<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 27146c385..f000ebb1b 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;'>@@ -247,15 +247,12 @@ namespace eval restore {
</span>     # Deactivate all installed ports in reverse dependency order so that as few
     # warnings as possible will be printed.
     proc deactivate_all {} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set portlist [deactivation_order [registry::entry imaged]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach port $portlist {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[$port state] eq "installed"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {![registry::run_target $port deactivate {ports_force 1}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {[catch {portimage::deactivate [$port name] [$port version] [$port revision] [$port variants] {ports_force 1}} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ui_warn "Failed to deactivate [$port name]: $result"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set options [dict create ports_nodepcheck 1 ports_force 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach port [registry::entry installed] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![registry::run_target $port deactivate $options]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[catch {portimage::deactivate [$port name] [$port version] [$port revision] [$port variants] $options} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_warn "Failed to deactivate [$port name]: $result"
</span>                 }
             }
         }
</pre><pre style='margin:0'>

</pre>