Changeset 131633


Ignore:
Timestamp:
Jan 15, 2015, 10:22:41 AM (5 years ago)
Author:
jmr@…
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)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/src/registry2.0/portuninstall.tcl

    r131613 r131633  
    305305        for {set j 0} {$j < [llength $alldeps]} {incr j} {
    306306            set dep [lindex $alldeps $j]
     307            set uninstalling_this_dep 0
    307308            if {![catch {set ilist [registry::installed $dep]}]} {
    308309                foreach i $ilist {
    309                     set dependents {}
    310310                    set iversion [lindex $i 1]
    311311                    set irevision [lindex $i 2]
     
    314314                    if {![registry::property_retrieve $regref requested]} {
    315315                        set dependentlist [registry::list_dependents $dep $iversion $irevision $ivariants]
     316                        set dependents {}
    316317                        foreach depdt $dependentlist {
    317318                            lappend dependents [lindex $depdt 2]
     
    327328                            lappend uports $dep
    328329                            lappend portilist $dep@${iversion}_${irevision}${ivariants}
     330                            set uninstalling_this_dep 1
    329331                        }
    330332                    }
    331333                }
    332334            }
    333             set deprefs [registry::entry imaged $dep]
    334             foreach depref $deprefs {
    335                 set depdeps [registry_uninstall::generate_deplist $depref $optionslist]
    336                 foreach d $depdeps {
    337                     if {[lsearch -exact $alldeps $d] == -1} {
    338                         lappend alldeps $d
     335            if {$uninstalling_this_dep} {
     336                set deprefs [registry::entry imaged $dep]
     337                foreach depref $deprefs {
     338                    set depdeps [registry_uninstall::generate_deplist $depref $optionslist]
     339                    foreach d $depdeps {
     340                        if {[lsearch -exact $alldeps $d] == -1} {
     341                            lappend alldeps $d
     342                        }
    339343                    }
    340344                }
Note: See TracChangeset for help on using the changeset viewer.