From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: rb-general@lists.reproducible-builds.org
Cc: guix-devel@gnu.org
Subject: Quick reproducible test for GNU Guix
Date: Fri, 07 Feb 2020 15:08:59 -0800 [thread overview]
Message-ID: <87o8uauh9w.fsf@ponder> (raw)
[-- Attachment #1: Type: text/plain, Size: 2098 bytes --]
I did some quick reproducibility testing running GNU Guix, and so far
got pretty good results:
Using guix (and packages) built from commit:
f83d07f7778b699d46741a5667113342f5f0a737
$ guix challenge --verbose --diff=diffoscope ...
2,463 store items were analyzed:
- 2,016 (81.9%) were identical
- 37 (1.5%) differed
- 410 (16.6%) were inconclusive
The log file produced was 951MB compressed with lz4, including
diffoscope output.
On an x86_64 virtual machine with 8-12 cores and 16-32 GB of ram (I
upped the specs later in the build process), running Debian and some WIP
packages from:
https://salsa.debian.org/vagrant/guix
The packages tested were from a minimal system using
gnu/system/examples/bare-bones.tmpl, diffoscope, a couple guix pulls,
all without using any substitutes; all the builds for this system should
be locally built.
At ~82% identical, that's not too bad. The ~17% inconclusive are likely
substitutes that haven't yet built or failed to build on the substitute
server, or some local builds that are not yet in guix (e.g. WIP builds
of reprotest!!). I wonder if "guix challenge" may compare some things
that are normally only built locally (e.g. grub.cfg or similar ?).
There are about 10,000 packages I haven't built and compared yet,
presuming "guix package -A | wc -l" is a reasonable guess, though there
are some hidden packages used as transitive build dependencies, if I
recall.
I did notice that when doing multiple builds in parallel, it uses a
different user for each build, though I don't know if that's normalized
within the build environment container. If not, that could fix quite a
few issues! See issues mentioning "user" at:
https://salsa.debian.org/reproducible-builds/reproducible-notes/blob/master/issues.yml
Eventually, I'd like to do more systematic test of guix packages, with
published logs per-package, rather than whatever I happened to build on
the system so far, but this was a quick start to help flesh out ideas
for feature requests to "guix challenge" to make this all easier... more
on that soon!
live well,
vagrant
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
next reply other threads:[~2020-02-07 23:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-07 23:08 Vagrant Cascadian [this message]
2020-02-11 14:38 ` [rb-general] Quick reproducible test for GNU Guix Ludovic Courtès
2020-02-12 8:58 ` Christopher Baines
2020-02-28 17:29 ` Holger Levsen
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=87o8uauh9w.fsf@ponder \
--to=vagrant@reproducible-builds.org \
--cc=guix-devel@gnu.org \
--cc=rb-general@lists.reproducible-builds.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).