summaryrefslogtreecommitdiffstats
path: root/urpm.pm
diff options
context:
space:
mode:
Diffstat (limited to 'urpm.pm')
-rw-r--r--urpm.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/urpm.pm b/urpm.pm
index f0ac28f6..4982bc09 100644
--- a/urpm.pm
+++ b/urpm.pm
@@ -111,13 +111,22 @@ sub userdir {
-d $dir && ! -l $dir or $urpm->{fatal}(1, N("fail to create directory %s", $dir));
-o $dir && -w $dir or $urpm->{fatal}(1, N("invalid owner for directory %s", $dir));
- $urpm->{cachedir} = $dir;
-
mkdir "$dir/partial";
mkdir "$dir/rpms";
$dir;
}
+sub ensure_valid_cachedir {
+ my ($urpm) = @_;
+ if (my $dir = userdir($urpm)) {
+ $urpm->{cachedir} = $dir;
+ }
+ -w "$urpm->{cachedir}/partial" or $urpm->{fatal}(1, N("Can not download packages into %s", "$urpm->{cachedir}/partial"));
+}
+sub valid_cachedir {
+ my ($urpm) = @_;
+ userdir($urpm) || $urpm->{cachedir};
+}
sub is_temporary_file {
my ($urpm, $f) = @_;