10755 Commits

Author SHA1 Message Date
Misty De Meo
f016a21470 superenv: comment sources of ignored paths
Closes #32.

Signed-off-by: Misty De Meo <mistydemeo@github.com>
2016-04-06 16:16:14 -07:00
Misty De Meo
ef4cad0c77 superenv: don't filter out all /opt paths
This was intended to filter out MacPorts and X11 paths, but the user
may have valid reasons to have other things here that might get linked
against.
2016-04-06 16:16:14 -07:00
Andrew Janke
1f8b6cb576 test-bot: add safety margin to output truncation size 2016-04-06 16:48:07 -04:00
Dominyk Tiller
bbb1fcd17c test-bot: stop using --recursive for brew uses
We're not sure this is working as it was intended to, and the primary
end product so far has been making every Ruby 1.8.7 build, which is the Ruby
we use on Mavericks for compatibility, take 5-15 minutes longer per build
than 2.x Rubies.

Cumulatively this is responsible for the vast majority of CI slowness over the
last couple months as Mavericks plays catch-up and everything else waits for it
to do so.

We may revisit this in future, but for now the harm is greater than the "risk".

This technically reverts 7b26c585c2.
2016-04-06 17:57:05 +01:00
Martin Afanasjew
7771f3af81 tests: update prune --verbose test
Closes #15.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-04-06 10:31:54 +02:00
Martin Afanasjew
f2245adaa7 tests: update linkapps/unlinkapps tests 2016-04-06 10:31:54 +02:00
Martin Afanasjew
ea38a70395 prune: handle broken app symlinks
Remove broken symlinks from `/Applications` and `~/Applications` that
were previously created by `brew linkapps`, but are no longer valid
because formulae were uninstalled or the provided apps have changed.
2016-04-06 10:31:54 +02:00
Martin Afanasjew
b50e950f0e unlinkapps: add --dry-run option
Add `--dry-run` option as is customary for destructive commands. Update
`bash` completion and man page accordingly. Also correct and update
documentation for both `brew linkapps` and `brew unlinkapps` in more
general terms.
2016-04-06 10:31:54 +02:00
Martin Afanasjew
dcf406f1e4 unlinkapps: modernize
Simplify code by using `Pathname` methods as much as possible. Also
avoid calling external commands for basic functionality like unlinking,
reduce code duplication by using a method from `cmd/linkapps.rb`, count
unlinked symlinks with `ObserverPathnameExtension`, and adjust output
for consistency with `brew linkapps`.
2016-04-06 10:31:54 +02:00
Martin Afanasjew
f63180927c linkapps: modernize
Simplify code by using `Pathname` methods as much as possible. Also
avoid calling external commands for basic functionality like symlink
creation, refactor code that can be shared with `brew unlinkapps`, and
print a summary line at the end (if symlinks were created).
2016-04-06 10:31:54 +02:00
Martin Afanasjew
15b42301e5 brew.sh: make analytics 'curl' fully asynchronous
If analytics are enabled and `brew` is used in a command substitution
context, e.g. `brew search` for tab completion, the result is that even
though the Google Analytics `curl` process runs in the background it
still is attached to the captured `stdout`, thus could theoretically
contribute to the result of the command substitution and consequently
makes the command substitution block on the completion of this process.
Redirecting `stdout` (and `stderr` for good measure) to `/dev/null`
makes this process truly asynchronous in these contexts.

Furthermore, even if the process is in the background, it is still
included in the shell's job list and thus shell internals like `wait`
(used in `cmd/update.sh`) have to wait on this process, even if they
never intended to do so. Removing the analytics process from the job
list via `disown` avoids this unintended effect.

Fixes #29.

Closes #34.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-04-06 10:28:06 +02:00
Martin Afanasjew
37b817ed39 test-bot: fix access to relocated method
Fix bug introduced in a2c23dfec569c6e73d90cb20c7d4c26cced258d5. Moving
this method apparently made it inaccessible from `Homebrew::Step`.
2016-04-06 06:35:28 +02:00
Martin Afanasjew
a2c23dfec5 test-bot: fix undefined method error
The method `fix_encoding!` is private to `Homebrew::Step` but is also
required by the `Homebrew.sanitize_output_for_xml` method for truncating
overly long logs. Move `fix_encoding!` into the `Homebrew` module to
make it accessible from both this method and the `Homebrew::Step` class.

