Commit Graph

175 Commits

Author SHA1 Message Date
espie
adfd6c2aaf flag error with -i and no source 2011-11-27 16:50:19 +00:00
espie
5c28768a5a more sensible option combinations. 2011-11-27 16:40:58 +00:00
espie
e0c5221e97 add a bit of debug code that logs everything that's going on... 2011-11-27 16:15:52 +00:00
espie
bc6cc54b9b move binary scanner into its own module 2011-11-27 14:49:42 +00:00
espie
961be0f72e add a "quiet" option that doesn't say anything about extra libraries unless
there's also missing wantlibs.
2011-11-27 13:39:11 +00:00
espie
f57d8eb001 run objdump in batches, for a *huge* speed-up 2011-11-27 13:29:38 +00:00
jasper
953ca5dbf2 move to bin/ and ajust CPANTEST path
ok espie@
2011-11-27 13:29:35 +00:00
espie
061934ab66 prepare the non ldd parser to handle multiple files 2011-11-27 13:10:36 +00:00
espie
d1e36fa052 finish moving parts to the Runner object 2011-11-27 12:42:40 +00:00
espie
7a7321a0bb rename a few things 2011-11-27 12:29:10 +00:00
espie
d80fe79869 explain source to runner 2011-11-27 12:24:06 +00:00
espie
63f57fae21 abstract running objdump/ldd a bit more into its own class 2011-11-27 12:09:17 +00:00
espie
07aa1b9ba6 move objdump runs to state in order to be able to run it once 2011-11-27 11:50:26 +00:00
espie
cd9c477eff tweak to allow for several files in a single run 2011-11-27 11:37:58 +00:00
espie
5b1516ea0b unify ldd/objdump runs somewhat
tweak FileSource to return its directory separately from the filename,
so that running objdump does a chdir
adjust filename to be a relative path.
2011-11-27 11:29:33 +00:00
espie
199c383918 slightly nicer display, especially in the presence of a progress meter
on long lists of WANTLIBs.
2011-11-26 12:02:54 +00:00
espie
7b925859cf stop getting bad timings from erroneous builds. 2011-11-26 11:46:15 +00:00
espie
599f0be88c also don't emit the same string twice. 2011-11-17 23:14:43 +00:00
espie
c295da80f5 fix option handling 2011-11-16 23:05:28 +00:00
espie
1d5b371ed7 a second FULLPATH=Yes needed 2011-11-16 22:59:42 +00:00
espie
ed36f69a32 fix for recent infrastructure changes
also fix for FULLPATH !
2011-11-16 22:57:54 +00:00
espie
12e4da425d move 2011-11-16 22:57:03 +00:00
jasper
9f406a8adc - remove bogus XXX 2011-11-16 10:56:57 +00:00
espie
e1d6af2f53 simplify external call a bit 2011-11-16 10:37:35 +00:00
espie
06e9fb91d4 new option: -needed, to speed lib-depends-args. 2011-11-15 20:02:38 +00:00
jasper
3dcf344837 Make output slightly more similar like gnu libtool in various
modes. Simplify Exec->command() a bit too while here as suggested by espie@

ok espie@
2011-11-14 22:12:08 +00:00
espie
8890044380 weights in the -I option as well 2011-11-14 21:59:45 +00:00
espie
2f6111d127 explain to the engine how to install stuff when it's ready (no error
checks though).

