Commit Graph

316 Commits

Author SHA1 Message Date
espie
c6fe95a9cb bugfix: strip LIB_DEPENDS of all BASE_PKGPATH
bugfix: use -U when pkg_add -r to update dependencies as well
feature: add next stage in ports build to info saved in the lock when
things fail.
2010-04-15 09:59:07 +00:00
espie
ca22d54fd7 remove the .tgz work-around now that I've fixed the pkg_add problem.
WARNING: you need a current pkg_add if you don't want your dpb to hang !!!
2010-04-12 13:43:05 +00:00
espie
65e0213983 move the 'grabbing sublist' code to a Grabber object, that we'll be able to
use later on from the engine.
2010-04-12 13:30:11 +00:00
espie
f20c2d877a avoid self-reference in BUILD/LIB_DEPENDS. 2010-04-12 11:57:59 +00:00
espie
2ebaf586e0 #@# W!E typo 2010-04-11 15:02:03 +00:00
espie
f98ad9cb1f hooks to rebuild info when we grab errors back 2010-04-10 11:21:24 +00:00
espie
4153bd531c fix startup 2010-04-08 18:40:42 +00:00
espie
3580d81d19 add update support, with rather violent options for now 2010-04-06 10:10:03 +00:00
espie
c29be08e36 adds an extra "depends" stage which runs pkg_add once, before prepare
checks the deps.
Solves the "avahi rebuilds with full shit" in some build orders that
naddy@ reported.
2010-04-06 09:39:51 +00:00
espie
9d998e4011 repair -j 2010-04-06 09:38:44 +00:00
sthen
8608e954e8 s/!=/ne/, fixes things when you specify the arch in the hosts file
ok espie@
2010-03-27 12:39:49 +00:00
espie
9e48710b68 use a default watched that works,
redirect the init job (move that up to ::Task to reuse it)
default sf to 1 to avoid warnings
2010-03-23 09:57:45 +00:00
bernd
07518a3928 Correct spelling of sturm@'s name. 2010-03-22 20:58:58 +00:00
schwarze
99c03c9944 zap trailing white space 2010-03-22 20:30:43 +00:00
espie
a2352610a4 forgot to commit that one 2010-03-22 12:55:07 +00:00
espie
ffd0e242f5 document sizefile 2010-03-22 12:53:58 +00:00
espie
65646f4cf7 watched for init jobs, in case they take long enough... 2010-03-21 20:09:42 +00:00
espie
c8394fba61 if terminal can clear to eol, use it. 2010-03-21 19:44:02 +00:00
espie
273cfbc702 make sure hosts have props, this fixes builds without hosts file 2010-03-21 19:43:38 +00:00
espie
6b8c2c3025 typo 2010-03-20 18:30:04 +00:00
espie
74539029e0 changes that I worked on after lock.
- avoid logging incomplete builds.
- put stuff in more sane directories
- avoid exiting early
- create unique machine objects and use them
- allow for a script at init/auto ncpu determination
- global build size in /tmp for a given host.
- better terminal handling.
2010-03-20 18:29:18 +00:00
espie
40399089e7 actual timeouts 2010-03-05 09:05:46 +00:00
espie
198d43e5ad forgot the manpage 2010-03-05 09:05:30 +00:00
espie
a3ca1adf1f simpler fix: do the \n printing always for glitching terminals 2010-03-05 07:50:15 +00:00
espie
a14f2a2255 fix newline handling. thanks naddy@ for the hint 2010-03-04 20:48:12 +00:00
espie
609847a7d3 slightly more evolved: run du twice,to get build size vs. fake size.
Yep, I should be able to use this information later on.
2010-03-04 14:23:01 +00:00
espie
6ccdda1670 log signature errors
move the logs/locks yet again: those are dpb logs, so they belong in
logs dir (note the s). Use one single option (-L) to move both.
remove old -t mode, use -t/-T for ssh/display timeouts
Change the "mem" option to "parse size file", dependent on show-size.
2010-03-04 13:56:09 +00:00
espie
ff14b4c7c3 pass host names around for comparison messages 2010-03-04 13:51:48 +00:00
espie
6fdf400298 add computation of workdir size on -s (assumes a patch to bsd.port.mk
that's not yet there)
2010-03-02 18:20:45 +00:00
espie
d2abbd61aa better control logic.
prepare to du port dir.
2010-03-02 02:33:15 +00:00
espie
9a2f0331f4 set random behavior after we parse the option, so this is actually more
random... problem noticed by naddy@
2010-03-01 18:11:11 +00:00
espie
a8e8acea0d fix for non-terminal 2010-03-01 18:01:11 +00:00
espie
61b975e3b2 tweak logic of run slightly, so that we actually check stuff in finalize,
as should be. This also simplifies infinite jobs slightly, since we build
the tasks we want directly
2010-03-01 17:59:49 +00:00
espie
a58639ad7a if make clean isn't enough, do it again with sudo, but log it.
(also, bug in notime, really don't take into account what we shouldn't)
2010-03-01 17:57:25 +00:00
espie
53d76dd037 less flickering: compute what to display, and do it at once 2010-02-28 11:49:45 +00:00
espie
f71d67db02 don't stop at the first error, report all 2010-02-27 10:05:42 +00:00
espie
0118b624ce let myprint work with -x 2010-02-27 09:53:44 +00:00
espie
d17585f86b activate library signature code. now we check that machines DO match 2010-02-27 09:53:09 +00:00
espie
c8942d3783 fix watch: if we use the offset too soon, it changes all the time, and we
never notice
2010-02-27 09:28:47 +00:00
espie
abbba7caf8 oops, fetch should not be accounted in the log either. 2010-02-27 08:30:44 +00:00
espie
81cdf2d3a4 do something sensible if run without any options 2010-02-27 08:30:01 +00:00
espie
a435ac28e6 a few improvemennts:
- give more responsibility to tasks, so that they can time themselves without
any higher level support
- record errors the opposite way, so that more recent errors show up first
- better terminal display: use fullwidth, clamp to terminal height
- less logsize fuzz, always trim preparation stages
- dpb's pid - dependent ssh socket names, so that 2 dpb can talk to the same machine.
- pid display for dpb itself, and ssh masters.
2010-02-26 12:14:57 +00:00
espie
a0aa57c2e3 being clueless shouldn't fork-bomb.
featuring tedu@ as crash-test dummy ;-)
2010-02-26 12:11:55 +00:00
espie
61d822e8d5 work-in-progress: new distributed ports builder.
will replace old dpb once we're satisfied it works.
some features:
- no more waiting, starts building right away, the dependencies discovery
process is just another job,
- monitor display that makes it easy to know when jobs get stuck, or machines
get down.
- loads of logs,
- locks that stay around in case of error, and that you can remove when
the error has been fixed (dpb picks it up),
- smart choice of which package to build,
- can take into account previous build times,
- builds on machines of differing speed, offloading "lighter" jobs to slower
boxes.

