There was an UnsafeSubversionDownloadStrategy in a single formula
before, but a) it broke against later changes to
SubversionDownloadStrategy, and b) wasn't available to other formula.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This will actually throw some possibly unwanted warnings, e.g. whining
about using mirrors.kernel.org for Debian software; we might only want
that warning for the default URL.
Perhaps mirrors deserve their own audit_formula_mirrors, but rather than
duplicate code, let's just check them against the standard criteria for
now.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
brew-unpack was failing for formulae that satisfy fails_with_llvm? as
handle_llvm_failure() requires our ENV extension to get ENV.compiler.
Rather than requiring extend/ENV, just define fails_with_llvm? as false
since we don't really care about that when just unpacking a formula.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
We already have option completion for `brew install`; now we have it for
all core commands, and the --cache, --cellar, and --prefix flags now
have appropriate formula completion.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Per mxcl/homebrew@6b0c44d, @mxcl:
"And in that mind, brew missing is some cases an essential tool and
should absolutely be in the manpage."
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The documentation on this is hard to find, and awareness of the command
itself is pretty low. Which is too bad, because it's really handy and I
use it all the time myself.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
While updating the bash completion script, I encountered some options
that were previously undocumented.
I purposely did not document the --macports and --fink flags for `brew
create`, because the exact same functionality exists in `brew search`.
Perhaps we should remove it from create.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Checking out over HTTP/HTTPS from GitHub requires git 1.6.6, as GitHub
only allows Smart HTTP transport.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This allows `brew audit` to inspect the head URLs, for example; until
now, that check was failing silently.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The advertised default is that anything in share/info is removed unless
the user sets HOMEBREW_KEEP_INFO, but we've actually been installing the
files *unless* the variable is set. To illustrate:
$ unset HOMEBREW_KEEP_INFO
$ brew install -v wdiff
[...]
ln /usr/local/share/locale/af/LC_MESSAGES/wdiff-gnulib.mo
ln /usr/local/share/info/wdiff.info
ln /usr/local/share/info/dir
==> Summary
[...]
$ HOMEBREW_KEEP_INFO=1 brew install -v wdiff
ln /usr/local/share/locale/af/LC_MESSAGES/wdiff-gnulib.mo
==> Summary
[...]
Obviously not what we wanted.
ClosesHomebrew/homebrew#7989.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
:sha was used to prevent the "--depth" option to git clone, but was
never actually used to checkout the SHA.
ClosesHomebrew/homebrew#7859.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
These were being picked up as just "#{prefix}/lib" and prefix+'lib' due
to the eagerness of the regex. Reordering "lib" and "libexec" will take
care of it; I couldn't think of a more clever solution.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Commit dec4b73aa0 ("Allow `brew update --rebase`") changed the format of
the `git pull` command slightly, introducing an extra space (to allow
for the --rebase option), so let's update the test expectations for this.
We still need to write tests for '--rebase', but in the meantime they
once again pass for the normal case.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Commit 2695821e98 ("Only use the bottle if its version is up-to-date")
essentially broke the ImageMagick bottle, because the version parsing
logic returns "1" as the bottle version.
Fixing this requires only a slight modification to the bottle URL regex;
includes a test.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
A few formula use ARGV.flag? instead of ARGV.include?. This made `audit`
recognize a few undocumented instances of a '--devel' option, but we can
just ignore that like '--HEAD' for now, and change the behavior if we
decide they need to be documented explicitly in each formula.
cf. Homebrew/homebrew#7456.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
It was extraneous, and useful only for maintainers and contributors. It
is currently documented on the External Commands page of the wiki.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
In addition to a brief overview of what external commands are, add a
link to the wiki page where the real documentation resides.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Also adjust output text slightly for prettiness.
A possibly useful side effect here is safe_system has a defined Exception (subclassing RuntimeError) now.
Mirrors can now be declared using the `mirror` method which works similar to
`depends_on` and takes the same arguments as `url`.
The formula class now has a public `fetch` method that cycles through the
mirror list if the downloader for the primary URL throws a `DownloadError`.
Other brew commands, like brew-fetch, also benefit from mirror support by using
this method.
ClosesHomebrew/homebrew#7574.
`DownloadError` is an exception that download stratigies can throw to indicate
that a fetch was incomplete due to a failure in communication.
The `curl` method in `utils.rb` has been upgraded to throw a `DownloadError` if
something bad happens to `curl` execution.
Commit 00cd16f changed oudated_brews to return a list of Formula
objects rather than a list of lists containing formula information.
Now we must access the formula name by using the 'name' accessor rather
than an array index.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>