add guard in Formula#file_modified? to prevent git popup
add guard in Superenv.bin before calling MacOS::Xcode.version
add guard against missing Xcode/CLT in Xcode.uncached_version
return nil instread of 0 in uncached_version when Xcode/CLT are not present, to distinguish from linuxbrew behavior
checks against pour_bottle? and needs_relocation?, add guard around keg.relocate_install_names to check pour_bottle?/needs_relocation? as well
needs_relocation? becomes skip_relocation?, use cellar attr to indicate relocation instead of does_not_need_relocation
MacOS.can_build? becomes MacOS.has_apple_developer_tools?
Add these new errors, and guards in formula installation and
cmd/{,un,re}install to match, move can_build? to the MacOS module,
flatten conditions, remove redundant can_build? check
reinstate removed (doctor) check
When running brew -v install, long post_install output from the formula,
presumably from upstream, may hide the important instructions in the
caveats and confuse the user. For example, postgresql runs initdb which
prints its own instructions for running the database, making the caveats
scroll off screen.
Per xu-cheng's instructions in Homebrew/homebrew#42565 :
Remove the explicit call to caveats from the install, reinstall, and
upgrade commands, as well as the dependency installer code in
FormulaInstaller#install_dependency , and call caveats right before the
summary code in FormulaInstaller#finish .
ClosesHomebrew/homebrew#42565.
Signed-off-by: Xu Cheng <xucheng@me.com>
This reverts commit 9032f165bec3d0c7452169093fab32578816043b.
This seems to have been universally unpopular so let's revert it.
ClosesHomebrew/homebrew#40372.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
In the case where a bottle wasn't around before and is now it probably
doesn't make sense to use `build-bottle` to build something that will
be identical to the binary bottle package anyway. After all, when you
use the bottle you will end up with something that has been built with
`build-bottle` anyway (just not by you).
Symlinks in opt and LinkedKegs point directly at a keg in the cellar, so
only resolving one symlink should suffice, and make it clear what path
we are actually interested in.
I'd still like to make this change, but at least for now the initializer
requires ignore_deps to be set correctly.
This reverts commit 881a8855b944fa9bd7dfd598bb9197f79f7a13f0.
Adding a broader exception class allows for errors raised in Resource.fetch
to be caught in upgrade and prevent the process from being killed when
a download fails. This should resolve issue 18364.
FixesHomebrew/homebrew#18364.
ClosesHomebrew/homebrew#26618.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
When upgrading, if the only package to upgrade is a
pinned package, the output looked like that:
==> Upgrading 0 packages, with result:
==> Not upgrading 1 pinned package:
<<package_name & version>>
The blank line is not beautiful. This commit fixes
the output and replaces with:
==> No packages to upgrade
==> Not upgrading 1 pinned package:
<<package_name & version>>
ClosesHomebrew/homebrew#26157.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Currently Upgrade prints out:
"Upgrading 0 outdated package, with result:"
This change makes it print:
"Upgrading 0 outdated packages, with result:"
correctly pluralizing "packages".
ClosesHomebrew/homebrew#22854.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This check was only occurring in one branch of the conditional.
As a result, if you ran `brew upgrade` with no args and there were no packages to upgrade,
the nonsensical message
"==> Upgrading 0 outdated package, with result:"
would be printed.
ClosesHomebrew/homebrew#21316.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>