Skip to content

Conversation

takumin
Copy link
Contributor

@takumin takumin commented Jun 18, 2024

ip7z/7zip: 7-Zip is a file archiver with a high compression ratio

$ aqua g -i ip7z/7zip

Check List

How to confirm if this package works well

Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well.
Please confirm if this package works well yourself as much as possible.

Command and output

  • Binary name for
    • darwin: 7zz
    • linux: 7zzs
    • windows: 7za

Below is the output of the binary for linux:

$ 7zzs

7-Zip (z) 24.06 (x64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-05-26
 64-bit locale=ja_JP.UTF-8 Threads:32 OPEN_MAX:1024, ASM

Usage: 7zz <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]

<Commands>
  a : Add files to archive
  b : Benchmark
  d : Delete files from archive
  e : Extract files from archive (without using directory names)
  h : Calculate hash values for files
  i : Show information about supported formats
  l : List contents of archive
  rn : Rename files in archive
  t : Test integrity of archive
  u : Update files to archive
  x : eXtract files with full paths

<Switches>
  -- : Stop switches and @listfile parsing
  -ai[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : Include archives
  -ax[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : eXclude archives
  -ao{a|s|t|u} : set Overwrite mode
  -an : disable archive_name field
  -bb[0-3] : set output log level
  -bd : disable progress indicator
  -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line
  -bt : show execution time statistics
  -i[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : Include filenames
  -m{Parameters} : set compression Method
    -mmt[N] : set number of CPU threads
    -mx[N] : set compression level: -mx1 (fastest) ... -mx9 (ultra)
  -o{Directory} : set Output directory
  -p{Password} : set Password
  -r[-|0] : Recurse subdirectories for name search
  -sa{a|e|s} : set Archive name mode
  -scc{UTF-8|WIN|DOS} : set charset for console input/output
  -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files
  -scrc[CRC32|CRC64|SHA256|SHA1|XXH64|BLAKE2SP|*] : set hash function for x, e, h commands
  -sdel : delete files after compression
  -seml[.] : send archive by email
  -sfx[{name}] : Create SFX archive
  -si[{name}] : read data from stdin
  -slp : set Large Pages mode
  -slt : show technical information for l (List) command
  -snh : store hard links as links
  -snl : store symbolic links as links
  -sni : store NT security information
  -sns[-] : store NTFS alternate streams
  -so : write data to stdout
  -spd : disable wildcard matching for file names
  -spe : eliminate duplication of root folder for extract command
  -spf[2] : use fully qualified file paths
  -ssc[-] : set sensitive case mode
  -sse : stop archive creating, if it can't open some input file
  -ssp : do not change Last Access Time of source files while archiving
  -ssw : compress shared files
  -stl : set archive timestamp from the most recently modified file
  -stm{HexMask} : set CPU thread affinity mask (hexadecimal number)
  -stx{Type} : exclude archive type
  -t{Type} : Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options
  -v{Size}[b|k|m|g] : Create volumes
  -w[{path}] : assign Work directory. Empty path means a temporary directory
  -x[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : eXclude filenames
  -y : assume Yes on all queries

If files such as configuration file are needed, please share them.

Reference

@suzuki-shunsuke suzuki-shunsuke added the enhancement New feature or request label Jun 18, 2024
@suzuki-shunsuke suzuki-shunsuke added this to the v4.196.0 milestone Jun 18, 2024
@takumin
Copy link
Contributor Author

takumin commented Jun 18, 2024

It seems that the following error is output:

get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z

How to reproduce:

$ cmdx t ip7z/7zip

This is the raw error log:

ERRO[0000] install the package                           aqua_version=2.29.0 env=windows/amd64 error="get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z" package_name=ip7z/7zip package_version=22.00 program=aqua registry=standard
ERRO[0001] install the package                           aqua_version=2.29.0 env=windows/amd64 error="get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z" package_name=ip7z/7zip package_version=23.01 program=aqua registry=standard
ERRO[0001] install the package                           aqua_version=2.29.0 env=windows/amd64 error="get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z" package_name=ip7z/7zip package_version=21.07 program=aqua registry=standard
ERRO[0001] install the package                           aqua_version=2.29.0 env=windows/amd64 error="get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z" package_name=ip7z/7zip package_version=22.01 program=aqua registry=standard
ERRO[0001] install the package                           aqua_version=2.29.0 env=windows/amd64 error="get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z" package_name=ip7z/7zip package_version=24.06 program=aqua registry=standard
ERRO[0001] install the package                           aqua_version=2.29.0 env=windows/amd64 error="get the unarchiver or decompressor by the file extension: get the unarchiver or decompressor by the file extension: format unrecognized by filename: .7z" package_name=ip7z/7zip package_version=24.05 program=aqua registry=standard
FATA[0001] aqua failed                                   aqua_version=2.29.0 env=windows/amd64 error="it failed to install some packages" program=aqua

maybe:

Need to remove file extensions?
https://github.com/aquaproj/aqua/blob/v2.29.0/pkg/asset/format.go#L34

Do I need a new Unarchiver or Decompressor for the code below?
https://github.com/aquaproj/aqua/blob/v2.29.0/pkg/unarchive/unarchive.go#L116

For your reference: pure go 7-zip package:
https://github.com/bodgit/sevenzip

Sorry if I'm wrong ;-)

@suzuki-shunsuke
Copy link
Member

aqua doesn't support 7 zip at the moment.

I created an issue to support 7 zip.

@suzuki-shunsuke
Copy link
Member

As of aqua v2.41.1-2, aqua supports 7zip.
I fixed this pull request and CI passed.
But I'm not sure correct command names.
7zzs, 7zz, 7za?
What's the difference?
What's the command name of 7z2409-x64.exe?

@takumin
Copy link
Contributor Author

takumin commented Jan 6, 2025

Thank you for your support.
When I downloaded the console version on the download page below, there was an explanation in the readme.txt.
https://7-zip.org/download.html

  • 7zz
    • standalone console version of 7-Zip (version compiled for dynamic system library linking)
  • 7zzs
    • standalone console version of 7-Zip (version compiled with static system library linking)
  • 7za.exe
    • standalone console version of 7-Zip with reduced formats support.

@suzuki-shunsuke
Copy link
Member

Thank you.

Oh, 7z2409-x64.exe is an installer.

I guess 7z2409-extra.7z is appropriate.

@suzuki-shunsuke
Copy link
Member

Do you use Windows?
If so, could you test if this pr works well?

@takumin
Copy link
Contributor Author

takumin commented Jan 6, 2025

Sorry, I don't have Windows...

@takumin
Copy link
Contributor Author

takumin commented Apr 23, 2025

@suzuki-shunsuke
I apologize for the late response.

I have just confirmed that the 7za command works on Linux, Darwin, and Windows in the following repository.
The 7za command works properly in a Windows environment, so I would appreciate it if you could merge this PR.
Thank you as always!

github repository:
https://github.com/takumin/poc-aqua-p7zip

github actions (windows):
https://github.com/takumin/poc-aqua-p7zip/actions/runs/14611769436/job/40991110252#step:4:43

test command (go-task):
https://github.com/takumin/poc-aqua-p7zip/blob/main/Taskfile.yml#L54

@suzuki-shunsuke
Copy link
Member

Thank you!

@suzuki-shunsuke suzuki-shunsuke added this to the v4.353.0 milestone Apr 24, 2025
@suzuki-shunsuke suzuki-shunsuke merged commit 42e6edb into aquaproj:main Apr 24, 2025
19 checks passed
@github-project-automation github-project-automation bot moved this to Done in main Apr 24, 2025
@takumin takumin deleted the feat/ip7z/7zip branch April 24, 2025 05:52
@suzuki-shunsuke
Copy link
Member

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 26, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua-registry](https://github.com/aquaproj/aqua-registry) | minor | `v4.346.1` -> `v4.353.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary>

### [`v4.353.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.353.0)

[Compare Source](aquaproj/aqua-registry@v4.352.0...v4.353.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.353.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.353.0) | aquaproj/aqua-registry@v4.352.0...v4.353.0

#### 🎉 New Packages

[#&#8203;35522](aquaproj/aqua-registry#35522) [Nukesor/pueue/pueue](https://github.com/Nukesor/pueue): Pueue is a command-line task management tool for sequential and parallel execution of long-running tasks [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35523](aquaproj/aqua-registry#35523) [Nukesor/pueue/pueued](https://github.com/Nukesor/pueue): Pueue is a command-line task management tool for sequential and parallel execution of long-running tasks [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35321](aquaproj/aqua-registry#35321) [cri-o/cri-o](https://github.com/cri-o/cri-o): Open Container Initiative-based implementation of Kubernetes Container Runtime Interface [@&#8203;takumin](https://github.com/takumin)
[#&#8203;24089](aquaproj/aqua-registry#24089) [ip7z/7zip](https://github.com/ip7z/7zip): 7-Zip is a file archiver with a high compression ratio [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35060](aquaproj/aqua-registry#35060) [oracle/truffleruby/community-native](https://github.com/oracle/truffleruby): A high performance implementation of the Ruby programming language, built on GraalVM [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35542](aquaproj/aqua-registry#35542) [projectdiscovery/katana](https://github.com/projectdiscovery/katana): A next-generation crawling and spidering framework [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35075](aquaproj/aqua-registry#35075) [project-zot/zot](https://github.com/project-zot/zot): zot - A scale-out production-ready vendor-neutral OCI-native container image/artifact registry (purely based on OCI Distribution Specification) [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35467](aquaproj/aqua-registry#35467) [sagiegurari/cargo-make](https://github.com/sagiegurari/cargo-make): Rust task runner and build tool [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35513](aquaproj/aqua-registry#35513) [str4d/rage](https://github.com/str4d/rage): A simple, secure and modern file encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability [@&#8203;takumin](https://github.com/takumin)

#### Re-scaffold

Re-scaffolded 35 packages to improve the quality.

### [`v4.352.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.352.0)

[Compare Source](aquaproj/aqua-registry@v4.351.0...v4.352.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.352.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.352.0) | aquaproj/aqua-registry@v4.351.0...v4.352.0

#### 🎉 New Packages

[#&#8203;35179](aquaproj/aqua-registry#35179) [containerd/containerd/static](https://github.com/containerd/containerd): An open and reliable container runtime (static binary) [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35146](aquaproj/aqua-registry#35146) [zmap/zlint](https://github.com/zmap/zlint): X.509 Certificate Linter focused on Web PKI standards and requirements [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35094](aquaproj/aqua-registry#35094) [cubefs/cubefs](https://github.com/cubefs/cubefs): cloud-native distributed storage [@&#8203;takumin](https://github.com/takumin)
[#&#8203;35055](aquaproj/aqua-registry#35055) [oracle/truffleruby/oracle-native](https://github.com/oracle/truffleruby): A high performance implementation of the Ruby programming language, built on GraalVM [@&#8203;takumin](https://github.com/takumin)

#### Security

[#&#8203;35200](aquaproj/aqua-registry#35200) Re-scaffold containerd/containerd (support github_artifact_attestations) [@&#8203;takumin](https://github.com/takumin)

#### Improvement

[#&#8203;35058](aquaproj/aqua-registry#35058) dyne/slangroom-exec: Add a command `slexfe` [@&#8203;matteo-cristino](https://github.com/matteo-cristino)

#### Re-scaffold

Re-scaffolded about 70 packages to improve the quality.

### [`v4.351.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.351.0)

[Compare Source](aquaproj/aqua-registry@v4.350.0...v4.351.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.351.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.351.0) | aquaproj/aqua-registry@v4.350.0...v4.351.0

#### 🎉 New Packages

[#&#8203;34979](aquaproj/aqua-registry#34979) [bahdotsh/wrkflw](https://github.com/bahdotsh/wrkflw): Validate and execute GitHub Actions workflows locally
[#&#8203;34967](aquaproj/aqua-registry#34967) [stunnel/static-curl](https://github.com/stunnel/static-curl): static builds cURL with HTTP3 [@&#8203;takumin](https://github.com/takumin)

#### Re-scaffold

Re-scaffolded over 20 packages to improve the quality.

### [`v4.350.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.350.0)

[Compare Source](aquaproj/aqua-registry@v4.349.0...v4.350.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.350.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.350.0) | aquaproj/aqua-registry@v4.349.0...v4.350.0

#### 🎉 New Packages

[#&#8203;34920](aquaproj/aqua-registry#34920) [kubernetes-sigs/controller-runtime/setup-envtest](https://github.com/kubernetes-sigs/controller-runtime/tree/main/tools/setup-envtest): A small tool that manages binaries for envtest. It can be used to download new binaries, list currently installed and available ones, and clean up versions [@&#8203;arosh](https://github.com/arosh)
[#&#8203;34908](aquaproj/aqua-registry#34908) [in-toto/witness](https://github.com/in-toto/witness): Witness is a pluggable framework for software supply chain risk management.  It automates, normalizes, and verifies software artifact provenance

#### Re-scaffold

Re-scaffolded over 130 packages to improve the quality.

### [`v4.349.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.349.0)

[Compare Source](aquaproj/aqua-registry@v4.348.0...v4.349.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.349.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.349.0) | aquaproj/aqua-registry@v4.348.0...v4.349.0

#### 🎉 New Packages

[#&#8203;34634](aquaproj/aqua-registry#34634) [samuel-lucas6/Kryptor](https://github.com/samuel-lucas6/Kryptor): A simple, modern, and secure encryption and signing tool that aims to be a better version of age and Minisign

#### Fixes

[#&#8203;34641](aquaproj/aqua-registry#34641) ouch-org/ouch: Follow up changes of ouch 0.6.0
[#&#8203;34642](aquaproj/aqua-registry#34642) fish-shell/fish-shell: Support fish-shell 4.0.2

### [`v4.348.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.348.0)

[Compare Source](aquaproj/aqua-registry@v4.347.3...v4.348.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.348.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.348.0) | aquaproj/aqua-registry@v4.347.3...v4.348.0

#### 🎉 New Packages

[#&#8203;34623](aquaproj/aqua-registry#34623) [block/goose](https://github.com/block/goose): an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM [@&#8203;yanolab](https://github.com/yanolab)

### [`v4.347.3`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.347.3)

[Compare Source](aquaproj/aqua-registry@v4.347.2...v4.347.3)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.347.3) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.347.3) | aquaproj/aqua-registry@v4.347.2...v4.347.3

#### Fixes

[#&#8203;34620](aquaproj/aqua-registry#34620) k1LoW/octocov: Support linux/arm64 [@&#8203;yanolab](https://github.com/yanolab)
[#&#8203;34621](aquaproj/aqua-registry#34621) Re-scaffold k1LoW/octocov

### [`v4.347.2`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.347.2)

[Compare Source](aquaproj/aqua-registry@v4.347.1...v4.347.2)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.347.2) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.347.2) | aquaproj/aqua-registry@v4.347.1...v4.347.2

#### Fixes

[#&#8203;34605](aquaproj/aqua-registry#34605) theseus-rs/postgresql-binaries: Replace musl with gnu

### [`v4.347.1`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.347.1)

[Compare Source](aquaproj/aqua-registry@v4.347.0...v4.347.1)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.347.1) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.347.1) | aquaproj/aqua-registry@v4.347.0...v4.347.1

#### Fixes

[#&#8203;34601](aquaproj/aqua-registry#34601) ouch-org/ouch: Re-scaffold
[#&#8203;34598](aquaproj/aqua-registry#34598) pnpm/pnpm: Create a hard link

### [`v4.347.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.347.0)

[Compare Source](aquaproj/aqua-registry@v4.346.1...v4.347.0)

[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.347.0) | [Merge Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.347.0) | aquaproj/aqua-registry@v4.346.1...v4.347.0

#### 🎉 New Packages

[#&#8203;34585](aquaproj/aqua-registry#34585) [foundry-rs/foundry](https://github.com/foundry-rs/foundry) - Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust [@&#8203;jessepinkman9900](https://github.com/jessepinkman9900)
[#&#8203;34580](aquaproj/aqua-registry#34580) [ctron/oidc-cli](https://github.com/ctron/oidc-cli): A command line tool to work with OIDC tokens [@&#8203;takumin](https://github.com/takumin)

#### Improvement

[#&#8203;34595](aquaproj/aqua-registry#34595) Re-scaffold tmknom/actdocs
[#&#8203;34596](aquaproj/aqua-registry#34596) Re-scaffold barnybug/cli53

#### Security

[#&#8203;34543](aquaproj/aqua-registry#34543) zigtools/zls: configure Minisign

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTMuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants