summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2012-04-28 11:55:54 +0000
committerMarc Espie <espie@cvs.openbsd.org>2012-04-28 11:55:54 +0000
commit7a07ed50371f2da8c77aee54fc925341d133a411 (patch)
tree6c165ca142f29534df24d4e6cbd51f2ef146f617 /usr.sbin
parentda1bdba8cf00d7dc7f8e4864453ab1aaaa7e5c60 (diff)
work-around the fact that BaseSystem updates have specific dependency
handling
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/pkg_add/OpenBSD/ForwardDependencies.pm19
1 files changed, 13 insertions, 6 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/ForwardDependencies.pm b/usr.sbin/pkg_add/OpenBSD/ForwardDependencies.pm
index e05eee3a3e1..bb5db9adee1 100644
--- a/usr.sbin/pkg_add/OpenBSD/ForwardDependencies.pm
+++ b/usr.sbin/pkg_add/OpenBSD/ForwardDependencies.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: ForwardDependencies.pm,v 1.11 2010/12/24 09:04:14 espie Exp $
+# $OpenBSD: ForwardDependencies.pm,v 1.12 2012/04/28 11:55:53 espie Exp $
#
# Copyright (c) 2009 Marc Espie <espie@openbsd.org>
#
@@ -51,14 +51,21 @@ sub adjust
$state->errsay("XXX #1", $check);
$deps_f->delete($check);
} else {
- my $r = $h->{update_found}->pkgname;
+ my $r = $h->{update_found};
+ my $p = $r->pkgname;
$state->say("Adjusting #1 to #2 in #3",
- $check, $r, $f)
+ $check, $p, $f)
if $state->verbose >= 3;
- if ($check ne $r) {
- $deps_f->delete($check)->add($r);
+ if ($check ne $p) {
+ if ($r->is_real) {
+ $deps_f->delete($check)->add($p);
+ } else {
+ $deps_f->delete($check);
+ }
+ }
+ if ($r->is_real) {
+ OpenBSD::RequiredBy->new($p)->add($f);
}
- OpenBSD::RequiredBy->new($r)->add($f);
}
}
}