8757 Commits

Author SHA1 Message Date
Xu Cheng
430cfbb557 readall: allow interrupt 2015-12-19 22:05:30 +08:00
Xu Cheng
82eb1a4c42 formulary: use CoreFormulaRepository
Let's hide implementation detail on where to find core formulae alias
directory. This will benefit future core code and formulae separation.
2015-12-19 22:05:30 +08:00
Xu Cheng
203000cee6 update-test: allow setting start commit
To use origin/master as start commit
  brew update-test

To use <sha1> as start commit
  brew update-test --commit=<sha1>

To use commit at <date> as start commit
  brew update-test --before=<date>

Also print start/end commit for debug purpose
2015-12-19 22:05:30 +08:00
Xu Cheng
0f60f76f26 lsyncd: use MACOS_FULL_VERSION
This commit partial reverts beed39e46fa021dd1c133c2c8eaaa81b524e68c7.

For users whose local brew is at around 2015-06-02 to 2015-06-11,
running `brew update` will emit following error:

  Error: undefined method 'full_version' for OS::Mac:Module

This is caused by the same bug described in Homebrew/homebrew#42553.

Let's use `MACOS_FULL_VERSION` for now to restore `brew update` compatibility
for these users.

TODO: revert this commit after core code and formulae separation.
2015-12-19 21:14:12 +08:00
Dominyk Tiller
e00216e4e5 cmd/cleanup: cleanup java_cache 2015-12-18 23:32:56 +00:00
Dominyk Tiller
b331e03c39 env: add java_cache env 2015-12-18 23:32:56 +00:00
Mike McQuaid
ca3952c500 Add some more integration command tests.
Add them for `install`, `bottle`, `uninstall`, `cleanup`.

Closes Homebrew/homebrew#47079.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-18 09:14:16 +00:00
Steven Willis
bab10696db mydumper: MySQL Data Dumper and Loader
* Include install option --without-docs to disable creation of docs
 * Include patch to successfully find osx dylibs and ignore glib static libs
 * Remove mydumper from tap_migrations.rb

Closes Homebrew/homebrew#45892.

Signed-off-by: Andrew Janke <andrew@apjanke.net>
2015-12-17 22:25:34 -05:00
Martin Afanasjew
ea4d137e87 dependency: fix merging tags in 'merge_repeats'
While it may suffice to merge string and non-reserved tags by forming a
union of all tags of dependencies of the same name, this approach fails
to work for the reserved tags. These are now merged such that the most
restrictive tag (meaning sometimes an empty tag) is preserved.

The previous behavior caused essential dependencies to be omitted and
builds to fail in response. E.g., multiple `:fortran` dependencies with
tags `[]`, `[:recommended]`, and `[:optional]` would have been expanded
and merged to `"gcc"` with tags `[:recommended, :optional]`, causing it
to be no longer seen as a required dependency.

Closes Homebrew/homebrew#47040.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-17 13:50:38 +01:00
Martin Afanasjew
0f9abe57ea tests: add (failing) tests for merging deps tags
The general idea is that merging multiple dependencies of the same name
should produce the strictest tag instead of a (meaningless) union of the
reserved tags. For example, if a dependency is both a `:recommended` and
an `:optional` dependency at different points in the dependency tree,
the resulting merged dependency should be tagged as `:recommended`.
Handle all other reserved tags in the same spirit.
2015-12-17 13:50:38 +01:00
Martin Afanasjew
10f066197e tests: rely on fewer implementation details
These tests were using too much semi-global state (instance variables)
and relied unnecessarily on the exact number of calls to `optional?` and
`recommended?` in the `Depedable` module.
2015-12-17 13:50:38 +01:00
Martin Afanasjew
6d802d8087 travis: use Xcode 7.2 on 10.11 and 7.1.1 on 10.10
Closes Homebrew/homebrew#47056.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-16 19:58:01 +01:00
Martin Afanasjew
02cd2c899a bottle: fix Ruby 1.8 breakage
`OpenStruct` (of which `Tab` is a subclass) doesn't support subscripting
with square brackets. Use normal dot notation to restore compatibility.
2015-12-16 02:12:50 +01:00
Mike McQuaid
b0e39203fe bottle: don't use empty tab. 2015-12-15 17:05:24 +00:00
Baptiste Fontaine
50f94e5233 audit: don't fail if there's no tap
Closes Homebrew/homebrew#47041.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-15 15:52:05 +01:00
Mike McQuaid
214c865167 bottle: make bottle checksums reproducible.
I've set all the variable data to versions that are dependent on the
latest source file date and various modification dates also to the
latest source file date. With this if you rerun `brew bottle`
multiple times in a row you will see the same checksum even if you have
`brew reinstall`ed (as long as upstream does not hardcode e.g. the
build date).