This amends commit 343091c828d1e572829b86253d79b326c1986bcd.
2016-04-06 06:22:22 +02:00
Dominyk Tiller
a9c0361a1d audit: require plist_options when using plist
Closes #19.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-04-05 23:57:53 +01:00
Dominyk Tiller
776a73da7c test_cmd_audit: add plist test 2016-04-05 23:57:53 +01:00
Dominyk Tiller
149334d88d audit: check plist placement 2016-04-05 23:57:53 +01:00
Andrew Janke
343091c828 Merge pull request #27 from apjanke/test-bot-xml-filter
test-bot: revise Step output transcoding and XML character filtering
2016-04-05 17:23:24 -04:00
ilovezfs
332c990377 FileUtils::mktemp pass gid to Etc.getgrgid as int
We need to move the Snow Leopard fix down since Etc.getgrgid can't
handle a string.

Closes #31.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-04-05 12:24:40 -07:00
tim smith
3afacc351c Speed up tab completion
Fixes #20. Closes #23.
2016-04-05 09:48:28 -07:00
ilovezfs
fad235d8e8 tap: support --full even if installed
Makes `tap` re-runnable and unshallows when requested with `--full`.
Tapping with a different URL raises an exception.

The homebrew/core tap cannot be untapped with `untap` so running
`brew tap --full homebrew/core` is now a built-in way to get a full
clone of this tap without resorting to workarounds.

Closes #17.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-04-05 07:25:27 -07:00
Xu Cheng
1b7e13df4f CoreTap#install: fix clone target setting
When invoking `brew tap homebrew/core`, the input options will be like
`{ :clone_target => nil }`. This renders `Hash#merge` a dead operation.

It doesn't impact Homebrew itself, but could cause problem for
downstream projects Linxubrew/Tigerbrew when they adopt core/formula
separation.
2016-04-05 19:34:47 +08:00
Xu Cheng
9ae503b107 CONTRIBUTING.md: update url 2016-04-05 13:24:20 +08:00
Xu Cheng
e806003cc7 Formula#path: update doc
Formulae are all in taps now.
2016-04-05 13:19:16 +08:00
Dominyk Tiller
20c2cbd98a Revert "test-bot: revise Step output transcoding and XML character filtering"
This reverts commit ceed6636d6986bb2b993ba4680ae484deb76ae29.

```
==> git clean -ffdx
HEAD is now at ceed663 test-bot: revise Step output transcoding and XML character filtering
Removing Library/Homebrew/test/.bundle/
Removing Library/Homebrew/test/fs_leak_log
Removing Library/Homebrew/test/vendor/
Error: invalid regular expression: /[^

 -uD7FFuE000-uFFFDu{10000}-u{10FFFF}]/
```
Using Ruby 1.8.
2016-04-05 05:03:20 +01:00
Andrew Janke
ceed6636d6 test-bot: revise Step output transcoding and XML character filtering
Closes #24.

Signed-off-by: Andrew Janke <andrew@apjanke.net>
2016-04-04 22:18:17 -04:00
Misty De Meo
f8cdab7d8a Make new keep? superenv logic opt-in
Closes #50425.

Signed-off-by: Misty De Meo <mistydemeo@github.com>
2016-04-04 15:30:22 -07:00
Misty De Meo
4fd5c5c159 superenv: filter -I/-L paths on dependencies
Previously, superenv did not try to filter -I or -L flags
based on the list of requested dependencies; as a result, buildsystems
which opportunistically discover Homebrew-installed libraries were able
to link against them even under superenv.

