rust-lang / rust-lang/rust-analyzer
Use more sane compressed tarball for the Linux binary releases
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
Current binary release in the tag for instance rust-analyzer-x86_64-unknown-linux-gnu.gz has a superfluous name and being simply a gzip wrapper doesn't have any attirbutes like being actually an executable so when unpacking I always need to:
- Unpack .gz
- Rename the file to
rust-analyzer - give it an executbale flag
It would be better if rust-analyzer was wrapped into tar (to preserve the executable flag), which then can be compressed with something more modern likt zstd, rather than .gz.
Example how to compress:
Source: rust-analyzer
tar --create --verbose --use-compress-program "zstd --threads=$(nproc) -19 --verbose" --file rust-analyzer.tar.zst rust-analyzer
Or more simply:
tar -caf rust-analyzer.tar.zst rust-analyzer
Result: rust-analyzer.tar.zst
Example how to decompress:
tar --extract --verbose --use-compress-program "zstd --threads=$(nproc) --decompress --verbose" --file rust-analyzer.tar.zst
Or more simply:
tar -xvf rust-analyzer.tar.zst
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file, test, or release entry point is named in the issue. Locate the Linux binary release packaging workflow, then verify how it produces rust-analyzer-x86_64-unknown-linux-gnu.gz; done means producing a rust-analyzer.tar.zst archive that preserves the executable bit and can be extracted with tar.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100