Merge pull request #3706 from MikeMcQuaid/deprecation-fixes

Deprecation fixes and cleanup
This commit is contained in:
Mike McQuaid 2018-01-21 14:50:34 +00:00 committed by GitHub
commit 899ee8261a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 26 additions and 118 deletions

View File

@ -1,3 +1,4 @@
#: @hide_from_man_page
#: * `linkapps` [`--local`] [<formulae>]: #: * `linkapps` [`--local`] [<formulae>]:
#: Find installed formulae that provide `.app`-style macOS apps and symlink them #: Find installed formulae that provide `.app`-style macOS apps and symlink them
#: into `/Applications`, allowing for easier access (deprecated). #: into `/Applications`, allowing for easier access (deprecated).
@ -6,11 +7,6 @@
#: either aliases or symlinks and Homebrew formulae do not build "proper" `.app` #: either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
#: bundles that can be relocated. Instead, please consider using `brew cask` and #: bundles that can be relocated. Instead, please consider using `brew cask` and
#: migrate formulae using `.app`s to casks. #: migrate formulae using `.app`s to casks.
#:
#: If no <formulae> are provided, all of them will have their apps symlinked.
#:
#: If provided, `--local` will symlink them into the user's `~/Applications`
#: directory instead of the system directory.
require "keg" require "keg"
require "formula" require "formula"
@ -19,14 +15,7 @@ module Homebrew
module_function module_function
def linkapps def linkapps
opoo <<~EOS odeprecated "'brew linkapps'"
`brew linkapps` has been deprecated and will eventually be removed!
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using
either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
bundles that can be relocated. Instead, please consider using `brew cask` and
migrate formulae using `.app`s to casks.
EOS
target_dir = linkapps_target(local: ARGV.include?("--local")) target_dir = linkapps_target(local: ARGV.include?("--local"))

View File

@ -1,3 +1,4 @@
#: @hide_from_man_page
#: * `unlinkapps` [`--local`] [`--dry-run`] [<formulae>]: #: * `unlinkapps` [`--local`] [`--dry-run`] [<formulae>]:
#: Remove symlinks created by `brew linkapps` from `/Applications` (deprecated). #: Remove symlinks created by `brew linkapps` from `/Applications` (deprecated).
#: #:
@ -5,14 +6,6 @@
#: either aliases or symlinks and Homebrew formulae do not build "proper" `.app` #: either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
#: bundles that can be relocated. Instead, please consider using `brew cask` and #: bundles that can be relocated. Instead, please consider using `brew cask` and
#: migrate formulae using `.app`s to casks. #: migrate formulae using `.app`s to casks.
#:
#: If no <formulae> are provided, all linked apps will be removed.
#:
#: If provided, `--local` will remove symlinks from the user's `~/Applications`
#: directory instead of the system directory.
#:
#: If `--dry-run` or `-n` is passed, Homebrew will list all symlinks which
#: would be removed, but will not actually delete any files.
require "cmd/linkapps" require "cmd/linkapps"
@ -20,11 +13,7 @@ module Homebrew
module_function module_function
def unlinkapps def unlinkapps
opoo <<~EOS odeprecated "'brew unlinkapps'"
`brew unlinkapps` has been deprecated and will eventually be removed!
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" `.app` bundles that can be relocated. Instead, please consider using `brew cask` and migrate formulae using `.app`s to casks.
EOS
target_dir = linkapps_target(local: ARGV.include?("--local")) target_dir = linkapps_target(local: ARGV.include?("--local"))

View File

@ -25,13 +25,7 @@ module Homebrew
Homebrew.perform_preinstall_checks Homebrew.perform_preinstall_checks
if ARGV.include?("--all") odeprecated "'brew upgrade --all'", "'brew upgrade'" if ARGV.include?("--all")
opoo <<~EOS
We decided to not change the behaviour of `brew upgrade` so
`brew upgrade --all` is equivalent to `brew upgrade` without any other
arguments (so the `--all` is a no-op and can be removed).
EOS
end
if ARGV.named.empty? if ARGV.named.empty?
outdated = Formula.installed.select do |f| outdated = Formula.installed.select do |f|

View File

