4907 Commits

Author SHA1 Message Date
Max Howell
93ef27c808 Output tapped formula account properly 2012-03-16 22:08:55 +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
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
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
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
Max Howell
3f25dd60fa canonical_name can resolve taps 2012-03-16 21:06:15 +00:00
Max Howell
903b1167a6 Prevent tapped symlinks showing up in git status
The symlinks taps write to Formula show up in git status, but this trick prevents this. brew-(un)tap maintain a .gitignore in Formula that contains all the symlinks brew-tap creates.

We add the .gitignore to the root .gitignore and TADA! Magic.
2012-03-16 21:06:15 +00:00
Max Howell
0c7e7ae437 brew tap and brew untap 2012-03-16 21:06:15 +00:00
Max Howell
a42714ce82 Improve CLI tools suggestion doctor text 2012-03-16 01:03:24 +00:00
Max Howell
c28943de7b Tell user to `brew update' if no .git 2012-03-16 00:35:49 +00:00
Max Howell
e0a8ddcd1e Warn about broken symlinks in HOMEBREW_PREFIX
Refs Homebrew/homebrew#10874.
2012-03-16 00:20:49 +00:00
Michael Nygard
74c2fc8279 Remove invalid character for UTF-8
Closes Homebrew/homebrew#10962.

Signed-off-by: Max Howell <max@methylblue.com>
2012-03-15 16:05:04 +00:00
Max Howell
bf1baa3948 Explicitly tell people not to xcode-select /
Fed up dealing with this bug in xcode-select.
2012-03-15 13:19:43 +00:00
Adam Vandenberg
33221835dc brew test now gets a compilation environment 2012-03-13 20:44:40 -05:00
Camillo Lugaresi
c59be1a930 Remove libiconv duplicate
Commit ee2c3ab ("Remove spurious libiconv dependencies") pruned all
existing "depends_on 'libiconv'" usages from Homebrew in preparation for
removing the libiconv dupe itself.

Now that is done, and we can remove and blacklist it. It can be obtained
from Homebrew-alt.

Closes Homebrew/homebrew#10464.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-13 19:38:17 -05:00
Adam Vandenberg
e133cba770 brew doctor: check for DYLD_INSERT_LIBRARIES 2012-03-12 21:14:33 -07:00
Adam Vandenberg
27288547aa Add specialty formulase to inheritance check 2012-03-10 10:26:06 -08:00
Adam Vandenberg
c947dbc580 Use HOMEBREW_REPOSITORY for freshness check
Homebrew itself is found under HOMEBREW_REPOSITORY,
which *may* be the same HOMEBREW_PREFIX, but does not have
to be if you link brew into /usr/local/bin from another location.
2012-03-10 10:08:16 -08:00
Mike McQuaid
552dcdc703 Move most bottle stuff to a bottles.rb file. 2012-03-10 18:10:40 +13:00
Mike McQuaid
4a306f32f4 Support bottles for non-Lion OSX versions. 2012-03-10 18:09:35 +13:00
Mike McQuaid
22f908d520 Make brew-bottle an internal command. 2012-03-10 17:57:10 +13:00
Jack Nagel
880f566867 Remove unnecessary hyphen
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-09 13:29:56 -06:00
Mike McQuaid
cd13553d59 Remove bad exit status; need to fix another way. 2012-03-10 08:18:42 +13:00
Max Howell
981605d199 Don't cleanup the wrong things
This still isn't perfect, but it will handle hyphens in formula-names better now. A proper solution is not easy or maybe even possible unless we ban hyphens in versions AND formula names, or use a different character as a separate in downloaded cache files which we then ban from formula-name and version strings.

Refs Homebrew/homebrew#2923.
2012-03-09 15:25:09 +00:00
Mike McQuaid
5f1a9098c9 Add better Unix exit codes.
Closes Homebrew/homebrew#10809.
2012-03-09 19:16:33 +13:00
Max Howell
4e3c99d96f Don't attempt to cleanup source checkouts
Fixes Homebrew/homebrew#10751.
2012-03-07 17:14:06 +00:00
Max Howell
5b0d97efc7 Suggest full path to Xcode 4.3 /Developer
Some people seem to have an older xcode-select even after installing the CLT from inside Xcode or otherwise. So this is works for both.

Now we aren't future-proofed in case Apple change the location, but hopefully they won't, seems unlikely.

Refs Homebrew/homebrew#10743. Fixes Homebrew/homebrew#10745.
2012-03-07 15:19:30 +00:00
Max Howell
8fd2778a95 Allow dependencies to still install
Oops bug.
2012-03-07 13:48:04 +00:00
Max Howell
6988a75b84 Don't allow sudo brew upgrade if not sensible 2012-03-07 12:50:15 +00:00
Max Howell
a13ff43886 Don't abort upgrade if one formula won't build
Also, unlink previous keg before installing to prevent issues when existing installed brews cause build problems for the newer installed brew.

If the build fails the active keg is relinked before aborting.

Fixes #10341.
2012-03-07 12:34:40 +00:00
Max Howell
76aa0a62f3 Stop supporting `brew install --force'
Rationale: it breaks stuff. You should not be able to install over something already installed *and* linked. brew now prompts you to unlink the existing linked keg first.