This adds a list of all requested dependencies to the superenv environment,
and compares all -I and -L flags against those; any Cellar and opt paths
found which resolve to unrequested dependencies are filtered out.
2016-04-04 15:30:22 -07:00
Carlos D'Agostino
fa3c55aa65 utils/analytics: fix usage of undefined variable. 2016-04-04 17:14:03 +01:00
Mike McQuaid
342ed4c830 formula_installer: report install attempts.
Closes https://github.com/Homebrew/legacy-homebrew/pull/50462.
2016-04-04 12:27:47 +01:00
Mike McQuaid
c5cd206169 brew.rb: report some exceptions. 2016-04-04 12:27:47 +01:00
Mike McQuaid
1238c65ba1 utils: add analytics functions. 2016-04-04 12:27:47 +01:00
Mike McQuaid
0b79f48aad Add opt-in Google Analytics.
Add the first Google Analytics usage to monitor the command names that
are run by Homebrew.
2016-04-04 12:25:11 +01:00
Mike McQuaid
77611bafb1 Make Homebrew user agent consistent, use a slash.
Generally it seems user agents are all `software/version` but ours is
not. Also, set the user agent in a way that it's shared between Bash
and Ruby code.

Closes https://github.com/Homebrew/legacy-homebrew/pull/50480.
2016-04-04 12:18:21 +01:00
Andrew Janke
ac80883046 brew search: fix --desc regression
Fixes homebrew/homebrew-core#22

Closes #12.

Signed-off-by: Andrew Janke <andrew@apjanke.net>
2016-04-03 19:49:20 -04:00
Max Nordlund
fbc5fc3e92 Mention the haskell-platform cask 2016-04-04 02:01:15 +08:00
Xu Cheng
bc19a47eb9 GitHub: fix issues/pr searching
Closes #6.
2016-04-04 02:00:21 +08:00
Xu Cheng
d0b713c396 Revert "lsyncd: use MACOS_FULL_VERSION"
This reverts commit 0f60f76f26ca9fe26e1c10c72905a878a58e3c96.
2016-04-03 23:19:38 +08:00
Xu Cheng
00ae49f4ac BuildError: update for core/formula separation 2016-04-03 21:46:20 +08:00
Xu Cheng
46c25d9833 test-bot: remove update-test 2016-04-03 21:39:59 +08:00
Xu Cheng
e158b5e4b1 pull: fix --legacy for legacy-homebrew repo 2016-04-03 21:22:39 +08:00
Xu Cheng
eec323aed8 travis: fix rsync problem 2016-04-03 21:21:18 +08:00
Mike McQuaid
276a797d37 Update documentation after repository split. 2016-04-03 14:03:33 +01:00
Xu Cheng
d127569053 diagnostic: point to new remote 2016-04-03 19:05:08 +08:00
Xu Cheng
edf000e4cd Core/formula separation Part 2(b)
* move shell completion scripts to where can be auto picked up

Let's use switching new remote as opportunity to put shell completion
scripts to where they should be and avoid git conflict during the process.

* add Library/Formula and Library/Aliases symlinks

Formulae and Aliases has been relocated to homebrew/core tap.
The symlinks are pointed to new location to keep backward compatibility.

* remove formula_renames and tap_migrations

They have been replaced by the json files in the core tap.

* update: set new remote

* bump Homebrew version to 0.9.9
0.9.9
2016-04-03 18:34:17 +08:00
Andrew Janke
e70a3552d3 test-bot: exclude Taps dir from root cleanup 2016-04-03 14:31:12 +08:00
Andrew Janke
6283a274c8 test-bot: have --cleanup clean core repo as well as tested tap
Fixes Homebrew/homebrew#50651
2016-04-03 14:31:12 +08:00
Xu Cheng
232eccc428 test-bot: fix path in cleanup_before
We should remove PR lock files in the test tap rather than HOMEBREW_REPOSITORY.
2016-04-03 14:31:12 +08:00
Xu Cheng
df5bd0b796 pull: fix --legacy when pulling bottle from new repo 2016-04-03 12:15:47 +08:00
Martin Afanasjew
ade39af247 Revert "test-bot: clean up on Jenkins before building PR"
This reverts commit 51e4e6490bda0d981afd1787a6392ab588b0601c. This did
not work as intended, as the `git` command is executed in the context of
the tap the current job operates on, never for Homebrew/homebrew itself.
2016-04-03 12:15:47 +08:00
Martin Afanasjew
75961721ee test-bot: clean up on Jenkins before building PR
Wipe everything from the Homebrew prefix except for the `Library/Taps`
directory to avoid having to refetch `homebrew/core` every time.
2016-04-03 12:15:47 +08:00