diff options
| author | Mike McQuaid | 2014-08-25 10:28:40 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2014-08-26 08:30:47 +0100 |
| commit | 58cb4444da8f20e4e51800af253dedeadefc0edf (patch) | |
| tree | 29ba5a23464315e4713c28058d832598331be800 /Library | |
| parent | 31dc3d1f429b1309af7d673beb56ed89ab6f176b (diff) | |
| download | brew-58cb4444da8f20e4e51800af253dedeadefc0edf.tar.bz2 | |
etc.install: handle recursive directory installs.
We need to install the helper module not just on `etc` but also on all
subdirectories of it too. Also, handle the case where we install
a subdirectory with etc.install.
Closes Homebrew/homebrew#26145.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/extend/pathname.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/install_renamed.rb | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 8ecff6bf4..ca1d167c1 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -48,6 +48,7 @@ class Pathname dst = dst.to_s dst = yield(src, dst) if block_given? + return unless dst mkpath diff --git a/Library/Homebrew/install_renamed.rb b/Library/Homebrew/install_renamed.rb index 42d0fee8f..02a6e9b10 100644 --- a/Library/Homebrew/install_renamed.rb +++ b/Library/Homebrew/install_renamed.rb @@ -2,6 +2,12 @@ module InstallRenamed def install_p src, new_basename = nil super do |src, dst| dst += "/#{File.basename(src)}" if File.directory? dst + + if File.directory? src + Pathname.new(dst).install Dir["#{src}/*"] + next + end + append_default_if_different(src, dst) end end @@ -12,6 +18,14 @@ module InstallRenamed end end + def + path + super(path).extend(InstallRenamed) + end + + def / path + super(path).extend(InstallRenamed) + end + private def append_default_if_different src, dst |
