more accurate:
* The tests for "Cannot stat", "can't cd", and "tar command failed" are moved
to the bottom. This will sacrifice a little bit of performance for a gain
in accuracy
* The tests for "configuration errors" needed to be combined and tweaked to
better identify errors that are architecture-specific (usuallly the
"all pointers are ints" assumption)
* The detection of chown was buggy
* There were some duplicate test cases
* As an experiment, another test for dependency problems is added
PR: 61914
Submitted by: linimon
encountered again, nad having it in there slows performance. However,
I'm leaving it in the file in case a bad bindist slips back in, and it
becomes convenient to uncomment this for purposes of seeing what build
failures are cluster-related.
Requested by: kris
processonelog script, that contains all the per-errorlog logic [1]
* Add new error checks, one for detecting CPU problems, and the other for
checking for broken libgnugetopt support [2]
* Add a new "munmap" error type to check for broken bindists
* Add imake and pthread detection to processonelog [3]
* Add errortype column to the bento "New Build Failures" report [4]
PR: 50258 56859 [1]
54406 [2]
57067 [3]
59272 [4]
Submitted by: linimon [1] [2] [3] [4]
is full
* The newfailure file is no longer maintained, but generated as-needed
by the processfail script
* Update format of failure file (records both initial failure date and
most recent failure date)
of stale entries (removed ports, ports listed in duds that were mistakenly
built, malformed entries) and refreshes the version of entries to the
latest in INDEX. This must be run under lockf (see the comments in the
script) to avoid racing with portbuild which also tries to write to
these files.
processing (e.g. transfer to ftp site). It was taking up too much disk
space to collect distfiles for 14 architecture/version combinations
(including the backup set from the previous run).
Put the cvsdone files in the arch/branch subdirectory, not arch/.
of having the clients scp their loads to bento every 10 seconds. Fix
some indentation and add some sleeps to make sure the startup script
doesn't run too early in the boot process.
Add some new command-line options:
* -continue : restart the build without rebuilding ports that have
already failed
* -nofinish : don't run the post-processing steps when the build finishes
* -finish : run the post-processing steps only
Reorder some code sections appropriately
- Set the UNAME_* variables to make use of the override support in uname(1)
This allows us to get rid of the uname shell script in the build chroots
- Collect some variables that are probably old and mouldy, for later GCing
- If FETCH_ORIGINAL is set in the environment, don't fetch from ftp-master
in portbuild.conf). [1]
* Build stage 2 builds in a jail instead of a chroot. This allows us to
detect ports that attempt IP communication during the build, as well as
allowing clean termination of the port build (packages built in a chroot
can leave processes hanging around after the build finishes). There
are some caveats with this approach which will be worked around in a
future commit.
Requested by: peter [1]
are now collected by polling a small server on the client (using netcat)
instead of having the client scp the load files to the master every 10
seconds (!!!)
- Call processfail to produce 'new port failures' page
- Comment out the 'comparelogs' calls for now until I make them aware
of architectures that don't have 4.x support
and 'buildfailure' and produce a HTML output listing ports with the date
they became broken. The output can surely be made more useful (e.g. it
always links to the ${branch}-latest logs, which may not exist when the
build-in-progress has not yet attempted the build of that port).
keep track of the number of times a port has failed to build, resetting
the counter when it builds successfully. There are still some bugs to be
worked out, but this will be used as the basis for maintainer notification
of port failures.
- Increase timeout to 2 hours (needs to be arch-specific)
- Mount nfs filesystems with nfsv3,intr (the latter so that clients do
not hang if bento panics)
- Run pnohang.${arch} on clients instead of pnohang
- Support builds as non-privileged user
- Increase timeout to 8 hours (this needs to be made per-arch so it
doesn't overly pessimize fast client machines)
- Support building as a non-privileged user