3334 Commits

Author SHA1 Message Date
Mike McQuaid
d21f6954b6 update-reset: add new command.
Add new `brew update-reset` command to provide a helpful troubleshooting
fallback to fetch and reset all repositories. This could have lived in
`brew update` but it makes sense to avoid the complexity of sharing
logic between these scripts and keeping this one simpler.
2016-12-18 15:25:18 -08:00
Mike McQuaid
2e15f713a0 prune: don't remove top-level directories.
Even if they're empty we want to keep these top-level directories around
as the installer has nicely created them with the correct permissions
and this avoids potentially having to use `sudo` to recreate them.
2016-12-13 01:05:11 +00:00
Mike McQuaid
2b547583a3 postinstall: don't allow writes to prefix itself.
Only the top-level directories inside it. We don't want formulae writing
random junk in e.g. `/usr/local` even in `postinstall`.
2016-12-13 00:13:20 +00:00
Uladzislau Shablinski
45ef7ea0b0 Merge pull request #1343 from vladshablinsky/explicit-specs
Allow to install any spec
2016-12-11 14:26:46 +03:00
Mike McQuaid
e347f7ade3 reinstall/upgrade/install: always output options.
This is both easier for debugging and to communicate with users what is
being done.
2016-12-10 13:07:03 +00:00
Uladzislau Shablinski
73a1daa669 cmd/install: allow to install any spec
* installing HEAD keg_only should be possible only if:
  1.
    - Old version installed differs from new one and optlinked
    - `--force` flag is passed
    - HEAD is seriously outdated or outdated with `--fetch-HEAD`
  or 2.
    - Old version installed differs from new one and not optlinked
  or 3.
    - This formula is not installed

* installing keg_only should be possible only if:
  1.
    - Old version installed differs from new one and optlinked
    - `--force` flag is passed
  or 2.
    - Old version installed differs from new one and not optlinked
  or 3.
    - This formula is not installed

* installing HEAD should be possible only if:
  1.
    - Old HEAD is seriously outdated or outdated with `--fetch-HEAD`
  or 2.
    - HEAD is not installed

* installing stable or devel should be possible only if:
  - Old version installed differs from new one
