Commit Graph

3302 Commits

Author SHA1 Message Date
espie
d4a9b9d633 use new functions to simplify 2013-01-10 11:56:53 +00:00
espie
dd11c9037a deleting DIST from child is pointless, do a proper finalize 2013-01-10 10:35:36 +00:00
espie
48c91e1d7f 'memoryhog' property: avoid starting two such jobs on the same host, if
possible (mostly to be used for moz stuff which gobbles huge amounts of
memory while linking)
2013-01-10 10:30:13 +00:00
espie
e2925ad3b7 zap info DIST if we don't actually need it. 2013-01-10 10:28:29 +00:00
espie
af0beabf88 a bit of refactoring: provide simple ways to check DPB_PROPERTIES without
having a hash element spring into existence, and to list jobs running on
the same host.
2013-01-10 10:26:34 +00:00
espie
ba805a9329 small optimization, fullpkgpath is expensive, and ordering by pkgpath is
vastly enough in the current case
2013-01-10 10:25:25 +00:00
brad
680490be39 Enable LLVM on mips64.
ok sthen@
2013-01-08 00:36:17 +00:00
espie
1e1cd224d5 don't bother outputting empty but defined variables.
this trims 1/3 of the lines from a dump-vars output...
2013-01-07 17:46:14 +00:00
espie
2a01640dd0 remove todo, affinity now works, and the rest turned out to be completely
not needed in practice
2013-01-07 11:05:17 +00:00
espie
bf5bef5235 document -X 2013-01-07 11:04:25 +00:00
espie
d0f75703ed pass -X paths thru:
- the grabber passes them to PortBuilder
... which builds a hash of pkgnames
... and the port uninstall job excludes these from the list of ports to
junk.

Note this only works with -current pkg_delete, as I had to tell it to
ignore non-existent pkgnames in that context
2013-01-07 10:59:41 +00:00
espie
d8408ea93f fix a long-standing stupid bug. Now I know why weight changes didn't matter,
I wasn't passing them through, sigh.

Add new -X option that sets xpaths, to be used...
2013-01-07 10:57:31 +00:00
espie
6f42ba6110 document asynchrony in engine.log 2013-01-06 18:21:52 +00:00
espie
7906ac8797 if I run into lockfiles that don't contain the requisite dpb property,
just hold on until they're there.

Should happen right away, so easy to spot !
2013-01-06 14:38:14 +00:00
espie
8a23d3ca7e ask the ports tree to clean up stale locks, finally... 2013-01-06 11:59:40 +00:00
espie
3468bf1fd7 allow unlock to be called with SUBDIR= 2013-01-06 11:57:21 +00:00
espie
a8dab3a559 perl's gc doesn't play well with filehandles.
So explicitly close what it will have problems tracking...

problem noticed by sthen@, obviously linked to my previous change to
avoid opening the same log file again and again...
2013-01-05 23:38:08 +00:00
espie
a323bb36ea better 2013-01-05 21:48:50 +00:00
espie
c1c2864b82 give every task a "name". 2013-01-05 21:48:18 +00:00
espie
fe8936deab even if we've got pre-empted, we still have to lock.
otherwise, we're going to unlock something we don't own, which might
be a race.
2013-01-05 20:08:39 +00:00
espie
a5eeeec19c store information about live dependencies in dpb proper, to avoid
synchronization issues with external fs...

