Ignore:
Timestamp:
Aug 6, 2005, 6:04:25 AM (13 years ago)
Author:
pguyot (Paul Guyot)
Message:

Fix dependency bug.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/src/port1.0/portutil.tcl

    r13219 r13377  
    648648                        # Check dependencies.
    649649                        if {([info exists ports_trace] && $ports_trace == "yes")} {
    650                                 set deps_run {}
    651                                 set deps_lib {}
    652                                 set deps_build {}
    653 
    654                                 if {[info exists PortInfo(depends_run)]} {
    655                                         set deps_run $PortInfo(depends_run)
     650                                set depends {}
     651                                set deptypes {}
     652                               
     653                                # Determine deptypes to look for based on target
     654                                switch $target {
     655                                        configure       { set deptypes "depends_lib" }
     656                                       
     657                                        build           { set deptypes "depends_lib depends_build" }
     658                                       
     659                                        destroot        -
     660                                        install         -
     661                                        archive         -
     662                                        pkg                     -
     663                                        mpkg            -
     664                                        rpmpackage      -
     665                                        dpkg            -
     666                                        ""                      { set deptypes "depends_lib depends_build depends_run" }
    656667                                }
    657                                 if {[info exists PortInfo(depends_lib)]} {
    658                                         set deps_lib $PortInfo(depends_lib)
     668                               
     669                                # Gather the dependencies for deptypes
     670                                foreach deptype $deptypes {
     671                                        # Add to the list of dependencies if the option exists and isn't empty.
     672                                        if {[info exists portinfo($deptype)] && $portinfo($deptype) != ""} {
     673                                                set depends [concat $depends $portinfo($deptype)]
     674                                        }
    659675                                }
    660                                 if {[info exists PortInfo(depends_build)]} {
    661                                         set deps_build $PortInfo(depends_build)
    662                                 }
    663                                 set target [ditem_key $ditem provides]
    664                                 set deps {}
    665                                 if {$target == "configure"} {
    666                                         set deps $deps_lib
    667                                 } elseif {$target == "build"} {
    668                                         set deps $deps_lib
    669                                         lappend deps $deps_build
    670                                 } elseif {$target == "destroot"} {
    671                                         set deps $deps_lib
    672                                         lappend deps $deps_build
    673                                         lappend deps $deps_run
    674                                 } elseif {$target == "install"} {
    675                                         set deps $deps_lib
    676                                         lappend deps $deps_build
    677                                         lappend deps $deps_run
    678                                 } elseif {$target == "package"} {
    679                                         set deps $deps_lib
    680                                         lappend deps $deps_build
    681                                         lappend deps $deps_run
    682                                 }
     676
    683677                                # Dependencies are in the form verb:[param:]port
    684678                                set depsPorts {}
    685679                                foreach dep $deps {
    686                                         lappend depsPorts [lindex [split [lindex $dep 0] :] end]
     680                                        # grab the portname portion of the depspec
     681                                        set portname [lindex [split $depspec :] end]
     682                                        lappend depsPorts $portname
    687683                                }
    688684                                trace_check_deps $depsPorts
Note: See TracChangeset for help on using the changeset viewer.