mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-24 11:41:58 +00:00
93 lines
1.2 KiB
Awk
93 lines
1.2 KiB
Awk
|
# Summarize the installation log, printing errors along with
|
||
|
# enough context to make sense of them.
|
||
|
|
||
|
BEGIN {
|
||
|
# print verbose
|
||
|
cd = ""
|
||
|
out = "/dev/stdout";
|
||
|
}
|
||
|
|
||
|
debug { print "# " $0 }
|
||
|
|
||
|
/^$/ { next }
|
||
|
|
||
|
/^\* /{
|
||
|
if(debug) print "% mark"
|
||
|
print >out
|
||
|
fflush(out)
|
||
|
cmd = ""
|
||
|
printtabs = 1 # print indented lines immediately following
|
||
|
errors = 0
|
||
|
next
|
||
|
}
|
||
|
|
||
|
/^ / && printtabs {
|
||
|
print >out
|
||
|
fflush(out)
|
||
|
next
|
||
|
}
|
||
|
|
||
|
{ printtabs = 0 }
|
||
|
|
||
|
/^(9a|9c|9l|9ar|9?install|cp|rm|mv|mk|9 yacc|9 lex|9 rc|do|for i|if|mk|gcc|cpp|cp|sh|cmp|rc|\.\/o)($|[^:])/ {
|
||
|
if(debug) print "% start"
|
||
|
errors = 0
|
||
|
cmd = ""
|
||
|
if(!verbose)
|
||
|
cmd = cmd cd
|
||
|
cmd = cmd $0 "\n"
|
||
|
next
|
||
|
}
|
||
|
|
||
|
/^cd / {
|
||
|
if(debug) print "% cd"
|
||
|
errors = 0
|
||
|
if(verbose){
|
||
|
print >out
|
||
|
fflush(out)
|
||
|
}
|
||
|
cd = $0 "\n"
|
||
|
cmd = ""
|
||
|
next
|
||
|
}
|
||
|
|
||
|
{
|
||
|
cmd = cmd $0 "\n"
|
||
|
}
|
||
|
|
||
|
errors {
|
||
|
if(debug) print "% errors"
|
||
|
printf "%s", cmd >out
|
||
|
fflush(out)
|
||
|
cmd = ""
|
||
|
next
|
||
|
}
|
||
|
|
||
|
/^( |then|else|fi|done|[ar] - [^ ]*\.o$)/ {
|
||
|
next
|
||
|
}
|
||
|
|
||
|
/^(up to date|nothing to see|assuming it will be|loop not entered|conflicts:)/ {
|
||
|
if(debug) print "% skip1"
|
||
|
next
|
||
|
}
|
||
|
|
||
|
/is up to date/ {
|
||
|
next
|
||
|
}
|
||
|
|
||
|
/(nodes\(%e\)|packed transitions)/ {
|
||
|
if(debug) print "% skip2"
|
||
|
next
|
||
|
}
|
||
|
|
||
|
{
|
||
|
# unexpected line
|
||
|
if(debug) print "% errors1"
|
||
|
errors = 1
|
||
|
printf ">>> %s", cmd >out
|
||
|
fflush(out)
|
||
|
cmd = ""
|
||
|
}
|
||
|
|