This means that taps root and `cmd` directories are added to the PATH.
This should enable migration of some of our contributed commands into
taps (e.g. `homebrew-boneyard`) and make it easy for third parties to
be able to maintain these. It might also make stuff easier for existing
tools like e.g. `brew-cask` and `boxen`.
ClosesHomebrew/homebrew#32471.
This is currently still very messy and we probably want to work out the
best way to declare what parts of our DSL/what files are "public".
Still, even if this is a WIP I'd rather get something committed sooner
rather than later and start iterating on this as a replacement for
`example_formula.rb` and the formula cookbook.
To test:
```bash
cd $(brew --prefix)/Library/Homebrew && \
rdoc formula.rb requirement.rb utils.rb &&\
open doc/index.html
```
ClosesHomebrew/homebrew#32470.
Before this change, audit would detect commented-out lines
containing the string 'DATA' as if there were no commenting.
Then it could complain, e.g., problem "'DATA' was found, but no
'__END__'", which would be a false alarm in that circumstance.
ClosesHomebrew/homebrew#32568.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Proposing that we toss Metalua into the boneyard. Reasons:
1) It is hard-coded to look for Lua & Luac binaries, which are
obviously now pointing at Lua (5.2). I tried tweaking those hard-coded
lines with inreplace and had some success, but it still broke on
finding Luac. It complies ‘successfully’, but it won’t do very much.
2) There’s been no stable Metalua release for 5 years.
3) The HEAD build hasn’t worked in at least 8 months because the github
has moved away from compile scripts in favour of becoming Luarocks.
4) Honestly, interest in Metalua seems to be pretty low. If nobody has
noticed the HEAD build has been dead for 8 months…?
I feel like we’d be better scrapping this and pointing people at the
new Luarocks available for Metalua, which are on versions 0.7.2-1
compared to our shipped 0.5-rc2.
As we know, files cannot be moved across filesystems atomically. In that
case, FileUtils.mv will make a copy. But if we create the temp file in
the same directory as the target, we can avoid this and use File.rename
directly.
Additionally, the rename should be the absolute last step, so that the
original file is preserved if altering ownership and permissions fails.
This was added in d2ecfb9 / Homebrew/homebrew#12784 to fix a bug repotted in Homebrew/homebrew#12779, but
at that time we were invoking the editor via `system` rather than
`exec`.
Now we are using exec, and running it through an interactive shell seems
to cause other problems, for example, emacs does not suspend/resume
properly.
FixesHomebrew/homebrew#32328.
This was added in 3a7a3619f7016c75c3e53e944221bf7f6354a63b to make the
tests pass, but this method is now stubbed out in the tests, so we can
assume $? will be non-nil.