aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend/pathname.rb
diff options
context:
space:
mode:
authorNicolas Despres2012-01-21 00:51:20 +0100
committerJack Nagel2012-02-01 22:52:14 -0600
commitd0be4d692b557056220514b743841b55ef180b80 (patch)
tree0027ecd8154b2f86ae45d0e4f25a1f210ffc9f7b /Library/Homebrew/extend/pathname.rb
parent212927ee54cfcee0384ae3cac91e97516a5a02f8 (diff)
downloadbrew-d0be4d692b557056220514b743841b55ef180b80.tar.bz2
keg: handle the info directory file properly
If HOMEBREW_KEEP_INFO environment variable is set: - Do not symlink the info directory file (aka 'share/info/dir') otherwise it gets overwritten by next installed brew. - Install an entry in the directory for each linked info file when the brew is linked. - Uninstall the entry when the brew is unlinked. Closes Homebrew/homebrew#9700. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library/Homebrew/extend/pathname.rb')
-rw-r--r--Library/Homebrew/extend/pathname.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index 4ab94a502..1562bfbcd 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -262,6 +262,20 @@ class Pathname
ensure
chmod saved_perms if saved_perms
end
+
+ def install_info
+ unless self.symlink?
+ raise "Cannot install info entry for unbrewed info file '#{self}'"
+ end
+ system '/usr/bin/install-info', self.to_s, (self.dirname+'dir').to_s
+ end
+
+ def uninstall_info
+ unless self.symlink?
+ raise "Cannot uninstall info entry for unbrewed info file '#{self}'"
+ end
+ system '/usr/bin/install-info', '--delete', '--quiet', self.to_s, (self.dirname+'dir').to_s
+ end
end
# sets $n and $d so you can observe creation of stuff
@@ -286,6 +300,14 @@ module ObserverPathnameExtension
puts "ln #{to_s}" if ARGV.verbose?
$n+=1
end
+ def install_info
+ super
+ puts "info #{to_s}" if ARGV.verbose?
+ end
+ def uninstall_info
+ super
+ puts "uninfo #{to_s}" if ARGV.verbose?
+ end
end
$n=0