diff options
| author | Nicolas Despres | 2012-01-21 00:51:20 +0100 |
|---|---|---|
| committer | Jack Nagel | 2012-02-01 22:52:14 -0600 |
| commit | d0be4d692b557056220514b743841b55ef180b80 (patch) | |
| tree | 0027ecd8154b2f86ae45d0e4f25a1f210ffc9f7b /Library/Homebrew/extend/pathname.rb | |
| parent | 212927ee54cfcee0384ae3cac91e97516a5a02f8 (diff) | |
| download | brew-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.rb | 22 |
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 |
