From aa7ed10968508f0390fba88c3bb2f2b0e8db9415 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Tue, 18 Mar 2014 19:03:25 -0500 Subject: [PATCH] Make relative symlinks in Pathname#install_symlink Closes Homebrew/homebrew#27672. --- Library/Homebrew/extend/pathname.rb | 10 +++------- Library/Homebrew/test/test_pathname.rb | 2 ++ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 9e1e809dbe..e94748431a 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -79,14 +79,10 @@ class Pathname end end - def install_symlink_p src, new_basename = nil - if new_basename.nil? - dst = self+File.basename(src) - else - dst = self+File.basename(new_basename) - end + def install_symlink_p src, new_basename=src + dst = join File.basename(new_basename) mkpath - FileUtils.ln_s src.to_s, dst.to_s + FileUtils.ln_s Pathname(src).relative_path_from(dst.parent), dst end protected :install_symlink_p diff --git a/Library/Homebrew/test/test_pathname.rb b/Library/Homebrew/test/test_pathname.rb index 37b85a07de..03e4df54ca 100644 --- a/Library/Homebrew/test/test_pathname.rb +++ b/Library/Homebrew/test/test_pathname.rb @@ -194,6 +194,8 @@ class PathnameExtensionTests < Test::Unit::TestCase assert((@dst+'bin').directory?) assert((@dst+'bin/a.txt').exist?) assert((@dst+'bin/b.txt').exist?) + + assert((@dst+'bin').readlink.relative?) end end