Changeset 8449


Ignore:
Timestamp:
Sep 27, 2004, 3:50:11 AM (15 years ago)
Author:
wbb4
Message:

Bug:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

Added 'port info' to print metadata about portfiles. This isn't as pretty as it might want to be, but it works for now.

Location:
trunk/base/src/port
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/src/port/port.1

    r8377 r8449  
    9595.Dl deps
    9696.Dl variants
     97.Dl info
    9798.Pp
    9899Besides the main targets
     
    190191.Dl "port variants php"
    191192.Pp
     193To view all of a port's metadata:
     194.Pp
     195.Dl "port info vim"
     196.Pp
    192197The following demonstrates invoking
    193198.Nm
  • trunk/base/src/port/port.tcl

    r8218 r8449  
    199199
    200200switch -- $action {
     201        info {
     202                if {![info exists portname]} {
     203                        puts "You must specify a port"
     204                        exit 1
     205                }
     206       
     207                # search for port
     208                if {[catch {dportsearch ^$portname$} result]} {
     209                        puts "port search failed: $result"
     210                        exit 1
     211                }
     212       
     213                if {$result == ""} {
     214                        puts "No port $portname found."
     215                } else {
     216                        array set portinfo [lindex $result 1]
     217
     218                        puts -nonewline "$portname $portinfo(version)"
     219                        if {[info exists portinfo(revision)] && $portinfo(revision) > 0} {
     220                                puts -nonewline ", Revision $portinfo(revision)"
     221                        }
     222                        if {[info exists portinfo(variants)]} {
     223                                puts -nonewline " (Variants: "
     224                                for {set i 0} {$i < [llength $portinfo(variants)]} {incr i} {
     225                                        if {$i > 0} { puts -nonewline ", " }
     226                                        puts -nonewline "[lindex $portinfo(variants) $i]"
     227                                }
     228                                puts -nonewline ")"
     229                        }
     230                        puts ""
     231                        if {[info exists portinfo(homepage)]} {
     232                                puts "$portinfo(homepage)"
     233                        }
     234       
     235                        puts "\n$portinfo(long_description)\n"
     236
     237                        # find build dependencies
     238                        if {[info exists portinfo(depends_build)]} {
     239                                puts -nonewline "Build Dependencies: "
     240                                for {set i 0} {$i < [llength $portinfo(depends_build)]} {incr i} {
     241                                        if {$i > 0} { puts -nonewline ", " }
     242                                        puts -nonewline "[lindex [split [lindex $portinfo(depends_build) $i] :] 2]"
     243                                }
     244                                set nodeps false
     245                                puts ""
     246                        }
     247       
     248                        # find library dependencies
     249                        if {[info exists portinfo(depends_lib)]} {
     250                                puts -nonewline "Library Dependencies: "
     251                                for {set i 0} {$i < [llength $portinfo(depends_lib)]} {incr i} {
     252                                        if {$i > 0} { puts -nonewline ", " }
     253                                        puts -nonewline "[lindex [split [lindex $portinfo(depends_lib) $i] :] 2]"
     254                                }
     255                                set nodeps false
     256                                puts ""
     257                        }
     258       
     259                        # find runtime dependencies
     260                        if {[info exists portinfo(depends_run)]} {
     261                                puts -nonewline "Runtime Dependencies: "
     262                                for {set i 0} {$i < [llength $portinfo(depends_run)]} {incr i} {
     263                                        if {$i > 0} { puts -nonewline ", " }
     264                                        puts -nonewline "[lindex [split [lindex $portinfo(depends_run) $i] :] 2]"
     265                                }
     266                                set nodeps false
     267                                puts ""
     268                        }
     269                        if {[info exists portinfo(platforms)]} { puts "Platforms: $portinfo(platforms)"}
     270                        if {[info exists portinfo(maintainers)]} { puts "Maintainers: $portinfo(maintainers)"}
     271
     272                }
     273        }
    201274        location {
    202275                if { ![info exists portname] } {
Note: See TracChangeset for help on using the changeset viewer.