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