do -d automatically, we don't really need that option

This commit is contained in:
espie 2010-11-01 12:24:47 +00:00
parent 3efca309a7
commit a6fdaa4a74
2 changed files with 20 additions and 12 deletions

View File

@ -1,7 +1,7 @@
#! /usr/bin/perl
# ex:ts=8 sw=4:
# $OpenBSD: dpb,v 1.9 2010/10/31 11:07:20 espie Exp $
# $OpenBSD: dpb,v 1.10 2010/11/01 12:24:47 espie Exp $
#
# Copyright (c) 2010 Marc Espie <espie@openbsd.org>
#
@ -109,7 +109,7 @@ $ui->{opt} = {
};
$ui->handle_options('aceqrRsuUh:xA:f:j:m:P:b:d:L:S:t:T:',
"[-acerRsuUx] [-A arch] [-j N] [-P plist] [-h hosts] [-L logdir]",
"[-b log] [-d log] [-t ctimeout] [-T dtimeout] [-m threshold] [path ...]");
"[-b log] [-t ctimeout] [-T dtimeout] [-m threshold] [path ...]");
if ($opt_r) {
$heuristics->random;
@ -225,9 +225,16 @@ sub handle_non_waiting_jobs
my $grabber = DPB::Grabber->new($ports, $make, $logger, $engine, $dpb,
sub { handle_non_waiting_jobs(1) });
if ($opt_d) {
$grabber->grab_subdirs($core, $engine->find_best($opt_d, 10));
if ($opt_a) {
# when restarting interrupted dpb,
# find the most important paths first
my $list = $engine->find_best($logger->logfile("dependencies"), 10);
# if we have them, list them before the full ports tree walk.
if (@$list > 0) {
$grabber->grab_subdirs($core, $list);
}
}
if (@subdirlist > 0) {
$grabber->grab_subdirs($core, \@subdirlist);
}
@ -247,7 +254,9 @@ if (!$opt_e) {
}
# and let's wait for all jobs now.
$engine->dump_dependencies;
if ($opt_a) {
$engine->dump_dependencies;
}
#$engine->dump($dump);
$engine->check_buildable;
#$engine->dump($dump);

View File

@ -1,4 +1,4 @@
.\" $OpenBSD: dpb.1,v 1.8 2010/10/31 11:07:20 espie Exp $
.\" $OpenBSD: dpb.1,v 1.9 2010/11/01 12:24:47 espie Exp $
.\"
.\" Copyright (c) 2010 Marc Espie <espie@openbsd.org>
.\"
@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: October 31 2010 $
.Dd $Mdocdate: November 1 2010 $
.Dt DPB 1
.Os
.Sh NAME
@ -26,7 +26,6 @@
.Op Fl aceqrRsuUx
.Op Fl A Ar arch
.Op Fl b Ar logfile
.Op Fl d Ar logfile
.Op Fl h Ar hosts
.Op Fl j Ar n
.Op Fl L Ar logdir
@ -61,9 +60,6 @@ Prime the heuristics module with a previous build log, so that packages that
take a long time to build will happen earlier.
.It Fl c
Clean port working directory and log before each build.
.It Fl d Ar logfile
Use a dependency logfile from a previous build to look at the most important
10 pkgpaths first before scanning the rest of the tree.
.It Fl e
The listing job is extra and won't be given back to the pool when it's
finished.
@ -281,7 +277,10 @@ and finishes at
.It Pa clean.log
Paths that do not clean correctly, and required sudo to clean the directory.
.It Pa dependencies.log
List of pkgpath frequencies, filled at end of LISTING.
List of pkgpath frequencies, filled at end of LISTING if
.Fl a .
Will be automatically reused when restarting a build: a quick LISTING of
the most important dependencies will happen before the general LISTING.
.It Pa size.log
Size of work directory at the end of each build, built only with
.Fl s .