Commit Graph

3248 Commits

Author SHA1 Message Date
espie
dcf231188f forgot to GC this along with the imake weirdness.
seen by landry@
2012-12-30 20:40:40 +00:00
espie
d985cc05e2 mismatches are more annoying than extra cpu:
if we end up with only mismatches and we didn't run check_buildable last
time around, try a check_buildable first.
2012-12-30 14:33:46 +00:00
espie
45b128b893 fix elusive "jobs don't show up where they should".
duh. put "live" affinity markers while we're building stuff.
We don't re-read the on-disk markers outside of restart (should we ?)
so they HAVE to be in the pkgpath struct proper.
2012-12-30 14:04:17 +00:00
espie
eb77a6071b why not ? track total distsize for each port. might correlate with other
stuff later.
2012-12-30 11:47:24 +00:00
espie
ad8ad1c28f smarter affinity mismatch handling: if we have other cores idle, ask them.
also, officialize the engine-perf log somewhat (and give it a more descriptive
name).
2012-12-29 19:15:37 +00:00
espie
fa169c69ae allow looking for a given core when trying to match affinity 2012-12-29 19:14:51 +00:00
espie
ebb2a2c90a on start-up, log affinity in a more consistent way, with pid of running dpb. 2012-12-29 19:14:28 +00:00
jasper
fb9809c424 cleanup GCC, XCONTRIB, SUNSITE and GNOME mirror lists. 2012-12-29 07:58:03 +00:00
jasper
e60a243cf3 *** empty log message *** 2012-12-29 07:42:37 +00:00
espie
c3a8df2e5f log the markers we retrieve on any restart... I suspect something foul
happening with localhost.
2012-12-28 21:09:45 +00:00
espie
7adbbd9561 remove optimization that no longer makes sense. 2012-12-28 06:40:11 +00:00
espie
d624d61917 since we have a quick path where stuff move from tobuild to install without
adjusting things, stuff that can be built may have BEXTRA which are not
completed...
2012-12-28 06:31:03 +00:00
espie
3ca05b12fe replace next_check = last_check + check_interval
tweak the algorithm slightly (since we forget the old check_interval).
In particular, never keep old times in reserve.

Makes for simpler and clearer reading
2012-12-27 16:23:17 +00:00
espie
e293bae75a remove the need to loop around adjust_tobuild, fudge things a bit:
Most things will move as a result of {install} changes.

Things that move because of EXTRA depends that are satisfied are unlikely to trigger
further changes.

So, stagger changes for "normal" tobuild -> queue first, and extra depends later.
2012-12-27 14:14:19 +00:00
espie
99ac03e94d oops 2012-12-27 12:20:36 +00:00
espie
fc5ee33b62 add timestamp in phases for Job/Port.pm.
may help synchronize events from distinct logs in case this matters.
2012-12-27 12:03:33 +00:00
espie
7614ffa97a remove 'dead' cycles: changes in ToBuild can't trigger new changes in Built. 2012-12-27 11:04:43 +00:00
espie
98849d8242 self-adaptive delay... with a bit of log scaffolding for now. 2012-12-25 20:41:41 +00:00
espie
67de0deb11 if we have a sizeable queue (>50) and we ran check_buildable less than 30s
ago, don't run it again right now.

This prevents the Engine from busy-checking the same data when it's building
lots of small packages very fast.

(50 and 30 may need some fine-tuning)
2012-12-25 16:07:02 +00:00
espie
11cb77656d make "rebuild" behavior a proper subclass of DPB::PortBuilder, instead
of having tests all over the place.

Take advantage of that to not rechecking signatures if already done.
2012-12-25 10:43:36 +00:00
espie
66b2639394 compute dependencies right away in the job: we don't actually have to
fork depends/prepare/prepare-results for ports which don't have any
depends.

This also prevents some lock contention, obviously.
2012-12-25 10:25:04 +00:00
espie
1af810c8d6 on rebuild, mark all existing files as 'uptodate'. Will prevent extra
rebuilds on @option always-update multi-packages when using -R.
2012-12-25 10:00:08 +00:00
espie
3de193b931 also take things off the later list if they were there. Prevents behavior
like the following:

14426@1356424364: B: x11/kde/graphics3
14426@1356424364: B: x11/kde/graphics3,-kpov
14426@1356424364: B: x11/kde/graphics3,-kamera
14426@1356424364: B: x11/kde/graphics3,-sane
14426@1356424364: B: x11/kde/graphics3,-main
14426@1356424364: V: x11/kde/graphics3,-kpov	<--- note put back on queue
14426@1356424364: V: x11/kde/graphics3
14426@1356424364: V: x11/kde/graphics3,-kamera
14426@1356424364: I: x11/kde/graphics3,-sane
14426@1356424364: I: x11/kde/graphics3
14426@1356424364: I: x11/kde/graphics3,-kamera
14426@1356424364: I: x11/kde/graphics3,-main
14426@1356424366: J: graphics/povray echo.home 0
14426@1356424496: B: devel/goffice
14426@1356424496: I: devel/goffice
14426@1356424496: Q: math/gnumeric
14426@1356424498: B: x11/kde/graphics3		<--- so, duh rebuilt...
14426@1356424498: B: x11/kde/graphics3,-main
14426@1356424498: B: x11/kde/graphics3,-kamera
14426@1356424498: B: x11/kde/graphics3,-sane
14426@1356424498: J: graphics/opencv,-docs echo.home 0
14426@1356424675: B: graphics/povray
14426@1356424675: I: x11/kde/graphics3,-sane
14426@1356424675: I: graphics/povray
14426@1356424675: I: x11/kde/graphics3		<-- and installable, again.
14426@1356424675: I: x11/kde/graphics3,-kpov
14426@1356424675: I: x11/kde/graphics3,-kamera
14426@1356424675: I: x11/kde/graphics3,-main
2012-12-25 09:46:24 +00:00
espie
130df9a3bc will work better with a non-reversed test... 2012-12-25 09:31:54 +00:00
espie
e4c671527c add affinity information to restart jobs on the right host preferentially.
- affinity info is similar to locks, but with a completely different
lifetime.
- streamline the main loop of the engine, so that it can do two passes:
first pass shuns paths with the wrong affinity. If no good path is found,
those are considered during the second pass.
- make the Core factory aware of what hosts might be running, so that
affinity info for machines removed from a config file will be ignored.

