diff options
Diffstat (limited to 'solenv/bin')
-rw-r--r-- | solenv/bin/modules/installer/worker.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm index 917066f4f784..aab676f9a086 100644 --- a/solenv/bin/modules/installer/worker.pm +++ b/solenv/bin/modules/installer/worker.pm @@ -23,6 +23,7 @@ use File::Copy; use File::stat; use File::Temp qw(tmpnam); use File::Path; +use File::Basename; use installer::control; use installer::converter; use installer::exiter; @@ -369,7 +370,9 @@ sub install_simple ($$$$$$) my $onelink = ${$unixlinksarray}[$i]; my $target = $onelink->{'Target'}; my $destination = $onelink->{'destination'}; - my $cmd = "ln -sf '$target' '$destdir$destination'"; + my $cmd = "mkdir -p '" . dirname($destdir . $destination) . "'"; + system($cmd) && die "Failed to execute \"$cmd\""; + $cmd = "ln -sf '$target' '$destdir$destination'"; system($cmd) && die "Failed \"$cmd\""; push @lines, "$destination\n"; |