| 29 Jul 2021 |
Vladimír Čunát | 🤔 I guess the first step should be to test how much it helps. Perhaps even "manually" on some well-chosen NAR pairs. Perhaps using libzstd directly, there it seems to be in the API at a quick glance, though just as na experimental feature so far. | 08:25:31 |
Vladimír Čunát | I haven't thought yet if the zstd compression scheme is suitable for this idea (contrary to gzip). | 08:26:22 |
Vladimír Čunát | * I haven't thought yet if the zstd compression scheme is suitable for this idea (contrary to gzip), but hopefully so. | 08:26:37 |
tomberek | i did a bit manually.... packages that are close enough to each other can be 50-90% same | 08:26:38 |
tomberek | large packages are best, as they only change in small areas at a time (blender,firefox,systemd,linux,vim,emacs) | 08:27:52 |
Vladimír Čunát | And you did these tests on uncompressed NARs, right? | 08:28:57 |
tomberek | small version bumps are best. If the change is only in self-references it should be picked up as a dup by the new CAS system | 08:29:46 |
tomberek | i did both uncompressed NARs and "zstd --rsyncable" NARs. | 08:30:13 |
Vladimír Čunát | I suspect that typically the package version is even the same but some dependencies have changed. | 08:30:37 |
tomberek | I've convinced myself it would work and be very beneficial in certain cases, but I'm not sure about the cost-benefit in terms of maintaining a new store backend, adopting another format/library, alternatives. | 08:37:01 |
| stick changed their display name from stick to stick2. | 16:25:14 |
| stick changed their display name from stick2 to stick. | 16:25:54 |
| 30 Jul 2021 |
Vladimír Čunát | Hmm, my running nixStable daemon with nixUnstable utilities encounters quite some issues. Again: are they considered bugs, i.e. is such a combination meant to be supported? | 08:15:14 |
Regnat | I’d say these are definitely bugs | 08:22:48 |
| dramforever joined the room. | 08:32:52 |
| stick changed their display name from stick to stick3. | 10:32:57 |
| stick changed their display name from stick3 to stick. | 10:33:04 |
| stick changed their display name from stick to stick[m]. | 10:35:19 |
| stick changed their display name from stick[m] to stick. | 10:35:45 |
| 1 Aug 2021 |
| Jamie joined the room. | 08:04:45 |
Vladimír Čunát | Example:
nix build -f. nixosTests.gnome-xorg --dry-run
error: store path 'xdkj2bfhfdpx8r0k1dny29km3b6yyp9r-vm-test-run-gnome-xorg.drv!out' contains illegal character '!'
| 15:00:40 |
niksnut | Yeah that's a bug | 18:04:27 |
| 2 Aug 2021 |
Vladimír Čunát | So... should I be opening these as GH issues? One per a sufficiently different error, or all together? | 08:29:31 |
manveru | seems like i have some kind of race condition when adding packages to nix profiles at the same time: fatal: cannot copy '\''/nix/store/55wy09xjj463r1rdx8qy1b82y5kg3z1d-git-2.31.1/share/git-core/templates/hooks/pre-applypatch.sample'\'' to '\''/root/.cache/nix/gitv3/1nj7pkpa1rip8qyz7s8xv5k69maz0bk93drm0limrvl06xkvyjns/hooks/pre-applypatch.sample'\'': File exists | 09:33:22 |
manveru | it's not 100% reproducible, but happens within a nixos test quite often | 09:39:54 |
manveru | i assume the error is from git.cc where it might try to clone the same git repository at the same time... | 09:42:48 |
manveru | #!/usr/bin/env bash
url='git+ssh://github.com/NixOS/nix?ref=master&rev=087c5f5325c46485a9bc5f8e7f2620af6bf6bf56#nix'
rm -rf ~/.cache/nix
rm -f a* b*
nix profile install "$url" --profile a &
nix profile install "$url" --profile b &
wait
| 09:55:04 |
manveru | i think that's the easiest way to reproduce it reliably | 09:55:16 |
manveru | so i dug further, and the main issue is parallel execution of git init | 11:05:30 |
manveru | i can probably wrap the nix invocation in a flock, but i think the better way would be to replace https://github.com/NixOS/nix/blob/master/src/libfetchers/git.cc#L320 with an attempt to mkdir the repoDir and skip the init if it fails? | 11:07:23 |