Commit Graph

204 Commits

Author SHA1 Message Date
espie
5ce8777473 just some nits 2012-05-07 15:57:51 +00:00
espie
b56361e24c always do default stats, unless we explicitly disable them with -DNO_STATS 2012-04-10 16:58:47 +00:00
espie
9cbe5aecb1 have a look at PORTSDIR_PATH as well, so that we can dpb -P dir/p
under mystuff.

problem noticed by jeremy@
2012-04-02 15:51:24 +00:00
espie
11d2036d1a duplicate -m option, resolve conflict by renaming old unused one to -M.
Document some new stuff
2012-03-09 15:16:38 +00:00
espie
38db8f2149 tweak weight handling so that fixing weights and scaling weights works.
add -m option as a reverse to -x, like in pkg_add
2012-03-09 12:51:38 +00:00
espie
bffed54177 create build-stats dir (noticed by Mark Patruck) 2012-03-06 11:22:40 +00:00
espie
5327873dc1 fix -a bug: if you specify -I ..., this shouldn't negate a -a.
"permanent build log" under %f/build-stats/%a
-J250 by default
2012-03-05 19:43:09 +00:00
espie
a366b51e34 %f for distdir (where fetched distfiles live) 2012-03-02 19:35:09 +00:00
espie
2cc9bc20ca tweak so that dpb -I misc/screen/
will work
2012-02-27 17:50:14 +00:00
espie
fb2feec6cf let's do error messages differently: get die to reset_cursor and die
(reverse-override reporter), and get warn to use myprint (and need for
tabs to become spaces in that case...)
2012-02-27 15:37:36 +00:00
espie
56b1b3241a allow -I/-P/-C and command-line arguments to be lists of pkgpaths, or pkgpath
(it's easy to distinguish between a file and a directory under ports).

expand sequences for those files and hosts

when restarting dpb, kill locks that don't correspond to errors, but to a dpb
running on the same host that's no longer there.

do __WARN__ like __DIE__

option -DDONT_BUILD_ONCE
option -DDONT_CLEAN_LOCKS

document some
2012-02-27 14:51:37 +00:00
espie
9a29fe97e4 allow weights to be scaled
add longer traceback in case we die
2012-02-17 07:35:42 +00:00
espie
7f2b8805ae finish distfiles history handling: people who don't fetch/build the whole
tree may want to weed distfiles too, so allow for a full scan of the tree
without building/fetching anything, just to update history:

dpb -DHISTORY_ONLY

(just requires making sure the right engines are created, and a very shortened
loop at end waiting for history to be updated).
2012-01-30 15:11:04 +00:00
espie
e8ba37e682 proper usage diagnostic. 2012-01-29 14:35:40 +00:00
espie
070d4f02a9 allow a list of exceptions, for easier management of distfiles from ports not
yet linked to the build.
2012-01-29 13:03:05 +00:00
espie
1a3bfc6597 make new mirroring with dpb feature-complete, provide a small perl script that
can remove old distfiles in a smart way according to history.
2012-01-27 19:03:02 +00:00
espie
f8050aba6f run "expire_old" as a separate job, since it may take some time.
find files under $DISTDIR, anything we don't know about should also
end up in history.
2012-01-09 17:56:28 +00:00
espie
fa990a1dba give dpb more knowledge about distfiles.
- keep a stash indexed by checksum, so dpb can identify duplicate files.
- in a full bulk, if the scan has no errors, write to a ${DISTDIR}/history
file  the files encountered in ${DISTDIR}/distinfo that seem to no longer
be needed (with full timestamp and checksum info).

Should be enough info to know when to expire old DISTDIR entries.
2012-01-08 20:28:37 +00:00
espie
d179751a0f on SIGINFO, dump T/B hashes into info.log (and mark the display for refresh,
as the shell might muck it with its own information)
2011-12-10 14:48:40 +00:00
espie
c783276075 truly random mode shouldn't peek at most frequent dependencies ! 2011-12-05 21:22:35 +00:00
espie
abb8ddf57d turn -J into an option taking a number.
always run show-prepare-results, and always serialize
depends/prepare/show-prepare-results(/junk) on a single host.
2011-12-05 16:10:00 +00:00
espie
a38035bd67 clean-up job running a bit: add methods to Grabber and PortBuilder objects
to access more stuff they need.

Remove distantshell->make, ask state instead.
Provide state with the program we run, and the parameters we pass it.

- same make for distant and local hosts
- pass BUILD_ONCE=Yes if -a.
2011-12-04 12:05:41 +00:00
espie
ddebaf6da6 not ideal, but will now stop at the end of a -F run. 2011-12-04 11:24:38 +00:00
espie
91b04a0eac fix quick-start: the interface to grabber changed in a silent way.
explicitly move the main_loop near handle_non_waiting_jobs to try to
fix that mess (and finish all the time)
2011-12-03 11:01:47 +00:00
espie
2cfd4c615d new junk option (to remove packages as they're no longer needed) to pass
around thru JobBuilder (along with locks since we need to write stuff into
that file)
2011-12-02 22:33:46 +00:00
espie
5a04aafc13 zap old stuff, only read plist from stdin if -i was given 2011-12-01 11:20:19 +00:00
jasper
5c15af4428 - move to bin and adjust paths where needed, manpages will follown soon 2011-11-28 10:30:22 +00:00
espie
48b9bf74ff bug fix, don't forget to finish_scanning when reading from source ! 2011-11-27 17:37:47 +00:00
espie
34c5369453 unconfuse naming 2011-11-27 17:31:54 +00:00
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