Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ship tarballs with better compression #5460

Closed
zanchey opened this issue Jan 1, 2019 · 7 comments
Closed

Ship tarballs with better compression #5460

zanchey opened this issue Jan 1, 2019 · 7 comments
Assignees
Milestone

Comments

@zanchey
Copy link
Member

zanchey commented Jan 1, 2019

A colleague has pointed out to me that we currently ship our source in the least-efficient popular compression method, and that we should move to xz (LZMA). I'm not sure whether some of the more niche platforms support it, so if not we should at least look at bzip2.

-rw------- 1 zanchey gumby 6.2M Jan  1 21:26 fish_3.0.0-21-g742fde0d.orig.tar.gz
-rw------- 1 zanchey gumby 4.8M Jan  1 21:26 fish_3.0.0-21-g742fde0d.orig.tar.bz2
-rw------- 1 zanchey gumby 3.0M Jan  1 21:26 fish_3.0.0-21-g742fde0d.orig.tar.xz
@zanchey zanchey self-assigned this Jan 1, 2019
@faho
Copy link
Member

faho commented Jan 1, 2019

Most systems should already have xz installed (e.g. NetBSD apparently switched some parts to xz. If not, https://tukaani.org/xz/ lists the supported platforms as:

GNU/Linux (GCC, LLVM/Clang, ICC)
GNU/HURD (GCC)
DragonflyBSD (GCC)
FreeBSD (GCC, LLVM/Clang)
MirBSD (GCC)
NetBSD (GCC)
OpenBSD (GCC)
MINIX 3 (GCC) [1]
Haiku (GCC4)
Mac OS X (GCC)
Solaris 8, 9, 10, 11 (GCC, Sun Studio) [3]
Solaris 2.6, 7 (GCC)
HP-UX (GCC, HP ANSI C) [2]
Tru64 (GCC, Compaq C compiler) [1]
IRIX (MIPSpro) [1]
AIX (GCC, IBM XL C)
QNX (compilers?)
OpenVMS (HP C compiler) [1]
OpenVOS 17 (GCC)
Windows 95 and later (GCC/MinGW, GCC/MinGW-w64, GCC/Cygwin, GCC/Interix) [1]
OS/2, eComStation (GCC)
DOS e.g. FreeDOS and MS-DOS (GCC/DJGPP) [1]

@zanchey
Copy link
Member Author

zanchey commented Jan 1, 2019

Yes, it's more a matter of toolchain support - RHEL 6 may be the sticking point here.

@j-f1
Copy link

j-f1 commented Jan 1, 2019

You could release both gz (for compatibility) and xz (for size).

@zanchey zanchey added this to the fish-future milestone Jan 2, 2019
@zanchey
Copy link
Member Author

zanchey commented Feb 4, 2019

XZ is fine on RHEL 6, so I'll look at this in the near future.

@zanchey
Copy link
Member Author

zanchey commented Feb 14, 2020

My old friend macOS doesn't support XZ/LZMA out of the box. D'oh! Does that matter? You can't build the tarball without third-party tools anyway (CMake).

@floam
Copy link
Member

floam commented Feb 14, 2020

Are you sure macOS doesn't do xz? Finder seems to extract tar.xz without any tools installed for a few years now. 10.9?

@zanchey
Copy link
Member Author

zanchey commented Feb 14, 2020

Hey, it does too - even in tar - there's just no binary for it.

zanchey added a commit that referenced this issue Feb 14, 2020
@zanchey zanchey modified the milestones: fish-future, fish 3.2.0 Feb 15, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants