unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Pjotr Prins <pjotr.public12@thebird.nl>
To: guix-devel@gnu.org
Subject: Re: updating list of substitutes
Date: Tue, 21 Apr 2015 12:02:16 +0200	[thread overview]
Message-ID: <20150421100216.GA16981@thebird.nl> (raw)
In-Reply-To: <20150421091958.GA3636@debian.math.u-bordeaux1.fr>

On Tue, Apr 21, 2015 at 11:19:58AM +0200, Andreas Enge wrote:
> 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.


ls /gnu/store/*ruby-2.2.1*
  /gnu/store/gy1dnlh6qhwd40admi3b1mr4r9cn8bww-ruby-2.2.1

ls /var/guix/profiles/per-user/wrk/guix-profile-2-link/bin/ruby
  /var/guix/profiles/per-user/wrk/guix-profile-2-link/bin/ruby -> /gnu/store/gy1dnlh6qhwd40admi3b1mr4r9cn8bww-ruby-2.2.1/bin/ruby

A few days later I install ruby-1.8.7 followed by

guix package -i ruby-2.2.1

The following package will be upgraded:
   ruby 1.8.7-p374 -> 2.2.1     /gnu/store/z8kf6hgln4a7xf68pdnlibl3vcg5rl15-ruby-2.2.1

The following derivations will be built:
   /gnu/store/7k8nsgpvaafljk1wcnpiq3sm0vns64ck-profile.drv
   /gnu/store/b8pasb4kj50x696bln6jpq4myhzkbrg0-ca-certificate-bundle.drv
   /gnu/store/5hnj1f5i41a6vp4xshhrzqcf27vaf0y7-info-dir.drv
The following files will be downloaded:
   /gnu/store/z8kf6hgln4a7xf68pdnlibl3vcg5rl15-ruby-2.2.1
   /gnu/store/xgfynxf3nscq41n27mnd1lf1hb21fc7w-openssl-1.0.2

So openssl has changed the install. That is not reproducible installs
in my book.

> 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.

Yes. In that case, we should make sure that we know an atomic build
has been completed - also outside the DB.

I am not saying what guix does is wrong. I am saying there are
instances where you WANT to rebuild the DB.

Pj.

  reply	other threads:[~2015-04-21 10:03 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-21  6:45 updating list of substitutes Pjotr Prins
2015-04-21  8:22 ` Ludovic Courtès
2015-04-21  8:40   ` Pjotr Prins
2015-04-21  9:19     ` Andreas Enge
2015-04-21 10:02       ` Pjotr Prins [this message]
2015-04-21 12:02         ` Andreas Enge
2015-04-21 16:38           ` Pjotr Prins
2015-04-22 19:01             ` Mark H Weaver
2015-04-22 11:46     ` Pjotr Prins
2015-04-22 12:24       ` Andreas Enge
2015-04-22 12:35         ` Pjotr Prins
2015-04-22 13:08           ` Taylan Ulrich Bayırlı/Kammer
2015-04-23  9:52         ` Ludovic Courtès
2015-05-26 12:42       ` Pjotr Prins
2015-05-26 20:50         ` Ludovic Courtès
2015-10-11  7:46       ` Pjotr Prins
2015-10-11  8:47         ` Efraim Flashner
2015-10-11 18:39         ` Ludovic Courtès
2015-10-11 21:27           ` Pjotr Prins
2015-10-12  5:15             ` Mark H Weaver
2015-10-12  6:06               ` Pjotr Prins
2015-10-12 16:31                 ` Mark H Weaver
2015-10-12 21:12                   ` Pjotr Prins
2015-10-12 17:03                 ` Ludovic Courtès
2015-10-13 12:11                   ` Pjotr Prins
2015-10-13 12:52                     ` Andreas Enge
2015-10-13 14:35                       ` Ludovic Courtès
2015-11-18 16:15                         ` Pjotr Prins
2015-11-18 16:28                           ` Thompson, David
2015-11-18 16:30                             ` Alex Sassmannshausen
2015-11-18 18:29                           ` Funding the build farm Ludovic Courtès
2015-11-18 18:38                             ` Cook, Malcolm
2015-11-18 20:55                               ` Pjotr Prins
2015-11-18 21:20                               ` Ludovic Courtès
2015-11-18 21:26                                 ` Cook, Malcolm
2015-11-22 10:53                             ` Andreas Enge
2015-11-23 15:00                               ` Ludovic Courtès
2015-11-23 15:29                                 ` Mathieu Lirzin
2015-11-23 19:38                               ` John Darrington
2015-11-24 12:05                                 ` Alex Sassmannshausen
2015-11-24 14:54                                 ` Efraim Flashner
2015-11-24 15:12                                   ` John Darrington
2015-11-24 15:12                                   ` Ricardo Wurmus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150421100216.GA16981@thebird.nl \
    --to=pjotr.public12@thebird.nl \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).