guix-devel
[Top][All Lists]
Advanced

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

Unreproducible «When Docker images become fixed-point»?


From: zimoun
Subject: Unreproducible «When Docker images become fixed-point»?
Date: Fri, 17 Jun 2022 19:03:10 +0200

Hi,

Preparing a session about Guix, I was checking this blog post:

    https://hpc.guix.info/blog/2021/10/when-docker-images-become-fixed-point/

explaining how to rebuild a Docker pack using a Docker pack produced by
Guix itself.  It is from Oct. 2021.


The pack built by the post is:

/gnu/store/6rga6pz60di21mn37y5v3lvrwxfvzcz9-python-python-numpy-docker-pack.tar.gz

comparing with today, using 9d795fb and the time-machine:

--8<---------------cut here---------------start------------->8---
$ guix time-machine -C /tmp/channels.scm \
       -- pack -f docker --save-provenance -m /tmp/manifest.scm

/gnu/store/ryqvz83s11qb96d9i6ywv08vcshg6k17-python-python-numpy-docker-pack.tar.gz
--8<---------------cut here---------------end--------------->8---

Note that ’docker images’ said ea2d5e62b2d2 when now it says
e0a073dfa1ec. 

The channels.scm and manifest.scm files are the exact same – or the bug
is between my keyboard and my chair. ;-)


Even, following the post, let compare:

--8<---------------cut here---------------start------------->8---
$ tree gnu
gnu
└── store
    └── vdf5c49kzsmdm70134fdgy418ifxd7kh-profile
        └── manifest

2 directories, 1 file
--8<---------------cut here---------------end--------------->8---

and the post provides ia1sxr3qf3w9dj7y48rwvwyx289vpfgi-profile.

--8<---------------cut here---------------start------------->8---
$ guix package -p gnu/store/vdf5c49kzsmdm70134fdgy418ifxd7kh-profile/ 
--export-channels
;; This channel file can be passed to 'guix pull -C' or to
;; 'guix time-machine -C' to obtain the Guix revision that was
;; used to populate this profile.

(list
     (channel
       (name 'guix)
       (url "https://git.savannah.gnu.org/git/guix.git";)
       (branch #f)
       (commit
         "fb32a38db1d3a6d9bc970e14df5be95e59a8ab02")
       (introduction
         (make-channel-introduction
           "9edb3f66fd807b096b48283debdcddccfea34bad"
           (openpgp-fingerprint
             "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA"))))
)

$ guix package -p gnu/store/vdf5c49kzsmdm70134fdgy418ifxd7kh-profile/ 
--export-manifest
;; This "manifest" file can be passed to 'guix package -m' to reproduce
;; the content of your profile.  This is "symbolic": it only specifies
;; package names.  To reproduce the exact same profile, you also need to
;; capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.

(specifications->manifest
  (list "python@3.8" "python-numpy@1.17"))
--8<---------------cut here---------------end--------------->8---


What could be wrong?  The package ’python’ does not build reproductibly
but that should not change the hash of the profile nor the pack, it
should only change the hash of the ’docker images’.

What do I miss?


Cheers,
simon



reply via email to

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