348 Commits

Author SHA1 Message Date
Mike McQuaid
25b4d94b5c
Update minimum Git version.
This forces the use of Homebrew's Git on El Capitan and below.
Normally I'd remove the need for this but given we're weeks away from
El Capitan being unsupported it doesn't seem worth the effort to remove
useful functionality. Instead, let's warn about an old Git and
autoinstall Homebrew's Git wherever needed.

Fixes #4818.
2018-09-06 12:38:20 +01:00
William Woodruff
d30557ace6
brew.sh: Export HOMEBREW_GIT
Should have been exported like HOMEBREW_CURL.
2018-08-23 11:50:42 -04:00
William Woodruff
a7816eea6e
brew.sh: Remove whitespace 2018-08-17 15:20:05 -04:00
William Woodruff
60741c5c25
brew.sh: Integrate curl/git path checks into main checks 2018-08-17 15:17:14 -04:00
William Woodruff
479f82904b
brew.sh: Allow developers to specify curl/git paths
This introduces the HOMEBREW_CURL_PATH and HOMEBREW_GIT_PATH
variables, which are used to populate HOMEBREW_CURL and HOMEBREW_GIT,
respectively, when in developer mode (HOMEBREW_DEVELOPER).

Both paths are expected to be valid executables and must
have the executable bit set.
2018-08-17 14:59:07 -04:00
Markus Reiter
bdc2458c15 Always fetch at least the latest tag. 2018-08-11 00:46:29 +02:00
Mike McQuaid
6417332a3a Change Mojave bottle behaviour
Rather than relying on a `HOMEBREW_FORCE_BOTTLE` variable (which ends
up doing silly things like forcing bottle usage even when options are
provided) instead handle this at the `or_later` bottle detection
level so on prerelease versions of macOS any bottle looks like an
`or_later` bottle (unless various environment variables are set).

Fixes issues noted in:
https://github.com/Homebrew/brew/pull/4520#issuecomment-407229605
2018-07-24 09:25:32 +01:00
Mike McQuaid
3e93d4c6cf Add HOMEBREW_FORCE_BOTTLE variable
This does the equivalent of always passing `--force-bottle`. This will
be enabled by default on Mojave to allow people to avoid building
everything from source until our porting and bottling is a bit further
along.
2018-07-20 14:28:14 +01:00
Mike McQuaid
f46e4596c0 Cleanup HOMEBREW_TEMP handling
- Ensure that `HOMEBREW_TEMP` is only displayed in `brew config` when
  it's non-default.
- Attempt to create a missing `HOMEBREW_TEMP` directory rather than
  failing to `realpath`. Note this will still fail on permissions errors
  which is to be expected.
2018-07-03 15:41:33 +01:00
Mike McQuaid
09ee556833
Merge pull request #4397 from woodruffw/forbid-temp-prefix
brew.sh: Don't allow system tmp dirs as prefixes
2018-07-03 08:31:40 +01:00
William Woodruff
fd014153e6
brew.sh: Upcase var, tweak error language 2018-07-02 19:34:19 -04:00
William Woodruff
68d3dc1368
brew.sh: Only do tmpdir check on macOS 2018-07-01 19:21:50 -04:00
William Woodruff
bde7c6b82b
brew.sh: Use bashisms for default values 2018-07-01 19:19:55 -04:00
William Woodruff
039a4ee4b3
brew.sh: Move HOMEBREW_TEMP declaration
Additionally, assign HOMEBREW_TEMP based on the host
system (/tmp for Linux, /private/tmp for macOS).
2018-07-01 12:58:32 -04:00
William Woodruff
8e4aab92aa
brew.sh: Test HOMEBREW_TEMP, not hardcoded tmpdir 2018-06-30 12:21:32 -04:00
William Woodruff
c552e6596c
brew.sh: Remove trailing / from prefix in message 2018-06-30 11:53:29 -04:00
William Woodruff
b6a0b04a39
brew.sh: Tweak language 2018-06-30 11:13:39 -04:00
William Woodruff
42bd5448bc
brew.sh: Typo 2018-06-30 09:47:55 -04:00
William Woodruff
949c0cc47e
brew.sh: Use realpath to calculate tmpdir 2018-06-30 09:47:15 -04:00
William Woodruff
35138dd6dd
brew.sh: Don't allow system tmp dirs as prefixes 2018-06-30 09:38:15 -04:00
Mike McQuaid
376f67bf2c
Merge pull request #4390 from MikeMcQuaid/linkage-cache-default
linkage: enable cache by default.
2018-06-29 20:35:13 +01:00
Mike McQuaid
d3968fc327
Merge pull request #4391 from MikeMcQuaid/remove-unused-var
brew.sh: remove unused variable.
2018-06-29 20:34:57 +01:00
Mike McQuaid
ec6420229e brew.sh: remove unused variable.
As of #4377 this is no longer used.
2018-06-29 20:12:22 +01:00
Mike McQuaid
1bf3aacc79
Merge pull request #4389 from MikeMcQuaid/bintray-portable-ruby
portable-ruby: respect HOMEBREW_BOTTLE_DOMAIN variable.
2018-06-29 20:07:11 +01:00
Mike McQuaid
6f5c8b8509 linkage: enable cache by default.
This has not been causing any issues in CI or for `master` users so
let's now enable it by default for everyone.
2018-06-29 19:57:39 +01:00
Mike McQuaid
facd76bc51 portable-ruby: respect HOMEBREW_BOTTLE_DOMAIN variable.
This was requested in:
https://discourse.brew.sh/t/adding-additional-download-sources-to-homebrew/2446

