cleaner: correctly obey HOMEBREW_KEEP_INFO

The advertised default is that anything in share/info is removed unless
the user sets HOMEBREW_KEEP_INFO, but we've actually been installing the
files *unless* the variable is set. To illustrate:

  $ unset HOMEBREW_KEEP_INFO
  $ brew install -v wdiff
  [...]
  ln /usr/local/share/locale/af/LC_MESSAGES/wdiff-gnulib.mo
  ln /usr/local/share/info/wdiff.info
  ln /usr/local/share/info/dir
  ==> Summary
  [...]
  $ HOMEBREW_KEEP_INFO=1 brew install -v wdiff
  ln /usr/local/share/locale/af/LC_MESSAGES/wdiff-gnulib.mo
  ==> Summary
  [...]

Obviously not what we wanted.

Closes Homebrew/homebrew#7989.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This commit is contained in:
Jack Nagel 2011-10-05 23:50:29 -05:00
parent e7aaeda953
commit 74207f71e6

View File

@ -3,7 +3,7 @@ class Cleaner
@f = Formula.factory f @f = Formula.factory f
[f.bin, f.sbin, f.lib].select{ |d| d.exist? }.each{ |d| clean_dir d } [f.bin, f.sbin, f.lib].select{ |d| d.exist? }.each{ |d| clean_dir d }
unless ENV['HOMEBREW_KEEP_INFO'].nil? unless ENV['HOMEBREW_KEEP_INFO']
f.info.rmtree if f.info.directory? and not f.skip_clean? f.info f.info.rmtree if f.info.directory? and not f.skip_clean? f.info
end end