| # Summarize the installation log, printing errors along with |
| # enough context to make sense of them. |
| |
| BEGIN { |
| # print verbose |
| cd = "" |
| out = "/dev/stdout" |
| debug = 0 |
| } |
| |
| debug!=0 { print "# " $0 } |
| |
| /^$/ { next } |
| |
| /^echo cd / { next } |
| /^\+\+ pwd/ { next } |
| |
| /^\* /{ |
| if(debug) print "% mark" |
| print >out |
| fflush(out) |
| cmd = "" |
| printtabs = 1 # print indented lines immediately following |
| errors = 0 |
| next |
| } |
| |
| /^ / && printtabs!=0 { |
| 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 != 0 { |
| if(debug) print "% errors" |
| printf "%s", cmd >out |
| fflush(out) |
| cmd = "" |
| next |
| } |
| |
| /^( |then|else|fi|done|[ar] - [^ ]*\.o$)/ { |
| next |
| } |
| |
| /^(conflicts:)/ { |
| if(debug) print "% skip1" |
| next |
| } |
| |
| /(up to date|nothing to see|assuming it will be|loop not entered)/ { |
| 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 = "" |
| } |
| |