new -I option to do that.
change -C option to be more useful.
2011-11-14 21:57:47 +00:00
espie
185cd0210d some times, your machine will crash and leave behind empty files...
ignore empty plists
2011-11-11 11:35:32 +00:00
espie
9efee931ed smarter dump at end of build:
- try resolving RDEPENDS on tobuild, so that known dependencie are zapped.
- use equivalence info to not reprint same thing twice.
- dump tobuild AND built, since both are usually relevant in case lots of
stuff didn't build
2011-11-09 08:28:55 +00:00
espie
a2a17ea97a fix for pkgpaths changes 2011-10-17 10:18:16 +00:00
espie
852e15455d let -S work again 2011-10-11 09:50:35 +00:00
espie
234027bfe0 unfuck pkgpaths.
- instead of seen/unseen, have an actual constructor. Instead, mark pkgpath
for which we wantinfo/wantbuild.
- only mark EXTRA dependencies as wantinfo. So the devel/haddock,no_deps
temporary error should be gone.
- since we have FLAVOR and SUBPACKAGE available, construct as much info as
we can during vars scanning (see handle_equivalences). This avoids about 150
path rescans during a full bulk. Also, grab the timing and logsizes from
equivalent files, so that most stuff should know show % all the time.
- tweak subdirlist to be a hash, and correctly add pkgpath_and_flavors to it.
That way, we rescan avahi pseudo flavors just once, and not four or five times.
2011-10-10 18:56:50 +00:00
espie
7fb255ef24 make dpb more useful for people hacking on ports, allow them to not clean
the work directory after building.
2011-09-25 10:41:30 +00:00
espie
ed1516a867 beginning of a fetch-only option that is supposed to replace mirror-maker
eventually.

- fetch all files
- ignore ignores
- specific builder that doesn't look at existing packages

currently: does not stop when  fetch is finished, which is somewhat of the
remaining issue.

Also: change stats to store pid, to make sense of interleaved log files.
2011-09-13 09:46:53 +00:00
espie
7d2e0671f7 if you ran the previous link-checksums, you have weird "by_cipher" all
over the place. run "link-checksums fix"  once to fix it.
2011-09-05 07:59:28 +00:00
espie
291a01e77a fix 2011-09-05 07:46:12 +00:00
espie
edfba53503 replace with a perl script
- runs cksum just once per file
- optionally uses an sqlite db to store already seen files.
2011-09-04 17:01:19 +00:00
espie
a88700cf54 add extra files at the end of ARGV, not the start 2011-07-14 12:44:39 +00:00
espie
a76e6ce09c turn on -f2 by default 2011-07-14 11:02:50 +00:00
espie
bab62dbd7b cheat a little, get FULLPKGNAME to backsubst early
"fix" fullname: subst things to find about / at beginning of name
2011-06-22 12:55:26 +00:00
espie
9ba6fb7c5c - unify code in Fetch/Build subengines
- zap heuristic#3, not critical
- don't rebuild the Fetch queue all the time, it's too expensive
- fix bugs in FetchQueue computation, correctly handle 1 distfile case
- create a quick path thru adjust* that handles only new paths.
- use it during LISTING while fetching files, to make more files available
quicker.
- model distfiles as FDEPENDS, DIST, so that they can get dumped.
- add -v option that dumps a bit more stuff in log files.

with these, dpb will fetch all distfiles in a not too surprising order,
and it won't consume 40% cpu while doing so...
2011-06-02 17:09:25 +00:00
espie
0594474469 if stuff does not resolve, show a better error message, to help people
with broken symlinks
2011-06-02 17:00:14 +00:00
espie
1e22893e8e if we -f -a, then scan SUPBDISTFILES too, and use the Distfile cache
to write a list of all known distfiles, that can be used to remove extra
stuff from /usr/ports/distfiles
2011-05-29 11:06:23 +00:00
espie
8cef021866 initial support for fetching distfiles, somewhat experimental yet.
- clean up clock handling, jobs with timer.
- pass more parameters thru state
- tweak the engine to handle distfiles
- lots of new code in Fetch for new jobs.
2011-05-22 08:21:38 +00:00
sthen
068886bea6 treat -all-static like -static; fixes sysutils/nut CGI scripts which
should be linked statically as reported by David Talkington. Tested with
all ports showing in bulk build logs as using -all-static.

