1 dc794ede 2005-11-26 devnull # Summarize the installation log, printing errors along with
2 dc794ede 2005-11-26 devnull # enough context to make sense of them.
5 dc794ede 2005-11-26 devnull # print verbose
7 5348a601 2005-12-15 devnull out = "/dev/stdout"
8 32a580f4 2006-07-23 devnull statuslen = 0
10 32a580f4 2006-07-23 devnull updates = "/dev/stderr"
11 497cd6b4 2012-10-20 rsc if(ENVIRON["winid"] != "") # running in acme window
15 7c8e7ef4 2008-12-06 rsc function myflush(f)
17 7c8e7ef4 2008-12-06 rsc # fflush is not available on sun, but system("") appears to work everywhere
21 4a8429a2 2008-12-01 trisk function clearstatus(noflush, i)
23 32a580f4 2006-07-23 devnull if(!updates)
25 32a580f4 2006-07-23 devnull for(i=0; i<statuslen; i++)
26 32a580f4 2006-07-23 devnull printf("\b \b") >updates
27 32a580f4 2006-07-23 devnull statuslen = 0
28 5fa03291 2006-07-23 devnull if(!noflush)
29 7c8e7ef4 2008-12-06 rsc myflush(updates)
32 32a580f4 2006-07-23 devnull function status(s)
34 32a580f4 2006-07-23 devnull if(!updates)
36 5fa03291 2006-07-23 devnull clearstatus(1)
37 32a580f4 2006-07-23 devnull printf(" %s ", s) >updates
38 32a580f4 2006-07-23 devnull statuslen = length(s)+5
39 7c8e7ef4 2008-12-06 rsc myflush(updates)
42 5348a601 2005-12-15 devnull debug!=0 { print "# " $0 }
44 dc794ede 2005-11-26 devnull /^$/ { next }
46 6637b803 2005-11-28 devnull /^echo cd / { next }
47 6637b803 2005-11-28 devnull /^\+\+ pwd/ { next }
50 32a580f4 2006-07-23 devnull clearstatus()
51 dc794ede 2005-11-26 devnull if(debug) print "% mark"
52 dc794ede 2005-11-26 devnull print >out
54 32a580f4 2006-07-23 devnull if(copy){
55 32a580f4 2006-07-23 devnull print >copy
56 7c8e7ef4 2008-12-06 rsc myflush(copy)
59 dc794ede 2005-11-26 devnull printtabs = 1 # print indented lines immediately following
60 dc794ede 2005-11-26 devnull errors = 0
64 5348a601 2005-12-15 devnull /^ / && printtabs!=0 {
65 32a580f4 2006-07-23 devnull clearstatus()
66 dc794ede 2005-11-26 devnull print >out
68 32a580f4 2006-07-23 devnull if(copy){
69 32a580f4 2006-07-23 devnull print >copy
70 7c8e7ef4 2008-12-06 rsc myflush(copy)
75 dc794ede 2005-11-26 devnull { printtabs = 0 }
77 77809fb0 2008-05-10 rsc /^(9a|9c|9l|9ar|9?install|cat pdf|cp|rm|mv|mk|9 yacc|9 lex|9 rc|do|for i|if|mk|gcc|cpp|cp|sh|cmp|rc|\.\/o)($|[^:])/ {
78 dc794ede 2005-11-26 devnull if(debug) print "% start"
79 dc794ede 2005-11-26 devnull errors = 0
81 dc794ede 2005-11-26 devnull if(!verbose)
82 dc794ede 2005-11-26 devnull cmd = cmd cd
83 dc794ede 2005-11-26 devnull cmd = cmd $0 "\n"
87 5fa03291 2006-07-23 devnull /^cd .+; mk .+/ && !verbose {
89 5fa03291 2006-07-23 devnull sub(/;$/, "", dir)
90 5fa03291 2006-07-23 devnull status(dir " mk " $4)
94 dc794ede 2005-11-26 devnull if(debug) print "% cd"
95 dc794ede 2005-11-26 devnull errors = 0
96 dc794ede 2005-11-26 devnull if(verbose){
97 dc794ede 2005-11-26 devnull print >out
99 32a580f4 2006-07-23 devnull if(copy){
100 32a580f4 2006-07-23 devnull print >copy
101 7c8e7ef4 2008-12-06 rsc myflush(copy)
104 dc794ede 2005-11-26 devnull cd = $0 "\n"
105 dc794ede 2005-11-26 devnull cmd = ""
110 dc794ede 2005-11-26 devnull cmd = cmd $0 "\n"
113 5348a601 2005-12-15 devnull errors != 0 {
114 32a580f4 2006-07-23 devnull clearstatus()
115 dc794ede 2005-11-26 devnull if(debug) print "% errors"
116 dc794ede 2005-11-26 devnull printf "%s", cmd >out
117 7c8e7ef4 2008-12-06 rsc myflush(out)
118 32a580f4 2006-07-23 devnull if(copy){
119 32a580f4 2006-07-23 devnull printf "%s", cmd >copy
120 7c8e7ef4 2008-12-06 rsc myflush(copy)
122 dc794ede 2005-11-26 devnull cmd = ""
126 dc794ede 2005-11-26 devnull /^( |then|else|fi|done|[ar] - [^ ]*\.o$)/ {
130 5348a601 2005-12-15 devnull /^(conflicts:)/ {
131 dc794ede 2005-11-26 devnull if(debug) print "% skip1"
135 ad2d4950 2018-11-16 rsc /(up to date|nothing to see|assuming it will be|loop not entered|# WSYSTYPE)/ {
139 dc794ede 2005-11-26 devnull /(nodes\(%e\)|packed transitions)/ {
140 dc794ede 2005-11-26 devnull if(debug) print "% skip2"
145 dc794ede 2005-11-26 devnull # unexpected line
146 32a580f4 2006-07-23 devnull clearstatus()
147 dc794ede 2005-11-26 devnull if(debug) print "% errors1"
148 dc794ede 2005-11-26 devnull errors = 1
149 dc794ede 2005-11-26 devnull printf ">>> %s", cmd >out
150 7c8e7ef4 2008-12-06 rsc myflush(out)
151 32a580f4 2006-07-23 devnull if(copy){
152 32a580f4 2006-07-23 devnull printf ">>> %s", cmd >copy
153 7c8e7ef4 2008-12-06 rsc myflush(copy)
155 dc794ede 2005-11-26 devnull cmd = ""