Fix inappropriate linking of info files

share/info files were always being linked if they existed, regardless of
whether the user had HOMEBREW_KEEP_INFO set. This primarily affects
users with software built before
9610ff2e9e06931693f49d4377ee26c0e664c547.

This also fixes a bug in Keg#link_dir, in which a file would always be
linked if no argument was passed.
This commit is contained in:
Misty De Meo 2012-03-20 14:27:07 -05:00
parent f8861daeb9
commit bc7469c819

View File

@ -75,7 +75,7 @@ class Keg < Pathname
link_dir('share') do |path| link_dir('share') do |path|
case path.to_s case path.to_s
when 'locale/locale.alias' then :skip_file when 'locale/locale.alias' then :skip_file
when INFOFILE_RX then :info if ENV['HOMEBREW_KEEP_INFO'] when INFOFILE_RX then ENV['HOMEBREW_KEEP_INFO'] ? :info : :skip_file
when LOCALEDIR_RX then :mkpath when LOCALEDIR_RX then :mkpath
when *share_mkpaths then :mkpath when *share_mkpaths then :mkpath
else :link else :link
@ -146,7 +146,7 @@ protected
Find.prune if File.basename(src) == '.DS_Store' Find.prune if File.basename(src) == '.DS_Store'
case yield src.relative_path_from(root) case yield src.relative_path_from(root)
when :skip_file when :skip_file, nil
Find.prune Find.prune
when :info when :info
make_relative_symlink dst, src make_relative_symlink dst, src