| Age | Commit message (Collapse) | Author |
|
|
|
Because `brew.rb` should never be invoked directly, remove executable
bit and shebang to make that more obvious.
Closes Homebrew/homebrew#48816.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
|
|
We cannot really recover from this, but at least we'll provide a clearer
error message than trying to call `exec` with an empty string.
|
|
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.
Closes Homebrew/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.
Closes Homebrew/homebrew#45869
Closes Homebrew/homebrew#48732.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
This fixes a regression introduced by 3f6a355, which caused
HOMEBREW_BREW_FILE to be unset while running the tests.
Patch provided by Xu Cheng.
|
|
|
|
- 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
Closes Homebrew/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
|
|
Closes Homebrew/homebrew#48781.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Closes Homebrew/homebrew#48772.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
It makes Travis checks fail on the master.
|
|
Closes Homebrew/homebrew#48785.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
|
|
|
|
Closes Homebrew/homebrew#48748.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
|
|
|
|
`Formula[name]` gets called with an unqualified name and thus will throw
`TapFormulaAmbiguityError` exceptions (silently ignored) if both the old
and the new tap are present and changes for the new tap are pulled
before the migrated formulae are removed from the old tap.
The result is an empty or incomplete `changed_formulae`, causing issues
with pulling the corresponding bottles and possibly other problems, too.
|
|
|
|
The "apply" DSL method can be called from patch-do blocks to specify
the paths within an archive of the desired patch files, which will be
applied in the order in which they were supplied to the "apply" calls.
If "apply" isn't used, raise an error whenever the extracted directory
doesn't contain exactly one file.
The "apply" method can be called zero or more times within a patch-do
block with the following syntaxes supported:
apply "single_apply"
apply "multiple_apply_1", "multiple_apply_2"
apply [array_of_apply]
If apply must be used, a single call using the second syntax above is
usually best practice. Each apply leaf should be the relative path to a
specific patch file in the extracted directory.
For example, if extracting this-v123-patches.tar.gz gives you
this-123
this-123/.DS_Store
this-123/LICENSE.txt
this-123/patches
this-123/patches/A.diff
this-123/patches/B.diff
this-123/patches/C.diff
this-123/README.txt
and you want to apply only B.diff and C.diff, then you need to use
"patches/B.diff" and "patches/C.diff" for the lowest-level apply leaves.
The code was provided by Xu Cheng. Any mistakes are mine.
|
|
Closes Homebrew/homebrew#48634.
Closes Homebrew/homebrew#48681.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
This avoids crashing with an unknown key error, if the GitHub api
response does not contain the ratelimit headers, e.g. when GitHub is
down. It also tries to display the JSON error message in addition to
the HTTP status.
Closes Homebrew/homebrew#48538.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Closes Homebrew/homebrew#48708.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
|
|
Closes Homebrew/homebrew#48674.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
|
|
|
|
|
|
|
|
Closes Homebrew/homebrew#48635.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
|
|
Both `coreutils` and `findutils` suggest to add `#{opt_libexec}/gnubin`
to PATH in their caveats to get the non-prefixed binaries from those
formulae. Check this in addition to the version-specific directory that
is less likely to be in PATH.
Closes Homebrew/homebrew#48207.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
|
|
The output will help to show git is initialized in the first time.
Hence, offer a better UX.
|
|
* Use git function instead of refreshing bash cache on `git` path.
* Better `which_git`:
* Take user's setting of `HOMEBREW_GIT` and `GIT` env variable into
account.
* Always expand git path.
* Only check Xcode installation for OS X.
Closes Homebrew/homebrew#48508.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
* Make sure `.git` directory be deleted at any error. So we won't have a
stale setup.
* Run `git fetch` and `git reset` when initialize git in the first time.
Otherwise, we will get error and merging problem afterwards.
Closes Homebrew/homebrew#48509.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
Closes Homebrew/homebrew#48528.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
|
|
This line is necessary if the test fails. If it passes the file won't
exist anymore and shouldn't be removed.
|
|
|
|
Determine the age of the local `HEAD` first and only if it is older than
24 hours proceed with the much more expensive `git ls-remote` to check
if there are any new upstream commits (there usually will be).
This keeps the overall logic unaltered, but significantly speeds up the
check for users that have recently updated (still slow for all others).
Closes Homebrew/homebrew#48499.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
|
|
|
|
Not sure why this is happening (beyond the Chef cookbook stupidly
deciding to not call through `bin/brew`) but fail and print a scary
looking error to hope to point people in the right direction.
Closes Homebrew/homebrew#48261.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Otherwise Bash can cache a relative PATH and then get upset when it
changes directory and cannot find it any more.
Closes Homebrew/homebrew#48493.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Also change the logic a bit to iterate over the individual files per
directory, as having a directory without bash commands will otherwise
pass a literal `*.sh` to `bash -n`, causing it to fail.
Closes Homebrew/homebrew#48323.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
|
|
This should help to avoid collisions with external commands and other
shell functions in the future and is closer to what we do in Ruby, where
commands are namespaced by being methods of the `Homebrew` module.
|
|
`bin/brew` already sets up a bunch of environment variables. There's no
need to re-export them for external commands. (`HOMEBREW_LIBRARY_PATH`
and `HOMEBREW_CACHE` continue to be determined later in the Ruby code.)
|
|
|
|
Remove the executable bit from the file to make it clear it is not
supposed to be executed directly. This should make the shebang line and
the early check also unnecessary.
|
|
We shouldn't have removed this DSL method without a compat fallback.
Closes Homebrew/homebrew#48479.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
This would be displayed more than once when verbose output was enabled.
Closes Homebrew/homebrew#48469.
|
|
We cached the tab file content during formula loading.
Let's discard them, so we can read tab content after relocation
|
|
|