"that looks ok for our needs" steven@
2011-05-16 20:09:54 +00:00
sthen
8659e4faad Remove code to support FreeBSD emulation, ok espie@ 2011-04-25 23:01:03 +00:00
espie
afdb81839a finish refactoring options.
Deprecate: -t and -T
use -DCONNECTION_TIMEOUT=... -DDISPLAY_TIMEOUT=... instead
New feature: -DSTUCK_TIMEOUT=
kill tasks when they don't show any progress for that long.
2011-04-25 11:58:46 +00:00
espie
cd0ba747ac more option handling refactoring 2011-04-24 09:14:45 +00:00
espie
41d3fc886a move $heuristics into $state 2011-04-24 08:34:05 +00:00
espie
69684267b3 get options to parse 2011-04-24 08:07:02 +00:00
espie
2ad5e5806c refactor options slightly 2011-04-24 08:02:07 +00:00
espie
66650886f9 okay, we're dpb and no longer dpb3 2011-04-18 14:00:57 +00:00
espie
b5b62e9c6b if we don't have rights to write into lockdir, it's generally bad news, avoid
getting stuck.

work with Stefan Rinkes.
2011-04-13 08:37:16 +00:00
espie
1c93a7f734 auto-complete build dir with arch and build.log 2011-04-05 08:23:00 +00:00
espie
46fd3f5a96 use FindBin if the portsdir was moved.
fix error message
2011-03-07 10:06:36 +00:00
jasper
872d49a562 - Use full path to ldconfig
- Adjust error message
      ok steven@
2011-03-02 08:06:33 +00:00
ajacoutot
223ba194c4 Brought to you by the king of slack!
Manually removing TABs is an exhausting job, so make the analyse
function output compatible for copy/paste into a port Makefile.