@ -12,7 +12,7 @@ end
class EmacsRequirement < Requirement class EmacsRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("EmacsRequirement", "'depends_on \"cvs\"'") odeprecated("EmacsRequirement", "'depends_on \"emacs\"'")
which "emacs" which "emacs"
end end
end end
@ -20,7 +20,7 @@ end
class FortranRequirement < Requirement class FortranRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("FortranRequirement", "'depends_on \"cvs\"'") odeprecated("FortranRequirement", "'depends_on \"gcc\"'")
which "gfortran" which "gfortran"
end end
end end
@ -28,7 +28,7 @@ end
class GitRequirement < Requirement class GitRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("GitRequirement", "'depends_on \"cvs\"'") odeprecated("GitRequirement", "'depends_on \"git\"'")
which "git" which "git"
end end
end end
@ -36,7 +36,7 @@ end
class GPG2Requirement < Requirement class GPG2Requirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("GPG2Requirement", "'depends_on \"cvs\"'") odeprecated("GPG2Requirement", "'depends_on \"gnupg\"'")
which "gpg" which "gpg"
end end
end end
@ -44,7 +44,7 @@ end
class MercurialRequirement < Requirement class MercurialRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("MercurialRequirement", "'depends_on \"cvs\"'") odeprecated("MercurialRequirement", "'depends_on \"mercurial\"'")
which "hg" which "hg"
end end
end end
@ -52,7 +52,7 @@ end
class MPIRequirement < Requirement class MPIRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("MPIRequirement", "'depends_on \"cvs\"'") odeprecated("MPIRequirement", "'depends_on \"open-mpi\"'")
which "mpicc" which "mpicc"
end end
end end
@ -60,7 +60,7 @@ end
class MysqlRequirement < Requirement class MysqlRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("MysqlRequirement", "'depends_on \"cvs\"'") odeprecated("MysqlRequirement", "'depends_on \"mysql\"'")
which "mysql_config" which "mysql_config"
end end
end end
@ -68,7 +68,7 @@ end
class PerlRequirement < Requirement class PerlRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("PerlRequirement", "'depends_on \"cvs\"'") odeprecated("PerlRequirement", "'depends_on \"perl\"'")
which "perl" which "perl"
end end
end end
@ -76,7 +76,7 @@ end
class PostgresqlRequirement < Requirement class PostgresqlRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("PostgresqlRequirement", "'depends_on \"cvs\"'") odeprecated("PostgresqlRequirement", "'depends_on \"postgresql\"'")
which "pg_config" which "pg_config"
end end
end end
@ -84,7 +84,7 @@ end
class PythonRequirement < Requirement class PythonRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("PythonRequirement", "'depends_on \"cvs\"'") odeprecated("PythonRequirement", "'depends_on \"python\"'")
which "python" which "python"
end end
end end
@ -92,7 +92,7 @@ end
class Python3Requirement < Requirement class Python3Requirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("Python3Requirement", "'depends_on \"cvs\"'") odeprecated("Python3Requirement", "'depends_on \"python3\"'")
which "python3" which "python3"
end end
end end
@ -100,7 +100,7 @@ end
class RbenvRequirement < Requirement class RbenvRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("RbenvRequirement", "'depends_on \"cvs\"'") odeprecated("RbenvRequirement", "'depends_on \"rbenv\"'")
which "rbenv" which "rbenv"
end end
end end
@ -108,7 +108,7 @@ end
class RubyRequirement < Requirement class RubyRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("RubyRequirement", "'depends_on \"cvs\"'") odeprecated("RubyRequirement", "'depends_on \"ruby\"'")
which "ruby" which "ruby"
end end
end end
@ -116,7 +116,7 @@ end
class SubversionRequirement < Requirement class SubversionRequirement < Requirement
fatal true fatal true
satisfy do satisfy do
odeprecated("SubversionRequirement", "'depends_on \"cvs\"'") odeprecated("SubversionRequirement", "'depends_on \"subversion\"'")
which "svn" which "svn"
end end
end end
@ -126,7 +126,7 @@ class TeXRequirement < Requirement
cask "mactex" cask "mactex"
download "https://www.tug.org/mactex/" download "https://www.tug.org/mactex/"
satisfy do satisfy do
odeprecated("TeXRequirement", "'depends_on \"cvs\"'") odeprecated("TeXRequirement")
which("tex") || which("latex") which("tex") || which("latex")
end end
end end

View File