(again, ports is still locked for most people)
2010-02-24 11:33:31 +00:00
espie
8461975175 band-aid for out-of-date, as noticed by various people
(there are probably nicer ways to do this now)
2010-02-16 20:50:32 +00:00
espie
87a403339e adapt to new api 2010-01-02 12:54:22 +00:00
steven
218487feca spacing 2009-11-15 22:05:36 +00:00
steven
d343c92dff look for .la file associated with -lfoo argument in the cwd too
seems to fix a handful of ports
2009-11-15 21:51:59 +00:00
espie
27a3d543cb a few tweaks I should have committed long ago.
- better at handling progress meter incomplete lines and sanitizing them
before output
- less greedy about maintaining a context, let post-error messages stuff
end up in the default.log, instead of seeing huge swaths of entering directory
after errors.
- -s silent option, for use when we see the output but don't need to duplicate
it.

After work with NicM, portslogger is useable with tmux. From within tmux,
just run something like:
tmux pipe-pane 'perl /usr/ports/infrastructure/build/portslogger -s /usr/ports/log'

to log all ports building activity...
2009-11-08 09:24:11 +00:00
jasper
a296057f8c - add a -d flag to show the directory in which the outdated port resides
original diff by giovanni@, reworked by me to not alter default output
ok giovanni@ sthen@
2009-10-22 08:44:44 +00:00
steven
685bd523ac cleanup unused variable 2009-10-18 08:32:19 +00:00
steven
16d0c32f3c separate lists of static and shared libraries
this makes xenocara build.
2009-10-17 14:40:22 +00:00
steven
84737a0d1c clean up a bit, and save some time 2009-10-15 15:20:34 +00:00
steven
de328a6e74 better regex 2009-10-15 13:48:11 +00:00
steven
3628fb6ff2 try to cope with people passing /path/libfoo.so.X.Y instead of -lfoo
if a static library has been found, don't search for it again.
2009-10-15 13:46:23 +00:00
steven
3197dd1add no need for fiddling with deplibs again here 2009-10-15 11:26:08 +00:00
steven
90acfab4e5 revert some of the previous; we need this to deal with convenience libs 2009-10-15 11:16:10 +00:00
phessler
3c719e581d allow us to run make update-patches when WRKDIST has spaces in it.
OK espie@
2009-10-15 10:48:05 +00:00
steven
d514f1eb1d remove unneeded extract_archive function 2009-10-15 09:39:45 +00:00
steven
7b6089698d cleanup; this seems to work better 2009-10-14 22:03:16 +00:00
steven
1adbca4d86 shut up if not in debug mode 2009-10-14 18:22:03 +00:00
steven
24132ef048 use find method here as well, as the object data might not have been filled 2009-10-14 16:03:02 +00:00
steven
869d85c921 make guess_implicit_mode work again 2009-10-14 14:28:22 +00:00
steven
dd74eb33f1 register directory where static lib can be found
add missing newline
2009-10-14 14:14:21 +00:00
steven
cb183eb8c6 run find unconditionally 2009-10-14 14:05:33 +00:00
steven
fa7822ef2f sigh, install programs do not always take options 2009-10-14 13:42:41 +00:00
steven
faaa9351fc if (defined $a) instead of (if $a) for the -release option, as it may be 0 2009-10-14 12:28:44 +00:00
steven
38fc564f05 move some library finding code out of the parser
store the .la file path in the library object for later use
fix a bug where we lost some of the command line arguments
this makes more stuff build again and improves static linking
2009-10-14 11:31:50 +00:00
steven
e6877d2f2a read architecture from the perl configuration 2009-10-14 09:06:17 +00:00
steven
d319580241 some small fixes after previous changes 2009-10-13 23:26:41 +00:00
steven
1499055d06 move find_la subroutine into LaFile package 2009-10-13 21:19:15 +00:00
steven
cfe5f8d02a make substitution code a bit shorter 2009-10-13 20:56:45 +00:00
steven
ec6069f4f3 - write SHARED_LIBS_LOG file
- fix stringize to return 0 instead of empty string if the value is 0
2009-10-13 18:22:57 +00:00
steven
fddecfb227 start at putting library info into an object 2009-10-13 17:11:21 +00:00
steven
553d8c3311 this should work better 2009-10-13 14:23:12 +00:00
steven
1029d10105 restrict scope of a few variables; initialize them in link mode only 2009-10-13 13:55:12 +00:00
steven
5f959feb9a move all the parsing subroutines from main into a parser class
much more moving around is needed
2009-10-13 13:30:31 +00:00
steven
028808fd21 remove another argument here 2009-10-12 19:02:14 +00:00
steven
4c6fbb3538 remove argument when not necessary 2009-10-12 18:31:37 +00:00
steven
fdbf9000c1 move a few lines and add missing argument 2009-10-12 18:14:55 +00:00
steven
f2f622fbaf more generic way to deal with multiple-argument commands
(compiler, linker, install program, etc)
2009-10-12 09:58:22 +00:00
steven
866707f683 avoid undef as reference 2009-10-11 20:50:33 +00:00
steven
16fa453f51 sigh, don't use glob here 2009-10-11 18:58:59 +00:00
steven
5e4c5f1c28 oops 2009-10-11 18:40:03 +00:00
steven
699cd8382e move some info related to executable into the object 2009-10-11 14:21:56 +00:00
steven
ee45027ef6 allow to link executables statically as well 2009-10-10 09:50:11 +00:00
steven
965b3c75bd when linking a program, take into account -static flag (not yet supported) 2009-10-09 22:24:56 +00:00
steven
fc74e89c10 be a bit smarter about executable wrapper creation by remembering linking
with a .la file which refers to a shared library
this should prevent wrapper files getting installed;
fixes dbus and wml ports, hope it does not break others :)
2009-10-09 21:23:42 +00:00
steven
f31c359143 zap trailing whitespace 2009-08-30 08:40:52 +00:00
sturm
3e2c7f0404 add some code to help find circular dependencies 2009-05-09 07:36:17 +00:00
steven
5793039c06 accept multiple forms of --version-info, adding default values where none
are specified (gnu behavior). this fixes math/kst
2009-02-16 22:04:28 +00:00
steven
238f39a692 deal with multiple linker options passed via one -Wl flag
fixes gnome/dasher
2009-02-16 21:22:56 +00:00
steven
14807835af rework logic around library linking, adding so called convenience libraries.
fixes build of a few ports, and doesn't seem to break anything else.
2009-02-16 20:02:42 +00:00
steven
b141d06793 parse linkargs after constructing object lists 2008-11-23 09:53:56 +00:00
steven
ae388464a0 small tweak 2008-11-23 08:47:05 +00:00
steven
fe4a14cc4a somewhat simpler 2008-11-22 10:04:19 +00:00
steven
7f7ea8f9cb move code a little bit 2008-11-22 09:58:03 +00:00
steven
1dcee94da4 move library linking to LaFile class 2008-11-19 21:11:17 +00:00
steven
2f6600d62f some trivial cleanup 2008-11-18 22:31:11 +00:00
steven
705208ac57 separate linking of executables into its own class 2008-11-18 22:16:44 +00:00