This option will be used to generate build provenance in the
`publish-commit-bottles.yml` workflow in `Homebrew/homebrew-core`. It
adds a single flag that controls whether or not the temporary directory
where bottles are downloaded is retained.
- instead of setting a static `PKG_KEYCHAIN_PASSWORD` secret, generate
a random password from `openssl rand` instead.
- use `PKG_APPLE_ID_EMAIL` which makes the fact it's an email a bit
more obvious. I've created this new secret already and will delete the
old one after this is merged.
- bump the latest supported version of macOS
Before we used to evaluate all named arguments as local paths
first. This means that the following could be a name conflict.
$ brew edit src
If there was a local file or directory named src, it would default
to that. Otherwise it would search for a formula/cask with the
same name and return that.
Now it will only default to the local path if the named argument
starts or ends with a slash ('/') or includes a period ('.').
This means that in the event of a name clash with a normal package
name it will default to the package instead of the local file.
It also fixes an edge case where the following would be interpreted
as a tap name.
$ brew edit /src
fish's `set` doesn't modify the exit status when assigning a variable.
This means that `set -q VAR; or set VAR ...` will return an exit status
of 1 even if the variable is suceessfully set. By switching the commands
to `! set -q VAR; and set VAR ...`, this prevents the 1 from propogating
when running `eval (brew shellenv)`.
This environment variable allows telling Homebrew to use the `SUDO_USER`
variable to `sudo` through that user when Homebrew (Cask) attempts to
run `sudo`.
While we're here, clarify in some messaging that we're running `sudo`
and that that's the password we're asking for; the specific password is
configuration dependent and not the specific password for the user.
Similarly, remove the `Package installers may write to any location`
output; it's kinda spammy and doesn't feel like the right place.
If you're e.g. running Homebrew over `sudo`: shelling out to `whoami`
is less effective than just telling people which user you're running
as when we run the check.
This is more in keeping with the other DSL methods and Ruby
convention along with the fact that these socket names are
just used internally by launchd.