| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
It's a great feature but it seems to conflict with our new system() replacement. Clearly the bug is still in our system() but what exactly it is is not clear and this bug sucks.
See Homebrew/homebrew#124
|
|
|
|
|
|
|
|
|
|
|
|
As I understand it (I tested too), signal propogation is handled by the parent Ruby process. However this was working mostly anyway. So I don't fully understand what is going on. However this seems to not hang in Process.wait where it was before for one test case.
|
|
It just seems to behave strangely with SIGINT. Eg. SIGINT causes tar to exit, but the SIGINT is ignored by our process. This is not the case when used with curl.
|
|
|
|
|
|
We need a test for this.
|
|
Closes Homebrew/homebrew#116
|
|
|
|
|
|
|
|
Thus install.rb gets the path to the instantiating brew process rather than whichever is first in the PATH. Not to mention Homebrew doesn't *have* to be in the PATH.
|
|
Because it's a global.h constant and that file can be included by other projects.
|
|
It's a constant and Dir.getwd can change.
|
|
|
|
The rationale here is that the --verbose mode had a bug where it didn't escape its parameters properly. Which caused ocassionally cryptic issues.
|
|
|
|
|
|
|
|
|
|
The problem was that git checkout -b doesn't work the second time. This simple solution works by never creating a local branch.
|
|
|
|
More sensible, and fixes brew
|
|
|
|
|
|
|
|
|
|
We trap the INT in the install process now so the newline race condition is avoided. Much neater and more polished now.
|
|
|
|
|
|
|
|
|
|
|
|
Generally this isn't desired or useful.
|
|
Couldn't make this atomic, apologies.
Fixes a few things, like deps failing to build not aborting the install.
--force now works properly again.
Overall more robust code. I went back over it all and gave it a lot of
thought.
Cleaner separation of logic. Less code in brew, now the only code there is
ARGV handling, and basic sanity checks.
Not extending ARGV or ENV in global now as that would propagate to other tools
or utilities you may write.
|
|
|
|
Only unlink the keg, don't prune. That's enough, we shouldn't do general maintenance anyway.
|
|
|
|
I think this tweak to finding the Cellar path addresses one of mxcl's
concerns over supported install scenarios.
|
|
This rewrite attempts to sort out where the Prefix, Cellar, and
Repository are relative to the real and symlinked 'brew' command.
Also included is a --config option which dumps all of these variables.
Any top-level script must define a "BREW_FILE" that gives the path
to brew as it exists in the path. 'brew' itself just uses __FILE__ and
install.rb does a `which brew` (there may be a better way?)
The Prefix is always relative to the location of brew as it exists in
the path. Thus, whether or not /usr/local/bin/brew is a symlink or real
file, the Prefix is always /usr/local. If you have brew in some other
prefix, such as /nonstandard/bin/brew, then '/nonstandard/ will be
managed by brew instead.
The Repository, Cellar, and "Library/Homebrew" required code is always
found relative to the "real" path or brew. If brew is a real file in
/usr/local/bin/brew, then everything else will be found in /usr/local
and we'll expect a /usr/local/.git
Otherwise, we dereference brew's symlink and look for everything else
relative to that path instead.
|
|
Using an error pipe.
The use of ENV[HOMEBREW_ERROR_PIPE] feels wrong, but I wasn't sure how else to
proxy the file descriptor to the child process since the fork immediately
calls exec.
|
|
|