[Top][All Lists]

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

Re: inputs vs. native-inputs vs. propagated-inputs

From: Ludovic Courtès
Subject: Re: inputs vs. native-inputs vs. propagated-inputs
Date: Sat, 18 Jun 2016 21:24:06 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Leo Famulari <address@hidden> skribis:

> I _think_ that `gc --references` works by querying the database for a
> list of references in the store item you give it as an argument. I think
> that the information in the database is created after building, by
> scanning the files of the package's output in /gnu/store, looking for
> strings that appear to be paths in /gnu/store. I say "I think" because I
> am not sure. I don't understand that part of the code very well yet.

That’s 100% correct!  :-)  Namely, ‘guix gc --references’ makes an RPC to
the daemon, which then looks things up in the database (see the ‘Refs’
table in nix/libstore/schema.sql.)

Scanning for references indeed happens at the end of a successful build,
in ‘scanForReferences’ in libstore/  Since scanning is
expensive (I/O-intensive), the result is stored in the database.


reply via email to

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