diff options
author | 2005-02-07 15:35:23 +0000 | |
---|---|---|
committer | 2005-02-07 15:35:23 +0000 | |
commit | d8bf5c47cea20de25d0e71e90e86d102545c982b (patch) | |
tree | 005e838edd3f9e315f64085870f4388f209338a4 | |
parent | em(4) doesn't use the mii layer, call if_link_state_change() directly. (diff) | |
download | wireguard-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.pm | 4 | ||||
-rw-r--r-- | usr.sbin/pkg_add/pkg_add | 10 |
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"; } |