I debugged this with diffoscope and worked on this as part of the
Athens 2015 reproducible builds workshop:
https://reproducible-builds.org/events/athens2015/

Closes Homebrew/homebrew#46587.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-15 14:24:18 +00:00
Mike McQuaid
e5ba31fcdc Allow multiple option_names in dep/reqs.
This means that dependencies can be merged but still maintain all
their option names.

Closes Homebrew/homebrew#46916.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-15 08:37:16 +00:00
Mike McQuaid
484c70d19f test_dependency: add failing option names test.
This test will obviously fail but it does mark that the option names
are not being merged correctly.
2015-12-15 08:37:16 +00:00
Mike McQuaid
7095378b31 Add option_name tests. 2015-12-15 08:37:16 +00:00
Martin Afanasjew
a4a2b305f2 formula_installer: prefer 'Dependable#run?'
Both `req.tags.include?(:run)` and `req.run?` are currently equivalent,
but the latter relies less on implementation details.
2015-12-15 05:36:05 +01:00
Baptiste Fontaine
f1ac9b5776 pretty_duration: fixed for int arguments
Without this the returned string is not as accurate if the method is
called with an int larger than 120.

Closes Homebrew/homebrew#47002.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-14 16:34:12 +01:00
Baptiste Fontaine
9127ee1928 plural: tests added 2015-12-14 15:01:31 +01:00
Baptiste Fontaine
fedbb06278 os/mac: indent fixes 2015-12-14 13:50:00 +01:00
Alex Dunn
af77e8b380 Formulary: explicitly require tap
Fixes Homebrew/homebrew#46984.
2015-12-13 20:19:53 -08:00
Martin Afanasjew
b0b5d22af1 man: modernize and reduce code duplication
Also use `popen_read` instead of `safe_system` for cleaner argument
passing and write the output with `atomic_write`.

Closes Homebrew/homebrew#46826.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-13 22:18:27 +01:00
Martin Afanasjew
4a89cfb1dc man: remove broken --verbose functionality 2015-12-13 22:18:26 +01:00
Martin Afanasjew
9789726fff update: make stashing local changes more robust
Users with local changes and without a configured Git identity won't be
able to update Homebrew via `brew update`, as the update will fail when
trying to stash the local modifications with `git stash`. They will be
unable to proceed until they follow Git's advice to configure their
identity or they manage to revert their local changes.

This change always sets a commit e-mail and name, avoiding this issue. A
nice bonus is that experienced Git users can see who created the stash
commit (identifying `brew update` as the author).

Fixes Homebrew/homebrew#46930.

Closes Homebrew/homebrew#46939.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-13 22:18:14 +01:00
Martin Afanasjew
18bf5a74a8 cleanup: consistently document --dry-run option
All other commands document both `--dry-run` and `-n` in the option
description and mention only `--dry-run` in the command summary. Let's
do the same for `cleanup`.

