266 Commits

Author SHA1 Message Date
hyuraku
197bdedd35 add new files for dev-cmd/bottle 2023-02-07 23:22:33 +09:00
Mike McQuaid
59c03cb2a6
Add deprecations and disables
Do the usual dance:
- commented `odeprecated` to `odeprecated`
- `odeprecated` to `odisabled`
- `odisabled` removed
2023-02-03 10:48:43 +00:00
Mike McQuaid
28e1135c92
Merge pull request #14437 from hyuraku/apply-extend/os-to-migrate_gcc_dependents_if_needed
apply extend/os to `migrate_gcc_dependents_if_needed`
2023-02-02 10:45:09 +00:00
hyuraku
653930bed8 mv files to os/*/cmd/ 2023-01-28 21:38:40 +09:00
Mike McQuaid
1c85a717cc
Merge pull request #14421 from hyuraku/move_check_binary_arches-to-extend-os
move `check_binary_arches` to `extend/os`
2023-01-26 15:26:44 +00:00
hyuraku
420d66532d remove a line 2023-01-26 21:42:46 +09:00
hyuraku
3f553a8ead add linux's binary_executable_or_library_files to keg 2023-01-26 21:41:45 +09:00
hyuraku
9241def1a2 reset formula_cellar_checks 2023-01-26 21:41:01 +09:00
hyuraku
f1eacb04f0 move check_binary_arches to extend/os 2023-01-25 22:26:49 +09:00
hyuraku
8289089482 add remove_const to cancel warning 2023-01-24 21:57:39 +09:00
hyuraku
e2f0075ee8 move default_prefix to extend/os 2023-01-24 21:02:24 +09:00
Kevin
2e0b18f762
Merge pull request #14315 from apainintheneck/better-error-cask-on-linux
cli/parser: Better error message for cask on linux
2023-01-02 13:21:56 -08:00
apainintheneck
d8c2e311ab Use odie instead of bare exception
The reason that odie works well here
is that it doesn't print a stacktrace
or get caught and print the help page.
2023-01-02 10:59:08 -08:00
Sean Molenaar
84911edbed
system config: don't print WSL info on non-WSL systems
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2023-01-02 16:08:42 +01:00
apainintheneck
a8384c0ce7 cli/parser: Better error message for cask on linux
1. Validate options before constraint violations. This allows
us to error out when --cask is passed on Linux before getting
a constraint violation when --cask and --formula are set.
2. Skip printing the help page when --cask is passed on Linux.
2022-12-31 12:34:18 -08:00
Sean Molenaar
55c82749ad
SystemConfig: show WSL version if available on Linux 2022-12-30 20:48:24 +01:00
apainintheneck
b7e28ef48f Make :formula? the default on Linux
This makes :formula? the default whenever
defined throughout the codebase on Linux.
It also makes :cask? illegal for all Linux
users.
2022-12-04 19:43:12 -08:00
apainintheneck
d48859a9ce Move FormulaInstaller check to extend/os 2022-11-29 23:13:50 -08:00
apainintheneck
2eee1e7c2a Move SimulateSystem check to extend/os 2022-11-29 23:13:50 -08:00
apainintheneck
260fc858df Fix rubocop errors 2022-11-23 20:39:39 -08:00
apainintheneck
d69326c8d0 Move ::Cleanup check to extend/os 2022-11-23 20:38:40 -08:00
Mike McQuaid
59f4b5226a
tests: test on Ubuntu 18.04. 2022-11-09 14:45:43 +00:00
Issy Long
8684f953f6
Merge pull request #13989 from issyl0/sorbet-rbi-is-in-maintenance 2022-10-12 08:48:45 +01:00
Rylan Polster
174087958b
Simulate all OS/arch combinations in brew readall 2022-10-10 23:56:37 -04:00
Issy Long
b7d997e80d
sorbet: Bump some files from typed: false to typed: true
- This was done with `brew typecheck --update --suggest-typed` which
  (as of the previous commit) uses Spoom, yet another gem. I thought I'd
  see how well it works. There are no Sorbet errors after these changes!
2022-10-11 01:09:03 +01:00
apainintheneck
6301de9dcc Move Args#only_formula_or_cask to extend/os/linux 2022-10-03 18:13:33 -07:00
apainintheneck
020c50e588 Warn linux users about using --cask 2022-10-01 16:11:39 -07:00
Adrian Ho
4b560e11e7 Enable Linux AArch64 support
Register system loader and arch tag for proper builds and bottling.
2022-09-29 16:33:44 +08:00
Carlo Cabrera
a2081b488c
Use unversioned GCC for runtime libraries when required.
See discussion at Homebrew/homebrew-core#110010.
2022-09-27 13:11:04 +08:00
Carlo Cabrera
8a9ed2c48f
linux/keg_relocate: clean up GCC RPATH fix.
There are no more formulae in Homebrew/core that have a runtime
dependency on GCC (see Homebrew/homebrew-core#110883), so there is no
more need to retain linkage with GCC through a versioned path.
2022-09-22 00:53:56 +08:00
Bo Anderson
e526c65566
extend/os/linux/development_tools: handle no /usr/bin/gcc
Fixes #13896.
2022-09-20 13:06:56 +01:00
Bo Anderson
b8b195cc64
Merge pull request #13873 from Bo98/glibc-keg-only
Changes to allow keg-only glibc
2022-09-19 08:10:52 +01:00
Bo Anderson
1201823095
extend/os/linux/system_config: support gcc 12 & keg-only glibc 2022-09-19 07:40:15 +01:00
Bo Anderson
a372ca6100
extend/os/linux/development_tools: consider keg-only glibc & binutils 2022-09-19 07:06:22 +01:00
Bo Anderson
ae3c6a6574
extend/os/linux/install: use arch-agnostic ld.so path 2022-09-19 07:06:22 +01:00
Bo Anderson
88ca45002d
extend/os/linux/install: update old ld.so symlinks 2022-09-19 07:06:22 +01:00
Bo Anderson
07f5951b76
extend/os/linux/install: use ld.so.conf.d where possible 2022-09-19 07:06:20 +01:00
Bo Anderson
66fa1f7e6a
Use GCC 12 for runtime libraries 2022-09-19 00:51:17 +01:00
Bo Anderson
9091ac0dad
Create GCC and glibc symlinks after install is complete
Fixes #13836.
2022-09-09 21:24:45 +01:00
Bo Anderson
cbc895ce2b
Add Pathname shim extension RBI definitions 2022-09-08 03:26:50 +01:00
Mike McQuaid
e2759fbdff
Deprecate reading all formulae through commands
We added the `--all` flag (now renamed to `--eval-all`) for various
commands for this behaviour so let's start deprecating this.

Also, introduce a `HOMEBREW_EVAL_ALL` environment variable to use the
existing, less secure, behaviour by default and avoid passing
`--eval-all` everywhere.
2022-09-05 13:57:22 +01:00
Carlo Cabrera
b2cc1720f8
Add comment explaining gcc exception for undeclared_deps. 2022-09-02 22:04:38 +08:00
Carlo Cabrera
ef7c9cf17c
linux/linkage_checker: remove gcc from undeclared_deps
This is causing warnings all over Homebrew/homebrew-core.

For example, there are dozens of warnings about this in the following CI
run:

    https://github.com/Homebrew/homebrew-core/runs/8116257943?check_suite_focus=true
2022-09-02 14:28:07 +08:00
Daniel Nachun
451bded34d
Merge pull request #13770 from danielnachun/add_symlink_gcc_libs
Automatically add symlinks from gcc cellar to HOMEBREW_PREFIX/lib
2022-08-31 19:28:23 -07:00
danielnachun
3c014a0fc0
Library/Homebrew/extend/os/linux/install.rb: add symlink_gcc_libs 2022-08-31 17:39:55 -07:00
Shaun Jackman
d6368806e8
os/linux/dependency_collector: install gcc if glibc is too old.
gcc is required for libgcc_s.so.1 if glibc or gcc are too old.
2022-08-31 13:16:38 +01:00
Mike McQuaid
1f709d360d
extend/os/linux: improve glibc, gcc dependency handling.
- Add more early return checks
- Move to a recursive approach for more readability and avoiding a
  counter that we need to bump
- Perform more caching
- Keep class variable usage isolated into specific methods
2022-08-30 12:54:34 +00:00
Carlo Cabrera
ab696cbbb7
linux/diagnostic: fix rpath returning nil.
Fixes #13762.

There's still a bug in the GCC linkage check, but I'll need a bit more
time to work on a fix. This at least makes sure `brew doctor` will not
return the error in the issue linked above.
2022-08-26 22:23:02 +08:00
Mike McQuaid
3c5b55be82
linux/dependency_collector: bump maximum_tree_depth.
Fixes #13760.
2022-08-26 08:39:03 +01:00
Michka Popoff
d271614872
install glibc/gcc automatically if too old.
Right now this is done through the gcc@5 formula.
See 9692318ca6/Formula/gcc%405.rb (L33)

This is fragile because when we will migrate to gcc@11
we have to think about migrating the installation from one gcc formula to another..
Also, not having the right glibc version results in a non-functional brew
installation on an older Linux: the glibc installation needs
to be done by brew, and not by a workaround in a specific formula

Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
Co-Authored-By: Bo Anderson <mail@boanderson.me>
Co-Authored-By: Shaun Jackman <sjackman@gmail.com>
2022-08-25 11:04:37 +01:00