aboutsummaryrefslogtreecommitdiffstats
path: root/Library
AgeCommit message (Collapse)Author
2016-02-06formula_assertions: ensure the right Test::Unit is requiredBaptiste Fontaine
2016-02-05brew.rb: remove executable bit and shebangMartin Afanasjew
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>
2016-02-05ENV: protect against environment being resetMartin Afanasjew
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.
2016-02-05ENV: protect against RUBYLIB/RUBYOPTMartin Afanasjew
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).
2016-02-05ENV: use HOMEBREW_RUBY_PATH in compiler/SCM shimsMartin Afanasjew
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.
2016-02-06make HOMEBREW_BREW_FILE a Pathname objectXu Cheng
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>
2016-02-05Don't accidentally inherit group "wheel" from /tmpilovezfs
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>
2016-02-05HOMEBREW_BREW_FILE was unset for the testsilovezfs
This fixes a regression introduced by 3f6a355, which caused HOMEBREW_BREW_FILE to be unset while running the tests. Patch provided by Xu Cheng.
2016-02-04audit: add check for insecure hackage urlsDominyk Tiller
2016-02-03os/mac: optionally use ruby_macho.William Woodruff
- 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>
2016-02-03vendor: vendor ruby_macho library.William Woodruff
2016-02-03architecture_list: add new module.William Woodruff
remove old mach.rb, replace with cctools_mach.rb and prune ELF case move ArchitectureListExtension to separate file ELF support is maintained in Linuxbrew
2016-02-03os/mac/hardware: add Skylake CPU.ilovezfs
Closes Homebrew/homebrew#48781. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-03test_integration_cmds: fix warning.ilovezfs
Closes Homebrew/homebrew#48772. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-03tests: remove the problematic test-bot testBaptiste Fontaine
It makes Travis checks fail on the master.
2016-02-03tests: more integration testsBaptiste Fontaine
Closes Homebrew/homebrew#48785. Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-02-03tests: remove unnecessary codeBaptiste Fontaine
2016-02-03tests: add audit regression test for Homebrew/homebrew#48744Baptiste Fontaine
Closes Homebrew/homebrew#48748. Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-02-03audit: use start_with? to check the name in the descBaptiste Fontaine
2016-02-03pull: fix ambiguity issues for tap migrationsMartin Afanasjew
`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.
2016-02-02official_taps: add guiDominyk Tiller
2016-02-01DSL method "apply" to specify patch filesilovezfs
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.
2016-02-01brew.rb: use $stderr for debug and errors.ilovezfs
Closes Homebrew/homebrew#48634. Closes Homebrew/homebrew#48681. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-02-01brew search: properly handle 503 errors.Felix Bünemann
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>
2016-02-01rubocop: disable Style/ConditionalAssignmentDominyk Tiller
Closes Homebrew/homebrew#48708. Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-01-31tests: more integration testsBaptiste Fontaine
Closes Homebrew/homebrew#48674. Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-01-30config.rb: add comment explaining HOMEBREW_TEMP logicAndrew Janke
2016-01-31test_cmd_audit: add resource placement testDominyk Tiller
2016-01-31audit: check resource placementDominyk Tiller
2016-01-31tests: more integration testsBaptiste Fontaine
Closes Homebrew/homebrew#48635. Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-01-28diagnostic: improve check for 'gnubin' in PATHMartin Afanasjew
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>
2016-01-28update-bash: don't be quiet for git initXu Cheng
The output will help to show git is initialized in the first time. Hence, offer a better UX.
2016-01-28update-bash: git related improvementXu Cheng
* 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>
2016-01-28update-bash: fix git_init_if_necessaryXu Cheng
* 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>
2016-01-27rtags: boneyardAndrew Janke
Closes Homebrew/homebrew#48528. Signed-off-by: Andrew Janke <andrew@apjanke.net>
2016-01-27tests: don't try to rm an unexisting fileBaptiste Fontaine
This line is necessary if the test fails. If it passes the file won't exist anymore and shouldn't be removed.
2016-01-27tests: fix a file leakBaptiste Fontaine
2016-01-27diagnostic: speed up check for outdated HomebrewMartin Afanasjew
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>
2016-01-27allow PYTHONPATH to override Homebrew site-packagesTim D. Smith
2016-01-27config: fail when HOMEBREW_BREW_FILE is unset.Mike McQuaid
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>
2016-01-27update-bash: fully resolve Git's path in hash.Mike McQuaid
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>
2016-01-26tests: validate developer bash commandsMartin Afanasjew
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>
2016-01-26bin/brew: put commands into 'homebrew-' namespaceMartin Afanasjew
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.
2016-01-26brew.rb: don't re-export for external commandsMartin Afanasjew
`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.)
2016-01-26update-bash: stop handling command name argumentMartin Afanasjew
2016-01-26update-bash: discourage direct useMartin Afanasjew
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.
2016-01-26Add Haskell::Cabal#cabal_clean_lib back to compat.Mike McQuaid
We shouldn't have removed this DSL method without a compat fallback. Closes Homebrew/homebrew#48479. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2016-01-26update-report: don't duplicate "already updated".Mike McQuaid
This would be displayed more than once when verbose output was enabled. Closes Homebrew/homebrew#48469.
2016-01-26bottle: clear tab cacheXu Cheng
We cached the tab file content during formula loading. Let's discard them, so we can read tab content after relocation
2016-01-26bottle: ensure to restore relocation on text filesXu Cheng