Everything that used HOMEBREW_CELLAR/canonical_name
could point to something that doesn't exist because
loader_for tries to load new name formula if no old
name found. However there can be software installed
from path with the same name that renamed formulae
had and we still need to link/unlink/uninstall etc
that software. The solution is Formulary#to_rack
method that returns rack for given name.
- Add Formulary#to_rack
- Update ARGV.kegs
- Update cmd/switch
It's not clear whether it returns MAKEFLAGS with or without -j<n>, and
neither is particularly useful behavior, given you can easily get the
exact value by calling ENV["MAKEFLAGS"]. So let's not commit to this
API.
The xcrun script should be skipping the ENV directory when it scans
$PATH looking for tools to run. Unfortunately, the script compares the
paths found to the real path of the ENV directory (following symlinks),
but superenv was adding the nominal path to $PATH, not following
symlinks. As a consequence, platforms with Xcode < 4.3 would get into
infinite loops when trying to call non-system versions of gcc, as xcrun
calls the ENV version of gcc-X.X which calls xcrun and so on forever.
This commit changes superenv to follow symlinks when determining the bin
path to use.
FixesHomebrew/homebrew#33731.
ClosesHomebrew/homebrew#40062.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Honestly, I don't know why git is broken under sandbox. But this seems
fix the problem in Homebrew/homebrew#38978.
ClosesHomebrew/homebrew#39138.
Signed-off-by: Xu Cheng <xucheng@me.com>
A hyphen is not a valid character in a Ruby symbol, and the bottle
tag should be a valid Ruby symbol for its use in the bottle stanza.
ClosesHomebrew/homebrew#38235.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Change [a-z_]+(32)? to [-a-z0-9_]+
The Linuxbrew bottle tag is x86_64-linux.
ClosesHomebrew/homebrew#32687.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Currently, when called with one argument, dst is set to self, i.e. the
directory into which the source file should be moved.
When called with a second argument (for renames), dst is the full path,
including the basename, to the moved file.
Instead, let's always pass the full path, which means we can remove the
branching logic around computing dst.