L. E. Segovia
d442905719
Upgrade: implement linkage repair
...
After upgrading existing kegs, we now search and upgrade their
dependents as well. If any are detected that have broken linkage, they
are reinstalled from source.
If there are any formulae in the dependents tree that are pinned, they
are only reinstalled if they're not outdated; in all cases, a suitable
message is printed detailing the kegs that will be acted upon.
2018-09-12 19:28:02 +00:00
Shaun Jackman
f6093961ef
Add Homebrew::DEFAULT_PREFIX for Linux
...
The default prefix is /usr/local on macOS
and /home/linuxbrew/.linuxbrew on Linux.
2018-09-11 09:57:08 -07:00
Mike McQuaid
dc7b73171c
cmd/update: follow GitHub API redirects.
...
Fixes #4867
2018-09-09 17:55:09 +01:00
Shaun Jackman
922843f047
Merge pull request #4849 from jamescostian/shellenv
...
Add brew shellenv - see #4780
2018-09-07 13:28:42 -07:00
James Costian
18d38d7b76
Add brew shellenv - see #4780
2018-09-07 11:37:14 -05:00
Mike McQuaid
7615d3a812
Improve writable directory handling
...
Consolidate the handling of which directories need to exist and which
need to be writable. Additionally, add a fatal check for formula
installations to ensure that any directories that need to be writable
are so before attempting an installation.
Fixes #4626 .
2018-09-06 18:38:43 +01:00
Mike McQuaid
c60fe60377
cmd/info: display analytics data.
...
When users don't have `HOMEBREW_NO_ANALYTICS` or
`HOMEBREW_NO_GITHUB_API` set let's display some analytics data in
`brew info`. This should be useful for both maintainers and for users of
Homebrew.
Note this by default combines all installs across options for a single
number; for formulae with lots of options it's a bit overwhelming to
print the installs per-option. However, for `HOMEBREW_DEVELOPER`s print
the full output.
Sample non-developer output:
```console
$ brew info wget
wget: stable 1.19.5 (bottled), HEAD
Internet file retriever
https://www.gnu.org/software/wget/
/usr/local/Cellar/wget/1.19.5 (49 files, 3.7MB) *
Built from source on 2018-09-03 at 20:46:32
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb
==> Dependencies
Build: pkg-config ✔
Required: libidn2 ✔, openssl ✔
Optional: pcre ✔, libmetalink ✘, gpgme ✘
==> Options
--with-debug
Build with debug support
--with-gpgme
Build with gpgme support
--with-libmetalink
Build with libmetalink support
--with-pcre
Build with pcre support
--HEAD
Install HEAD version
==> Analytics
install: 84638 (30d), 353800 (90d), 1372775 (365d)
install_on_request: 77926 (30d), 291305 (90d), 1044898 (365d)
build_error: 11 (30d)
```
Sample developer output:
```console
$ brew info wget
wget: stable 1.19.5 (bottled), HEAD
Internet file retriever
https://www.gnu.org/software/wget/
/usr/local/Cellar/wget/1.19.5 (49 files, 3.7MB) *
Built from source on 2018-09-03 at 20:46:32
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb
==> Dependencies
Build: pkg-config ✔
Required: libidn2 ✔, openssl ✔
Optional: pcre ✔, libmetalink ✘, gpgme ✘
==> Options
--with-debug
Build with debug support
--with-gpgme
Build with gpgme support
--with-libmetalink
Build with libmetalink support
--with-pcre
Build with pcre support
--HEAD
Install HEAD version
==> Analytics
==> install (30d)
wget: 84516
wget --with-debug: 51
wget --with-libressl: 16
wget --with-pcre: 14
wget --with-pcre --with-libmetalink --with-gpgme: 12
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 8
wget --HEAD: 3
wget --HEAD --with-debug --with-libmetalink --with-gpgme: 3
wget --with-gpgme: 3
wget --with-libmetalink: 3
wget --with-pcre --with-libmetalink: 3
wget --with-debug --with-pcre: 2
wget --with-libmetalink --with-gpgme: 2
wget --with-pcre --with-gpgme: 2
==> install (90d)
wget: 353131
wget --with-debug: 188
wget --with-pcre: 138
wget --with-pcre --with-libmetalink --with-gpgme: 118
wget --with-libressl: 81
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 47
wget --with-pcre --with-libmetalink: 31
wget --HEAD: 13
wget --with-pcre --with-gpgme: 12
wget --with-gpgme: 11
wget --with-debug --with-pcre: 10
wget --with-libmetalink: 8
wget --HEAD --with-pcre --with-libmetalink --with-gpgme: 4
wget --with-debug --with-pcre --with-libmetalink: 4
wget --with-libmetalink --with-gpgme: 4
==> install (365d)
wget: 1369530
wget --with-pcre: 810
wget --with-debug: 649
wget --with-pcre --with-libmetalink --with-gpgme: 554
wget --with-libressl: 479
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 235
wget --with-pcre --with-libmetalink: 184
wget --with-gpgme: 67
wget --with-pcre --with-gpgme: 67
wget --with-debug --with-pcre: 65
wget --HEAD: 54
wget --with-libmetalink: 30
wget --with-libmetalink --with-gpgme: 27
wget --with-debug --with-pcre --with-libmetalink: 24
==> install_on_request (30d)
wget: 77827
wget --with-debug: 48
wget --with-pcre: 12
wget --with-pcre --with-libmetalink --with-gpgme: 11
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 8
wget --HEAD: 3
wget --HEAD --with-debug --with-libmetalink --with-gpgme: 3
wget --with-gpgme: 3
wget --with-libmetalink: 3
wget --with-debug --with-pcre: 2
wget --with-libmetalink --with-gpgme: 2
wget --with-pcre --with-gpgme: 2
wget --with-pcre --with-libmetalink: 2
==> install_on_request (90d)
wget: 290818
wget --with-debug: 157
wget --with-pcre --with-libmetalink --with-gpgme: 101
wget --with-pcre: 100
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 42
wget --with-pcre --with-libmetalink: 30
wget --HEAD: 13
wget --with-pcre --with-gpgme: 11
wget --with-gpgme: 10
wget --with-debug --with-pcre: 8
wget --with-libmetalink: 7
wget --HEAD --with-pcre --with-libmetalink --with-gpgme: 4
wget --with-debug --with-pcre --with-libmetalink: 4
==> install_on_request (365d)
wget: 1042845
wget --with-pcre: 504
wget --with-debug: 458
wget --with-pcre --with-libmetalink --with-gpgme: 432
wget --with-debug --with-pcre --with-libmetalink --with-gpgme: 201
wget --with-pcre --with-libmetalink: 158
wget --with-gpgme: 61
wget --HEAD: 54
wget --with-pcre --with-gpgme: 49
wget --with-debug --with-pcre: 47
wget --with-debug --with-pcre --with-libmetalink: 24
wget --with-libressl: 23
wget --with-libmetalink: 22
wget --with-libmetalink --with-gpgme: 20
==> build_error (30d)
wget: 9
wget --HEAD: 1
wget --with-debug: 1
```
2018-09-06 14:18:30 +01:00
Markus Reiter
a84a1c63db
Rename Hbc
module to Cask
.
2018-09-06 09:30:52 +02:00
Markus Reiter
ac2cd67861
Deprecate brew cask --version
.
2018-09-06 07:05:22 +02:00
Mike McQuaid
1ae2326984
Rename Cask::CLI to Cask::Cmd.
2018-09-04 09:56:58 +01:00
Mike McQuaid
e06f8a8beb
Rename Homebrew-Cask to Homebrew Cask.
2018-09-04 09:56:57 +01:00
Mike McQuaid
90b3a13909
cask: move cask/lib/hbc/* to cask/*.
...
Fix the load path, requires and some filenames accordingly.
2018-09-04 09:56:57 +01:00
Mike McQuaid
80d75bc0d8
Homebrew/.rubocop: tweak rules.
...
Adjust the rules based on the current codebase. Remove various enable,
disables and default values that are unnecessary. Add more comments
explaining why. Make minor changes needed to enable a few more rules.
2018-09-02 20:15:09 +01:00
Mike McQuaid
bcb1ec5499
Improve Homebrew/brew line length.
...
Use 124 max line length everywhere. Also, reduce tap max line length to
189 as Homebrew/homebrew-core has that as a maximum now. In future
Homebrew/homebrew-core will also be reduced to 124 maximum line length.
2018-09-02 16:15:09 +01:00
Markus Reiter
516a39f5a4
Move migrations into UpdateMigrator
module.
2018-08-31 16:51:23 +02:00
Markus Reiter
fbcaa8c85a
Resolve URL to get real file extension.
2018-08-31 16:51:23 +02:00
Mike McQuaid
b068e4b927
update-report: tweak cask analytics messaging.
2018-08-18 08:26:44 +01:00
Brian Morton
7ced0be133
Merge branch 'master' into hbc_analytics
2018-08-17 16:18:40 -07:00
JBallin
520b5a103a
Clarify that --cleanup only runs on formulae which were just upgraded
2018-08-16 09:28:24 -07:00
JBallin
526262fca5
Change <formula> to <formulae> to match the suggested inputs
2018-08-16 09:28:24 -07:00
Claudia
61db35f77d
brew style
2018-08-16 09:01:46 +02:00
Brian Morton
ea29158a4d
update git config key for analytics bool
2018-08-16 08:19:11 +02:00
Brian Morton
77c242548e
update variable name and msg string per comments
2018-08-16 08:18:23 +02:00
Brian Morton
37f1ae61b2
add cask analytics msg on brew update
2018-08-16 08:16:33 +02:00
Mike McQuaid
b45b716a2e
update-report: solicit donations.
...
This message will only be displayed once.
Fixes #4644 .
2018-08-14 13:19:37 +01:00
Markus Reiter
55cde526a8
Deprecate brew cask cleanup
.
2018-08-13 20:09:34 +02:00
Markus Reiter
17fda8d546
Merge pull request #4658 from reitermarkus/ignore-version-error
...
Set `initial_version` to `nil` when `git describe` fails.
2018-08-11 17:45:45 +02:00
Markus Reiter
bdc2458c15
Always fetch at least the latest tag.
2018-08-11 00:46:29 +02:00
Markus Reiter
211e8538ec
Set initial_version
to nil
when git describe
fails.
2018-08-10 22:48:12 +02:00
Markus Reiter
03b93da296
Use option parser for brew cleanup
.
2018-08-08 13:11:16 +02:00
Markus Reiter
a2238f0eb3
Output message when migrating cache entries.
2018-08-08 07:34:24 +02:00
Markus Reiter
19ffbd5e68
Skip migration if HOMEBREW_DISABLE_LOAD_FORMULA
is set.
2018-08-07 16:07:12 +02:00
Markus Reiter
888a7073bc
Change migration to loop through formulae.
2018-08-06 17:25:29 +02:00
Markus Reiter
7449f9cd15
Fix update-report
migration.
2018-08-06 12:52:18 +02:00
Markus Reiter
dca5dc8176
Add warnings for permission exceptions.
2018-08-05 16:03:21 +02:00
Markus Reiter
8158f045c4
Only run migration when updating from older version.
2018-08-05 15:57:28 +02:00
Markus Reiter
4065c1742d
Add update migration for double dashes.
2018-08-05 15:57:28 +02:00
Mike McQuaid
19d87bf15f
link: when refusing link display keg only caveats
...
These are a bit easier to follow and have been recently improved.
Inspired by conversation in #4441 .
2018-07-26 10:49:55 +01:00
Mike McQuaid
74c77db5bd
shell: tweak export_value parameters.
...
Let’s have a default value for shell (considering this isn’t a public
API) to make it easier to use.
2018-07-26 10:48:25 +01:00
Mike McQuaid
bd5131d710
Merge pull request #4392 from MikeMcQuaid/more-deprecation-disabled
...
Disable more deprecations.
2018-07-15 14:48:00 +01:00
Andrew Janke
0a2d8c3d4d
Add --display-times option to install
, reinstall
, and upgrade
2018-07-14 11:06:03 -04:00
Mike McQuaid
5c6ef3d920
Disable more deprecations.
...
- Turn more old `odeprecated` into `odisabled`
- Remove more old `odisabled`
- Remove code for older Ruby versions
2018-07-14 16:00:50 +01:00
Mike McQuaid
060c615fae
Merge pull request #4361 from apjanke/collected-caveats
...
Display collected caveats at end of `install` or `upgrade`
2018-07-13 19:22:55 +01:00
Mike McQuaid
e1eb7dd3e3
Use Ruby 2.3.7
...
Fixes #4459 .
2018-07-13 08:22:33 +01:00
Andrew Janke
c644392a85
Display collected caveats at end of install
or upgrade
2018-07-12 20:41:32 -04:00
Mike McQuaid
7cc970fea2
link: refactor, reorder and fix bugs.
...
The change in #4441 broke the handling of the `elsif`s due to the
change in logic. As every block here has a `next` there's no need to do
an `elsif` in here at all. Additionally, reorder the conditions in here
so you get an appropriate message depending on what you're trying to do.
Finally, tweak some of the messaging to remove things that are ignored
and tell people correct commands to run to link things.
2018-07-10 09:32:42 +01:00
ilovezfs
461b61abac
link: fix undefined dep_f
2018-07-09 21:23:25 -07:00
Mike McQuaid
2f181b3f41
link: stop unneeded force linking on Mojave/CLT 10.
...
People are getting in the habit of force-linking things like `zlib` to
fix linking/include issues on Mojave (which doesn't install headers to
`/usr/include` by default). This way lies madness so encourage people to
instead pass the correct compiler flags instead.
2018-07-09 16:09:00 +01:00
Afnan Enayet
133c3a3c0b
Fix typo
...
* change `MacOS` -> `macOS`
* regenerate manpages
2018-07-06 23:06:41 -04:00
Afnan Enayet
9579fadad4
Strip trailing whitespaces
...
This fixes the rubocop offences, which was blocking Travis
2018-07-05 21:33:29 -04:00