3837 Commits

Author SHA1 Message Date
espie
5624cc905d disentangle some of the specific "build" code (installation and rebuild info)
from the fetch subengine (in order to make it simpler to track the Fetch issue)
2013-10-03 12:46:51 +00:00
espie
9dc08b3323 The "Engine" code is quite daunting, but in reality there are 3 things in
there.

Finally split them for less confusing files.
2013-10-03 08:03:27 +00:00
espie
279b28193c maybe want less long command lines eventually, push that out to be able
to specialize on each task
2013-10-03 08:02:55 +00:00
espie
43ca285162 gc dead code 2013-10-02 09:16:01 +00:00
espie
c55344661b exec even with !env 2013-10-02 09:14:29 +00:00
espie
ecdd3d280d turn on recorder by default 2013-10-02 09:13:27 +00:00
espie
381a5bce08 fast replay of term log. 2013-10-02 09:09:22 +00:00
espie
bce6d9a4b1 split off most of the term display code to be able to reuse it 2013-10-02 09:02:40 +00:00
espie
4a5c4d7329 clean-up code a bit, move state into its own file 2013-10-02 09:00:34 +00:00
ajacoutot
8fe54d8fcb Missing closing bracket. 2013-10-02 07:34:45 +00:00
espie
ca08cdd7cf oops, fix -x case.
reported by rd@thrush.com and seen on mirror-maker's emails...
2013-09-30 19:08:35 +00:00
espie
53756512bd a few more options to limit forwarding 2013-09-25 08:49:49 +00:00
espie
399887a1bc tweak the squiggles to prefer ports with depends, up to a point 2013-09-25 08:49:07 +00:00
espie
1c7ed2817a let RECORD be subject to expand_path and normal parameters handling 2013-09-25 07:01:35 +00:00
espie
c845b65856 zap an extra shell for most remote/chrooted runs 2013-09-24 10:07:27 +00:00
espie
b1c0f5d29e a few odds and ends 2013-09-24 09:46:44 +00:00
espie
839dbe9437 sigh... if I want probabilistic results, cores MUST unsquiggle on a regular
basis.
2013-09-23 14:50:54 +00:00
espie
72779a9859 option: record terminal display, so that I can watch it later at hispeed... 2013-09-23 14:25:12 +00:00
espie
88aad66bcf very stupid logic error 2013-09-23 14:21:47 +00:00
espie
3fc3e4b5a2 allow non-integral values for wantsquiggles
uses random to devote "part of a core" to running squiggles instead
of normal jobs.

(might be useful for finetuning clusters with lots of dual-core boxen)
2013-09-23 13:00:02 +00:00
espie
44cd165892 make WRAPPER_OUTPUT disappear unless we are using it 2013-09-23 12:32:59 +00:00
espie
2151c24660 simplify a bit: slaves don't need the socket timeout/keepalive options.
It only pertains to the master anyways
2013-09-23 12:26:06 +00:00
espie
f0642c900e trim command-line: TRUST_PACKAGES is on by default these days.
more accurate name: has_depends -> need_depends
2013-09-23 12:25:17 +00:00
espie
1b515059dd show a '+' when we're building in-memory 2013-09-22 06:29:38 +00:00
espie
c87d31c711 I'm not fond of adding to the BUGS sections, but those are proper gotcha
that have been around for long enough...
2013-09-21 14:47:00 +00:00
espie
024e2893d8 the aliasing issue was hiding an other bug.
clean up code a bit, letting cores tell us whether they can be swallowed
or become squiggles, so that fetch cores can choose not to take part at all.
2013-09-21 11:31:19 +00:00
espie
449966f4cc wrong exec, need some work. 2013-09-21 09:20:17 +00:00
espie
d663c37f25 document squiggles (this sure was fun to explain) and repair, and nochecksum 2013-09-21 09:12:39 +00:00
espie
c9b2bb1baa new properties: repair and nochecksum (on by default)
control aspects of pkg_delete/pkg_add runs
2013-09-21 08:56:43 +00:00
espie
253a1be562 activate squiggles(~):
based on a suggestion by naddy@, reserve some cores on big hosts (>=4cpu)
to build the queue in reverse.

