Commit Graph
69 Commits
Author SHA1 Message Date
Mike McQuaid 47769f98f1 os/linux: add, use OS::Linux.os_version
Similar to MacOS.version. A bit cleaner for us here but also plan on
using this in Homebrew/homebrew-bundle.
2019-09-13 16:48:13 +01:00
Cheng XU 2c82623318 keg_relocate: relocate the interpreter for elf files with INTERP header (Linux)
Some elf files (e.g. created by rust compiler) have INTERP header despite
their magic header denotes shared object instead of executable.

We should relocate the interpreter elf files as long as they have INTERP header.

This should fix the broken bottles for rust based formulae.
2019-07-18 15:22:43 +08:00
Shaun Jackman 0ac5cbbda9 java_dep_if_needed: Install adoptopenjdk for Linux
Install adoptopenjdk rather than openjdk for Linux.
openjdk is superseded by adoptopenjdk.
2019-07-08 09:43:12 -07:00
dalance c6fd1ceaef Add HOMEBREW_ARCH 2019-05-06 17:36:13 +09:00
Mike McQuaid 36dbad3922 Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
EricFromCanada 15c38a2d8b formatting fixes 2019-04-13 21:29:32 -04:00
EricFromCanada fa6404e0f5 grammar fixes 2019-04-13 21:29:32 -04:00
Mike McQuaid 3bde17c9f9 Cleanup from dev-cmd test changes
- Remove added whitespace in `extend/os/linux/keg_relocate`
- Cleanup testball bottles
2019-03-27 10:31:26 +00:00
Mike McQuaid 59d680a626 dev-cmd: only one integration test per command.
Integration tests are useful in detecting breakages but much slower so
let's only use one per command and install formula outside the
integration test framework (which is also slow).
2019-03-27 09:45:48 +00:00
Mike McQuaid 9b682da37b Use Homebrew/linuxbrew-core
This would allow the Linuxbrew core tap to live in the Homebrew
organisation.
2019-02-25 14:21:13 +00:00
Shaun Jackman eeed04fdad diagnostic: Fix check_xdg_data_dirs for Linux
Fix Error: undefined method prepend_variable_in_profile'
for Utils::Shell:Module Did you mean? prepend_path_in_profile
2019-02-21 10:06:33 -08:00
Mike McQuaid e095da4d01 rubocop: enable Layout/EmptyLineAfterGuardClause. 2019-02-21 12:55:49 +00:00
Shaun Jackman d13a287954 Fix check_coretap_git_origin
check_coretap_git_origin was not working as intended.
Permit Linuxbrew/homebrew-core as a valid origin.
Factor out check_coretap_git_branch.
2019-01-25 14:01:10 -08:00
Mike McQuaid 3a0e0dca36 Output more warnings on unsupported configurations 2019-01-21 13:58:03 +00:00
Shaun Jackman 23ea066a0f Use -march=native for non-bottle source builds [Linux] 2019-01-08 09:39:37 -08:00
Jonathan Chang 76d7b586ce diagnostic: check kernel, glibc versions [Linux] 2019-01-01 16:10:43 -08:00
Shaun Jackman e1b1448fbd setup_build_environment: Set search path [Linux]
Set the header and library search path for Stdenv.
Fix brew test for Linux, which uses Stdenv.
2018-12-17 15:04:18 -08:00
Shaun Jackman d2dba5fc4a DependencyCollector: Add java_dep_if_needed [Linux]
Use the openjdk formula if it's installed.
Use the host's Java if it's sufficient.
Otherwise install the openjdk formula.
2018-11-11 10:18:24 -08:00
nvg 0ca61d55ae Check if umask is 000 in brew doctor 2018-11-02 17:02:47 -07:00
Shaun JackmanandGitHub 97a2c620a2 Merge pull request #5018 from sjackman/relocation-formulae
relocation_formulae: Poured bottles depend on gcc [Linux]
2018-10-23 11:15:42 -07:00
Shaun Jackman 385a05e5ae Patching the dynamic linker of glibc breaks it [Linux] 2018-10-23 10:18:53 -07:00
Shaun Jackman 605e61095a relocation_formulae: Poured bottles depend on gcc [Linux] 2018-10-23 09:03:20 -07:00
Mike McQuaid 51af87f85f Add HOMEBREW_FORCE_HOMEBREW_ON_LINUX
This serves a similar purpose to the HOMEBREW_FORCE_HOMEBREW_ORG
variable but applies to more settings.
2018-10-20 13:58:27 +01:00
Shaun JackmanandGitHub 78993d0692 Merge pull request #5024 from sjackman/coretap
CoreTap.default_remote: Use Linuxbrew/core [Linux]
2018-10-03 13:48:10 -07:00
Shaun Jackman ad7323bd61 Hardware::CPU: Add Skylake [Linux] 2018-10-03 11:41:39 -07:00
Shaun Jackman fdcdf7cb5c CoreTap.default_remote: Use Linuxbrew/core [Linux] 2018-10-02 15:44:30 -07:00
Shaun Jackman afa975bf26 keg_relocate: Fix Error: wrong number of arguments [Linux]
Fix the error:
Error: wrong number of arguments (given 1, expected 2)
/projects/btl_scratch/sjackman/brew/Homebrew/Library/Homebrew/exceptions.rb:550:in `block in initialize'
/projects/btl_scratch/sjackman/brew/Homebrew/Library/Homebrew/exceptions.rb:559:in `map'
2018-10-02 15:16:32 -07:00
Shaun Jackman 447baab9a0 DevelopmentTools::locate: Prefer brewed tools [Linux] 2018-10-01 15:34:47 -07:00
Shaun Jackman 1cdc34eec3 Default compiler is gcc on Linux 2018-09-30 11:20:35 -07:00
Shaun Jackman c0f07db656 Symlink ld.so [Linux] 2018-09-28 14:01:09 -07:00
Markus Reiter e9b9ea49a1 Update to RuboCop 0.59.1. 2018-09-17 03:45:59 +02:00
Mike McQuaid 955214abc0 Use ActiveSupport Object#blank? and #present? 2018-09-14 17:02:19 +01: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
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
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 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
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
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
Shaun Jackman 9f8f8ffb89 superenv: Move Linux-specific bits to extend/os/ 2018-05-30 14:00:26 -07:00
Shaun Jackman 76bfd0cecb Add superenv for Linux 2018-05-18 16:58:21 -07:00
Maxim Belkin e5435dfeb7 Cross-platform diagnostics. 2018-05-14 04:44:15 -05:00
Mike McQuaid e03f07f302 Rubocop 0.53.0 automatic fixes. 2018-03-08 14:10:02 +00:00
Mike McQuaid e5c82dd3d9 Deprecate requirements harder
Remove more Requirement logic to enable future removal of default
formula logic. Also, output deprecations, convert symbol requirement
usage to deps and simplify the compatibility code for the direct
Requirement usage.
2018-01-18 08:31:20 +00:00
Shaun Jackman 0575d7b610 config: Print host glibc version [Linux] 2017-12-07 10:37:19 -08:00
Shaun Jackman e5847b652f extend/pathname: Add os/linux/elf.rb 2017-12-03 16:22:51 -08:00
Mike McQuaidandGitHub d0e893fab6 Merge pull request #3516 from sjackman/system-config-version
config: Print the linked_version [Linux]
2017-12-03 09:19:22 +00:00
Shaun Jackman 06b9f1c50d config: Print the linked_version [Linux]
Otherwise when the keg was installed but out-of-date, it would display "N/A".
2017-12-02 09:27:39 -08:00