diff options
author | 2004-11-11 12:13:57 +0000 | |
---|---|---|
committer | 2004-11-11 12:13:57 +0000 | |
commit | ebc3e79eaef339d10b16953c9fae72f83d760237 (patch) | |
tree | 333caa98fe80458436456fbc809bff14b2c660e9 | |
parent | package names starting with . are hidden from pkg_info by default. (diff) | |
download | wireguard-openbsd-ebc3e79eaef339d10b16953c9fae72f83d760237.tar.xz wireguard-openbsd-ebc3e79eaef339d10b16953c9fae72f83d760237.zip |
need to move collision_report over as well, and use PackageInfo routines.
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Add.pm | 35 | ||||
-rw-r--r-- | usr.sbin/pkg_add/pkg_add | 35 |
2 files changed, 36 insertions, 34 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Add.pm b/usr.sbin/pkg_add/OpenBSD/Add.pm index f2f266f2d44..02553556c7f 100644 --- a/usr.sbin/pkg_add/OpenBSD/Add.pm +++ b/usr.sbin/pkg_add/OpenBSD/Add.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Add.pm,v 1.11 2004/11/11 11:36:26 espie Exp $ +# $OpenBSD: Add.pm,v 1.12 2004/11/11 12:13:57 espie Exp $ # # Copyright (c) 2003-2004 Marc Espie <espie@openbsd.org> # @@ -19,6 +19,7 @@ use warnings; package OpenBSD::Add; use OpenBSD::Error; +use OpenBSD::PackageInfo; sub manpages_index { @@ -50,6 +51,37 @@ sub register_installation $plist->to_installation(); } +sub collision_report($) +{ + my $list = shift; + my %todo = map {($_, 1)} @$list; + my $bypkg = {}; + + + for my $pkg (installed_packages()) { + my $plist = OpenBSD::PackingList->from_installation($pkg, + \&OpenBSD::PackingList::FilesOnly); + for my $item (@{$plist->{items}}) { + next unless $item->IsFile(); + my $name = $item->fullname(); + if (defined $todo{$name}) { + $bypkg->{$pkg} = [] unless defined $bypkg->{$pkg}; + push(@{$bypkg->{$pkg}}, $name); + delete $todo{$name}; + } + } + } + print "Collision: the following files already exist\n"; + for my $pkg (sort keys %$bypkg) { + for my $item (sort @{$bypkg->{$pkg}}) { + print "\t$item ($pkg)\n"; + } + } + for my $item (sort keys %todo) { + print "\t$item\n"; + } +} + sub validate_plist($$) { my ($plist, $state) = @_; @@ -96,6 +128,7 @@ sub validate_plist($$) Fatal "fatal issues" if $problems; return $totsize; } + # used by newuser/newgroup to deal with options. package OpenBSD::PackingElement; use OpenBSD::Error; diff --git a/usr.sbin/pkg_add/pkg_add b/usr.sbin/pkg_add/pkg_add index 7917460994d..ddee5d83d33 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.102 2004/11/11 11:36:26 espie Exp $ +# $OpenBSD: pkg_add,v 1.103 2004/11/11 12:13:57 espie Exp $ # # Copyright (c) 2003-2004 Marc Espie <espie@openbsd.org> # @@ -83,7 +83,7 @@ sub can_install($$) require OpenBSD::Update; - my $plist = OpenBSD::Update::can_do($l[0], $pkgname, $state); + my $plist = OpenBSD::Update::can_do($l[0], $pkgname, $state, \%forced); if ($plist) { $plist->{dir} = installed_info($l[0]); return $plist; @@ -299,37 +299,6 @@ sub check_lib_specs return 1; } -sub collision_report($) -{ - my $list = shift; - my %todo = map {($_, 1)} @$list; - my $bypkg = {}; - - - for my $pkg (installed_packages()) { - my $plist = OpenBSD::PackingList->from_installation($pkg, - \&OpenBSD::PackingList::FilesOnly); - for my $item (@{$plist->{items}}) { - next unless $item->IsFile(); - my $name = $item->fullname(); - if (defined $todo{$name}) { - $bypkg->{$pkg} = [] unless defined $bypkg->{$pkg}; - push(@{$bypkg->{$pkg}}, $name); - delete $todo{$name}; - } - } - } - print "Collision: the following files already exist\n"; - for my $pkg (sort keys %$bypkg) { - for my $item (sort @{$bypkg->{$pkg}}) { - print "\t$item ($pkg)\n"; - } - } - for my $item (sort keys %todo) { - print "\t$item\n"; - } -} - sub do_script { my ($plist, $name, $state, $args) = @_; |