Commit Graph

281 Commits

Author SHA1 Message Date
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
steven
0d384fb780 - use exec during installation as well
- cleaner way to filter -s out of install options
2008-11-16 21:58:17 +00:00
steven
da62d86b3c make the compiler program a list; fixes a few ports 2008-11-14 22:50:58 +00:00
steven
ca2029501c use reference instead of hash 2008-11-11 11:00:29 +00:00
steven
a6d6aed06a separate compile code into its own method 2008-11-11 10:46:14 +00:00
steven
176cb58ff7 don't use the shell, except for install mode (needs more tweaking)
use references in a few more places
check whether reference is defined before attempting to use it
2008-11-11 09:54:51 +00:00
steven
5538e2a4ec change logic deciding whether to add a version; should fix a few ports 2008-11-10 15:52:30 +00:00
steven
f973bf3a82 only use reverse_zap_duplicates_ref and get rid of the array version
ok espie
2008-11-10 15:01:54 +00:00
sthen
7ca677bed1 remove sh from no_shared_archs, ok steven@ 2008-11-10 08:46:21 +00:00
steven
f2bea3b294 reintroduce (incomplete) support for --config, needed by some ports 2008-11-09 12:37:35 +00:00
steven
11da5ccdac more use of references
go for it espie@
2008-11-09 12:29:54 +00:00
steven
68831eca93 - use reference in process_deplibs and a few other places
- avoid split/join ' ' dance
- prettier debug output

ok espie@
2008-11-09 10:30:54 +00:00
espie
15242ec79f oops2, committed stuff that's not ready yet along 2008-11-08 09:43:43 +00:00
espie
10a17a5002 oops 2008-11-08 09:41:25 +00:00
espie
e2c1942470 finish switching parse_linkargs and resolve_la to lists,
stop the join ' ', split /\s+/ dance.

use debug(&) to avoid computing debug messages when not needed.
(and cleanup some old variables that no longer exist)

okay steven@
2008-11-07 20:22:39 +00:00
espie
7408363065 tweak a few things:
- cache more stuff to avoid calling internal_resolve_la
- add a tracing facility
- start cleaning up more stuff.

okay steven@
2008-11-03 21:11:58 +00:00
espie
c17c566a6b Exec class to run things.
LaLoFile class to read/write la and lo files.
2008-11-01 13:06:16 +00:00
espie
131635f281 simplify parse_file a bit, okay steven@ 2008-10-31 10:28:05 +00:00
steven
bac6de4a16 add support for -export-symbols-regex, seems to work 2008-10-30 23:53:28 +00:00
steven
4cfa4bc828 support -export-symbols 2008-10-30 22:22:34 +00:00
steven
cdef84d3bb same search path debug info for find_la 2008-10-30 19:13:11 +00:00
steven
bfe5af2eef in find_lib, setup search path before starting search instead of modifying
some of the paths as we go; print search path in debug mode
rename a few variables for clarity
remove a spurious print statement

looks good to bernd
2008-10-30 19:02:19 +00:00
steven
e9fc27ce46 deal with multiple -rpath arguments; add the paths correctly to the run-time
path when linking an executable.

looks good to bernd@
2008-10-30 18:15:06 +00:00
steven
1440297f2c revert part of r1.35 which reversed deplibs, seems to cause very long loops 2008-10-30 15:03:07 +00:00
steven
2105813ddd don't add -pthread flag over and over again 2008-10-30 10:46:53 +00:00
steven
c2b79288a8 support -export-dynamic
from jakemsr@ long ago
2008-10-30 10:39:38 +00:00
steven
6a3d7e330e zap some rather useless features
bernd agrees
2008-10-29 23:13:22 +00:00
steven
cbf11d3bf6 convert some more lines to use the debug function 2008-10-29 23:09:07 +00:00
bernd
03982df912 foo.la files which have libdir set are going to be installed and should
end up in dependency_libs. ok steven
2008-10-29 16:16:49 +00:00
steven
8563b27b22 build static library if -rpath is not set
only fill in libdir if -rpath is set
2008-10-29 16:10:53 +00:00
steven
0d31269c32 error out if we cannot find a library file in the library hash
restrict addition of a flag to library link mode
2008-10-29 15:28:22 +00:00
steven
4ba440c926 use a subroutine for printing debug info
print some more debug info while here
2008-10-29 12:13:01 +00:00
steven
02481d9d12 revert a fix from bernd, it breaks other stuff
build deplibs the reverse way, seems to improve the ordering a bit
2008-10-29 10:09:33 +00:00
bernd
70853d5e36 Fix globbing to find libraries. ok steven 2008-10-28 17:16:31 +00:00
bernd
c884da49b1 Unbreak dependency_libs generation for .la files. ok steven 2008-10-28 17:15:00 +00:00
bernd
f2d591ad64 Print a warning if a lib isn't found in %libs so we don't try to use
an uninitialized variable.

steven agrees
2008-10-28 11:31:48 +00:00