summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2019-06-09 09:36:24 +0000
committerespie <espie@openbsd.org>2019-06-09 09:36:24 +0000
commit5c974d94c583ad211a446aaaddd88e23dfa117a8 (patch)
treecb6d7d32c02e7eba7b395b882749518521182daa
parentIntroducing autmatic settime mode: if some preconditions are met (diff)
downloadwireguard-openbsd-5c974d94c583ad211a446aaaddd88e23dfa117a8.tar.xz
wireguard-openbsd-5c974d94c583ad211a446aaaddd88e23dfa117a8.zip
with tags, we do look in deletesets
add an extra indirection so we don't look where we actually can't because the code doesn't exist. (as seen by various people on somewhat buggy installs)
-rw-r--r--usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm5
-rw-r--r--usr.sbin/pkg_add/OpenBSD/PkgAdd.pm9
-rw-r--r--usr.sbin/pkg_add/OpenBSD/PkgDelete.pm9
3 files changed, 19 insertions, 4 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm b/usr.sbin/pkg_add/OpenBSD/Dependencies/SolverBase.pm
index 9ca782c7249..62441b9d45c 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.11 2018/12/11 10:18:37 espie Exp $
+# $OpenBSD: SolverBase.pm,v 1.12 2019/06/09 09:36:25 espie Exp $
#
# Copyright (c) 2005-2018 Marc Espie <espie@openbsd.org>
#
@@ -326,7 +326,8 @@ sub solve_dependency
$state->say("No cache hit on #1", $dep->{pattern});
}
- $self->really_solve_dependency($state, $dep, $package);
+ # we need an indirection because deleting is simpler
+ $state->solve_dependency($self, $dep, $package);
}
sub solve_depends
diff --git a/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm b/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm
index 3c009f727dc..5d4e6b4e531 100644
--- a/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm
+++ b/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm
@@ -1,7 +1,7 @@
#! /usr/bin/perl
# ex:ts=8 sw=4:
-# $OpenBSD: PkgAdd.pm,v 1.111 2019/05/08 13:04:26 espie Exp $
+# $OpenBSD: PkgAdd.pm,v 1.112 2019/06/09 09:36:24 espie Exp $
#
# Copyright (c) 2003-2014 Marc Espie <espie@openbsd.org>
#
@@ -186,6 +186,13 @@ sub updateset_from_location
OpenBSD::Handle->from_location($location));
}
+sub solve_dependency
+{
+ my ($self, $solver, $dep, $package) = @_;
+ # full dependency solving with everything
+ return $solver->really_solve_dependency($self, $dep, $package);
+}
+
sub display_timestamp
{
my ($state, $pkgname, $timestamp) = @_;
diff --git a/usr.sbin/pkg_add/OpenBSD/PkgDelete.pm b/usr.sbin/pkg_add/OpenBSD/PkgDelete.pm
index b490e7e550a..81bf13d54a8 100644
--- a/usr.sbin/pkg_add/OpenBSD/PkgDelete.pm
+++ b/usr.sbin/pkg_add/OpenBSD/PkgDelete.pm
@@ -1,6 +1,6 @@
#!/usr/bin/perl
# ex:ts=8 sw=4:
-# $OpenBSD: PkgDelete.pm,v 1.46 2019/02/10 16:42:35 phessler Exp $
+# $OpenBSD: PkgDelete.pm,v 1.47 2019/06/09 09:36:24 espie Exp $
#
# Copyright (c) 2003-2010 Marc Espie <espie@openbsd.org>
#
@@ -131,6 +131,13 @@ sub deleteset_from_location
return $self->deleteset->add_older(OpenBSD::Handle->from_location($location));
}
+sub solve_dependency
+{
+ my ($self, $solver, $dep, $package) = @_;
+ # simpler dependency solving
+ return $solver->find_dep_in_installed($self, $dep);
+}
+
package OpenBSD::DeleteSet;
sub setup_header
{