"yes yes yes" sthen@
ok landry@ espie@
2011-01-26 12:53:46 +00:00
espie
8865e138dc have check-common-dirs find dependencies not specified on the command line
if it can.
2011-01-17 20:08:08 +00:00
espie
e982ee096f print everything thru $state 2011-01-11 11:25:53 +00:00
espie
26982225cb move this too 2011-01-11 11:24:05 +00:00
espie
34f55e5a2e check that the package name itself does not go backwards as well 2010-12-29 12:33:38 +00:00
espie
2d255d213d small hack to make these work even if PORTSDIR is not set and non-standard,
since the lib are supposed to be in the same relative location.
2010-12-29 12:28:23 +00:00
espie
f0e0a9480c pass state around 2010-12-24 10:31:40 +00:00
espie
b87d7dd53f put stuff in separate modules 2010-12-07 08:46:28 +00:00
espie
3f9f91390c teach register-plist that pkgspec-version is equivalent to pkgspec-=version 2010-11-26 07:17:10 +00:00
espie
c401210b5d allow register-plist to do a quickie on print-plist 2010-11-07 00:01:40 +00:00
steven
8f06d3f7fd make die messages a bit more consistent 2010-11-01 13:40:36 +00:00
steven
63596c6ac2 give Program its own install sub as well 2010-11-01 13:26:41 +00:00
steven
72dd1c9832 zap unused variable 2010-11-01 13:05:57 +00:00
steven
89d04d4736 simplify sequence of events a bit in the install subroutine 2010-11-01 13:05:13 +00:00
steven
c5236210fe factor code to install .la file and associated files into its own sub 2010-11-01 12:48:15 +00:00
espie
a6fdaa4a74 do -d automatically, we don't really need that option 2010-11-01 12:24:47 +00:00
espie
8a26786deb new file/option: save dependencies and be able to reuse them.
makes for a "quick listing" of the most important ports first (e.g., groff).
document -R, even though it's not perfect yet.
flesh out all the recent parts and update the BUGS AND LIMITATIONS section.
2010-10-31 11:07:20 +00:00
espie
f072ab3a17 proof-of-concept implementation of -R (rebuild when signature changes).
Somewhat inefficient (deep check of package vs port signature).
More proper approach would be to tell the engine to always build, have first
step be a check for signature if the package exist, and abort if it matches:
- here we double check everything
- propagating rebuilds means non-uptodate packages give rise to non uptodate.
2010-10-30 11:19:38 +00:00
espie
10e6cc104f engine improvements:
- if several cores are available, recheck errors, so that we're not stuck
waiting for a core to finish to start new shit.
- $logdir/stop-<machine_name> allows you to stop a given machine while
you clean it up and (possibly) restart it (e.g., won't start new jobs)
2010-10-29 11:51:42 +00:00
espie
2f5fa40549 big fucking hack to the FULLPKGNAME\- problem, until I clean it up for real... 2010-10-29 10:22:14 +00:00
steven
f7e4458115 move mkdir out of if block so we avoid an error when it tries to write an
objectlist in there
2010-10-28 23:50:15 +00:00
steven
2e37db56d1 check that we really have pic objects to pass, otherwise fall back to nonpic.
this is a quick fix, to be done a bit cleaner later.
2010-10-28 23:48:40 +00:00
steven
e1202b625d undo revert 2010-10-28 23:45:59 +00:00
jasper
df430ae277 - revert libtool to -r1.16, as -r1.17 breaks at least dynamips, lftp and
silc-server.

found by landry@ and myself the hardway

ok sthen@ espie@
2010-10-28 22:19:03 +00:00
espie
1c010712c9 keep the output from dump-vars around, and save it in the logfile is
something bad happens.

get rid of special reporter for Vars, E= is enough, people should look
in the paths/logfile now.
2010-10-28 14:54:38 +00:00
steven
233c853561 strip static libraries with --strip-debug
seems to fix databased/db library
2010-10-28 09:08:27 +00:00
steven
d067b2c283 some cleanup 2010-10-27 23:42:49 +00:00
steven
6de5af54a3 behave more like gnu by not using pic objects for a static library. 2010-10-27 23:41:27 +00:00
espie
309af926e4 kill more code related to P= (will simplify next parts) 2010-10-27 22:53:32 +00:00
steven
08de79dc77 make ltprog a list of elements without whitespace.
this should prevent exec errors later on.

fixes telepathy-glib, noticed by landry@
2010-10-27 17:37:55 +00:00
steven
dda823ac11 create an executable wrapper only if we encounter not-installed shared libs
(still based on .la file content)

this fixes at least fix www/wml and maybe some others
2010-10-27 12:43:41 +00:00
steven
e0fd79dc30 this can never have worked for real...
change .a -> .la
in case we ever run into this particular case
2010-10-27 11:03:17 +00:00
steven
27f392bd95 do not pass libtool's -static option to the linker
instead do what it is supposed to do: not dynamically linking with
not-installed libtool libraries

openldap linking incorrectness pointed out by pea@

this might fix some other stuff as well
2010-10-27 09:05:30 +00:00
espie
7933e75f03 make -p optional 2010-10-27 09:04:37 +00:00
espie
d297996843 fix system for new interface 2010-10-26 21:56:40 +00:00
espie
1fecde2518 rework PkgPath to distinguish between empty and default flavors...
turns out we probably don't need FULLSUBDIR after all.
compute SUBDIR better, possibly with quotes.
Remove trailing / on subdirs, in case people use completion.
2010-10-26 15:45:09 +00:00
espie
663157b0c7 add an option for dpb to keep going if there are errors left.
there's a bug in the display (to be fixed) as errors won't show properly
and you have to look manually though...
2010-10-24 10:01:57 +00:00
steven
354a48eda4 do not write modules in shared_libs.log
noticed by ajacoutot@
2010-09-28 18:52:36 +00:00
steven
1e8a0905a2 - when writing a program wrapper, use the correct path
a/path/to/.libs/foo instead of .libs/a/path/to/foo
- make sure the symlinks pointing to the library are also in this path

problem spotted by naddy in net/gnet regression tests
2010-09-28 18:42:17 +00:00
steven
9098b5f565 drop relative -L paths from dependency_libs before installing the .la file. 2010-09-25 17:14:48 +00:00
steven
3ae0723a0e drop libraries from deplibs which we are not going to install.
this should fix exiv2.
2010-09-25 16:58:52 +00:00
steven
44e0bdbcd7 also add -lfoo arguments to deplibs if there is no key yet for this library,
because the key may be set in a recursion step, but we only add to deplibs
at level 0.
this seems to produce more correct deplibs.
first step to fix kde/bindings.
2010-09-25 15:20:04 +00:00
steven
9b80461fa6 put .o files on command line in objects array as well.
this fixes errors in gst-plugins-bad.

while here, check the object list and bail out if it's empty
2010-09-25 13:32:06 +00:00