diff options
author | 2015-07-12 14:52:17 +0000 | |
---|---|---|
committer | 2015-07-12 14:52:17 +0000 | |
commit | 3417e276a858db47190ed6d97919cf30dfaccecb (patch) | |
tree | bcb8b5193db600e9d788346eb10dda7cf16d4a8f | |
parent | Do not trust the hardware when it says that the number of remaining (diff) | |
download | wireguard-openbsd-3417e276a858db47190ed6d97919cf30dfaccecb.tar.xz wireguard-openbsd-3417e276a858db47190ed6d97919cf30dfaccecb.zip |
improve the error message for incorrect PKG_CACHE.
(yes, this should error out always)
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/PackageRepository.pm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/PackageRepository.pm b/usr.sbin/pkg_add/OpenBSD/PackageRepository.pm index 2850acad1d8..af2cc70f434 100644 --- a/usr.sbin/pkg_add/OpenBSD/PackageRepository.pm +++ b/usr.sbin/pkg_add/OpenBSD/PackageRepository.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: PackageRepository.pm,v 1.113 2015/03/04 13:55:32 espie Exp $ +# $OpenBSD: PackageRepository.pm,v 1.114 2015/07/12 14:52:17 espie Exp $ # # Copyright (c) 2003-2010 Marc Espie <espie@openbsd.org> # @@ -525,7 +525,14 @@ sub open_pipe $self->{state}->fatal("#1 not writable", $OpenBSD::Temp::tempbase); } - $object->{cache_dir} = $ENV{'PKG_CACHE'}; + my $d = $ENV{'PKG_CACHE'}; + if (defined $d) { + $object->{cache_dir} = $d; + if (! -d -w $d) { + $self->{state}->fatal("bad PKG_CACHE directory #1", $d); + } + $object->{cache_dir} = $d; + } $object->{parent} = $$; my $pid2 = open(my $rdfh, "-|"); @@ -534,7 +541,7 @@ sub open_pipe $object->{pid2} = $pid2; } else { open STDERR, '>', $object->{errors}; - if (defined $object->{cache_dir}) { + if (defined $d) { my $pid3 = open(my $in, "-|"); $self->did_it_fork($pid3); if ($pid3) { |