Gives information about what is being updated, downloaded, etc. Else the updater is quite silent and it's hard to tell what's going on and when it will complete.
Example with the `--verbose` flag:
```
% softwareupdate --all --install --force --verbose
Software Update Tool
Finding available software
Downloading macOS Ventura 13.0
Password:
Downloading: 65.02%
```
This feature is documented via `--help`; i.e.:
```
% softwareupdate --help
usage: softwareupdate <cmd> [<args> ...]
** Manage Updates:
-l | --list List all appropriate update labels (options: --no-scan, --product-types)
-d | --download Download Only
-i | --install Install
<label> ... specific updates
-a | --all All appropriate updates
-R | --restart Automatically restart (or shut down) if required to complete installation.
-r | --recommended Only recommended updates
--os-only Only OS updates
--safari-only Only Safari updates
--stdinpass Password to authenticate as an owner. Apple Silicon only.
--user Local username to authenticate as an owner. Apple Silicon only.
--list-full-installers List the available macOS Installers
--fetch-full-installer Install the latest recommended macOS Installer
--full-installer-version The version of macOS to install. Ex: --full-installer-version 10.15
--install-rosetta Install Rosetta 2
--background Trigger a background scan and update operation
** Other Tools:
--dump-state Log the internal state of the SU daemon to /var/log/install.log
--evaluate-products Evaluate a list of product keys specified by the --products option
--history Show the install history. By default, only displays updates installed by softwareupdate.
** Options:
--no-scan Do not scan when listing or installing updates (use available updates previously scanned)
--product-types <type> Limit a scan to a particular product type only - ignoring all others
Ex: --product-types macOS || --product-types macOS,Safari
--products A comma-separated (no spaces) list of product keys to operate on.
--force Force an operation to complete. Use with --background to trigger a background scan regardless of "Automatically check" pref
--agree-to-license Agree to the software license agreement without user interaction.
--verbose Enable verbose output
--help Print this help
```
We're still getting a non-trivial number of issues from configurations
we don't support and don't plan to.
Let people know that we know their experience will not be good and what
to expect if they file issues.
Co-authored-by: Eric Knibbe <enk3@outlook.com>
- fix `check_for_config_scripts` test, no idea why this wasn't working
- don't autoretry tests if `focus` or `byebug` are enabled
- add a ARM64 Ventura bottle symlink
It's sometimes necessary to have a `livecheck` block in an `on_macos`
or `on_linux` block. For example, a formula may be disabled on macOS
but not on Linux. In that scenario, we only want a `livecheck` block
to apply to Linux, so livecheck will automatically skip the formula
as disabled on macOS.
While this setup works on a technical level, `brew style` will give
an `on_linux cannot include livecheck` offense. This commit addresses
the issue by adding `livecheck` to `on_system_allowed_methods` in the
`ComponentsOrder` Rubocop.
This also updates `on_system_allowed_methods` to use the order in
`FORMULA_COMPONENT_PRECEDENCE_LIST`, which may make it a bit easier
for formula maintainers to read at a glance.
The existing logic in `#audit_head_branch` for identifying the `HEAD`
branch in a Git repository will give an ```undefined method `[]' for
nil:NilClass``` error when a repository doesn't provide this
reference. Expected output is as follows:
```
ref: refs/heads/master HEAD
1a8f9ac700873d1a08de31a17a2fd654245d5085 HEAD
```
However, I encountered this error for a repository with the following
output (i.e., where no symref is provided for HEAD):
```
f86be659718c0cd0a67f88b42f07044c23d0d028 HEAD
```
This commit resolves the error by modifying the related logic to
account for a `nil` value.