2016-12-03 04:42:04 +03:00
Baptiste Fontaine
bff8e8440e update.sh: Use full path to pkill
Fixes #1600.
2016-12-01 20:59:42 +01:00
Mike McQuaid
d41e2ea5e8 update-report: allow skipping analytics message.
This is used by the install script so it can simplify it's logic and
make the analytics messaging more prominent.
2016-11-26 15:14:21 +00:00
Mike McQuaid
3469190c30 update-report: further tweak analytics output.
There were some bugs with the use of `HOMEBREW_NO_ANALYTICS_THIS_RUN`
and some output glitches I missed with the previous PR (#1575).
2016-11-26 13:58:41 +00:00
Mike McQuaid
7cd5ddfa65 update-report: further improve analytics messaging
- Don't output the analytics message and mark it as read if
`HOMEBREW_NO_ANALYTICS_THIS_RUN` is set. This mostly simplifies the
installer code where we can display the message ourselves there rather
than having `brew update` print it out sometimes and not others (i.e.
when there's no system Git installed).
- Use the shell's audible bell to nudge people to actually read this
message (and give them less excuse to complain when they don't).
- Add an extra newline and bold all the analytics messaging so it's
more visible in the output.
2016-11-26 12:56:02 +00:00
William Woodruff
d07b9ed7f2
Replace Utils::JSON with corelib JSON calls. 2016-11-20 20:06:25 -05:00
Mike McQuaid
39a0fec95d uninstall: ignore deprecations when uninstalling.
Handle `MethodDeprecatedError` because we want people to be able to
uninstall regardless of the content of their formula.
2016-11-18 09:34:58 +00:00
Mike McQuaid
649c7ab48a Merge pull request #1520 from vladshablinsky/list_follow_aliases
cmd/list: follow aliases
2016-11-17 15:58:25 +00:00
Uladzislau Shablinski
715caea79b cmd/list: follow aliases
Closes #1514
2016-11-16 02:08:38 +03:00
Mike McQuaid
d7e72899e6 uninstall: remove nil requireds/dependents
These shouldn’t get here in the first place so this is a bit of a hack
pending a better fix.
2016-11-15 14:34:49 +00:00
Mike McQuaid
484e3e0769 Merge pull request #1498 from alyssais/uninstall_developer_warning
Warn developers when uninstalling a dependency
2016-11-15 08:15:42 +00:00
Alyssa Ross
ca3562645c uninstall: style fixes
Works around Rubycop not liking method names that start with `is_`
by changing convention from singular to plural.

I think it's better that way anyway.
2016-11-14 13:39:17 +00:00
Alyssa Ross
c77040b346 uninstall: clean up warnings 2016-11-14 13:09:40 +00:00
Alyssa Ross
3c310b2e3d Warn developers when uninstalling a dependency
Suggested in #1084.

Made the existing warning output entirely to STDERR, because
previously the first line went to STDERR and subsequent ones went
to STDOUT.
2016-11-14 12:13:34 +00:00
Markus Reiter
353b67a6b2 No empty whens. 2016-11-14 09:45:44 +01:00
Markus Reiter
59e2d67721 No if/unless-modifier on multiline blocks. 2016-11-13 23:37:40 +01:00
Markus Reiter
e9391481a8 Update RuboCop to 0.45.0. 2016-11-13 23:18:08 +01:00
Mike McQuaid
2a53d14b51 Merge pull request #1217 from MatzFan/invalid_build_option_warnings
Invalid build option warnings - supersedes #1088
2016-11-13 10:50:51 +00:00
Bruce Steedman
8ebddca0fe fix other 10 failing tests - doh 2016-11-12 12:31:35 +00:00
Mike McQuaid
56124f5963 Filter formula build options based on those that exist.
If `--with-foo` is provided to a formula through a tab or through
another formula depending on it and this option does not exist it
should be filtered. If it is not (the prior behaviour) then this can
prevent bottles being used unnecessarily.

Fixes #1399.
2016-11-12 12:11:55 +00:00
Mike McQuaid
4538d80db1 uninstall: don't need kegs to exist for --force.
Otherwise there's an error which is a regression on previous
functionality. This mirrors `rm -f` which doesn't fail if a file doesn't
exist.
2016-11-11 13:15:49 +00:00
Mike McQuaid
2ce17a1137 Merge pull request #1082 from alyssais/uninstall_dependancy_error
uninstall: refuse when dependents still installed
2016-11-11 08:23:57 +00:00
Mike McQuaid
cfaa05f841 Merge pull request #1443 from MikeMcQuaid/better-development-tools-checks
Improve debugging information based on failures
2016-11-06 08:21:11 -05:00
Markus Reiter
654fa2513b Merge pull request #1445 from MikeMcQuaid/caskroom-prefix
update-report: default Caskroom moved to prefix.
2016-11-06 00:24:31 +01:00
Mike McQuaid
276864ebd1 update-report: default Caskroom moved to prefix.
Look at HOMEBREW_PREFIX rather than HOMEBREW_REPOSITORY for the default
Caskroom location.
2016-11-05 15:37:28 -04:00
Mike McQuaid
6c9ca906af install: only check fatal development tools checks. 2016-11-05 10:58:39 -04:00
ihatetoregister
12c252855a Added a hint how to link a formula that is installed but not linked 2016-11-05 00:17:02 +01:00
Mandar Gokhale
0e15ffff62 Correct a few typos
...and update man pages where applicable
2016-11-03 12:09:44 +00:00
Mike McQuaid
3c7446f3ff Improve GitHub API scopes output.
Improve the GitHub API scope and token related messaging by
autopopulating the scopes we need on the new scopes page and, in the
case of a lacking a scope we need, output what scope was required.

Also, DRY up the personal access token code.
2016-10-30 15:38:19 -04:00
Alyssa Ross
702345ee67 docs: fix typo for brew missing 2016-10-30 16:30:40 +00:00
Alyssa Ross
481a097643 uninstall: document --ignore-dependencies 2016-10-25 23:59:55 +01:00
Alyssa Ross
3702e561d6 uninstall: test should_check_for_dependents? 2016-10-25 23:53:10 +01:00
Alyssa Ross
5a3d6c4c8f uninstall, keg: update style 2016-10-25 23:48:34 +01:00
Alyssa Ross
d0ad097082 uninstall: remove duplicated method
This was moved to Keg, but looks like I forgot to get rid of it here.
2016-10-25 23:48:00 +01:00
Alyssa Ross
aff5f42c58 missing: document --hide 2016-10-25 22:36:13 +01:00
Alyssa Ross
c4c855b9fc ARGV: extract #values from missing 2016-10-25 22:36:13 +01:00
Alyssa Ross
a4dc835ba0 uninstall: call Formula#missing_dependencies directly 2016-10-25 22:36:13 +01:00
Alyssa Ross
422f38b945 missing: call Formula#missing_dependencies directly 2016-10-25 22:36:13 +01:00
Alyssa Ross
99a7fb8cb4 uninstall: don't use unless || 2016-10-25 22:34:35 +01:00
Alyssa Ross
ef13f8eaca uninstall: only <=1 Diagnostic.missing_deps call 2016-10-25 22:34:35 +01:00
ilovezfs
7fa4ffe3dc missing: allow hiding specified formulae 2016-10-25 22:34:35 +01:00
Alyssa Ross
ed0fffd931 uninstall: style fixes 2016-10-25 22:34:35 +01:00
Alyssa Ross
7792acda52 uninstall: allow dependent checks to be by-passed
Dependent can be bypassed with `--ignore-dependencies`.
This is now the default for `HOMEBREW_DEVELOPER`s.
2016-10-25 22:34:35 +01:00
Alyssa Ross
ecb1075390 uninstall: check for dependents even with --force 2016-10-25 22:34:34 +01:00
Alyssa Ross
b42f76939c uninstall: reorganise code
With the way uninstall is set up at the moment, it's pretty difficult to
add functionality to both the --force and normal variants.

Extracting the racks and kegs to be uninstalled before uninstalling them
should make this easier.
2016-10-25 22:34:34 +01:00