From 8cc027a3cd24b95120932c581c8b9eebb8c710f3 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 24 Aug 2016 11:06:20 +0100 Subject: [PATCH] utils: add link_path_manpages method. --- Library/Homebrew/utils.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 0a1b5158d5..7b7289ca26 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -594,3 +594,26 @@ def truncate_text_to_approximate_size(s, max_bytes, options = {}) out.encode!("UTF-8") out end + +def link_path_manpages(path, command) + return unless (path/"man").exist? + conflicts = [] + (path/"man").find do |src| + next if src.directory? + dst = HOMEBREW_PREFIX/"share"/src.relative_path_from(path) + next if dst.symlink? && src == dst.resolved_path + if dst.exist? + conflicts << dst + next + end + dst.make_relative_symlink(src) + end + unless conflicts.empty? + onoe <<-EOS.undent + Could not link #{name} manpages to: + #{conflicts.join("\n")} + + Please delete these files and run `#{command}`. + EOS + end +end