| 27 Mar 2022 |
tpw_rules | also someone should fix this: https://github.com/NixOS/nixpkgs/blob/6de161729c81dc98e844793cc9c8fda29d5ef62a/pkgs/stdenv/darwin/make-bootstrap-tools.nix#L190 | 00:01:08 |
tpw_rules | * also someone should fix this: https://github.com/NixOS/nixpkgs/blob/6de161729c81dc98e844793cc9c8fda29d5ef62a/pkgs/stdenv/darwin/make-bootstrap-tools.nix#L190 but i'm not sure i feel qualified. toonn ? | 00:01:22 |
artturin | tpw_rules: Good job! | 03:39:07 |
Alyssa Ross | tpw_rules: I've had a cpio patch sitting on the list for months with no responses, so I wouldn't get your hopes up about your bug report | 12:24:56 |
Alyssa Ross | but glad bsdtar is suitable here instead — it wasn't for the last thing I looked into it for because it couldn't append to an existing archive | 12:25:31 |
| kayla (she/they) joined the room. | 18:12:11 |
| kayla (she/they) changed their display name from Kayla Fire to kayla.fire. | 18:16:38 |
| 28 Mar 2022 |
| Bryan Honof joined the room. | 16:24:43 |
| Max joined the room. | 21:31:44 |
| 29 Mar 2022 |
toonn | tpw_rules: I agree, bzip2 is just outrageously painful. | 11:07:57 |
toonn | Is there consensus on what we'd use instead? Lzip, zstd, gzip? | 11:08:41 |
atemu12 | zstd is pretty much the go-to compressor for general purposes. | 12:23:47 |
toonn | Motivation for Lzip would be the compression ratio, since the bootstrap tarball isn't updated often. (And it seems to work well for Guix.) | 12:31:57 |
atemu12 | toonn: Who decompresses the bootstrap tarball? | 12:33:14 |
Linux Hackerman | Hm, what's the practical difference between lzip and xz? | 12:34:18 |
toonn | Anyone building stdenv. | 12:34:37 |
toonn | Lzip is a much simpler format with a focus on being suitable for archival. Xz has a bit of a complex format that is more vulnerable to corruption. | 12:35:25 |
Linux Hackerman | how can a compression format be more or less vulnerable to corruption? | 12:36:08 |
atemu12 | Linux Hackerman: I think there was a blog post some time ago but I'm not sure how accurate it is. | 12:38:02 |
Linux Hackerman | If anything I'd expect that more complexity (such as checksums) would make it less vulnerable to (undetected) corruption | 12:38:12 |
atemu12 | toonn: I mean what process. If it's the bootstrap tarball, there wouldn't be anything that could decompress it other than Nix itself? | 12:38:35 |
atemu12 | If that's the case, you'd need a compressor Nix can handle for instance | 12:38:56 |
toonn | LinuxHackerman: Bigger headers, unprotected fields in the headers, multiple options for checksumming without any being required by the spec. There's also no utility to help recover an archive. Lzip does checksumming. The author's thoughts on the topic are probably more useful/accurate than my own. | 12:41:37 |
Linux Hackerman | aah ok | 12:41:51 |
toonn | atemu12: IIRC Nix uses libarchive now. That covers pretty much every reasonable compression except Brotli. | 12:42:37 |
@rnhmjoj:maxwell.ydns.eu | this is an article by the author of lzip that goes through the problems with xz: http://web.archive.org/web/20220128214314/https://www.nongnu.org/lzip/xz_inadequate.html | 12:43:01 |
atemu12 | toonn: Good to know, thanks! | 12:43:57 |
Linux Hackerman | I've learnt something new today! Thanks all :) | 12:44:29 |
atemu12 | toonn: In that case, an LZMA compressor like lzip or XZ would be best if you want best compression with slow but not unreasonably slow speeds. Otherwise, zstd. | 12:45:07 |
atemu12 | toonn: Though if it's only needed by people who re-build the stdenv, they'd appreciate the orders of magnitude in speed of zstd more than the few MiB saved by LZMA | 12:47:17 |