24630 Commits

Author SHA1 Message Date
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
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
c1545fe56a xcode_version works for Xcode 4.3 without CLITools
Also correct heinous error when I put `case nil` in the code.

Also outputs "dunno" if we really can't figure it out. I think this is safe.
2012-03-16 00:59:39 +00:00
Max Howell
f1c26eb6e7 Let's print the full path 2012-03-16 00:35:56 +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
Max Howell
544b3c38c8 ohai'ing this is ugly IMO
I wanted to make it possible to not do the additional newline (in brew) if this code path is hit. But I didn't see a way to do it without overriding the Interrupt exception and throwing a new one.

“Never add more code than necessary for aesthetics in error handling.” — mxcl
2012-03-15 13:04:17 +00:00
Max Howell
59436b194d Abort installs if reps are installed but not linked
Except for keg-only reps of course.

I suspect quite a few bug reports we receive are due to this sort of thing.

Ideally we'd not do this check for deps, since they have already been checked. I fear some weird consequences. But this check *should* be done before unlinking the previously installed brew in the case of upgrades. And the ignore_deps flag is set after the initialiser. There are ways round this but the code would be less nice.
2012-03-15 13:02:47 +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
Max Howell
6ded0d0cbb Use /Library/Caches/Homebrew
We don't penalise existing users; if ~/Library/Caches/Homebrew already exists and is writable, we select that.

This is the correct choice, the cache should be the same directory whichever user is used and whatever instance of brew is invoked.

The Cache directory is set to 0777 this allows any user to write to it and fixes Homebrew/homebrew#10857.
2012-03-14 00:05:46 +00:00
Jack Nagel
b8edc0cd73 Adjust compat's fails_with_llvm call
handle_llvm_failure was moved into FailsWithLLVM and renamed.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-13 10:07:16 -05:00
Adam Vandenberg
379a9353b0 Quote the .xz path in case of spaces 2012-03-13 06:58:01 -07:00
Adam Vandenberg
e133cba770 brew doctor: check for DYLD_INSERT_LIBRARIES 2012-03-12 21:14:33 -07:00
Adam Vandenberg
5aa6aefa96 Allow multiple digits in GitHub version parts 2012-03-11 14:37:44 -07:00
Jack Nagel
6424cbf0de Update external deps tests
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-11 15:41:45 -05:00
Jack Nagel
8973d1dbcf Remove redundant versions and update version tests
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-11 15:18:56 -05:00
Jack Nagel
5b1957f13a keg: don't skip linking based on relative pathname
ed1a674c ("keg: allow selective linking at the file level") had a
regression which caused the link step to skip files with the same name
as a directory in the user's CWD.

Keg#link_dir yields a relative pathname, so assumptions cannot be made
about the nature of that pathname in the block.

Instead, introduce ":skip_dir" and ":skip_file" to replace the existing
":skip" directive. This way, we won't skip things marked ":skip_dir"
when linking a file, and vice-versa.

Fixes Homebrew/homebrew#10860.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-11 10:18:12 -05: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
Adam Vandenberg
715f808421 roll back stricter version check 2012-03-10 10:02:05 -08:00
Adam Vandenberg
cef5429f93 Use new Requirements code in Homebrew 2012-03-10 09:24:10 -08:00
Adam Vandenberg
fee00469f6 New external dependency implementation. 2012-03-10 09:24:07 -08:00
Mike McQuaid
b86ead91ea Revert "Always build bottles universally."
This reverts commit 72a477f2734939d4c5805247588c4cdea69b5383.
2012-03-10 19:28:46 +13:00
Mike McQuaid
6d940a5bcc Always build bottles universally. 2012-03-10 18:11:12 +13: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
Adam Vandenberg
aef580261b Tell the user when build logs are copied 2012-03-09 18:48:23 -08:00
Adam Vandenberg
04088ba96d Do a stricter version check
A version should always be set when going through the constructor
so tighten this check. Also do some style clean ups here.
2012-03-09 18:44:48 -08:00