summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2007-05-23 10:33:46 +0000
committerMarc Espie <espie@cvs.openbsd.org>2007-05-23 10:33:46 +0000
commitf0862252f6ab7c53b105fbc2a89015ce8b206ce2 (patch)
treeb6cd72d10ba4f275b5e9de9595f6b8c6d2baf30e /usr.sbin/pkg_add
parentea7bbd52815b4ea7f6ff0aae725f75a65bd2faae (diff)
fiddle with SharedLibs name, put common code into a common place in
pkg_add.
Diffstat (limited to 'usr.sbin/pkg_add')
-rw-r--r--usr.sbin/pkg_add/OpenBSD/Dependencies.pm8
-rw-r--r--usr.sbin/pkg_add/OpenBSD/SharedLibs.pm17
-rw-r--r--usr.sbin/pkg_add/pkg_add26
3 files changed, 25 insertions, 26 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Dependencies.pm b/usr.sbin/pkg_add/OpenBSD/Dependencies.pm
index 46b7c2ceac3..97ea2058ac4 100644
--- a/usr.sbin/pkg_add/OpenBSD/Dependencies.pm
+++ b/usr.sbin/pkg_add/OpenBSD/Dependencies.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: Dependencies.pm,v 1.38 2007/05/19 23:40:46 espie Exp $
+# $OpenBSD: Dependencies.pm,v 1.39 2007/05/23 10:33:45 espie Exp $
#
# Copyright (c) 2005-2007 Marc Espie <espie@openbsd.org>
#
@@ -210,7 +210,7 @@ sub find_old_lib
require OpenBSD::PackageRepository::Installed;
for my $try (OpenBSD::PackageRepository::Installed->new->match(OpenBSD::Search::PkgSpec->new(".libs-".$pattern))) {
- OpenBSD::SharedLibs::add_package_libs($try);
+ OpenBSD::SharedLibs::add_libs_from_installed_package($try);
if (check_lib_spec($base, $lib, {$try => 1})) {
$dependencies->{$try} = 1;
return "$try($lib)";
@@ -241,7 +241,7 @@ sub lookup_library
}
if ($lib !~ m|/|) {
- OpenBSD::SharedLibs::add_system_libs($state->{destdir});
+ OpenBSD::SharedLibs::add_libs_from_system($state->{destdir});
for my $dir (OpenBSD::SharedLibs::system_dirs()) {
if (check_lib_spec($dir, $lib, {system => 1})) {
print "found libspec $lib in $dir/lib\n" if $state->{very_verbose};
@@ -267,7 +267,7 @@ sub lookup_library
push(@{$self->{todo}}, $dep2) unless $done->{$dep2};
}
next if $dependencies->{$dep};
- OpenBSD::SharedLibs::add_package_libs($dep);
+ OpenBSD::SharedLibs::add_libs_from_installed_package($dep);
if (check_lib_spec($plist->localbase, $lib, {$dep => 1})) {
print "found libspec $lib in dependent package $dep\n" if $state->{verbose};
$dependencies->{$dep} = 1;
diff --git a/usr.sbin/pkg_add/OpenBSD/SharedLibs.pm b/usr.sbin/pkg_add/OpenBSD/SharedLibs.pm
index 7c3871843dc..af9faf8cd9e 100644
--- a/usr.sbin/pkg_add/OpenBSD/SharedLibs.pm
+++ b/usr.sbin/pkg_add/OpenBSD/SharedLibs.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: SharedLibs.pm,v 1.15 2007/05/23 09:27:27 espie Exp $
+# $OpenBSD: SharedLibs.pm,v 1.16 2007/05/23 10:33:45 espie Exp $
#
# Copyright (c) 2003-2005 Marc Espie <espie@openbsd.org>
#
@@ -100,7 +100,7 @@ sub system_dirs
return ("/usr", "/usr/X11R6");
}
-sub add_system_libs
+sub add_libs_from_system
{
my ($destdir) = @_;
return if $done_plist->{'system'};
@@ -114,9 +114,9 @@ sub add_system_libs
}
}
-sub add_package_libs
+sub add_libs_from_installed_package
{
- my ($pkgname, $wantpath) = @_;
+ my $pkgname = shift;
return if $done_plist->{$pkgname};
$done_plist->{$pkgname} = 1;
my $plist = OpenBSD::PackingList->from_installation($pkgname,
@@ -125,18 +125,13 @@ sub add_package_libs
Warn "Can't read plist for $pkgname\n";
return;
}
- if (defined $wantpath) {
- if (defined $plist->{extrainfo}) {
- $pkgname = $plist->{extrainfo}->{subdir};
- }
- }
$plist->mark_available_lib($pkgname);
}
-sub add_plist_libs
+sub add_libs_from_plist
{
- my ($plist) = @_;
+ my $plist = shift;
my $pkgname = $plist->pkgname;
return if $done_plist->{$pkgname};
$done_plist->{$pkgname} = 1;
diff --git a/usr.sbin/pkg_add/pkg_add b/usr.sbin/pkg_add/pkg_add
index e38842e5d9a..95678c71198 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.260 2007/05/22 10:47:40 espie Exp $
+# $OpenBSD: pkg_add,v 1.261 2007/05/23 10:33:45 espie Exp $
#
# Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org>
#
@@ -76,6 +76,13 @@ sub mark_installed
$state->{installed}->{$pkg} = 1;
}
+sub mark_as_already_installed
+{
+ my ($state, $pkg) = @_;
+ OpenBSD::SharedLibs::add_libs_from_installed_package($pkg);
+ $state->mark_installed($pkg);
+}
+
sub is_installed
{
my ($state, $pkg) = @_;
@@ -118,12 +125,11 @@ sub can_install($$$)
}
if (!$state->{replace}) {
- if (@conflicts == 1 && is_installed($plist->pkgname) &&
+ if (@conflicts == 1 && is_installed($pkgname) &&
!$plist->has_new_sig($state) &&
!$plist->uses_old_libs) {
print "Not reinstalling $pkgname\n" if $state->{verbose};
- OpenBSD::SharedLibs::add_package_libs($plist->pkgname);
- $state->mark_installed($pkgname);
+ $state->mark_as_already_installed($pkgname);
return;
}
if ($state->{forced}->{conflicts}) {
@@ -143,11 +149,10 @@ sub can_install($$$)
require OpenBSD::Replace;
- if (is_installed($plist->pkgname) && !$state->{forced}->{installed}) {
+ if (is_installed($pkgname) && !$state->{forced}->{installed}) {
if (!$plist->has_new_sig($state) && !$plist->uses_old_libs) {
print "Not reinstalling $pkgname\n" if $state->{verbose};
- OpenBSD::SharedLibs::add_package_libs($plist->pkgname);
- $state->mark_installed($pkgname);
+ $state->mark_as_already_installed($pkgname);
return;
}
}
@@ -466,7 +471,7 @@ sub really_add($$)
if ($interrupted || $errors) {
failed_install($handle, $state->{not}, $interrupted);
}
- OpenBSD::SharedLibs::add_plist_libs($plist);
+ OpenBSD::SharedLibs::add_libs_from_plist($plist);
$plist->to_cache;
my $dest = installed_info($pkgname);
OpenBSD::Add::register_installation($dir, $dest, $plist);
@@ -525,8 +530,7 @@ sub install_package
if (is_installed($plist->pkgname) && !$state->{forced}->{installed}) {
if ($state->{replace}) {
if (!$plist->has_new_sig($state) && !$plist->uses_old_libs) {
- OpenBSD::SharedLibs::add_package_libs($plist->pkgname);
- $state->mark_installed($handle->{pkgname});
+ $state->mark_as_already_installed($plist->pkgname);
$handle->close_now;
return ();
}
@@ -566,7 +570,7 @@ sub install_package
# grab libraries
for my $dep ($handle->{solver}->dependencies) {
- OpenBSD::SharedLibs::add_package_libs($dep);
+ OpenBSD::SharedLibs::add_libs_from_installed_package($dep);
}
my $okay = 1;
for my $lib (@{$plist->{wantlib}}) {