summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2005-02-07 15:35:23 +0000
committerespie <espie@openbsd.org>2005-02-07 15:35:23 +0000
commitd8bf5c47cea20de25d0e71e90e86d102545c982b (patch)
tree005e838edd3f9e315f64085870f4388f209338a4
parentem(4) doesn't use the mii layer, call if_link_state_change() directly. (diff)
downloadwireguard-openbsd-d8bf5c47cea20de25d0e71e90e86d102545c982b.tar.xz
wireguard-openbsd-d8bf5c47cea20de25d0e71e90e86d102545c982b.zip
make updatedepends slightly safer: note which packages may have bogus
dependencies, so that if you do one big pkg_add -r *, then you can check which packages may have issues thanks to forced updates.
-rw-r--r--usr.sbin/pkg_add/OpenBSD/Update.pm4
-rw-r--r--usr.sbin/pkg_add/pkg_add10
2 files changed, 12 insertions, 2 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Update.pm b/usr.sbin/pkg_add/OpenBSD/Update.pm
index 743c6b778a0..5c75067c356 100644
--- a/usr.sbin/pkg_add/OpenBSD/Update.pm
+++ b/usr.sbin/pkg_add/OpenBSD/Update.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: Update.pm,v 1.50 2004/12/28 14:00:21 espie Exp $
+# $OpenBSD: Update.pm,v 1.51 2005/02/07 15:35:23 espie Exp $
#
# Copyright (c) 2004 Marc Espie <espie@openbsd.org>
#
@@ -148,6 +148,8 @@ sub validate_depend
if (!OpenBSD::PkgSpec::match($self->{pattern}, $replacement)) {
if ($state->{forced}->{updatedepends}) {
Warn "Forward dependency of $wanting on $toreplace doesn't match $replacement, forcing it\n";
+ $state->{forcedupdates} = {} unless defined $state->{forcedupdates};
+ $state->{forcedupdates}->{$wanting} = 1;
} else {
$state->{okay} = 0;
Warn "Can't update forward dependency of $wanting on $toreplace: $replacement doesn't match\n";
diff --git a/usr.sbin/pkg_add/pkg_add b/usr.sbin/pkg_add/pkg_add
index 71922d9f636..497266b7291 100644
--- a/usr.sbin/pkg_add/pkg_add
+++ b/usr.sbin/pkg_add/pkg_add
@@ -1,7 +1,7 @@
#! /usr/bin/perl
# ex:ts=8 sw=4:
-# $OpenBSD: pkg_add,v 1.168 2005/01/22 13:00:35 espie Exp $
+# $OpenBSD: pkg_add,v 1.169 2005/02/07 15:35:23 espie Exp $
#
# Copyright (c) 2003-2004 Marc Espie <espie@openbsd.org>
#
@@ -381,6 +381,9 @@ sub really_add($$)
};
delete_installed($op->pkgname());
+ if (defined $state->{updatedepends}) {
+ delete $state->{updatedepends}->{$op->pkgname()};
+ }
OpenBSD::PkgCfl::unregister($op, $state);
}
# Here there should be code to handle old libs
@@ -818,6 +821,11 @@ if ($state->{beverbose}) {
OpenBSD::Vstat::tally();
}
$state->delayed_output();
+if (defined $state->{updatedepends} && %{$state->{updatedepends}}) {
+ print "Forced updates, bogus dependencies for ",
+ join(' ', sort(keys %{$state->{updatedepends}})),
+ " may remain\n";
+}
if (defined $state->{forced}->{kitchensink}) {
print "Added:\n", (map { "\t$_\n" } sort keys %{$state->{installed}}), "\n";
}