Revision: 81233 http://trac.macports.org/changeset/81233 Author: jmr@macports.org Date: 2011-07-27 17:33:31 -0700 (Wed, 27 Jul 2011) Log Message: ----------- mpab: add script to find subports Added Paths: ----------- contrib/mpab/subports.tcl Added: contrib/mpab/subports.tcl =================================================================== --- contrib/mpab/subports.tcl (rev 0) +++ contrib/mpab/subports.tcl 2011-07-28 00:33:31 UTC (rev 81233) @@ -0,0 +1,70 @@ +#!/usr/bin/tclsh +# +# Generates a list of the subports for the given port. +# +# Copyright (c) 2011 The MacPorts Project. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name of the MacPorts project, nor the names of any contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +# AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +if {[info exists env(PREFIX)]} { + set prefix $env(PREFIX) +} else { + set prefix /opt/local +} + +source ${prefix}/share/macports/Tcl/macports1.0/macports_fastload.tcl +package require macports + +if {[catch {mportinit "" "" ""} result]} { + ui_error "$errorInfo" + fatal "Failed to initialize ports sytem: $result" +} + +if {[llength $::argv] == 0} { + fatal "Usage: $argv0 <portname>" +} + +set portname [lindex $::argv 0] + +if {[catch {set one_result [mportlookup $portname]}]} { + fatal "lookup failed for port: $portname" +} +puts [lindex $one_result 0] +array set portinfo [lindex $one_result 1] +if {[info exists portinfo(porturl)]} { + if {[catch {set mport [mportopen $portinfo(porturl) "" ""]}]} { + ui_warn "failed to open port: $portname" + } else { + array unset portinfo + array set portinfo [mportinfo $mport] + if {[info exists portinfo(subports)]} { + foreach subport $portinfo(subports) { + puts $subport + } + } + } + catch {mportclose $mport} +} Property changes on: contrib/mpab/subports.tcl ___________________________________________________________________ Added: svn:executable + *
participants (1)
-
jmr@macports.org