Ignore:
Timestamp:
Jan 5, 2006, 6:40:56 AM (15 years ago)
Author:
olegb
Message:

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

Add

  • New target: "dependents"
  • New switch: "-R" for upgrading dependents
  • Make upgrade look up force for forcefully upgrading (or re-installing)
  • Documenting the above in port.1
File:
1 edited

Legend:

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

    r15665 r15691  
    33exec @TCLSH@ "$0" "$@"
    44# port.tcl
    5 # $Id: port.tcl,v 1.145 2006/01/01 15:24:48 olegb Exp $
     5# $Id: port.tcl,v 1.146 2006/01/05 06:40:56 olegb Exp $
    66#
    77# Copyright (c) 2004 Robert Shaw <rshaw@opendarwin.org>
     
    139139proc print_usage args {
    140140        global cmdname
    141         set usage { [-vdqfonsbcktu] [-D portdir] action [actionflags]
     141        set usage { [-vdqfonRsbcktu] [-D portdir] action [actionflags]
    142142[[portname|pseudo-portname|port-url] [@version] [+-variant]... [option=value]...]...
    143143}
     
    151151        global cmdname
    152152       
    153         set help { [-vdqfonsbcktu] [-D portdir] action [actionflags]
     153        set help { [-vdqfonRsbcktu] [-D portdir] action [actionflags]
    154154[[portname|pseudo-portname|port-url] [@version] [+-variant]... [option=value]...]...
    155155       
     
    157157        help, info, location, provides, activate, deactivate, selfupdate, upgrade,
    158158        version, compact, uncompact, uninstall, installed, outdated, contents, deps,
    159         variants, search, list, echo, sync, dir, url, file, cat, edit,
     159        dependents, variants, search, list, echo, sync, dir, url, file, cat, edit,
    160160        fetch, patch, extract, build, destroot, install, test.
    161161       
     
    11181118                                o { set global_options(ports_ignore_older) yes  }
    11191119                                n { set global_options(ports_nodeps) yes                }
     1120                                R { set global_options(ports_do_dependents) yes }
    11201121                                u { set global_options(port_uninstall_old) yes  }
    11211122                                s { set global_options(ports_source_only) yes   }
     
    13481349                }
    13491350        }
    1350        
     1351
     1352        dependents {
     1353                require_portlist
     1354
     1355                foreachport $portlist {
     1356                        registry::open_dep_map
     1357                set deplist [registry::list_dependents $portname]
     1358
     1359                if { [llength $deplist] > 0 } {
     1360                        set dl [list]
     1361                        # Check the deps first
     1362                        foreach dep $deplist {
     1363                                set depport [lindex $dep 2]
     1364                                ui_msg "$depport depends on $portname"
     1365                                # xxx: Should look at making registry::installed return 0 or
     1366                                # something instead  of erroring.
     1367                                if { ![catch {set installed [registry::installed $depport]} res] } {
     1368                                        if { [llength [registry::installed $depport]] > 0 } {
     1369                                                lappend dl $depport
     1370                                        }
     1371                                        }
     1372                                }
     1373                } else {
     1374                                ui_msg "$portname has no dependents!"
     1375                        }
     1376                }
     1377        }
     1378
    13511379        upgrade {
    13521380        # Otherwise if the user has supplied no ports we'll use the current port
Note: See TracChangeset for help on using the changeset viewer.