Commit Graph
8502 Commits
Author SHA1 Message Date
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 a2c23dfec5. 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 343091c828.
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
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 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 ceed6636d6.

```
==> 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'AgostinoandMike McQuaid 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 NordlundandXu Cheng 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 0f60f76f26.
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
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
2016-04-03 18:34:17 +08:00
Andrew JankeandXu Cheng e70a3552d3 test-bot: exclude Taps dir from root cleanup 2016-04-03 14:31:12 +08:00
Andrew JankeandXu Cheng 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 AfanasjewandXu Cheng 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 AfanasjewandXu Cheng 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
Eric VantillardandXu Cheng 9f79c05656 diagnostic: improve check for 'install_name_tool'
`install_name_tool` location depends on the location of the active developer
directory managed by `xcode-select`.

Closes Homebrew/homebrew#50509.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-04-03 12:15:47 +08:00
Xu Cheng bdd26d0446 test-bot: ensure tap is full clone 2016-04-03 00:34:09 +08:00
Xu Cheng 4366ea1889 test-bot: fix CI upload for core tap 2016-04-03 00:10:41 +08:00
Xu Cheng c8fed576cb pull: auto fix legacy closes message 2016-04-03 00:10:41 +08:00
Xu Cheng 591ef25442 pull: fallback to old BrewTestBot git repo when necessary 2016-04-03 00:01:38 +08:00
Xu Cheng deed8e566c test-bot: handle legacy formulae PR from Homebrew/homebrew
Closes Homebrew/homebrew#50635.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-04-03 00:01:38 +08:00
Xu Cheng e72ea94824 doc: update for core/formula separation
Closes Homebrew/homebrew#50632.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-04-02 21:51:36 +08:00
Xu Cheng fa9a9ff5be tap-(un)pin/untap: better error message
Closes Homebrew/homebrew#49904.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-04-02 21:51:36 +08:00
Xu Cheng a47ea61f0b update-test: fix git fork bomb 2016-04-02 21:51:36 +08:00
Xu Cheng 360cd3cb56 pull: add --legacy flag
It will pull legacy formula PR from Homebrew/homebrew
TODO: remove it when it's not longer necessary
2016-04-02 21:51:36 +08:00