With this change you can use e.g. Artifactory for Homebrew's portable
ruby.
2018-06-29 19:51:18 +01:00
Jack Haden-Enneking
9fd5a92ff6 Implement HOMEBREW_FORCE_BREWED_GIT
Because of this messing with the user's path:
https://github.com/Homebrew/brew/blob/
    efc02899c851c62c9ce0d15dea9a231575d7d774/bin/brew#L68
brew uses /usr/bin/git over brewed git, even when the former is
problematically old.
There may also be other reasons a user prefers to use brewed git.

There was already a HOMEBREW_FORCE_BREWED_CURL option and a
HOMEBREW_SYSTEM_CURL_TOO_OLD check to set it. This mostly copies those
to implement HOMEBREW_FORCE_BREWED_GIT & HOMEBREW_SYSTEM_GIT_TOO_OLD.

See also: https://github.com/Linuxbrew/brew/issues/736
2018-06-25 23:36:12 -07:00
Mike McQuaid
34ae75d511 brew.sh: enable linkage cache for developers.
This seems stable on CI so I think we can expose it to more people.
2018-06-11 20:10:40 +01:00
Markus Reiter
c53a52daee Move --version logic into cmd/--version.rb. 2018-05-21 05:35:44 +02:00
Buck Evan
c1403ba933 /bin/cat -> cat
this allows odd linux installations (Android) to function
2018-03-17 17:05:39 -07:00
Mike McQuaid
9446eb661d brew.sh: HOMEBREW_DEVELOPERs can enable Ruby warnings.
It provides some useful helpers for when we're doing stupid things but
it's not something we want around by default.
2018-02-27 11:53:31 +00:00
Mike McQuaid
72f4d05418 Handle a too old system Git on OS X 10.8 and below
Needed for GitHub since:
https://github.com/blog/2507-weak-cryptographic-standards-removed
2018-02-26 16:08:10 +00:00
Mike McQuaid
84be0f82d4 brew.sh: use system curl on Linux where possible.
Result of discussion in #3809.
2018-02-20 09:12:47 +00:00
Maxim Belkin
30d468978f
Unifying Linux/Mac logic that sets HOMEBREW_CURL 2018-02-15 13:26:17 -06:00
Maxim Belkin
e47c364c55
Don't set HOMEBREW_MACOS_VERSION on non-mac systems 2018-02-15 13:09:47 -06:00
Maxim Belkin
e5f4160d3e
brew.sh: changes from Linuxbrew (Linux fork)
These fixes do two things:

- set HOMEBREW_MACOS_VERSION to 0 on non-HOMEBREW_MACOS machines
- set HOMEBREW_CURL to Homebrew'd curl
2018-02-15 11:43:20 -06:00
Markus Reiter
cf4c2bb97a Auto-update on brew cask install/upgrade. 2018-02-13 18:02:54 +01:00
Mike McQuaid
4abae7f7e9 Always install Gems into bundler location. 2018-01-26 22:05:43 +00:00
Shaun Jackman
cf27117c46 brew.sh: Use shims/scm/git for HOMEBREW_VERSION
Move the use of git to determine HOMEBREW_VERSION below the
definition of the function git.
2017-12-20 16:16:01 -08:00
Shaun Jackman
a4033c7196 Do not specify absolute paths to utilities
Specifying an absolute path to utilities is no longer needed,
since environment filtering uses a default PATH.
2017-12-12 09:25:16 -08:00
Mike McQuaid
67a6c51606 brew.sh: latest HOMEBREW_VERSION is 1.4.0 2017-12-11 16:43:11 +00:00
Mike McQuaid
837ea74f44
Merge pull request #3543 from MikeMcQuaid/remove-env-unsets
Remove some unset/checked environment checks
2017-12-10 17:46:29 +00:00
Mike McQuaid
6b9ca5dbf5 Remove some unset/checked environment checks
These will be redundant once environment filtering is on by default
in #3529.
2017-12-08 16:33:33 +00:00
Mike McQuaid
e13a93dd75 Default environment filtering to on for all users. 2017-12-05 14:07:28 +00:00
Mike McQuaid
b26a0d4a91 Enable environment filtering for developers.
If folks have set `HOMEBREW_DEVELOPER` or run a `dev-cmd` then enable
environment filtering by default for them.
2017-11-27 10:15:26 +00:00
Mike McQuaid
a19d0708a4 Allow optionally using Homebrew's curl
If `HOMEBREW_FORCE_BREWED_CURL` is set then allow it to be used instead
of the system `curl`.
2017-11-26 18:17:26 +00:00
Mike McQuaid
5f301755c0 Use HOMEBREW_AUTO_UPDATE_CHECKED variable.
Rather than reusing `HOMEBREW_NO_AUTO_UPDATE` to indicate that we've
already made a check. This allows `HOMEBREW_NO_AUTO_UPDATE` to be
displayed properly by `brew config`.
2017-11-07 08:01:51 +00:00
Mike McQuaid
f999a57620 brew.sh: cleanup some environment pollution. 2017-11-05 14:45:36 +00:00
Mike McQuaid
ca189437e4 Tweak use of with_env
- Use it in more places where it saves code
- Allow using symbolic keys for a cleaner interface
- Use `HOMEBREW_GEM_*` instead of `GEM_OLD_*`
2017-10-29 14:44:43 +00:00
Mike McQuaid
df7fb212c2 brew.sh: update no git repository message.
Clarify that this message doesn’t only trigger when there’s no Git
repository but also when there’s no tags that `git describe` can use.
2017-09-22 15:50:09 +01:00