thanks to landry@ for a few tests.
2012-12-24 17:24:46 +00:00
espie
0ff5bc966a be slightly more aggressive when a pkgpath is done: for multi-packages,
zap all subpackages from the queue.

need to distinguish the normal case (is_done) with a simpler case
(is_done_quick) that's used when scanning the ports tree. Otherwise, we
would check multi-packages loads of time.
2012-12-24 17:22:15 +00:00
espie
c4f1bfc74e reorg the tests slightly, no functional change 2012-12-24 17:19:01 +00:00
espie
027e6592d6 testing option 2012-12-23 13:28:55 +00:00
espie
cdb441ddb5 cutdate is first parameter, not second.
tighten parenthesis.
add -h history for testing.
2012-12-23 13:27:08 +00:00
espie
25bc62ba46 quicker restart: when adding a new_path, directly check whether it
was built already... so things will go straight to B/I instead of
getting through T/Q...
less noise in engine.log, and much more accurate information for choosing
queue items.
2012-12-21 12:26:16 +00:00
naddy
ee869d0426 do not define ac_cv_func_openpty=no since it breaks this idiom:
AC_CHECK_LIB(util, openpty)
AC_CHECK_FUNCS(openpty)
2012-12-08 14:32:29 +00:00
naddy
8ac927d997 we now have the Unix 98 PTY functions; noticed by ajacoutot@ 2012-12-07 15:15:32 +00:00
florian
93a80502d7 +dnsfilter 2012-12-04 16:29:26 +00:00
jasper
6cc72db009 layout of ftp.belnet.be changed; adjust MASTER_SITE_GNOME accordingly 2012-12-02 19:20:46 +00:00
miod
aec30b0bda m88k ports now use gcc 3; ok espie@ 2012-12-01 21:12:28 +00:00
espie
c1c86bf73d be a bit more specific in _SOLVING_DEP, so that ports that regress-depend
on themselves won't clean themselves when BULK=Auto.
problem reported by sthen@, okay sthen@
2012-11-27 11:35:57 +00:00
pascal
efbbb4e0ba Reserve _wesnothd user/group. 2012-11-20 15:05:44 +00:00
sthen
54fe7aeb13 +spiped 2012-11-19 22:14:31 +00:00
espie
40d8555822 fix reverted lock logic. From Vadim Zhukov. 2012-11-19 14:19:35 +00:00
espie
eef2946135 add a new value for BULK and use it as default:
BULK=auto  will invoke bulk behavior on dependencies, but not during
normal build.
(internally, deps have _SOLVING_DEP=yes, so we can distinguish them)

okay ajacoutot@
2012-11-19 12:24:50 +00:00
espie
e009da097e remove some old cruft
checked by naddy@ for no incidence on current builds
2012-11-19 12:19:30 +00:00
espie
ba8f355da8 more descriptive name 2012-11-18 12:37:21 +00:00
espie
440719fdce fix clean + check for packages interaction 2012-11-18 01:59:31 +00:00
espie
7fafb5c793 allow for -DWAIT_TIMEOUT=0 to propagate correctly
lower default for junk
2012-11-18 01:58:36 +00:00
brad
655424c0b1 Sync with git
ok sthen@
2012-11-15 08:31:36 +00:00
dcoppa
46f826992d Add "native-sigpending: permit" to avoid warnings from systrace now
that make(1) uses this function.

ok espie@
2012-11-12 10:55:17 +00:00
espie
c2ac425fce multiplication doesn't work on undefined values... noticed by naddy@
so initialize $job->{waiting} if needed.
2012-11-09 17:49:17 +00:00
espie
d73a931704 don't mix up wait_timeout and waiting_timeout, as noticed by naddy@.
re-enable wait_timeout on localhost temporarily (should be done in another
way, most probably by checking whether repo is on nfs, we can steal code
from VStat.pm)

pass umask through ssh. This took us long enough to figure out, and it's
considerably simpler than tweaking every login class once again.
2012-11-06 08:26:29 +00:00
espie
3d3c336bb7 waive the other xenocara check if we're building it, as noticed by naddy. 2012-11-05 20:29:35 +00:00
espie
35f70aaf08 determine the xenocara makefile name directly, as it is inconvenient
to do if you're not sure you have the right WRKSRC.
2012-11-03 09:40:05 +00:00