38364 Commits

Author SHA1 Message Date
Max Howell
c3370c48ce Better error when linking fails
Refs http://stackoverflow.com/questions/9762943

The system ln no longer outputs anything. Though the user can force its output with a --verbose of course. So in cases where it's not the usual of: not writable or existing file, we can ask the user to run with --verbose. I don't particularly like hiding its output, but it just confused the error IMO since it is creating a relative symlink the output was weird every time I've seen it in tickets.

I made a print wrapper so that the brew-link output doesn't get mucked up if an exception is thrown.
2012-03-19 00:28:38 +00:00
Jack Nagel
8088f6c17b Document brew tap and brew untap
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-18 16:04:05 -05:00
Jack Nagel
2852b2836d Clarify install --force
Since 5bddaf2e ("Stop supportinb `brew install --force`), the --force
argument is still useful but only to overcome the blacklist
restrictions. Document this.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-18 16:04:04 -05:00
Max Howell
267f58a7d6 nodejs alias + blacklist text tweak
Everyone calls it "nodejs" so not having an alias to this is dumb.
2012-03-18 11:56:19 +00:00
Mike McQuaid
85452c5e91 Fix bottles on non-Lion. 2012-03-18 20:48:11 +13:00
Mike McQuaid
64457b2315 Remove reliance of bottle DSL on EOCLASS. 2012-03-18 20:38:18 +13:00
Misty De Meo
aa91bd27d2 Implement new bottle syntax in formula.rb
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-03-18 20:38:18 +13:00
Mike McQuaid
0d67d3baf1 Fix bottle redownloading and bad naming. 2012-03-18 16:35:09 +13:00
Mike McQuaid
23b84ef732 Set MACOS_VERSION as 0 on non-OSX platforms. 2012-03-18 15:43:39 +13:00
Mike McQuaid
e33937a1e3 Rename external commands directory from examples.
Fixes Homebrew/homebrew#10829.
2012-03-18 15:34:41 +13:00
Mike McQuaid
d47cf55f68 Use fetch for downloading bottles.
Fixes Homebrew/homebrew#10958.
2012-03-18 15:16:57 +13:00
Max Howell
059727a9e8 Downcase when checking if no tap search needed 2012-03-18 02:03:19 +00:00
Max Howell
aeb9440b90 Special case "Homebrew" in brew-search
Again, "Homebrew" is changed to "homebrew" before rendering to the user.
2012-03-18 01:51:36 +00:00
Max Howell
3bfea440cb Downcase tap parameters in Formula.canonical_name
See previous commit's explanation.
2012-03-18 01:51:10 +00:00
Max Howell
ceeb768c84 Special case Homebrew organization taps
We allow homebrew/dupes for instance, rather than Homebrew/dupes. Because nobody likes shifting in the terminal.

In the process of doing this I discovered some case-insensitive filesystem bugs we have avoided before because I had the foresight to mandate lowercase in formula names. GitHub considers Homebrew and homebrew to be different (even though you can't create both). So we had to allow case insensitivity in tap input. I have made it now so the resulting directory however is lowercased, neatly avoiding the issue. And so we also downcase tap arguments when applying them to tap directories or formula.
2012-03-18 01:45:26 +00:00
Max Howell
c346ebd948 Add brew/versions and brew/dupes to search 2012-03-18 01:23:15 +00:00
Max Howell
88604e1bb1 Handle when formula are deleted from taps
The symlinks in Formula must be updated.
2012-03-18 01:23:01 +00:00
Max Howell
d388c43863 Generalise the untap step so we can add to update
brew-update needs to be able to unsymlink removed stuff from taps too.
2012-03-18 01:14:00 +00:00
Max Howell
21bddc7972 Make the tapping already there step actually work
For when the symlink for a tap already exists and points to the thing we are about to symlink. This can happen, mostly because my code has sucked, but since the filesystem can be edited by the user at whim, it's possible then too.
2012-03-18 01:14:00 +00:00
Max Howell
d01e9a8fd7 Don't warn about .DS_Store
Fixes Homebrew/homebrew#11018.
2012-03-18 00:16:09 +00:00
Adam Vandenberg
1cdd35b7e8 doctor: check OS version
We warn if you are not running the latest Leopard or Snow Leopard.
(We do not currently check Lion or Mountain Lion versions.)
2012-03-17 11:56:32 -07:00
Jack Nagel
672128c908 bsdmake is a build-time dep
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-17 11:16:45 -05:00
Adam Vandenberg
8f47bdb782 audit: check for install options being shadowed 2012-03-17 08:46:04 -07:00
Adam Vandenberg
5141c9cadd Add brew uses --recursive
Closes Homebrew/homebrew#8870.
2012-03-16 22:00:59 -07:00
Max Howell
5c2837c18c Report correct conflicting tap
Fixes:

$ brew tap adamv/alt
...blah blah blah..
$ brew tap josegonzalez/php
...blah blah blah...
Warning: Could not tap josegonzalez/php/php over mxcl/master/php

Where it should be "over adamv/alt/php".
2012-03-17 01:24:03 +00:00
Max Howell
fe9e2be8fe Allow dashes in tap-formula names 2012-03-17 00:21:22 +00:00
Jack Nagel
2ed0240cb1 Tab completion for tapped formulae
So you can do e.g.

    $ brew install adamv<TAB>
    Display all 106 possibilities? (y or n)
    $ brew install adamv/alt/openss<TAB>
    adamv/alt/openssh     adamv/alt/openssl098  adamv/alt/openssl100

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-16 19:18:58 -05:00
Jack Nagel
ee0041f290 Appease the masses
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-16 19:18:54 -05:00
Max Howell
ab01c1e357 Plain brew tap doesn't error if no Library/Taps
Fixes Homebrew/homebrew#10994.
2012-03-17 00:04:43 +00:00
Max Howell
4d53e2f169 brew search will search taps we decide are core
This means `brew search` always does some network operations. Which is a shame, but I think (for brew) fine. Probably the no-connectivity handling needs to be improved.
2012-03-16 22:37:11 +00:00
Max Howell
93ef27c808 Output tapped formula account properly 2012-03-16 22:08:55 +00:00
Jack Nagel
bbb212f41e Bash completion for brew untap
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-16 16:52:35 -05:00
Jack Nagel
fe58c056d3 Explicitly set OBJC in the environment
Fixes Homebrew/homebrew#10951.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-16 16:36:17 -05:00
Max Howell
ee73c30aa5 Tap more than one formula from taps other than alt
Whoops.
2012-03-16 21:31:59 +00:00
Max Howell
a2e84e5e57 Homebrew 0.9 0.9 2012-03-16 21:09:00 +00:00
Max Howell
919f36717c Don't break if symlink already exists during tap
This shouldn't happen but is possible and we should handle it.

Also added some puts when tapping/untapping.
2012-03-16 21:06:18 +00:00
Max Howell
0f02354073 HOMEBREW_LIBRARY
I got fed up writing HOMEBREW_REPOSITORY/"Library" and also correcting mistakes when I did HOMEBREW_PREFIX instead.
2012-03-16 21:06:18 +00:00
Max Howell
4c02b2276b Taps can only have one directory of formula
Rationale: Let's not have duplicate-names. Insisting on only one directory lets the filesystem enforce this unique-naming criteria for us.

We special-case adamv/alt for now, until we remove it.
2012-03-16 21:06:17 +00:00
Max Howell
e6cb8cbee9 Pathname.atomic_write 2012-03-16 21:06:17 +00:00
Max Howell
2ace9422bc Better conflict warnings when tapping 2012-03-16 21:06:17 +00:00
Max Howell
598f7b69d9 Record tap-origin in the install-receipt 2012-03-16 21:06:17 +00:00
Max Howell
3d5b4af523 Tell the user to tap (if req.) for tapped deps
Also propagate dependency info through exception if possible so the error message is more useful.
2012-03-16 21:06:17 +00:00
Max Howell
15f3e9ea77 Doctor check for unlinked not-keg-only brews
Since these cause trouble.
2012-03-16 21:06:17 +00:00
Max Howell
7280590e88 Link new tapped formula during brew update
Required me to spoil tap's code. All in the name of DRY! Alas!
2012-03-16 21:06:17 +00:00
Max Howell
2c84be96d8 Concise --config output for build errors
Rationale, lets only pay attention to the output when it matters. Speeding up diagnosis.
2012-03-16 21:06:16 +00:00
Max Howell
6c0950999f brew info understands taps
Note I removed some of the code that changed the URL to be that of the github.user. Because this doesn't make any sense really. We want people to reference the commit history for whatever fork of homebrew they have checked out. So this is now what it does.
2012-03-16 21:06:16 +00:00
Max Howell
765ae96180 Leave kegs keg-only if linking step fails
Rationale: well, it should always have been like this!

However now we are opening ourselves up to more-mixed installations of formula not maintained by us, it's important that
2012-03-16 21:06:16 +00:00
Max Howell
921f0e5674 brew update will update taps 2012-03-16 21:06:16 +00:00
Max Howell
b5de42bfef Refer users to correct tracker for tapped brews 2012-03-16 21:06:16 +00:00
Max Howell
a9587ff7d7 brew edit adamv/alt/ruby works
The reason it didn't work is it doesn't use ARGV.formulae because it needs to be able to edit stuff that doesn't parse. Most other stuff already works because we are awesome.
2012-03-16 21:06:15 +00:00