From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: updating list of substitutes Date: Tue, 21 Apr 2015 11:19:58 +0200 Message-ID: <20150421091958.GA3636@debian.math.u-bordeaux1.fr> References: <20150421064525.GA15795@thebird.nl> <87a8y1q49z.fsf@gnu.org> <20150421084028.GB16564@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39056) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkULt-0004xj-N5 for guix-devel@gnu.org; Tue, 21 Apr 2015 05:20:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkULp-0007eG-VH for guix-devel@gnu.org; Tue, 21 Apr 2015 05:20:21 -0400 Content-Disposition: inline In-Reply-To: <20150421084028.GB16564@thebird.nl> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Pjotr Prins Cc: guix-devel@gnu.org On Tue, Apr 21, 2015 at 10:40:28AM +0200, Pjotr Prins wrote: > How do I recreate the exact same system from Hydra? Even now if I > install the exact same Ruby-2.2.1 it will install different packages > compared to yesterday. I am lost here. If you use a fixed release or git commit of guix, ruby-2.2.1 should be the same yesterday and today. The only thing that could happen, if I understand things correctly, is that with non-deterministic builds and assuming that ruby-2.2.1 has been garbage collected and rebuilt on hydra, we would have a new store item on hydra with the same directory name (including the hash), but different content. However, if your machine has kept the old package, it should not be redownloaded, as it is the hash in the directory name that counts and not some hash over its contents. The solution here would be deterministic builds. As I understand Ludovic's answer, the database cannot be regenerated because the store may contain corrupted items from a failed and aborted build. Adding a package to the database in a last step appears to ensure atomicity of the operation. Andreas