Ticket #2162: base.deps_receipts.diff

File base.deps_receipts.diff, 1.6 KB (added by opendarwin.org@…, 20 years ago)

change deps search to use registry::installed

  • base/src/darwinports1.0/darwinports.tcl

    RCS file: /Volumes/src/cvs/od/projects/darwinports/base/src/darwinports1.0/darwinports.tcl,v
    retrieving revision 1.131
    diff -u -r1.131 darwinports.tcl
     
    244244        $workername alias registry_register_deps registry::register_dependencies
    245245        $workername alias registry_fileinfo_for_index registry::fileinfo_for_index
    246246        $workername alias registry_bulk_register_files registry::register_bulk_files
     247        $workername alias registry_installed registry::installed
    247248
    248249    foreach opt $portinterp_options {
    249250        if {![info exists $opt]} {
     
    548549proc _dportispresent {dport depspec} {
    549550        # Check for the presense of the port in the registry
    550551        set workername [ditem_key $dport workername]
    551         set res [$workername eval registry_exists \${portname} \${portversion}]
     552        ui_debug "Searching for dependency: [ditem_key $dport provides]"
     553        if {[catch {set reslist [$workername eval registry_installed \${portname}]} res]} {
     554                set res 0
     555        } else {
     556                set res [llength $reslist]
     557        }
    552558        if {$res != 0} {
    553559                ui_debug "Found Dependency: receipt exists for [ditem_key $dport provides]"
    554560                return 1
    555561        } else {
    556562                # The receipt test failed, use one of the depspec regex mechanisms
     563                ui_debug "Didn't find receipt, going to depspec regex for: [ditem_key $dport provides]"
    557564                set type [lindex [split $depspec :] 0]
    558565                switch $type {
    559566                        lib { return [_libtest $dport $depspec] }