# ex:ts=8 sw=4:
-# $OpenBSD: Handle.pm,v 1.23 2010/06/30 10:51:04 espie Exp $
+# $OpenBSD: Handle.pm,v 1.24 2010/07/31 11:17:22 espie Exp $
#
# Copyright (c) 2007-2009 Marc Espie <espie@openbsd.org>
#
$self->{error} //= $error;
$self->{errorinfo} //= $errorinfo;
if (defined $self->location) {
- if (defined $self->{error} &&
- $self->{error} == ALREADY_INSTALLED) {
- $self->location->close_now;
- } elsif (defined $self->{error} &&
- $self->{error} == CANT_INSTALL) {
- $self->location->close_with_client_error;
+ if (defined $self->{error}) {
+ if ($self->{error} == BAD_PACKAGE) {
+ $self->location->close_with_client_error;
+ } else {
+ $self->location->close_now;
+ }
}
$self->location->wipe_info;
}
if ($state->verbose >= 2) {
$state->say("#1parsing #2", $state->deptree_header($pkg), $pkg);
}
- my $plist = $location->grabPlist;
+ my $plist = $location->plist;
unless (defined $plist) {
$state->say("Can't find CONTENTS from #1", $location->url);
$location->close_with_client_error;
# ex:ts=8 sw=4:
-# $OpenBSD: PackageLocation.pm,v 1.23 2010/07/28 12:19:54 espie Exp $
+# $OpenBSD: PackageLocation.pm,v 1.24 2010/07/31 11:17:22 espie Exp $
#
# Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org>
#
OpenBSD::Auto::cache(update_info,
sub {
my $self = shift;
- return $self->grabPlist(\&OpenBSD::PackingList::UpdateInfoOnly);
+ return $self->plist(\&OpenBSD::PackingList::UpdateInfoOnly);
});
}
}
+sub forget
+{
+ my $self = shift;
+ $self->wipe_info;
+ $self->close_now;
+}
+
sub wipe_info
{
my $self = shift;
# ex:ts=8 sw=4:
-# $OpenBSD: Update.pm,v 1.143 2010/07/26 23:28:06 espie Exp $
+# $OpenBSD: Update.pm,v 1.144 2010/07/31 11:17:22 espie Exp $
#
# Copyright (c) 2004-2010 Marc Espie <espie@openbsd.org>
#
}
if ($p2->has('arch')) {
unless ($p2->{arch}->check($state->{arch})) {
+ $loc->forget;
next;
}
}
my $r = $plist->signature->compare($p2->signature);
if (defined $r && $r > 0 && !$state->defines('downgrade')) {
$oldfound = 1;
+ $loc->forget;
next;
}
if ($plist->match_pkgpath($p2)) {
push(@l2, $loc);
next
}
+ $loc->forget;
}
return \@l2;
}));