do detain distfiles as well as paths (need to track them over rescan)
also, since distfiles are "always fetchable", need to check for detained files before checking for "already done", since already done will want to check the size...
This commit is contained in:
parent
853ce1b8f7
commit
40499f8bbe
@ -1,5 +1,5 @@
|
||||
# ex:ts=8 sw=4:
|
||||
# $OpenBSD: Engine.pm,v 1.112 2015/06/11 08:42:38 espie Exp $
|
||||
# $OpenBSD: Engine.pm,v 1.113 2015/06/17 07:31:25 espie Exp $
|
||||
#
|
||||
# Copyright (c) 2010-2013 Marc Espie <espie@openbsd.org>
|
||||
#
|
||||
@ -495,6 +495,7 @@ sub rebuild_info
|
||||
{
|
||||
my ($self, $core) = @_;
|
||||
my @l = @{$self->{requeued}};
|
||||
my %d = ();
|
||||
$self->{requeued} = [];
|
||||
my %subdirs = map {($_->pkgpath_and_flavors, 1)} @l;
|
||||
|
||||
@ -503,6 +504,8 @@ sub rebuild_info
|
||||
if (defined $v->{info}{FDEPENDS}) {
|
||||
for my $f (values %{$v->{info}{FDEPENDS}}) {
|
||||
$f->forget;
|
||||
$self->{tofetch}->detain($f);
|
||||
$d{$f} = $f;
|
||||
}
|
||||
}
|
||||
delete $v->{info};
|
||||
@ -511,6 +514,9 @@ sub rebuild_info
|
||||
for my $v (@l) {
|
||||
$self->{buildable}->release($v);
|
||||
}
|
||||
for my $f (values %d) {
|
||||
$self->{tofetch}->release($f);
|
||||
}
|
||||
}
|
||||
|
||||
sub start_new_job
|
||||
|
@ -1,5 +1,5 @@
|
||||
# ex:ts=8 sw=4:
|
||||
# $OpenBSD: SubEngine.pm,v 1.23 2015/06/08 11:06:08 espie Exp $
|
||||
# $OpenBSD: SubEngine.pm,v 1.24 2015/06/17 07:31:25 espie Exp $
|
||||
#
|
||||
# Copyright (c) 2010 Marc Espie <espie@openbsd.org>
|
||||
#
|
||||
@ -144,6 +144,7 @@ sub use_core
|
||||
|
||||
# first pass, try to find something we can build
|
||||
while (my $v = $o->next) {
|
||||
next if $self->detained($v);
|
||||
# trim stuff that's done
|
||||
if ($self->is_done($v)) {
|
||||
$self->already_done($v);
|
||||
|
Loading…
Reference in New Issue
Block a user