unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: zimoun <zimon.toutoune@gmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Unreproducible “guix pack -f docker” because config.scm-builder
Date: Fri, 05 Feb 2021 11:09:07 +0100	[thread overview]
Message-ID: <87im766d30.fsf@gnu.org> (raw)
In-Reply-To: <86eehycjre.fsf@gmail.com> (zimoun's message of "Tue, 02 Feb 2021 21:11:33 +0100")

Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

> then the sysconfdir is set to /usr/local/etc because it is the default.
> And so it leads to subtle differences really hard to guess.  I think it
> is worth to add one sentence or footnote at the end of the section
> «Running Guix Before It Is Installed», right after:
>
>         Note that ./pre-inst-env guix pull does not upgrade the local
>         source tree; it simply updates the ~/.config/guix/current
>         symlink (see Invoking guix pull). Run git pull instead if you
>         want to upgrade your local source tree.
>
> Something like: «Note that ’guix pull’ preserves the settings of the host
> Guix, for instance ’sysconfdir’, and by default the GNU standards set
> ’prefix’ to ’/usr/local/’ and ’sysconfdir’ to ’$prefix/etc’, whereas
> regular Guix uses ’--sysconfdir=/etc/’.»
>
> WDYT?

As often, I have mixed feelings: we would end up +/- duplicating the
Standards in the manual, possibly even without citing the primary source
(I could be a Wikipedian :-)).  So to me that’s not great.

OTOH, as you write, letting people stumble upon this kind of issue is
not an option, either.

So I guess you can propose a patch and let someone else review it.  :-)

>> You did find other differences eventually though, right?
>
> The produced tarballs have the same Guix hash, i.e., all the same
> inputs, but not the same outputs, compare with commit b9a54aa:

[...]

> --- /tmp/docker-meary/4ca83868d5e98cb06179a2a7372afe029c10d43bdc9fbfcc5771b89da74889b8/layer.tar
> +++ /tmp/docker-pfiuh02/4ca83868d5e98cb06179a2a7372afe029c10d43bdc9fbfcc5771b89da74889b8/layer.tar
> ├── file list
> │ @@ -823,17 +823,17 @@
>
> [...]
>
> │ --r-x… 29960 gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/libexec/getconf/POSIX_V6_LP64_OFF64
>
> [...]
>
> │ +hr-x…     0 gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/libexec/getconf/POSIX_V6_LP64_OFF64

Looks like tar made this file a hard link in one case and not in the
other.  This is weird because we don’t ask it to create hard links
(there’s even a comment in (guix scripts pack)).

Is this docker image the result of the same derivation?  Could you try
building that derivation on different machines?  (You can copy the .drv
around with ‘guix copy’.)

Could you also show the output of:

  stat /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/libexec/getconf/POSIX_V6_LP64_OFF64

on the two machines you used?

I wonder if it could be that tar nowadays decides to preserve hard links
by default and one of your machine had this file hard-linked while the
other one didn’t.

Ludo’.


  reply	other threads:[~2021-02-05 10:12 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20210116182957.31075-1-ludo@gnu.org>
2021-01-27 13:14 ` bug#45919: [PATCH 0/8] Exporting a manifest and channels from a profile Ludovic Courtès
2021-01-27 21:02   ` [bug#45919] " zimoun
2021-01-28 15:54     ` Ludovic Courtès
2021-02-01 22:37       ` Unreproducible “guix pack -f docker” because config.scm-builder zimoun
2021-02-02 14:48         ` zimoun
2021-02-02 18:12         ` Ludovic Courtès
2021-02-02 20:11           ` zimoun
2021-02-05 10:09             ` Ludovic Courtès [this message]
2021-02-05 17:22               ` zimoun
2021-02-06 21:46                 ` Ludovic Courtès
2021-02-08 18:44                   ` [PATCH] Fix unreproducible “guix pack -f docker” (hard link) zimoun
     [not found]                   ` <86lfbzad42.fsf@gmail.com>
2021-02-09  8:35                     ` Unreproducible “guix pack -f docker” because config.scm-builder Ludovic Courtès
2021-02-09  8:51                       ` zimoun
2021-01-28 17:57     ` [bug#45919] [PATCH 0/8] Exporting a manifest and channels from a profile Bengt Richter
2021-01-29 19:13       ` zimoun
2021-01-28 17:04   ` bug#45919: " Pierre Neidhardt
2021-01-29 17:57     ` [bug#45919] " Pierre Neidhardt
2021-01-29 18:57       ` zimoun
2021-01-29 21:51         ` Pierre Neidhardt
2021-01-30 14:31           ` zimoun
2021-01-30 21:23             ` bug#45919: " Ludovic Courtès
2021-01-31  5:08               ` Ryan Prior
2021-02-01 13:30                 ` Ludovic Courtès
2021-01-30 13:55       ` Ludovic Courtès
2021-01-31 17:26         ` Pierre Neidhardt
2021-02-01 13:25           ` Ludovic Courtès
2021-02-01 15:32             ` Pierre Neidhardt
2021-02-01 17:04               ` Ludovic Courtès

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=87im766d30.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=zimon.toutoune@gmail.com \
    /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).