tweak, remove rebuild.log, as we log stuff directly into paths/ now.

do register_package in a slightly more efficient way (less -f tests)
This commit is contained in:
espie 2013-01-28 13:31:40 +00:00
parent a2a420d6a5
commit 5c9638a323
2 changed files with 15 additions and 22 deletions

View File

@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
# $OpenBSD: Port.pm,v 1.93 2013/01/28 13:25:59 espie Exp $
# $OpenBSD: Port.pm,v 1.94 2013/01/28 13:31:40 espie Exp $
#
# Copyright (c) 2010 Marc Espie <espie@openbsd.org>
#
@ -121,15 +121,14 @@ sub make_sure_we_have_packages
# check ALL BUILD_PACKAGES
for my $w ($job->{v}->build_path_list) {
my $f = $job->{builder}->pkgfile($w);
unless (-f $f) {
if (-f $f) {
$job->{builder}->register_package($w);
} else {
$check = 0;
print {$job->{logfh}} ">>> Missing $f\n";
}
}
if ($check) {
$job->{builder}->register_packages($job->{v});
return;
}
return if $check;
if (!defined $job->{waiting}) {
$job->{waiting} = 0;
}
@ -188,7 +187,12 @@ sub finalize
$core);
} else {
$job->{signature_only} = 1;
$job->{builder}->register_packages($job->{v});
for my $w ($job->{v}->build_path_list) {
my $f = $job->{builder}->pkgfile($w);
if (-f $f) {
$job->{builder}->register_package($w);
}
}
}
return 1;
}

View File

@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
# $OpenBSD: PortBuilder.pm,v 1.38 2013/01/28 13:25:59 espie Exp $
# $OpenBSD: PortBuilder.pm,v 1.39 2013/01/28 13:31:40 espie Exp $
#
# Copyright (c) 2010 Marc Espie <espie@openbsd.org>
#
@ -122,7 +122,7 @@ sub checks_rebuild
{
}
sub register_packages
sub register_package
{
}
@ -227,8 +227,6 @@ sub init
"file:/$self->{fullrepo}");
# this is just a dummy core, for running quick pipes
$self->{core} = DPB::Core->new_noreg('localhost');
$self->{logrebuild} = DPB::Util->make_hot(
$self->logger->open('rebuild'));
}
my $uptodate = {};
@ -256,13 +254,11 @@ sub check_signature
$self->equal_signatures($core, $v)) {
$uptodate->{$name} = 1;
print "$name: uptodate\n";
print {$self->{logrebuild}} "$name: uptodate\n";
return 1;
} else {
# XXX clean this first, so we skip over it in the loop
$self->{state}->grabber->clean_packages($core, $v->fullpkgpath);
print "$name: rebuild\n";
print {$self->{logrebuild}} "$name: rebuild\n";
for my $w ($v->build_path_list) {
$name = $w->fullpkgname;
next unless -f "$self->{fullrepo}/$name.tgz";
@ -270,11 +266,9 @@ sub check_signature
if ($self->equal_signatures($core, $w)) {
$uptodate->{$name} = 1;
print "$name: uptodate\n";
print {$self->{logrebuild}} "$name: uptodate\n";
next;
}
print "$name: rebuild\n";
print {$self->{logrebuild}} "$name: rebuild\n";
$self->{state}->grabber->clean_packages($core,
$w->fullpkgpath);
}
@ -283,15 +277,10 @@ sub check_signature
}
# this is due to the fact check_signature is within a child
sub register_packages
sub register_package
{
my ($self, $v) = @_;
for my $w ($v->build_path_list) {
my $name = $w->fullpkgname;
if (-f "$self->{fullrepo}/$name.tgz") {
$uptodate->{$name} = 1;
}
}
$uptodate->{$v->fullpkgname} = 1;
}
sub check