correctly handle the stow/target directories as non-canonical paths
Fix the case discovered by Hiroyuki Iwatsuki where stowing fails if the stow / target directories are non-canonical paths. For example, on FreeBSD /home is a symlink pointing to 'usr/home', so running with the stow directory as /home/user/local/stow and the target directory as /home/user/local previously resulted in the stow directory path being calculated as ../../../usr/home/user/local/stow relative to the target. http://article.gmane.org/gmane.comp.gnu.stow.bugs/8820
This commit is contained in:
parent
fe5b658803
commit
c500216f20
1 changed files with 3 additions and 3 deletions
|
@ -185,11 +185,11 @@ sub set_stow_dir {
|
|||
}
|
||||
|
||||
my $stow_dir = canon_path($self->{dir});
|
||||
|
||||
$self->{stow_path} = File::Spec->abs2rel($stow_dir, $self->{target});
|
||||
my $target = canon_path($self->{target});
|
||||
$self->{stow_path} = File::Spec->abs2rel($stow_dir, $target);
|
||||
|
||||
debug(2, "stow dir is $stow_dir");
|
||||
debug(2, "stow dir path relative to target $self->{target} is $self->{stow_path}");
|
||||
debug(2, "stow dir path relative to target $target is $self->{stow_path}");
|
||||
}
|
||||
|
||||
sub init_state {
|
||||
|
|
Loading…
Reference in a new issue