I came to fix this because I discovered that `brew install foo` works without --force provided foo's formula version is different to that which is installed and linked. I'm not sure if this was intentionally broken, but it led to at least two tickets I found where people were getting crazy issues trying to install over the top of already installed previous versions.

So I also fixed a whole category of other issues, mostly by moving error handling into FormulaInstaller. Now error's can be caught in Homebrew.install and handled on a formula-by-formula basis. I will next port this behaviour to upgrade.
2012-03-07 12:33:47 +00:00
Max Howell
158efd8c9a brew cleanup cleans up the download-cache
Manpage updated.

The -s switch is "scrub" and removes downloads for uninstall formula which are downloads for the latest version of that formula still.

Please NOTE cache is NOT cleaned if a formula argument is provided. I couldn't be bothered. Patches welcome :)

Closes Homebrew/homebrew#2923.
2012-03-06 20:28:06 +00:00
Max Howell
9c5ddb5721 The doctor checks if you need to brew update
Well at least it checks to see if it's been a while since the last one.
2012-03-06 20:28:05 +00:00
Jonathan Hitchcock
de30a7844f 'brew doctor' provides bad example command
If there are multiple dependencies missing, 'brew doctor' can suggest
that you run something like:

  brew install autoconf libyaml autoconf, libyaml

This commit improves that output.

Closes Homebrew/homebrew#10720.

Signed-off-by: Max Howell <max@methylblue.com>
2012-03-06 15:38:33 +00:00
Max Howell
6868bf0d6e Don't require formula files for brew rm --force
In fixing this I also made it so that ARGV.kegs will return the LinkedKeg if the symlink is set. Which is almost always is. This neatly avoids most multiple-kegs issues.

Fixes Homebrew/homebrew#10685.
2012-03-06 13:47:31 +00:00
Max Howell
7ddaaf9bb0 Doctor check for python is Python-3
Refs Homebrew/homebrew#9541.
2012-03-06 12:20:02 +00:00
Max Howell
f7d7fb1e81 Don't allow brew link to be run as sudo 2012-03-04 02:47:53 +00:00
Jack Nagel
28d6a0f4de update: disable git line ending conversion
If a user has set core.autocrlf = true (which shouldn't ever be used on
OS X, but alas...), a subsequent `brew update` will check out files with
CRLF line endings. Setting core.autocrlf = false in Homebrew's repo
config will override this global setting, and let us check out files
with their in-repository line endings.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-02 18:37:48 -06:00
Jack Nagel
caa3c4f864 doctor: make git status check saner
The order of things made the check for git in the path pointless (and
was my fault); this is a better way to do it.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-01 23:29:14 -06:00
Jack Nagel
2d5de8c7ed doctor: s/folder/directory/
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-01 22:55:33 -06:00
Jack Nagel
79d1c2396a audit: check for gfotran in Formula#deps instead
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-01 19:56:09 -06:00
Jack Nagel
7f39c999a6 Don't duplicate missing deps in brew doctor
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-01 19:48:37 -06:00
Max Howell
bfa537d5fa Clearer brew doctor output for brew missing
It was confusing that it told you to brew install missing deps and then listed formula that were already installed IMO.
2012-03-02 01:21:55 +00:00