We allow certain special regex characters in formula names, and if
those aren't escaped when interpolating them into a regex, they'll be
interpreted as special regex characters.
This can cause regex compile errors on Ruby 1.8 (for example, with
"libxml++3", which has nested match characters), and more subtle
matching bugs in general.
Refs an issue surfaced in Homebrew/homebrew#48744.
ClosesHomebrew/homebrew#49005.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
This reverts commit 5bcc7b1f3fd4992e67736bb3cd97141e82c94685 and updates
rtags to version 2.1. It had been moved to the boneyard because the tag
for version 2 had been deleted.
ClosesHomebrew/homebrew#48800.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
If a tap is installed during the installation, the original cache need
to be purged. Otherwise, it will return wrong information afterwards.
ClosesHomebrew/homebrew#48887.
Signed-off-by: Xu Cheng <xucheng@me.com>
During the dependencies expansion, there may be errors (e.g. FormulaUnavaiableError).
As result, some deps will be left behind in the stack and interfere afterwards
dependencies expansion.
So let's ensure stack clean for each expansions.
FixesHomebrew/homebrew#48834.
From `Library/Contributions/brew_zsh_completion.zsh`:
````bash
````
Then it should give symlinked file name of `_brew` instead of being just `brew_zsh_completion.zsh`
ClosesHomebrew/homebrew#48897.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
Because `brew.rb` should never be invoked directly, remove executable
bit and shebang to make that more obvious.
ClosesHomebrew/homebrew#48816.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Some things can break in hard to debug ways if users or build scripts
set these variables, causing our otherwise quite robust Ruby wrappers
to fail. In theory, we could also use `--disable-rubyopt`, but this is
not supported in Ruby 1.8 (and we still care about it).
Use the same interpreter for the shims that is also used to run the main
Homebrew process (the one invoked via `brew`). The magic basically lies
in executing `ruby` with the `-x` option (supported since at least 1.8)
and in the following shebang line.
Currently HOMEBREW_BREW_FILE is a String, while other of HOMEBREW_*
variables are all Pathname. This commit unifies them all as Pathname,
so it will not cause any confusion.
ClosesHomebrew/homebrew#48872.
Signed-off-by: Xu Cheng <xucheng@me.com>
Because files on OS X are assigned the group of the directory in which
they are created, using /tmp during the installation process would
result in some installed files having the group "wheel" even though
"admin" was intended.
Thanks to Xu Cheng for suggesting a simpler location for the fix.
ClosesHomebrew/homebrew#45869ClosesHomebrew/homebrew#48732.
Signed-off-by: Xu Cheng <xucheng@me.com>
- and branch for dylib_id_and_dylibs
- add branches for dylib id changing and change_install_name
- rename MachO module to HomebrewMachO to prevent namespace clashes
with MachO in ruby-macho. this will eventually be replaced entirely
with direct calls to ruby-macho methods
- break ruby-macho implementation out into separate RubyMachO module,
and include either RubyMachO or CctoolsMachO (the original
implementation) based on the HOMEBREW_RUBY_MACHO env var
- move ArchitectureListExtension and RubyMachO into separate files
- create {ruby_,cctools_,,}relocate.rb for isolation of different
methods of mach-o relocation (ruby-macho vs. cctools)
- fill in require_install_name_tool? for ruby_relocate.rb
- rename {ruby_,cctools_,,}relocate.rb to keg, isolate requires in
os/mac
ClosesHomebrew/homebrew#45001.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
remove old mach.rb, replace with cctools_mach.rb and prune ELF case
move ArchitectureListExtension to separate file ELF support is
maintained in Linuxbrew