Ticket #2421: port.tcl.diff

File port.tcl.diff, 1.2 KB (added by francisga@…, 17 years ago)

Make -R work with 'port fetch'. Applied against version 1.320.

  • port.tcl

    old new  
    20062006                        ui_debug "$errorInfo"
    20072007                        break_softcontinue "Unable to open port: $result" 1 status
    20082008                }
     2009               
     2010                # Make the -R switch work for fetch
     2011                if { $target == "fetch" && [info exists options(ports_do_dependents)]} {
     2012                        if {[dportdepends $workername] != 0} {
     2013                                break_softcontinue "Unable to determine dependents: $result" 1 status
     2014                        }
     2015                        # Build a list of dependencies to be fetched
     2016                        set dlist [dlist_append_dependents $darwinports::open_dports $workername {}]
     2017                        # Delete the port itself, because will be fetched after this block.
     2018                        dlist_delete dlist $workername
     2019                       
     2020                        foreach dport $dlist {
     2021                        # XXX code duplication. not sure how to refactor without touching everything
     2022                                if {[catch {set result [dportexec $dport "fetch"]} result]} {
     2023                                        global errorInfo
     2024                                        dportclose $dport
     2025                                        ui_debug "$errorInfo"
     2026                                        break_softcontinue "Unable to fetch port: $result" 1 status
     2027                                }
     2028                                dportclose $dport
     2029                        }
     2030                }
     2031               
    20092032                if {[catch {set result [dportexec $workername $target]} result]} {
    20102033                        global errorInfo
    20112034                        dportclose $workername