@ -33,15 +33,6 @@ class KegOnlyReason
def to_s def to_s
return @explanation unless @explanation.empty? return @explanation unless @explanation.empty?
case @reason
when :provided_by_osx
odeprecated "keg_only :provided_by_osx", "keg_only :provided_by_macos"
@reason = :provided_by_macos
when :shadowed_by_osx
odeprecated "keg_only :shadowed_by_osx", "keg_only :shadowed_by_macos"
@reason = :shadowed_by_macos
end
case @reason case @reason
when :versioned_formula then <<~EOS when :versioned_formula then <<~EOS
this is an alternate version of another formula this is an alternate version of another formula

View File

@ -10,9 +10,11 @@ describe "brew linkapps", :integration_test do
source_app = HOMEBREW_CELLAR/"testball/0.1/TestBall.app" source_app = HOMEBREW_CELLAR/"testball/0.1/TestBall.app"
source_app.mkpath source_app.mkpath
ENV.delete "HOMEBREW_DEVELOPER"
expect { brew "linkapps", "--local", "HOME" => home_dir } expect { brew "linkapps", "--local", "HOME" => home_dir }
.to output(/Linking: #{Regexp.escape(source_app)}/).to_stdout .to output(/Linking: #{Regexp.escape(source_app)}/).to_stdout
.and output(/`brew linkapps` has been deprecated/).to_stderr .and output(/'brew linkapps' is deprecated/).to_stderr
.and be_a_success .and be_a_success
expect(apps_dir/"TestBall.app").to be_a_symlink expect(apps_dir/"TestBall.app").to be_a_symlink

View File

@ -12,9 +12,11 @@ describe "brew unlinkapps", :integration_test do
FileUtils.ln_s source_app, apps_dir/"TestBall.app" FileUtils.ln_s source_app, apps_dir/"TestBall.app"
ENV.delete "HOMEBREW_DEVELOPER"
expect { brew "unlinkapps", "--local", "HOME" => home_dir } expect { brew "unlinkapps", "--local", "HOME" => home_dir }
.to output(%r{Unlinking: #{Regexp.escape(apps_dir)}/TestBall.app}).to_stdout .to output(%r{Unlinking: #{Regexp.escape(apps_dir)}/TestBall.app}).to_stdout
.and output(/`brew unlinkapps` has been deprecated/).to_stderr .and output(/'brew unlinkapps' is deprecated/).to_stderr
.and be_a_success .and be_a_success
end end
end end

View File

@ -291,20 +291,6 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
If `--force` (or `-f`) is passed, Homebrew will allow keg-only formulae to be linked. If `--force` (or `-f`) is passed, Homebrew will allow keg-only formulae to be linked.
* `linkapps` [`--local`] [`formulae`]:
Find installed formulae that provide `.app`-style macOS apps and symlink them
into `/Applications`, allowing for easier access (deprecated).
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using
either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
bundles that can be relocated. Instead, please consider using `brew cask` and
migrate formulae using `.app`s to casks.
If no `formulae` are provided, all of them will have their apps symlinked.
If provided, `--local` will symlink them into the user's `~/Applications`
directory instead of the system directory.
* `list`, `ls` [`--full-name`]: * `list`, `ls` [`--full-name`]:
List all installed formulae. If `--full-name` is passed, print formulae List all installed formulae. If `--full-name` is passed, print formulae
with fully-qualified names. If `--full-name` is not passed, any other with fully-qualified names. If `--full-name` is not passed, any other
@ -519,22 +505,6 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
If `--dry-run` or `-n` is passed, Homebrew will list all files which would If `--dry-run` or `-n` is passed, Homebrew will list all files which would
be unlinked, but will not actually unlink or delete any files. be unlinked, but will not actually unlink or delete any files.
* `unlinkapps` [`--local`] [`--dry-run`] [`formulae`]:
Remove symlinks created by `brew linkapps` from `/Applications` (deprecated).
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using
either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
bundles that can be relocated. Instead, please consider using `brew cask` and
migrate formulae using `.app`s to casks.
If no `formulae` are provided, all linked apps will be removed.
If provided, `--local` will remove symlinks from the user's `~/Applications`
directory instead of the system directory.
If `--dry-run` or `-n` is passed, Homebrew will list all symlinks which
would be removed, but will not actually delete any files.
* `unpack` [`--git`|`--patch`] [`--destdir=``path`] `formulae`: * `unpack` [`--git`|`--patch`] [`--destdir=``path`] `formulae`:
Unpack the source files for `formulae` into subdirectories of the current Unpack the source files for `formulae` into subdirectories of the current
working directory. If `--destdir=``path` is given, the subdirectories will working directory. If `--destdir=``path` is given, the subdirectories will

View File

@ -302,19 +302,6 @@ If \fB\-\-dry\-run\fR or \fB\-n\fR is passed, Homebrew will list all files which
If \fB\-\-force\fR (or \fB\-f\fR) is passed, Homebrew will allow keg\-only formulae to be linked\. If \fB\-\-force\fR (or \fB\-f\fR) is passed, Homebrew will allow keg\-only formulae to be linked\.
. .
.TP .TP
\fBlinkapps\fR [\fB\-\-local\fR] [\fIformulae\fR]
Find installed formulae that provide \fB\.app\fR\-style macOS apps and symlink them into \fB/Applications\fR, allowing for easier access (deprecated)\.
.
.IP
Unfortunately \fBbrew linkapps\fR cannot behave nicely with e\.g\. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" \fB\.app\fR bundles that can be relocated\. Instead, please consider using \fBbrew cask\fR and migrate formulae using \fB\.app\fRs to casks\.
.
.IP
If no \fIformulae\fR are provided, all of them will have their apps symlinked\.
.
.IP
If provided, \fB\-\-local\fR will symlink them into the user\'s \fB~/Applications\fR directory instead of the system directory\.
.
.TP
\fBlist\fR, \fBls\fR [\fB\-\-full\-name\fR] \fBlist\fR, \fBls\fR [\fB\-\-full\-name\fR]
List all installed formulae\. If \fB\-\-full\-name\fR is passed, print formulae with fully\-qualified names\. If \fB\-\-full\-name\fR is not passed, any other options (e\.g\. \fB\-t\fR) are passed to \fBls\fR which produces the actual output\. List all installed formulae\. If \fB\-\-full\-name\fR is passed, print formulae with fully\-qualified names\. If \fB\-\-full\-name\fR is not passed, any other options (e\.g\. \fB\-t\fR) are passed to \fBls\fR which produces the actual output\.
. .
@ -535,22 +522,6 @@ Remove symlinks for \fIformula\fR from the Homebrew prefix\. This can be useful
If \fB\-\-dry\-run\fR or \fB\-n\fR is passed, Homebrew will list all files which would be unlinked, but will not actually unlink or delete any files\. If \fB\-\-dry\-run\fR or \fB\-n\fR is passed, Homebrew will list all files which would be unlinked, but will not actually unlink or delete any files\.
. .
.TP .TP
\fBunlinkapps\fR [\fB\-\-local\fR] [\fB\-\-dry\-run\fR] [\fIformulae\fR]
Remove symlinks created by \fBbrew linkapps\fR from \fB/Applications\fR (deprecated)\.
.
.IP
Unfortunately \fBbrew linkapps\fR cannot behave nicely with e\.g\. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" \fB\.app\fR bundles that can be relocated\. Instead, please consider using \fBbrew cask\fR and migrate formulae using \fB\.app\fRs to casks\.
.
.IP
If no \fIformulae\fR are provided, all linked apps will be removed\.
.
.IP
If provided, \fB\-\-local\fR will remove symlinks from the user\'s \fB~/Applications\fR directory instead of the system directory\.
.
.IP
If \fB\-\-dry\-run\fR or \fB\-n\fR is passed, Homebrew will list all symlinks which would be removed, but will not actually delete any files\.
.
.TP
\fBunpack\fR [\fB\-\-git\fR|\fB\-\-patch\fR] [\fB\-\-destdir=\fR\fIpath\fR] \fIformulae\fR \fBunpack\fR [\fB\-\-git\fR|\fB\-\-patch\fR] [\fB\-\-destdir=\fR\fIpath\fR] \fIformulae\fR
Unpack the source files for \fIformulae\fR into subdirectories of the current working directory\. If \fB\-\-destdir=\fR\fIpath\fR is given, the subdirectories will be created in the directory named by \fIpath\fR instead\. Unpack the source files for \fIformulae\fR into subdirectories of the current working directory\. If \fB\-\-destdir=\fR\fIpath\fR is given, the subdirectories will be created in the directory named by \fIpath\fR instead\.
. .