the external locks are still used to synchronize with other dpbs running
2013-01-05 20:06:29 +00:00
espie
7184d32670 retrieve the lists of paths locked per-host from the old lock scanner,
to eventually be able to clean them in init.
2013-01-05 19:59:43 +00:00
espie
209b83159b allow independent setup for the locks location. I strongly suggest
using a local fs.
2013-01-05 18:26:31 +00:00
espie
ba6937b81c and put serialize next to the code it protects
(again, no actual code change)
2013-01-05 18:09:30 +00:00
espie
a18e4e7af2 move install out of the way (no code change) 2013-01-05 18:08:06 +00:00
espie
b159503365 log junk lock handling 2013-01-05 17:29:14 +00:00
espie
82fbc0e7fd avoid opening filehandle again and again.
also, close STDERR after the STDOUT stuff was done, so that we get
error messages otherwise!
2013-01-05 17:22:04 +00:00
espie
ed58c56937 move the "running prepare" message up to handle_output, so that *every*
phase gets tagged.
2013-01-05 16:57:31 +00:00
espie
97912f877b thought I had done this already:
don't blindly append to history, but recreate it from scratch.
We need to remove lines corresponding to stuff that vanished at some
point but came back later!
2013-01-05 16:10:18 +00:00
espie
779bfd4ae7 fix typo 2013-01-05 15:13:48 +00:00
espie
96eed0203f crank factors up to 150, so that dpb consumes a bit less cpu yet. 2013-01-05 13:39:36 +00:00
espie
116acde577 change to NO_HISTORY and document (since there are other NO_* thingies) 2013-01-05 13:34:28 +00:00
espie
85b554d119 make it possible to skip "UPDATING DISTFILES" if we're just running dpb
again without any change.
2013-01-05 13:32:28 +00:00
espie
492a2898b1 fix thinko.
as noticed by
Mikolaj Kucharski.
2013-01-05 07:01:44 +00:00
espie
df5a288315 make sure we zap any lingering socket before we restart our master. 2013-01-04 21:19:18 +00:00
espie
a9b8de6833 switch to IO::File and explicit flush for the engine log.
should be slightly faster
2013-01-04 19:34:10 +00:00
espie
d606cc382f another half-baked change 2013-01-04 18:49:39 +00:00
espie
9eb2e2c9df fix typo. Symptom: errors out at end of build
noticed by rpe@
2013-01-04 18:29:13 +00:00
espie
5b5a52a451 synch manpage with reality 2013-01-04 12:56:26 +00:00
espie
7c00e154b6 ... and don't forget to propagate it thru 2013-01-04 12:49:06 +00:00
espie
9a2e664c54 force report display to fire whenever some new ports get built. 2013-01-04 12:46:20 +00:00
espie
9612257de1 tweak limiter output some more. offset display is not really needed,
but knowing about force computes might.
2013-01-04 12:45:44 +00:00
espie
66ec642cc7 remove unneeded scaffold 2013-01-04 12:34:29 +00:00
espie
9d015892e8 document new exhaustive rate-limiting 2013-01-04 12:16:51 +00:00
espie
a1d376fbf6 take the rate-limiting concept used for the engine, and make it available
elsewhere. Also use it for the Reporter, as it makes no sense to spend
THAT much time reporting quick changes, which actually slows the build.
($factor to tweak as needed).
2013-01-04 12:06:25 +00:00
espie
3db19612eb forgot that one commit for nojunk. Oops 2013-01-04 12:03:06 +00:00
espie
5e21b7b72c explain rationale and working of unjunk 2013-01-03 22:52:01 +00:00
espie
d17cfb86a3 tweak the Engine some more: don't bother adjusting distfiles in a loop
while dependencies are missing

Following landry's remark, also take packages to build out of the race
if some RUN_DEPENDS are going to be ignored. Only do it right before we
put the package in the queue, so that the test is run exactly once per
package instead of during every scan.

I was also worried about multi-packages, but this only takes one fullpkgpath
out of the loop, and "make package" is going to fail half-way through anyways.
2013-01-03 15:47:45 +00:00
espie
de678efd4a add support for unjunk property, that will prevent junking from actually
happening while some 'unjunk' ports are building.

this is a work-around for a known problem with cmake and qt4 include
dependency handlers...

Also, cache fullpkgpath while building a job, as this contributes for
a large part to the speed (not) of the display when building lots of
ports.
2013-01-03 15:45:18 +00:00
espie
c39d9434ff fix infamous "doesn't really quit when it's done" stop bug.
also move the report to the main package, and show a prominent
STOPPED in the title bar if you forget you stopped it during a
previous run ('why is my dpb not building anything ?')
2013-01-03 15:43:27 +00:00