diff.out 000644 000000 000000 00000000373 12170103524 012614 0 ustar 00root wheel 000000 000000 1766c1766,1767
< badd ports.failed "${port} ${PKGNAME} ${failed_phase}"
---
> errortype=`${SCRIPTPREFIX}/processonelog.sh ${log}/logs/errors/${PKGNAME}.log 2> /tmp/dammit`
> badd ports.failed "${port} ${PKGNAME} ${failed_phase} ${errortype}"
awk/diff.out 000644 000000 000000 00000000075 12170103461 013375 0 ustar 00root wheel 000000 000000 57a58
> print "\"errortype\":\"" build_reasons[4] "\","
html/assets/diff.out 000644 000000 000000 00000000242 12170105373 015061 0 ustar 00root wheel 000000 000000 115c115
< html += "
" + format_log(row.pkgname, true, "logfile") + " | ";
---
> html += "" + format_log(row.pkgname, true, row.errortype) + " | ";
processonelog.sh 000755 000000 000000 00000033612 12170103727 014403 0 ustar 00root wheel 000000 000000 #!/bin/sh
# $FreeBSD$
#
# Read a single errorlogfile and output a reason.
#
# Originally factored out of portbuild's processonelog
# XXX MCL note: not up-to-date with:
# http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/portstools/tinderbox/sql/values.{lp|pfp|pfr}
filename=$1
if bzgrep -qE "(Error: mtree file ./etc/mtree/BSD.local.dist. is missing|error in pkg_delete|filesystem was touched prior to .make install|list of extra files and directories|list of files present before this port was installed|list of filesystem changes from before and after)" $1; then
reason="mtree"
# note: must run before the configure_error check
elif bzgrep -qE "Configuration .* not supported" $1; then
reason="arch"
elif bzgrep -qE '(configure: error:|Script.*configure.*failed unexpectedly|script.*failed: here are the contents of)' $1; then
if bzgrep -qE "configure: error: cpu .* not supported" $1; then
reason="arch"
elif bzgrep -qE "configure: error: [Pp]erl (5.* required|version too old)" $1; then
reason="perl"
elif bzgrep -q 'sem_wait: Invalid argument' $1; then
reason="sem_wait"
else
reason="configure_error"
fi
elif bzgrep -q "Couldn't fetch it - please try" $1; then
reason="fetch"
elif bzgrep -q "Error: shared library \".*\" does not exist" $1; then
reason="LIB_DEPENDS"
elif bzgrep -qE "\.(c|cc|cxx|cpp|h|y)[1-9:]+ .+\.[hH]: No such file" $1; then
reason="missing_header"
elif bzgrep -qE '(nested function.*declared but never defined|warning: nested extern declaration)' $1; then
reason="nested_declaration"
# note: must be run before compiler_error
elif bzgrep -q '#warning "this file includes ' $1; then
reason="termios"
# note: must be run before compiler_error
elif bzgrep -qE "(#error define UTMP_FILENAME in config.h|error: ._PATH_UTMP. undeclared|error: .struct utmpx. has no member named .ut_name|error: invalid application of .sizeof. to incomplete type .struct utmp|utmp.h> has been replaced by for instructions." $1; then
reason="gcc_bug"
elif bzgrep -qE "(missing separator|mixed implicit and normal rules|recipe commences before first target).*Stop" $1; then
reason="gmake"
elif bzgrep -qE "(Run-time system build failed for some reason|tar: Error opening archive: Failed to open.*No such file or directory)" $1; then
reason="install_error"
elif bzgrep -qE "(cc: .*libintl.*: No such file or directory|cc: ndbm\.so: No such file or directory|error: linker command failed|error: The X11 shared library could not be loaded|libtool: link: cannot find the library|relocation against dynamic symbol|Shared object.*not found, required by)" $1; then
reason="linker_error"
elif bzgrep -q "libtool: finish: invalid argument" $1; then
reason="libtool"
elif bzgrep -q "Could not create Makefile" $1; then
reason="makefile"
elif bzgrep -v "regression-test.continuing" $1 | grep -qE "make.*(cannot open [Mm]akefile|don.t know how to make|fatal errors encountered|No rule to make target|built-in)"; then
reason="makefile"
elif bzgrep -q "/usr/.*/man/.*: No such file or directory" $1; then
reason="manpage"
elif bzgrep -q "out of .* hunks .*--saving rejects to" $1; then
reason="patch"
elif bzgrep -qE "((perl|perl5.6.1):.*(not found|No such file or directory)|cp:.*site_perl: No such file or directory|perl(.*): Perl is not installed, try .pkg_add -r perl|Perl .* required--this is only version)" $1; then
reason="perl"
elif bzgrep -qE "(Abort trap|Bus error|Error 127|Killed: 9|Signal 1[01])" $1; then
reason="process_failed"
elif bzgrep -qE "(USER.*PID.*TIME.*COMMAND|pnohang: killing make package)" $1; then
reason="runaway_process"
elif bzgrep -qE "(/usr/bin/ld: cannot find -l(pthread|XThrStub)|cannot find -lc_r|Error: pthreads are required to build this package|Please install/update your POSIX threads (pthreads) library|requires.*thread support|: The -pthread option is deprecated)" $1; then
reason="threads"
elif bzgrep -qi 'read-only file system' $1; then
reason="WRKDIR"
# Although these can be fairly common, and thus in one sense ought to be
# earlier in the evaluation, in practice they are most often secondary
# types of errors, and thus need to be evaluated after all the specific
# cases.
elif bzgrep -qE 'cc1.*warnings being treated as errors' $1; then
reason="compiler_error"
elif bzgrep -q 'tar: Error exit delayed from previous errors' $1; then
reason="install_error"
elif bzgrep -q "Cannot stat: " $1; then
reason="configure_error"
elif bzgrep -q "error in dependency .*, exiting" $1; then
reason="depend_package"
elif bzgrep -q "/usr/bin/ld: cannot find -l" $1; then
reason="linker_error"
elif bzgrep -q "cd: can't cd to" $1; then
reason="NFS"
elif bzgrep -q "pkg_create: make_dist: tar command failed with code" $1; then
reason="PLIST"
elif bzgrep -q "Segmentation fault" $1; then
reason="segfault"
# note: searching for string-not-found here (builds that terminated early)
elif ! bzgrep -qE "^build of .* ended at" $1; then
reason="cluster"
else
reason="???"
fi
echo "$reason"