diff options
| author | Xu Cheng | 2015-02-21 18:57:29 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-02-22 00:06:45 +0800 |
| commit | 202dac255552555fc52863760d0c5c40b8b4f4c0 (patch) | |
| tree | c67043e286ae8fa616c4b6025a1fa3a934b9428a /Library | |
| parent | 1c8323f9cc9022a9dba278058f5e405cdfbbc202 (diff) | |
| download | brew-202dac255552555fc52863760d0c5c40b8b4f4c0.tar.bz2 | |
bottle: better match for formulea with `stable do` block
It will only work if the indent is correct.
Closes Homebrew/homebrew#37024.
Signed-off-by: Xu Cheng <xucheng@me.com>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/bottle.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Library/Homebrew/cmd/bottle.rb b/Library/Homebrew/cmd/bottle.rb index 913a22b1e..ae3c1a154 100644 --- a/Library/Homebrew/cmd/bottle.rb +++ b/Library/Homebrew/cmd/bottle.rb @@ -247,7 +247,12 @@ module Homebrew odie 'Bottle block update failed!' unless string else update_or_add = 'add' - string = s.sub!(/( ((url|sha1|sha256|head|version|mirror) ['"][\S ]+['"]|revision \d+)\n+)+/m, '\0' + output + "\n") + if s.include? 'stable do' + indent = s.slice(/^ +stable do/).length - "stable do".length + string = s.sub!(/^ {#{indent}}stable do(.|\n)+?^ {#{indent}}end\n/m, '\0' + output + "\n") + else + string = s.sub!(/( ((url|sha1|sha256|head|version|mirror) ['"][\S ]+['"]|revision \d+)\n+)+/m, '\0' + output + "\n") + end odie 'Bottle block addition failed!' unless string end end |
