diff options
| author | Shaun Jackman | 2016-09-20 14:42:29 -0700 |
|---|---|---|
| committer | Shaun Jackman | 2016-09-23 17:11:24 -0700 |
| commit | 25df0c03d6abd79fbc103f3be9df38d48bd4f938 (patch) | |
| tree | c793e210ff4dff00766554fc6f785b2c546c36d7 | |
| parent | 12aad5c65fee39c5f044e39ca1efcbed58aebd39 (diff) | |
| download | brew-25df0c03d6abd79fbc103f3be9df38d48bd4f938.tar.bz2 | |
Store the formula used to build the keg in the keg
Store the formula used to build the keg inside the keg in a
file named NAME/VERSION/.brew/NAME.rb after removing the
bottle do ... end block.
See https://github.com/Homebrew/brew-evolution/pull/6.
Closes https://github.com/Homebrew/brew/issues/931.
| -rw-r--r-- | Library/Homebrew/cmd/list.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_formula_installer.rb | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index 4fdd8a85e..d2eebb5f1 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -140,6 +140,8 @@ class PrettyListing # dylibs have multiple symlinks and we don't care about them (pnn.extname == ".dylib" || pnn.extname == ".pc") && !pnn.symlink? end + when ".brew" + # Ignore .brew else if pn.directory? if pn.symlink? diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 6e8f2e3b7..2e40e558d 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -260,6 +260,12 @@ class FormulaInstaller compute_and_install_dependencies if not_pouring && !ignore_deps? build clean + + # Store the formula used to build the keg in the keg. + s = formula.path.read.gsub(/ bottle do.+?end\n\n?/m, "") + brew_prefix = formula.prefix/".brew" + brew_prefix.mkdir + Pathname(brew_prefix/"#{formula.name}.rb").atomic_write(s) end build_bottle_postinstall if build_bottle? diff --git a/Library/Homebrew/test/test_formula_installer.rb b/Library/Homebrew/test/test_formula_installer.rb index da0404c35..5b937d1df 100644 --- a/Library/Homebrew/test/test_formula_installer.rb +++ b/Library/Homebrew/test/test_formula_installer.rb @@ -58,6 +58,7 @@ class InstallTests < Homebrew::TestCase bin = HOMEBREW_PREFIX+"bin" assert_predicate bin, :directory? assert_equal 3, bin.children.length + assert_predicate f.prefix/".brew/testball.rb", :readable? end end |