Closes Homebrew/homebrew#46942.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-13 02:20:02 +01:00
Xu Cheng
3cc101ec5e pull: use tap object
Fix the regression introduced by Homebrew/homebrew#46735.
2015-12-13 01:29:52 +08:00
Mike McQuaid
c347d40f1b test-bot: allow tapuser/taprepo/tapformula format. 2015-12-11 20:16:05 +00:00
Xu Cheng
71e023a2c6 test-bot: fix resolve_test_tap 2015-12-11 21:46:02 +08:00
Xu Cheng
43713afa5f test-bot: remove dead code 2015-12-11 17:14:51 +08:00
Mike McQuaid
d48bdcdabb test-bot: remove ci-reset-and-update. 2015-12-11 08:48:59 +00:00
Xu Cheng
5773ca64c5 test-bot: fix Bintray url for bottle uploading 2015-12-11 16:19:51 +08:00
Mike McQuaid
65b197d2e0 test-bot: fix tap URL detection from Jenkins. 2015-12-11 08:10:59 +00:00
Mike McQuaid
e3dcf7776a Revert "test-bot: remove dead code."
This reverts commit 373da8666e633b06d8a5bb98621461b700f4b2d7.
2015-12-11 08:08:51 +00:00
Dominyk Tiller
5b98a6c67d xcode.md: document xcode 7.2
Closes Homebrew/homebrew#46822.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-12-10 14:27:02 +00:00
Dominyk Tiller
50dc5f7a3d os/mac/xcode: expect xcode 7.2 2015-12-10 14:27:02 +00:00
Dominyk Tiller
6b42a0c1f5 os/mac: add xcode 7.2 2015-12-10 14:27:02 +00:00
Anton Danilchenko
7c78f76d16 Troubleshooting: fixed typo
Closes Homebrew/homebrew#46867.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-12-10 14:18:34 +00:00
Martin Afanasjew
233a38ac95 brew.rb: improve handling of --version/-v option
Make both `--version` and `-v` print the Homebrew version and exit, if
provided as first and sole argument. `brew --version` no longer accepts
additional arguments (they were previously ignored). Otherwise interpret
`brew -v <arguments>` as if `brew <arguments> -v` was executed instead
(no change here), but no longer print a line with the Homebrew version.

Closes Homebrew/homebrew#46790.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-10 15:01:59 +01:00
Martin Afanasjew
85181a067f manpage: remove superfluous spaces for consistency
All other alternatives already don't use spaces around the pipe symbol.

Closes Homebrew/homebrew#46825.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2015-12-10 15:00:36 +01:00
Martin Afanasjew
8144f90eac manpage: fix formatting of command list
Restore definition list in `COMMANDS` section, thus massively improve
formatting. In theory, `ronn` supports nested (definition) lists. In
practice, this does not work (and is unlikely to be fixed soon because
upstream seems to be rather inactive) causing the entire definition list
to be longer recognized because of a single nested list. Work around by
rearranging the `tap` documentation (sole command with a nested list).
2015-12-10 15:00:36 +01:00
Mike McQuaid
4b3056e2fc test-bot: fetch/audit formulae despite requirement
It's still useful to do a basic test even if requirements cannot be
satisfied.
2015-12-10 10:43:45 +00:00
Mike McQuaid
d2a44869f0 test-bot: remove dead code. 2015-12-10 10:43:45 +00:00
Ryan Hendrickson
8ce81af67a ENV: warn_if_universal_binaries_not_supported
Raise an error when attempting to create universal binaries with a GCC
that can't do so.

Closes Homebrew/homebrew#46630.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-10 11:23:11 +01:00
Josh Hagins
d5de719c2b Do not brew install brew-cask
Refs caskroom/homebrew-cask#15381

Closes Homebrew/homebrew#46845.
2015-12-10 09:32:53 +00:00
Mike McQuaid
6d384a730f brew: cask is now a tap command.
So we can remove the formula installation from `brew.rb`.

Closes Homebrew/homebrew#46843.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-10 09:31:39 +00:00
Robert Eshleman
6d1959b265 Remove Git Conflict Markers in Documentation
`Formula-Cookbook.md` contains leftover git conflict markers introduced
in 15f291ddaa05cc010456a733b799382175c29dd4.

This commit removes the conflict makers and a duplicated paragraph.

Closes Homebrew/homebrew#46836.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-09 15:31:02 +00:00
Baptiste Fontaine
48b39ba1e7 audit: flag '--with{,out}-check' options
Closes Homebrew/homebrew#46794.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-09 11:29:47 +01:00