3336 Commits

Author SHA1 Message Date
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
sthen
9553728031 sort .poison lines, add a couple more 2012-11-02 01:44:19 +00:00
espie
9ce8be5926 fix base/xenocara location 2012-11-01 09:58:53 +00:00
espie
21af771d16 add a bit of experimental scaffolding to build xenocara from ports
- resurrect USE_X11 in a smart way: auto-determine it correctly from
WANTLIBS (accounts for most ports)
- define a BUILD_XENOCARA knob that builds fake based on mtree for
X11BASE.
- if BUILD_XENOCARA_TOO=Yes, prepare to hook to a xenocara "fake" meta
package.

All of this off by default, the xenocara shadow tree is not in yet
anyways. Zero impact on regular builds.
2012-10-29 22:27:05 +00:00
espie
b626ac149d thinko 2012-10-28 10:32:23 +00:00
espie
e1f5ebd7f8 be very explicit: running several dpb on the same box is perfectly safe.
so that nitpicky developers are not deluded into thinking this doesn't work
perfectly (hi matthieu@)
2012-10-27 11:17:56 +00:00
rpe
92c015487d lock directory -> locks directory
ok espie@
2012-10-26 14:43:17 +00:00
sthen
41d0a0310e fileutils has been replaced with coreutils, handle this in the autoconf cache
fragment which normally handles gmkdir.  ok jasper@
2012-10-25 12:26:29 +00:00
espie
964fc46d9a document WAITING_TIMEOUT 2012-10-13 09:10:07 +00:00
espie
8553ebea36 disable the waiting period if waiting_timeout is 0.
and don't do it on localhost
2012-10-13 09:06:55 +00:00
espie
04618136d2 fix default property handling 2012-10-13 09:00:02 +00:00
espie
3453d11c35 zap warnings 2012-10-13 08:47:32 +00:00
espie
302ada6ac0 tweaks
- waiting should know when it gets interrupted! so that it doesn't zombify
- add a time limit.
2012-10-13 08:32:58 +00:00