microsoft / microsoft/vcpkg-tool

Feature request: Export as .tar.xz

Open Beginner friendly
#2,007 3 comments 2 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
607
Forks
368
Avg merge
5d 13m
Merged PRs (30d)
12

Description

7zip is packaged differently on different Linux distros, and ends up available via different command names as a result (i.e. it's not always `7z`). `.zip` archives generally end up significantly larger, and exporting as a raw directory and then explicitly archiving it via another command is extra hassle.

It would therefore be nice to be able to export a `.tar.xz` tarball, and benefit from the wide availability of `tar` and the same compression effectiveness as `.7z`.

This looks to be a pretty simple change - the `cmake -E tar` command that's used to make `.zip` and `.7z` archives can make `.tar.xz`, too. Right now it's used like
```
cmake -E tar cf archive_path.7z --format=7zip -- path/to/directory
```
and
```
cmake -E tar cf archive_path.zip --format=zip -- path/to/directory
```
and a `.tar.xz` can be made with
```
cmake -E tar cfJ archive_path.tar.xz -- path/to/directory
```
optionally with `--format=gnutar` if that makes things easier.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the export path that invokes `cmake -E tar` for `.zip` and `.7z` archives; the issue does not name a source file or test. Add `.tar.xz` export support using the described tar invocation, then verify that an exported archive is created and can be extracted.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
cli
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.