38364 Commits

Author SHA1 Message Date
Adam Vandenberg
c32e67b83c remove confusing comments 2012-06-27 11:55:42 -07:00
samueljohn
13e14ef65a Fix Homebrew/homebrew#13012 properly and don't set the SDK if CLT
Undoing parts of the hot fix 78b9e8548e771a59e382e6f13339664ec5498391.

The only thing missing was to check for `system "/usr/bin/xcrun -find make 1>/dev/null 2>&1"`
and then it's safe to call locate.

This commit restores the original functionality but without the risk for recursion
and improves the logic of `MacOS.locate`. See below.

To important changes in this commit:

- For Xcode _and_ CLT: don't add the SDK and leave things as before.
So if `MacOS.clt_installed?`, then no `SDKROOT` and `-L` and `-I`
directories are set in `ENV.macosxsdk`.

- Improved the logic for `MacOS.locate` for Xcode-only situations
by assuring that the xcode-select path is correct. This is done
by checking that `bin/make` exists and is executable. Otherwise it
was possible to set xcode-select to an empty dir.
This check is done in `MacOS.sdk_path` too.
We are now able to use Xcode wherever it is and can work even, if
xcode-select is set to invalid values. (Remember some users don't
have sudo access and that is needed to fix xcode-select).

Some minor whitespace fixes.
Minor backtick fix in doctor.rb's printout.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-27 11:50:43 -07:00
Adam Vandenberg
dcc2765947 Homebrew 0.9.1
Bump the version number due to the Xcode/CLT change.
0.9.1
2012-06-27 10:28:24 -07:00
Adam Vandenberg
62f269d0aa Simplify check_non_libraries 2012-06-27 10:21:28 -07:00
samueljohn
212dc98003 doctor: check for ~/.pydistutils.cfg
Closes Homebrew/homebrew#12363.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-26 19:41:22 -05:00
Jack Nagel
87543a6916 config: omit Xcode path for CLT-only systems
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-26 12:20:04 -05:00
Jack Nagel
9189258a9e Clean up --config output
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-26 00:02:42 -05:00
Mike McQuaid
ef65f3654f Improve bug report wiki page text.
Fixes Homebrew/homebrew#12674.
2012-06-25 19:49:44 -05:00
Misty De Meo
bfec2ac090 MacOS.sdk_path: silence stderr from xcode-select 2012-06-25 16:48:06 -05:00
Misty De Meo
f231a8b079 MacOS.sdk_path: use strip instead of chomp.chomp 2012-06-25 16:00:07 -05:00
Misty De Meo
cd34b164b2 MacOS.sdk_path: make sure xcode-select is sane
According to a user on IRC with a brand-new Mac, xcode-select is preconfigured
to /Developer out of the box even though that doesn't exist on modern Xcode.
So we shouldn't trust that it makes any sense.
2012-06-25 15:52:40 -05:00
Misty De Meo
31d152780b MacOS.sdk_path: chomp harder!
There were two newlines being returned by the command being called in sdk_path,
not just one.
2012-06-25 15:47:45 -05:00
Misty De Meo
2baf6487d1 Hotfix for stack overflow
Under certain circumstances, MacOS.locate and MacOS.dev_tools_path would call
each other recursively. This was limited to systems with Xcode minus the CLT.
See Homebrew/homebrew#13012.
2012-06-25 15:13:35 -05:00
Charlie Sharpsteen
f165e0cf5f brew-upgrade: Respect --ignore-dependencies flag
Passing `--ignore-dependencies` to `brew upgrade` will now have the desired
effect.
2012-06-25 09:20:18 -08:00
Misty De Meo
b9f4b682b5 StandardCompilers: add Xcode 4.3.3 2012-06-25 09:42:05 -05:00
samueljohn
725feb3db1 Core change: XCode only install, with CLT or both
Allow XCode without the Command Line Tools to
work with homebrew, so it's not necessary
to register an Apple Dev ID and/or go to the
XCode prefs and download the CLT. Yay!

Further, this commit allows to use the CLT
solely (without the need for XCode).
Saves quite some megs.
(Some furmulae require xcodebuild)

Of course XCode together with the CLT is still
fine and has been tested on 10.7 and 10.6
with Xcode 4 and Xcode 3.

