[131633] trunk/base/src/registry2.0/portuninstall.tcl

jmr at macports.org jmr at macports.org
Thu Jan 15 02:22:41 PST 2015


Revision: 131633
          https://trac.macports.org/changeset/131633
Author:   jmr at macports.org
Date:     2015-01-15 02:22:41 -0800 (Thu, 15 Jan 2015)
Log Message:
-----------
when following dependencies in uninstall, don't keep following deps of ports that have dependents or are requested (this is the behaviour of previous releases)

Modified Paths:
--------------
    trunk/base/src/registry2.0/portuninstall.tcl

Modified: trunk/base/src/registry2.0/portuninstall.tcl
===================================================================
--- trunk/base/src/registry2.0/portuninstall.tcl	2015-01-15 10:18:56 UTC (rev 131632)
+++ trunk/base/src/registry2.0/portuninstall.tcl	2015-01-15 10:22:41 UTC (rev 131633)
@@ -304,15 +304,16 @@
         set portilist {}
         for {set j 0} {$j < [llength $alldeps]} {incr j} {
             set dep [lindex $alldeps $j]
+            set uninstalling_this_dep 0
             if {![catch {set ilist [registry::installed $dep]}]} {
                 foreach i $ilist {
-                    set dependents {}
                     set iversion [lindex $i 1]
                     set irevision [lindex $i 2]
                     set ivariants [lindex $i 3]
                     set regref [registry::open_entry $dep $iversion $irevision $ivariants [lindex $i 5]]
                     if {![registry::property_retrieve $regref requested]} {
                         set dependentlist [registry::list_dependents $dep $iversion $irevision $ivariants]
+                        set dependents {}
                         foreach depdt $dependentlist {
                             lappend dependents [lindex $depdt 2]
                         }
@@ -326,16 +327,19 @@
                         if {$all_dependents_uninstalling} {
                             lappend uports $dep
                             lappend portilist $dep@${iversion}_${irevision}${ivariants}
+                            set uninstalling_this_dep 1
                         }
                     }
                 }
             }
-            set deprefs [registry::entry imaged $dep]
-            foreach depref $deprefs {
-                set depdeps [registry_uninstall::generate_deplist $depref $optionslist]
-                foreach d $depdeps {
-                    if {[lsearch -exact $alldeps $d] == -1} {
-                        lappend alldeps $d 
+            if {$uninstalling_this_dep} {
+                set deprefs [registry::entry imaged $dep]
+                foreach depref $deprefs {
+                    set depdeps [registry_uninstall::generate_deplist $depref $optionslist]
+                    foreach d $depdeps {
+                        if {[lsearch -exact $alldeps $d] == -1} {
+                            lappend alldeps $d 
+                        }
                     }
                 }
             }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150115/f21e67e5/attachment-0001.html>


More information about the macports-changes mailing list