help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Output of guix build --check foo is not part of store deduplication


From: Chris Marusich
Subject: Re: Output of guix build --check foo is not part of store deduplication
Date: Fri, 10 Aug 2018 02:16:13 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi Björn,

In registerOutputs from nix/libstore/build.cc, it seems that if a check
was requested (i.e., buildMode == bmCheck), an exception is thrown when
the build is found to be non-deterministic.  In addition, it looks like
that would prevent execution from reaching the line farther down where
we call worker.store.optimisePath(path), which does the deduplication
when deduplication is enabled (i.e., when settings.autoOptimiseStore
evaluates to true).

The current Nix source code seems to have the same structure, which
suggests that perhaps the current version of the nix-daemon behaves the
same way.  Perhaps you could reproduce the issue in Nix and ask about it
upstream?

Maybe there is a good reason why Eelco changed diffoscope to ignore the
links instead of changing the build.cc code to perform the
deduplication.  For example, maybe the work to ensure that deduplication
occurs even when a check fails is more complicated and error-prone than
simply updating diffoscope to ignore link counts.  It couldn't hurt to
ask!

-- 
Chris

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]