`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.
(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>
Most Homebrew builds produce libraries, so CMake should give priority to
libraries when resolving dependencies.
ClosesHomebrew/homebrew#12497.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
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>
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.
FixesHomebrew/homebrew#12009.
ClosesHomebrew/homebrew#12333.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
- 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>
Some libraries do not have the .dylib extension (e.g. Qt framework
libs), but need to have their install names rewritten to prevent other
packages from breaking due to upgrades. Use the new Pathname#dylib?
instead.
The MachO module contains methods for learning about Mach-O binaries,
and can be used where one might normally shell out to file(1).
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
JNI libraries in OS X are suffixed with jnilib. Additionally,
/usr/local/lib is a default search location for JNI libraries,
so Homebrew shouldn't complain when it installs .jnilibs into lib.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
We use a pipe to marshal exceptions from the build script back to the
main Homebrew process; the associated file descriptor is stored in an
environment variable so that the script can figure out which descriptor
to use after being exec'd.
However, any child processes of the build script inherit this
descriptor (i.e. anything spawned via "system" by the formula during
installation). Normally this is not an issue, but if a formula executes
a long-running process such as a daemon, the main Homebrew process will
never see EOF on the error pipe because the daemon still has an open
descriptor.
We can fix this while preserving current behavior by setting the
close-on-exec flag on the build script's error pipe descriptor.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This differs from the current std_cmake_parameters in that it returns an
array instead of a string. Doing so makes dealing with it in formulae
much more pleasant, and for new formula hackers, less surprising.
std_cmake_parameters is retained in compat to maintain compatibility
with external formulae.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Potentially build scripts would call sudo, if so we don't want that to automatically succeed just because the time-period in which sudo works is still active after a previous incantation.
ClosesHomebrew/homebrew#10629.
In fact I don't see how this can have been the problem, but if this isn't the problem then I don't see what else can be the problem.
Having in_aclocal_dirlist? defined as a method on FormulaInstaller is a
little weird; since its just a return condition of check_m4, move the
code there.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Under certain circumstances, an invalid path element would cause
File.expand_path to bail out. Catch mistakes and report them, then
continue instead.
FixesHomebrew/homebrew#12154
'which' only returns a Pathname or nil, and doesn't care about anything
sent to stderr, so just silence it by default and combine the two
methods.
ClosesHomebrew/homebrew#12115.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The --depth option is apparently more nuanced that I had originally
thought, and while it does not actually break repositories, repeatedly
using "--depth 1" can cause problems depending on the structure of the
history.
Luckily, we don't actually need it to prevent the entire repository from
being fetched as long as the fetch respec is set correctly, which we do
since 7718c939b06987ff8f1ecd599c8ace6f998ce180.
FixesHomebrew/homebrew#12024.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
When referencing `Hardware.processor_count`, `ENV.make_jobs` will return an
integer. If referencing the environment variable `HOMEBREW_MAKE_JOBS`, it
returned a string.
Now, the function always returns an integer.
FixesHomebrew/homebrew#12033.
When referencing `Hardware.processor_count`, `ENV.make_jobs` will return an
integer. If referencing the environment variable `HOMEBREW_MAKE_JOBS`, it
returned a string.
Now, the function always returns an integer.
FixesHomebrew/homebrew#12033.
This fixes the `site-scripts` and `site-functions` directories
so that zsh points to the HOMEBREW_PREFIX version of these files
instead of the Cellar version.
This means you can drop files in these directories and the files
will persist when you upgrade zsh. Otherwise they disappear when
you upgrade zsh.
ClosesHomebrew/homebrew#11955.
[jn: mkpath everything under share/zsh]
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
git-clone's --single-branch is too new, and Xcode 4.3's stock git
doesn't have it. Since we don't require git from Homebrew, don't use it.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
The current series of fetch invocations in GitDownloadStrategy has the
unfortunate behavior of fetching full history even in shallow clones
that only need the history between the clone point and the remote HEAD.
It should be possible to determine if it is actually necessary to fetch
the full history, including all tags, and if it is not to avoid this
overhead.
FixesHomebrew/homebrew#11958, and several other recurring problems.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
GIT_DIR is convenient, but it does not work when both a formula and
subformula try to stage a git checkout, as git will use the main
formula's repository when staging the subformula.
Stop setting it, and restore the kludge to the git-multipush formula.
FixesHomebrew/homebrew#10893.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
If a formula implements startup_plist it has out-of-the-box support by
brew services. If not it's possible to specify the path to a plist file:
`brew services couchdb-lucence /usr/local/Cellar/..../couchdb-lucene.plist`.
FixesHomebrew/homebrew#3422.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>