Pull Requests | Issues | v2.4.3...v2.5.0
Features
#1925 #1926 Execute commands by execve(2)
by default
https://aquaproj.github.io/docs/reference/execve-2
⚠️ In Windows this feature doesn't work.
In Windows, aqua creates small shell scripts and bat scripts instead of aqua-proxy
and symbolic links.
And Windows doesn't support execve(2)
, so the environment variable AQUA_X_SYS_EXEC
is ignored.
When a command x
is executed via aqua, the command is executed as the following.
- $AQUA_ROOT_DIR/bin/x: symbolic link to aqua-proxy
- aqua-proxy executes the command
aqua exec -- x
- aqua executes
x
So the command x
is executed via aqua-proxy
and aqua
.
Until aqua v2.5.0, aqua-proxy
and aqua
executed commands as subprocess. You can confirm it by checking the process tree by pstree
command.
e.g.
$ nvim # nvim is managed by aqua
$ pstree -s nvim
\-+= 00719 shunsukesuzuki -zsh
\-+= 09955 shunsukesuzuki nvim # aqua-proxy
\-+- 09956 shunsukesuzuki aqua exec -- nvim
\--- 09957 shunsukesuzuki /Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/neovim/neovim/v0.7.0/nvim-macos.tar.gz/nvim-osx64/bin/nvim
aqua-proxy -> aqua -> x
Sometimes this behaviour caused trouble. #710 #1597
From aqua v2.5.0, aqua-proxy
and aqua
execute commands by execve(2) in Linux and macOS by default.
So extra subprocess isn't raised.
\-+= 82315 shunsukesuzuki -zsh
\-+= 82630 shunsukesuzuki nvim
If you feel aqua becomes unstable due to this feature, you can disable this feature by the environment variable AQUA_X_SYS_EXEC
.
export AQUA_X_SYS_EXEC=false
Others
#1926 Update aqua-proxy to v1.2.0
#1964 Improve error messages when it failed to install aqua-proxy, cosign, and slsa-verifier