fix(aqua): add executable permissions for zip-extracted binaries#5998
Merged
Conversation
When extracting binaries from zip archives in the aqua backend, the files were not being marked as executable. This caused tools like CQLabs/homebrew-dcm to fail with permission errors when trying to execute them. This fix adds a call to file::make_executable() after extracting zip files, matching the behavior of other archive formats (gz, xz, zst, bz2) which already set executable permissions. Fixes permission denied errors when using aqua backend with zip-packaged tools.
Contributor
Author
|
The CI "nightly" seems to be failing, but it appears to be happening in other PRs as well. |
jdx
pushed a commit
that referenced
this pull request
Aug 13, 2025
### 📦 Registry - add vfox-yarn as primary yarn backend by [@jdx](https://github.com/jdx) in [#5982](#5982) - add missing description field for a lot of tools by [@jylenhof](https://github.com/jylenhof) in [#5966](#5966) - rename benthos to redpanda-connect by [@risu729](https://github.com/risu729) in [#5984](#5984) - rename coq to rocq by [@risu729](https://github.com/risu729) in [#5985](#5985) ### 🚀 Features - **(timeout)** show duration, URL, and config hint on timeouts; increase fetch timeout default to 10s by [@jdx](https://github.com/jdx) in [#5991](#5991) ### 🐛 Bug Fixes - **(aqua)** add executable permissions for zip-extracted binaries by [@itochan](https://github.com/itochan) in [#5998](#5998) - **(core)** auto-repair corrupted pyenv cache by recloning on update failure by [@jdx](https://github.com/jdx) in [#6003](#6003) - duplicate versions and validation in `mise tool` by [@jdx](https://github.com/jdx) in [#6001](#6001) ### 📚 Documentation - **(tools)** document per-tool postinstall option in [tools] by [@jdx](https://github.com/jdx) in [#5993](#5993) - Update install instructions for nushell by [@Joniator](https://github.com/Joniator) in [#5981](#5981) - README.md typo by [@jdx](https://github.com/jdx) in [#5990](#5990) ###◀️ Revert - Revert "docs: Update install instructions for nushell" by [@jdx](https://github.com/jdx) in [#5983](#5983) - Revert "fix(aqua): add executable permissions for zip-extracted binaries" by [@jdx](https://github.com/jdx) in [#6004](#6004) ### 📦️ Dependency Updates - update taiki-e/install-action digest to 2c73a74 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5962](#5962) - update docker/metadata-action digest to c1e5197 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5961](#5961) - update docker/login-action digest to 184bdaa by [@renovate[bot]](https://github.com/renovate[bot]) in [#5958](#5958) ### Chore - cargo up by [@jdx](https://github.com/jdx) in [#5992](#5992) ### New Contributors - @Joniator made their first contribution in [#5981](#5981) - @jylenhof made their first contribution in [#5966](#5966)
jdx
pushed a commit
that referenced
this pull request
Aug 13, 2025
Reapplies #5998 (reverted in #6004) with some changes. Some tools don't set `+x` permissions to their executable files in the archives: - [`powershell`](https://github.com/PowerShell/PowerShell) (#5552) - [`bob`](https://github.com/MordechaiHadad/bob) - [`gitu`](https://github.com/altsem/gitu) - [`mirrord`](https://github.com/metalbear-co/mirrord) - [`CQLabs/homebrew-dcm`](https://github.com/CQLabs/homebrew-dcm) (#5998) Since both `.tar` and `.zip` can include permissions in the archive, this is not a mise bug, but their issues. However, I think supporting them would be beneficial for some users. `aqua` supports this because they use shims. `ubi` backend also supports this but I'm not sure why. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When extracting binaries from zip archives in the aqua backend, the files were not being marked as executable. This caused tools like CQLabs/homebrew-dcm to fail with permission errors when trying to execute them.
This fix adds a call to file::make_executable() after extracting zip files, matching the behavior of other archive formats (gz, xz, zst, bz2) which already set executable permissions.
Fixes permission denied errors when using aqua backend with zip-packaged tools.
Current mise:
This PR changes:
% mise uninstall aqua:CQLabs/homebrew-dcm % @mise exec aqua:CQLabs/homebrew-dcm -- dcm --version mise aqua:CQLabs/homebrew-dcm@1.30.1 ✓ installed DCM version: 1.30.1