1 | Index: base/src/port/port.tcl |
---|
2 | =================================================================== |
---|
3 | RCS file: /Volumes/src/cvs/od/proj/darwinports/base/src/port/port.tcl,v |
---|
4 | retrieving revision 1.64 |
---|
5 | diff -u -r1.64 port.tcl |
---|
6 | --- base/src/port/port.tcl 12 Dec 2004 01:12:27 -0000 1.64 |
---|
7 | +++ base/src/port/port.tcl 12 Dec 2004 01:51:14 -0000 |
---|
8 | @@ -463,6 +463,10 @@ |
---|
9 | } |
---|
10 | } |
---|
11 | installed { |
---|
12 | + # Look for recreate mode |
---|
13 | + set recreate [info exists options(ports_installed_recreate)] |
---|
14 | + |
---|
15 | + # If a port name is given, only look for that one, else consider all installed ports |
---|
16 | if { [info exists portname] } { |
---|
17 | if { [catch {set ilist [registry::installed $portname]} result] } { |
---|
18 | if {$result == "Registry error: $portname not registered as installed."} { |
---|
19 | @@ -492,11 +496,25 @@ |
---|
20 | set irevision [lindex $i 2] |
---|
21 | set ivariants [lindex $i 3] |
---|
22 | set iactive [lindex $i 4] |
---|
23 | - if { $iactive == 0 } { |
---|
24 | - puts " $iname ${iversion}_${irevision}${ivariants}" |
---|
25 | - } elseif { $iactive == 1 } { |
---|
26 | - puts " $iname ${iversion}_${irevision}${ivariants} (active)" |
---|
27 | - } |
---|
28 | + |
---|
29 | + if {$recreate} { |
---|
30 | + # In recreate mode we emit a sequence of commands sufficient to reinstall the |
---|
31 | + # installed ports |
---|
32 | + |
---|
33 | + # !!! Need to handle direct mode here, where active is always false !!! |
---|
34 | + # !!! Or else (better?) the registry should be changed to know that such ports are always active !!! |
---|
35 | + if { $iactive == 1 } { |
---|
36 | + set variants [regsub -all {([-+])} $ivariants { \1}] |
---|
37 | + puts "port install $iname$variants # ${iversion}_${irevision}" |
---|
38 | + } |
---|
39 | + } else { |
---|
40 | + # Report on the port |
---|
41 | + if { $iactive == 0 } { |
---|
42 | + puts " $iname ${iversion}_${irevision}${ivariants}" |
---|
43 | + } elseif { $iactive == 1 } { |
---|
44 | + puts " $iname ${iversion}_${irevision}${ivariants} (active)" |
---|
45 | + } |
---|
46 | + } |
---|
47 | } |
---|
48 | } else { |
---|
49 | exit 1 |
---|