summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2004-11-11 12:13:57 +0000
committerespie <espie@openbsd.org>2004-11-11 12:13:57 +0000
commitebc3e79eaef339d10b16953c9fae72f83d760237 (patch)
tree333caa98fe80458436456fbc809bff14b2c660e9
parentpackage names starting with . are hidden from pkg_info by default. (diff)
downloadwireguard-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.pm35
-rw-r--r--usr.sbin/pkg_add/pkg_add35
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) = @_;