Removing all sysroot flags is ok until a non-OS X SDK is needed. In
that case, builds can fail due to the non-OS X SDK being overwritten or
overridden by the OS X SDK.
Sysroot flags are now only stripped if they are an OS X SDK. This is
reliant on only OS X SDKs containing the string "macosx", so this will
break if if the wrong SDK shows up. However, the chances of that
happening seem low, as Apple probably doesn't want to introduce
something OS X that doesn't work with OS X, so it should be robust for
the near future.
This could break in an environment without the command line tools. The
fix for that is a bit more involved, though, so that will have to go
later.
ClosesHomebrew/homebrew#44312.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
There are audit rules which check cellar. Therefore, we need
`ARGV.resolved_formula` to get proper spec and prefix.
ClosesHomebrew/homebrew#44781.
Signed-off-by: Xu Cheng <xucheng@me.com>
The flow is as follow:
* If tap is nil(DIY install), search using name.
* If tap is found, search using full name.
* If tap is found and full name searching failed, search using name.
This usually means the formula may be migrated to different tap.
ClosesHomebrew/homebrew#44771.
Signed-off-by: Xu Cheng <xucheng@me.com>
Add `java` to `SHARE_PATHS` so that `HOMEBREW_PREFIX/share/java` is a folder with symlinks in it, rather than a symlink to a folder for a specific formula.
This way we avoid conflicts if multiple formulas put `jar` files in the
standard location `HOMEBREW_PREFIX/share/java`.
See also:
[pull request 44420](https://github.com/Homebrew/homebrew/pull/44420)
ClosesHomebrew/homebrew#44456.
Signed-off-by: Xu Cheng <xucheng@me.com>
I assume that we want to encourage people hosting
their own bottles to serve them using `https`.
This PR has a trivial change in the example.
We may consider adding some text to the `root_url`
description with a discussion of security.
Also use https://example.com instead of
http://mikemcquaid.com in bottle example.
ClosesHomebrew/homebrew#44651.
Signed-off-by: Xu Cheng <xucheng@me.com>
`chown -R` should be sufficient. There is no obvious reason to chown the top-level directory as a separate command.
ClosesHomebrew/homebrew#44554.
Signed-off-by: Tim D. Smith <git@tim-smith.us>
Bottles for VTK and ITK python are no more provided.
ITK can be wrapped with Python since version 4.8, so this tap
is no more needed. Using the vanilla homebrew VTK and ITK formulas is
the way to go.
ClosesHomebrew/homebrew#44467.
Signed-off-by: Alex Dunn <dunn.alex@gmail.com>
There are plenty of IO operations inside Tap object, and it will be more
when implementing formula alias reverse look up(e.g. list all of alias
names for a formula). So let's cache them.
Some benchmark:
$ time brew info $(brew ruby -e 'puts Formula.tap_names') > /dev/null
Before: 6.40s user 2.42s system 96% cpu 9.134 total
After: 4.75s user 0.77s system 97% cpu 5.637 total
ClosesHomebrew/homebrew#44377.
Signed-off-by: Xu Cheng <xucheng@me.com>
When a PR is merged during the test, the commit tree will be looked like
this:
master PR
\ /
\ /
|
root
The start_revision will be poined to the commit used to merging PR,
instead of common root commit. As result, `git diff-tree start end`
will list file changes both in PR and master branch, which later
contributes to additional formulae are tested in some Travis builds.
To fix the problem, we use `git merge-base` to get common ancestor as
the real start_revision.
ClosesHomebrew/homebrew#44379.
Signed-off-by: Xu Cheng <xucheng@me.com>
If a PR is edited(e.g. force pushed) during the build.
TRAVIS_COMMIT will be lost. Refetching the merge ref wouldn't
help this situation as well. Since Travis already have reset
$TRAVIS_BUILD_DIR to the commit we need to test, let's use it to
determine TRAVIS_COMMIT directly.
Ref: https://github.com/travis-ci/travis-ci/issues/2666