diff options
| author | ilovezfs | 2016-09-30 03:22:09 -0700 | 
|---|---|---|
| committer | Mike McQuaid | 2017-02-20 14:14:03 +0000 | 
| commit | 14ef15f591795c517b7771c5eb01863b2b577a46 (patch) | |
| tree | 418e61a27e97b3f9712ba45cb8f92d1eea7260bf | |
| parent | afb66d0c69bb7cf691125d082d9e45724d479723 (diff) | |
| download | brew-14ef15f591795c517b7771c5eb01863b2b577a46.tar.bz2 | |
keg: create symlinks in opt for formula aliases
| -rw-r--r-- | Library/Homebrew/keg.rb | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 17ff3bcef..bebc3c887 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -239,6 +239,11 @@ class Keg    def remove_opt_record      opt_record.unlink +    unless aliases.empty? +      aliases.each do |a| +        (opt_record.parent/a).unlink +      end +    end      opt_record.parent.rmdir_if_possible    end @@ -461,9 +466,25 @@ class Keg      @oldname_opt_record = nil    end +  def aliases +    formula_name = rack.basename.to_s +    aliases_path = Formula[formula_name].tap.path/"Aliases" +    result = aliases_path.children.select do |c| +      c.symlink? && c.readlink.basename(".rb").to_s == formula_name +    end +    result.map(&:basename).map(&:to_s) +  end +    def optlink(mode = OpenStruct.new)      opt_record.delete if opt_record.symlink? || opt_record.exist?      make_relative_symlink(opt_record, path, mode) +    unless aliases.empty? +      aliases.each do |a| +        alias_opt_record = opt_record.parent/a +        alias_opt_record.delete if alias_opt_record.symlink? || alias_opt_record.exist? +        make_relative_symlink(alias_opt_record, opt_record, mode) +      end +    end      return unless oldname_opt_record      oldname_opt_record.delete  | 
