300 Commits

Author SHA1 Message Date
Shaun Jackman
f6093961ef Add Homebrew::DEFAULT_PREFIX for Linux
The default prefix is /usr/local on macOS
and /home/linuxbrew/.linuxbrew on Linux.
2018-09-11 09:57:08 -07:00
Mike McQuaid
8778cc308a
Merge pull request #4832 from sjackman/linkage-checker
LinkageChecker: Report linkage of unwanted system libraries [Linux]
2018-09-06 16:44:56 +01:00
Markus Reiter
a84a1c63db Rename Hbc module to Cask. 2018-09-06 09:30:52 +02:00
Shaun Jackman
5cbddd2aca LinkageChecker: Report linkage of unwanted system libraries [Linux]
gcc and glibc are implicit dependencies on Linux.
No other linkage to system libraries is expected or desired.
2018-09-05 15:32:06 -07:00
Mike McQuaid
e06f8a8beb
Rename Homebrew-Cask to Homebrew Cask. 2018-09-04 09:56:57 +01:00
Mike McQuaid
90b3a13909
cask: move cask/lib/hbc/* to cask/*.
Fix the load path, requires and some filenames accordingly.
2018-09-04 09:56:57 +01:00
Markus Reiter
32ad22395b Remove some #popen_reads. 2018-09-04 05:16:59 +02:00
Mike McQuaid
80d75bc0d8
Homebrew/.rubocop: tweak rules.
Adjust the rules based on the current codebase. Remove various enable,
disables and default values that are unnecessary. Add more comments
explaining why. Make minor changes needed to enable a few more rules.
2018-09-02 20:15:09 +01:00
Mike McQuaid
bcb1ec5499
Improve Homebrew/brew line length.
Use 124 max line length everywhere. Also, reduce tap max line length to
189 as Homebrew/homebrew-core has that as a maximum now. In future
Homebrew/homebrew-core will also be reduced to 124 maximum line length.
2018-09-02 16:15:09 +01:00
Michka Popoff
b7b5fb930d superenv: Use 02 optimization flag for Linux builds
`-Os` produces sometimes bigger binaries on Linux.
Also, llvm built with `-Os` is really slow at runtime for Linux.

Using `-02` aligns us with what Debian does, and as we are compiling most of our stuff with gcc (and not clang), it makes sense to use `-02` on Linux.
`-Os` does probably slightly different things when used on mac with llvm, compared to when it is used with gcc on Linux.
2018-08-29 13:40:39 +02:00
Maxim Belkin
4f166ce021
formula_cellar_checks: .dylib and .framework are macOS-specific 2018-08-22 21:25:00 -05:00
Shaun Jackman
0fcf8abf32
Merge pull request #4696 from sjackman/any-skip-relocation
BottleSpecification: Do not skip bottle relocation on Linux
2018-08-15 11:42:20 -07:00
Shaun Jackman
294db31849 BottleSpecification: Do not skip bottle relocation on Linux
Bottles must be relocated on Linux to find the brewed glibc and gcc.
2018-08-15 10:23:55 -07:00
Shaun Jackman
8a1fa28f9c KegOnlyReason: Reasons related to macOS valid only on macOS 2018-08-15 10:14:17 -07:00
Shaun Jackman
27fb8befd0 check_non_libraries: *.so.* is valid on Linux 2018-08-14 14:50:10 -07:00
Shaun Jackman
4adbfa3fcf Check that HOMEBREW_TEMP permits executing programs 2018-08-14 11:51:18 -07:00
Misty De Meo
6361aa72ae
ENV: use sdk_path_if_needed 2018-08-08 10:45:48 -07:00
Misty De Meo
32678276c7
superenv: do not set SDKROOT 2018-08-08 10:45:48 -07:00
Misty De Meo
0cd8427405
Diagnostic: remove need for headers on 10.14 2018-08-08 10:45:48 -07:00
Misty De Meo
160534983f
Allow setting sysroots to a CLT SDK 2018-08-08 10:45:48 -07:00
Markus Reiter
da34d85ddc Only use ditto to extract skipped volumes. 2018-08-06 22:59:02 +02:00
Markus Reiter
2e48373305 Use ditto instead of unzip. 2018-08-01 07:50:15 +02:00
Mike McQuaid
6417332a3a Change Mojave bottle behaviour
Rather than relying on a `HOMEBREW_FORCE_BOTTLE` variable (which ends
up doing silly things like forcing bottle usage even when options are
provided) instead handle this at the `or_later` bottle detection
level so on prerelease versions of macOS any bottle looks like an
`or_later` bottle (unless various environment variables are set).

Fixes issues noted in:
https://github.com/Homebrew/brew/pull/4520#issuecomment-407229605
2018-07-24 09:25:32 +01:00
Markus Reiter
2712fcaa67 Use interleaved output for ErrorDuringExecution. 2018-07-19 16:53:11 +02:00
Markus Reiter
2452b27866 Refactor ErrorDuringExecution. 2018-07-19 16:41:27 +02:00
Mike McQuaid
cc554c4ba1 extend/os/linux/hardware/cpu: return :dunno more often.
This matches the behaviour described in the test and on macOS.
2018-07-13 08:54:47 +01:00
Mike McQuaid
e1eb7dd3e3 Use Ruby 2.3.7
Fixes #4459.
2018-07-13 08:22:33 +01:00
Mike McQuaid
3e85afc8b7
Merge pull request #4382 from sjackman/keg_relocate
Relocate bottles on Linux using patchelf
2018-07-12 20:33:58 +01:00
Shaun Jackman
1b688a3a25 Relocate bottles on Linux using patchelf
Ensure patchelf is installed to pour bottles and build bottles.
2018-07-12 10:21:26 -07:00
Maxim Belkin
67ea581e4a
extend/ENV/shared.rb: [new method] append_to_cccfg
append_to_cccfg properly appends values to HOMEBREW_CCCFG variable
2018-07-12 12:20:38 -05:00
Maxim Belkin
bb82f05952
Properly append values to HOMEBREW_CCCFG 2018-07-12 12:19:04 -05:00
Mike McQuaid
33dd2a7e03 diagnostic: be clearer about what we support.
And be even more explicit whose problem it is when things are broken.
2018-07-11 14:12:38 +01:00
Andrew Janke
e0a8a79921 Style fixes for Rubocop 0.57.1 2018-06-30 19:40:14 -04:00
Markus Reiter
b265d870ed Allow searching Casks by name. 2018-06-18 16:23:36 +02:00
Markus Reiter
b21430b13c Use extend/os pattern. 2018-06-18 16:23:36 +02:00
Mike McQuaid
5e6c40e28f Make versioned formulae regex more consistent.
Share the regex where possible and otherwise ensure they are identical.
2018-06-18 14:36:51 +01:00
Misty De Meo
e5212d74a6 Diagnostic: require CLT headers on 10.14 2018-06-13 17:24:32 -07:00
Misty De Meo
95e3754b95 SystemConfig: print header status if appropriate 2018-06-13 17:24:32 -07:00
Shaun Jackman
a618681cf0 superenv: Move macOS-specific files to shims/mac/super/ 2018-06-01 09:53:26 -07:00
Mike McQuaid
61617a257e linkage_checker: use default use_cache parameter for callers. 2018-06-01 14:05:16 +01:00
Mike McQuaid
054866653d
Merge pull request #4185 from sjackman/superenv-linux
Add superenv for Linux
2018-05-31 19:56:16 +01:00
Shaun Jackman
9f8f8ffb89 superenv: Move Linux-specific bits to extend/os/ 2018-05-30 14:00:26 -07:00
Mike McQuaid
97645d061d
Merge pull request #3720 from AndrewMcBurney/cache-optimization
Cache optimization for `brew linkage` command.
2018-05-24 09:14:02 +01:00
Andrew R. McBurney
ddb7f06e9f Fixed rubocop offenses from brew style. 2018-05-22 12:54:54 -04:00
Mike McQuaid
44f5d3ec79 Refactor cache store code. 2018-05-22 14:46:14 +01:00
Andrew R. McBurney
010207b982 Changed cache usage behavior.
1. Running `brew linkage some_package` does not set the cache.
2. Running `brew linkage --cached some_package` when `DatabaseCache.empty?` returns `true` should build the cache.
3. Running `brew linkage --cached some_package` when `DatabaseCache.empty?` returns `false` should use the cache.
2018-05-21 17:36:30 -04:00
Shaun Jackman
76bfd0cecb Add superenv for Linux 2018-05-18 16:58:21 -07:00
Andrew R. McBurney
e93e8f3266 Lazily load db of type DBM instance variable for DatabaseCache so the corresponding database file isn't created in the .use block for a DatabaseCache. 2018-05-18 16:37:01 -04:00
Andrew R. McBurney
cd6f89ca76 Made DatabaseCache.new private, and changes instances in code that call it to use DatabaseCache.use instead. 2018-05-18 10:06:30 -04:00
Maxim Belkin
e5435dfeb7
Cross-platform diagnostics. 2018-05-14 04:44:15 -05:00