| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Also, unlink previous keg before installing to prevent issues when existing installed brews cause build problems for the newer installed brew.
If the build fails the active keg is relinked before aborting.
Fixes #10341.
|
|
Rationale: it breaks stuff. You should not be able to install over something already installed *and* linked. brew now prompts you to unlink the existing linked keg first.
I came to fix this because I discovered that `brew install foo` works without --force provided foo's formula version is different to that which is installed and linked. I'm not sure if this was intentionally broken, but it led to at least two tickets I found where people were getting crazy issues trying to install over the top of already installed previous versions.
So I also fixed a whole category of other issues, mostly by moving error handling into FormulaInstaller. Now error's can be caught in Homebrew.install and handled on a formula-by-formula basis. I will next port this behaviour to upgrade.
|
|
So upgrade can output errors but continue to upgrade the rest of the installation.
|
|
If it exists, ARGV.kegs will return the Formula.prefix keg for each rack examined.
So for ARGV=[wget, foo] and the following Cellar (wget/1.11, wget/1.12, foo/1.0) you'll get [wget/1.12, foo/1.0] from ARGV.kegs provided 1.12 is the formula version of wget.
|
|
Fixes Homebrew/homebrew#10729.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Manpage updated.
The -s switch is "scrub" and removes downloads for uninstall formula which are downloads for the latest version of that formula still.
Please NOTE cache is NOT cleaned if a formula argument is provided. I couldn't be bothered. Patches welcome :)
Closes Homebrew/homebrew#2923.
|
|
|
|
Includes a test. So now you can do `brew cleanup -ns` and it will work.
|
|
Well at least it checks to see if it's been a while since the last one.
|
|
If there are multiple dependencies missing, 'brew doctor' can suggest
that you run something like:
brew install autoconf libyaml autoconf, libyaml
This commit improves that output.
Closes Homebrew/homebrew#10720.
Signed-off-by: Max Howell <max@methylblue.com>
|
|
|
|
In fixing this I also made it so that ARGV.kegs will return the LinkedKeg if the symlink is set. Which is almost always is. This neatly avoids most multiple-kegs issues.
Fixes Homebrew/homebrew#10685.
|
|
Refs Homebrew/homebrew#9541.
|
|
classes in formula_specialties.rb need Formula, so it has to be last.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
|
|
|
|
Enough formulae in core depend on this, pull it in here.
When multi-repo support lands, perhaps we could set up Homebrew-AWS.
|
|
|
|
Make a new module for our FileUtils extensions and use that instead.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Some parts of a keg's tree are not subject to the cleaner, and sometimes
we still want to remove things in directories marked skip_clean; this
allows us that freedom.
If 'lib' is marked skip_clean, we still want to avoid linking the
charset.alias file into the top of the tree. The same needs to be done
for the locale.alias file in share/locale.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
Because of "set -e" in non verbose mode brew man had an exit status
equals to 1 whereas there was no error. The reason was that the "test"
command failed. This patch fix this.
Closes Homebrew/homebrew#10664.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
If a user has set core.autocrlf = true (which shouldn't ever be used on
OS X, but alas...), a subsequent `brew update` will check out files with
CRLF line endings. Setting core.autocrlf = false in Homebrew's repo
config will override this global setting, and let us check out files
with their in-repository line endings.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
The order of things made the check for git in the path pointless (and
was my fault); this is a better way to do it.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
It was confusing that it told you to brew install missing deps and then listed formula that were already installed IMO.
|
|
I saw a ticket with just doctor output and no `brew --config`. This helps.
|
|
`brew install > file` should not give "export CC=/foo" output on Build Failures.
Also moved the "Using clang" output to brew when BuildError is thrown as that is where it is interesting, and not if you just do `brew --env`.
|
|
Since 25aefdd ("don't complain if args are empty"), ARGV.formulae does
not raise an exception; `brew missing` was relying on that to determine
what set of formulae to act on. Fix this, and also a typo.
Fixes Homebrew/homebrew#10617.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Closes Homebrew/homebrew#10624.
Signed-off-by: Max Howell <max@methylblue.com>
|
|
Closes Homebrew/homebrew#10626.
Signed-off-by: Max Howell <max@methylblue.com>
|
|
|
|
|
|
Closes Homebrew/homebrew#9199.
|
|
Please check for regressions. I was careful, but there was a lot of stuff.
Closes Homebrew/homebrew#9409.
|
|
So you can source `brew --env` to make it easier to build your own software, etc.
|
|
|
|
Fixes Homebrew/homebrew#10598.
Ideally we would show a message for builds that use xcodebuild etc. But there is no easy mechanism for this in place.
|
|
|
|
|
|
|
|
|
|
About time we did this right?
|
|
Some build scripts want to inspect the git history, e.g. to determine
version strings. Rather than copy the repository into the build tree,
just setting GIT_DIR is enough for things to "just work".
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|