44 Commits

Author SHA1 Message Date
Mike McQuaid
84a85b97ff Revert "formula_installed: tweak source build behaviour."
This reverts commit 5dd200c6b40f4fa9cc3a70cbc9ca2885e4626943.

Closes Homebrew/homebrew#47889.
2016-01-19 10:16:59 +00:00
Mike McQuaid
e7bffe4809 formula_installed: tweak source build behaviour.
Currently `brew install —build-from-source wget` builds all the
dependencies also from source. I can see people wanting to do this when
`HOMEBREW_BUILD_FROM_SOURCE` is set by passing it on the command-line
is mostly just annoying; it means you have to use `—build-bottle` and
deal with the CFLAGS and `post_install` changes if you want to build
from source. Tweak `formula_installer` so this behaviour is more
intuitive.

Closes Homebrew/homebrew#47889.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-01-17 20:05:32 +00:00
Mike McQuaid
17e5c1409f fetch: fall back to source if bottle fails.
This matches the behaviour when `brew install`ing formulae.

Closes Homebrew/homebrew#46490.

Closes Homebrew/homebrew#46619.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-06 21:30:46 +00:00
Alex Dunn
818c65542d remove Formula#file_modified?
It's been more trouble than it's worth.

Fixes Homebrew/homebrew#43607.
Closes Homebrew/homebrew#43049.

Closes Homebrew/homebrew#43615.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-09-06 13:13:59 +01:00
Baptiste Fontaine
8ba0fb9fcf unnecessary calls to .select simplified
These are minor perf optimizations.

Closes Homebrew/homebrew#43028.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-08-18 00:18:22 +02:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Dominyk Tiller
c0ef6567b8 fetch: don't flag fs modification 2015-07-23 22:28:07 +01:00
Alex Dunn
da2e4d417d fetch/build formula from source when modified
closes Homebrew/homebrew#36068

Closes Homebrew/homebrew#41397.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-07-18 19:30:30 -07:00
Mike McQuaid
356e75487e Point to a tap when installing or fetching.
When installing or fetching and stuff goes wrong we can't always catch
the error and redirect to the tap. Instead, point to the tap before we
do anything failure-prone and hopefully that'll encourage people to
file issues in the right place. If not we can say that explicitly.

Closes Homebrew/homebrew#33220.
2014-10-21 23:04:55 +01:00
Jack Nagel
c5885757e5 Store the object itself in the failed download set
Patches don't respond to "name".
2014-09-10 22:09:15 -05:00
Jack Nagel
3a96a1a594 Use a set to track failed downloads 2014-08-22 22:55:10 -05:00
Jack Nagel
fd4f985cb6 Rescue only DownloadError 2014-08-22 22:55:10 -05:00
Mike McQuaid
2d91613d06 fetch: retry the download on a failure. 2014-08-16 08:49:01 +01:00
Jack Nagel
10a1952d2c Only "extend self" once on the Homebrew module 2014-06-19 13:10:36 -05:00
Jack Nagel
86cdd812a2 Teach fetch to download patches 2014-03-13 21:35:41 -05:00
Jack Nagel
a8fe989733 Update fetch command for generalized bottle implementation 2014-03-10 14:56:02 -05:00
Mike McQuaid
9850e84f3b fetch: fix --retry with resources. 2014-03-08 17:21:37 +00:00
Mike McQuaid
cb047a223b fetch: fix overloading Homebrew.failed. 2014-03-06 21:17:52 +00:00
Mike McQuaid
7f45c63468 fetch: add --retry option to retry fetch once.
Sometimes there may be intermittent failures with hosts that work if
immediately retried. Let's allow a single retry in this case with the
--retry flag. This also behaves nicely with the --force flag.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-03-01 16:45:31 +00:00
Jack Nagel
3f2782e22d fetch: check for existing cache file before downloading 2013-10-31 14:29:48 -05:00
Jack Nagel
d35e465671 fetch: clear partial downloads when --force is given
Fixes Homebrew/homebrew#23764.
2013-10-31 14:29:38 -05:00
Adam Vandenberg
809fc87da0 Allow resource fetching
Closes Homebrew/homebrew#20047.
2013-09-11 22:05:27 -07:00
Jack Nagel
2d8496129c Formula#fetch: always return the cached path
This allows us to remove some type checks that were protecting against
potential nils.
2013-05-16 14:06:26 -05:00
Jack Nagel
daef74aa27 Adjust semantics of Formula#fetch
It doesn't really make logical sense that this method returns both the
fetched path (or sometimes nil!) and the downloader, so just return the
path (again, or nil!) and callers that want the downloader can ask for
it separately.
2013-05-16 14:06:26 -05:00
Jack Nagel
a6f9a1c4a3 fetch: rename 'tarball' to 'download' 2013-05-16 14:06:26 -05:00
Jack Nagel
db0c93dbae fetch: use concat rather than << and flatten 2013-05-16 14:06:25 -05:00
Jack Nagel
67d798e905 Refactor fetch
Remove direct references to checksum types, access them through the
Checksum::TYPES constant instead.
2013-02-01 22:17:46 -06:00
Jack Nagel
109145bf21 Replace usages of recursive_deps with recursive_dependencies 2013-01-26 12:14:49 -06:00
Mike McQuaid
239217e944 brew-fetch: remove MD5 output. 2013-01-26 12:48:00 +00:00
Mike McQuaid
a22e60ee8c brew-fetch: Return error code on unmatched hash. 2012-09-03 11:20:07 -07:00
Jack Nagel
75a60e5104 fetch: remove dead code
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-08 10:47:57 -05:00
Jack Nagel
af53f54b24 fetch: use new checksum verification
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04 22:47:34 -05:00
Jack Nagel
b6d44dd38a fetch: make use of new formula specs 2012-07-04 22:47:33 -05:00
Jack Nagel
227ee505b0 fetch: don't display cached location twice
The download strategy will print the cached location if we've already
fetched it, so avoid printing redundant information.

Also just "puts" it instead of using a second `ohai` line.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-04-02 21:04:30 -05:00
Adam Vandenberg
a161058bcd brew fetch: show downloaded path 2012-03-21 09:09:11 -07:00
Mike McQuaid
d47cf55f68 Use fetch for downloading bottles.
Fixes Homebrew/homebrew#10958.
2012-03-18 15:16:57 +13:00
Jack Nagel
5ab0488918 fetch: compare checksums case-insensitively
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-15 22:34:48 -06:00
Jack Nagel
1a3a1249bf Warn the user of required arguments
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-04 00:27:05 -06:00
Jack Nagel
f29c44d1fd fetch: use correct sha256 instance variable
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-10-09 15:56:15 -05:00
Charlie Sharpsteen
9d19506ee9 mirror support: Add mirror method to Formula.rb
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.

Closes Homebrew/homebrew#7574.
2011-09-19 09:24:43 -07:00
Jack Nagel
2505ebda67 fetch: fix '--force' for pathnames
`brew fetch --force` was a no-op for formula pathnames when that formula
did not exist in Library/Formula, because `brew --cache #{f.name}`
results in an error for that case.

Fix it by always using f.cached_download.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-09-01 19:17:13 -05:00
Birger J. Nordølum
5a10cc8e76 Added SHA-256 to the fetch command.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-04-14 15:43:58 -07:00
Adam Vandenberg
d6382efdeb Add brew fetch --deps
`brew fetch --deps` will also cache the dependencies of any listed formulae.
2011-04-14 15:09:15 -07:00
Adam Vandenberg
b7e068b740 'brew fetch' now an official command 2011-03-12 11:55:11 -08:00