Only on Lion or above, tell the user about the options,
which are
- Xcode without CLT
- CLT without Xcode
- both (ok, it's not directly stated, but implicit)
So if no Xcode is found and we are on Lion or above,
we don't fail but check for the CLTs now.
For older Macs, the old message that Xcode is needed
and the installer should be run is still displayed.
If the CLT are not found but Xcode is, then we
print out about the experimental status of this setup.

Closes Homebrew/homebrew#10510.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-24 19:11:06 -07:00
Tim Oram
3147dd134a doctor: rewrite Volume class to fix issue with google update engine
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-23 10:18:16 -07:00
Misty De Meo
0d2e26fc58 doctor: skip missing_deps when no Cellar exists
Another fix for Homebrew/homebrew#5188.
2012-06-19 10:08:19 -05:00
Misty De Meo
d1baf42d94 doctor: skip outdated_homebrew check when no git 2012-06-19 10:03:11 -05:00
Misty De Meo
faf332054f doctor: don't warn about recent MacGPG2 versions
Fixes Homebrew/homebrew#12238.
2012-06-19 09:25:18 -05:00
Misty De Meo
c2b057fc70 doctor: skip Cellar test if Cellar doesn't exist
Fixes Homebrew/homebrew#5188 (again).
2012-06-19 09:24:59 -05:00
Jack Nagel
9ebb1a3d08 audit: prefer ARGV.build_head? to inspecting 'version'
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-17 18:01:22 -05:00
Jack Nagel
6a94df360a audit: prefer modifying ENV to using env or export
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-17 17:59:30 -05:00
Jack Nagel
38a28285a6 audit: catch unnecessary 'ENV.foo' interpolation
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-17 17:58:49 -05:00
Jack Nagel
58d4a95ea7 fix_install_names: try harder to find referenced dylibs
Keg#fix_install_names punts if bad install names reference dylibs that
aren't "nearby". Enable this machinery to fix more complex directory
hierarchies by searching everything under 'lib' for the bad name's
basename.

Additionally, teach it to correctly handle Mach-O bundle files.

Fixes Homebrew/homebrew#12810.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-17 16:22:08 -05:00
Misty De Meo
6229a20db7 doctor: Mono-specific warning for pkg-config
Mono installs its own pkg-config symlink into /usr/bin/pkg-config,
which breaks non-Mono builds. Provide a specific warning.

Closes Homebrew/homebrew#12859.
2012-06-17 12:17:11 -05:00
Jack Nagel
2cca8e1a4f Teach Mach-O machinery about bundles
c.f. Homebrew/homebrew#12810.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-16 11:43:43 -05:00
Jack Nagel
075a59e3f1 Fix indentation in MachO#mach_data
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-16 11:11:09 -05:00
Jack Nagel
7002359f7a Improve Pathname#text_executable? regexp
file(1) does not allow leading whitespace on shebang lines, and there
appears to be no restrictions on what characters follow '#!', either.

While at it, fix an erroneous shebang test.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-15 20:06:36 -05:00
Jack Nagel
1b6f23c8a9 Add comment about error pipe (mis)behavior
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-15 14:48:29 -05:00
samueljohn
f9b2761d77 warn if unrar is needed but not found.
You can `brew unrar`

Closes Homebrew/homebrew#12858.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2012-06-15 09:28:04 -05:00
Misty De Meo
ffe21a9cd1 blacklist: update Xcode message for 10.8 2012-06-15 09:25:23 -05:00
samueljohn
e22b0df7d6 Xcode from the App Store is no more an installer.
- Removed outdated message about running the installer.

Closes Homebrew/homebrew#12857.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2012-06-15 09:23:11 -05:00
Adam Vandenberg
34e51fb16b Allow --get for non-interactive builds.
This is useful for doing a --debug build, as the git repo will pick up any
changes that have been made up to that point in the build process.

--git is still most useful in conjunction with --interactive, though.
2012-06-13 23:01:41 -07:00
Jack Nagel
ec0a6ee251 Completion for "brew missing"
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-13 08:14:25 -05:00
Adam Vandenberg
ec4b34aa08 Fix doctor's use of missing.
`brew doctor` shelled to `brew missing` and parsed the results.
When VERBOSE was true, this caused an error as extra, unexpected
output is generated.

Make missing an internal command, and give it a programmatic interface.
2012-06-12 20:03:26 -07:00
Jack Nagel
644af3696b Use "legacy" search API when completing tap names
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-12 11:58:48 -05:00
Jack Nagel
de5f0a8e9b Switch to "legacy" GitHub search API
GitHub's v2 API entry point is gone, but search as been ported to API v3
as a "legacy" feature.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-12 11:51:05 -05:00
Jack Nagel
9e2fc82ad6 Use which method in doctor
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-12 00:17:36 -05:00
Adam Vandenberg
0c14036a9a Add ARGV.build_stable? 2012-06-10 14:49:56 -07:00
Karsten Sperling
9158f68561 Point AWS environment variables at LinkedKeg
(rather than the version being installed)

This avoids having to change the variable when a different version is linked.
Also ensure the private key / cert variables point to only 1 file.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-07 21:39:42 -07:00
Ranmocy
84ad9d322b brew-linkapps: note where symlinks are installed
Closes Homebrew/homebrew#12619.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-07 16:06:55 -05:00
Adam Vandenberg
73d047d3ac Use sha1 as the default checksum for new formulae
See: https://github.com/mxcl/homebrew/pull/12587
2012-06-06 07:04:51 -07:00
Jack Nagel
1cce85b1f1 Handle EOF in Pathname#text_executable?
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-03 22:34:28 -05:00
Charlie Sharpsteen
d1a4806390 std_cmake_args: Search for Frameworks last
Most Homebrew builds produce libraries, so CMake should give priority to
libraries when resolving dependencies.

Closes Homebrew/homebrew#12497.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-06-03 10:03:56 -07:00
Jack Nagel
65bea86ae9 doctor: improve outdated Homebrew check
We now skip the outdated check if our local origin/master tracking
branch matches the origin remote's current master. This prevents false
positives when we are actually up-to-date but the latest commit is over
24 hours old.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-03 10:32:40 -05:00
Misty De Meo
7af4622b0f Replace /usr/bin/ruby with full Framework path
Rationale: some users insist on replacing the /usr/bin/ruby symlink
to point to another ruby on their system, which may break homebrew.
Use the full Framework path instead, which is less likely to be tampered with.

This also reorganizes the brew --config checks to reflect the different path.

Fixes Homebrew/homebrew#12009.

Closes Homebrew/homebrew#12333.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2012-06-01 09:24:25 -05:00
Jack Nagel
1a47306467 fix_install_names: make failures verbose in debug mode
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-30 22:32:49 -05:00
Jack Nagel
2a6575ad28 cleaner: use new Mach-O pathname methods in clean_file
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-30 22:32:49 -05:00
Jack Nagel
53ce9dba53 archs_for_command: use new Mach-O Pathname methods
- Reimplement archs_for_command on top of the new Mach-O methods
 - Move ArchitectureListExtension to mach.rb
 - Add a test for the ArchitectureListExtension

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-30 22:32:48 -05:00