Those cores show up as ~ in the core list.
This gets rid of a large part of the exponential tail, where we spend
a lot of time waiting for locks...
2013-09-21 08:46:06 +00:00
espie
c22694ed9b introduce squiggles: special cores used for building small ports.
each host takes care of keeping its squiggles "alive". This may
include moving the squiggle property when the core gets swallowed,
and making sure listing/fetch/update distinfo cores are not squiggles.
2013-09-21 08:44:32 +00:00
espie
5378aa5ff0 nail down distant hosts/chroot to go faster: use explicit /bin/sh, and
sprinkle an exec in front of the last command of the sh -c, so that we
don't use up that many processes
2013-09-21 08:41:55 +00:00
espie
36514ef156 avoid creating a core with fullhostname for localhost, preventing some
unpleasant aliasing effects
2013-09-21 08:40:09 +00:00
espie
4fec07f96a fix typo 2013-09-18 21:50:12 +00:00
espie
e804dca486 use a "shell" to run getvars, so that we can run it again LATER. 2013-09-18 15:30:40 +00:00
espie
ebc476364a leaner messages: don't show percent on tasks where it doesn't make sense.
replace "unchanged for 28 seconds" by "frozen for 28s"

remove frozen message for "waiting-for-lock" entirely... there's already
a depend/junk task that shows this clearly, and the message tends to be
WAY too long anyways.
2013-09-18 13:26:39 +00:00
espie
51cad93976 chroot=
or
chroot=/
mean no chroot.
2013-09-18 13:07:32 +00:00
espie
8ee7ce33ed fix unlock early condition for multi-package 2013-09-16 21:29:13 +00:00
espie
82235bd10f move the shell running code up to host. Makes no sense to have the same
data structure for each Core, and a lot of this is actually tied to the
host proper.

(note that Core::Distant no longer makes a lot of sense)
2013-09-16 11:23:50 +00:00
rpe
6f86efa70f - fix section order, move BUGS below SEE ALSO
ok jmc@
2013-09-15 09:56:21 +00:00
rpe
5941c0eccc - remove paragraph break (.Pp) before section header (.Sh)
ok jmc@
2013-09-15 09:54:19 +00:00
rpe
495ef75b12 - remove trailing blank
ok jmc@
2013-09-15 09:49:17 +00:00
rpe
65e02d3678 - remove paragraph break (.Pp) before section header (.Sh)
- standard section name is AUTHORS (plural)

ok jmc
2013-09-15 09:48:10 +00:00
rpe
7ee1dd6e28 fix too-short mktemp format string
ok sthen@ ajacoutot@
2013-09-15 09:27:27 +00:00
rpe
20634f71ff fix some too-short mktemp format strings
ok sthen@ ajacoutot@
2013-09-15 09:20:04 +00:00
rpe
948c582f3c fix too-short format string for temp file
ok sthen@ ajacoutot@
2013-09-15 09:17:25 +00:00
espie
f2c8a35b64 tweak time handling a bit, introduce a "real" vs "perceived" time in stats
for people like me who do ^Z a lot.
2013-09-14 14:58:12 +00:00
espie
12be45691d remove remains of nfs wait_timeout. 2013-09-14 09:42:11 +00:00
espie
59801ba696 next step in chrooting, mostly refactor
- provide a chroot_user definition during prop finalize
- let shellclass be depend on the object built
- have all shells store prop and have access to it
- move the chrooted code into default core shell
- tweak running so that quoting/building commands happen everywhere
- change Config to recognize -B as a chroot override.

Tested thru distant chroot, local and distant !chroot
local chroot still not working, probably missing something stupid
2013-09-11 10:44:13 +00:00
espie
ea5aa15ea6 document chroot properties 2013-09-10 17:52:11 +00:00