summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2018-07-01 08:24:21 +0000
committerMarc Espie <espie@cvs.openbsd.org>2018-07-01 08:24:21 +0000
commit44192558e703ea1a1e910c0a8540888bd1b02da3 (patch)
tree62ab825445d263cb03a642b37037c14853fda269 /usr.sbin/pkg_add
parent3e684b9998ab42f8aa0d785b6f1f3388cbb14a53 (diff)
ahah. complex tag changes show I need to use the same algorithm as for libs
Diffstat (limited to 'usr.sbin/pkg_add')
-rw-r--r--usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm12
1 files changed, 9 insertions, 3 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm b/usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm
index c52484c84a3..264a471c285 100644
--- a/usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm
+++ b/usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: SolverBase.pm,v 1.8 2018/06/26 09:40:33 espie Exp $
+# $OpenBSD: SolverBase.pm,v 1.9 2018/07/01 08:24:20 espie Exp $
#
# Copyright (c) 2005-2018 Marc Espie <espie@openbsd.org>
#
@@ -231,8 +231,14 @@ sub find_in_plist
sub find_in_new_source
{
my ($self, $solver, $state, $obj, $dep) = @_;
- my $plist = OpenBSD::PackingList->from_installation($dep,
- \&OpenBSD::PackingList::DependOnly);
+ my $plist;
+
+ if (defined $solver->{set}{newer}{$dep}) {
+ $plist = $solver->{set}{newer}{$dep}->plist;
+ } else {
+ $plist = OpenBSD::PackingList->from_installation($dep,
+ \&OpenBSD::PackingList::DependOnly);
+ }
if (!defined $plist) {
$state->errsay("Can't read plist for #1", $dep);
}