From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vagrant Cascadian Subject: Quick reproducible test for GNU Guix Date: Fri, 07 Feb 2020 15:08:59 -0800 Message-ID: <87o8uauh9w.fsf@ponder> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:58596) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j0CkH-0007WJ-NR for guix-devel@gnu.org; Fri, 07 Feb 2020 18:09:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j0CkG-0007J1-Ez for guix-devel@gnu.org; Fri, 07 Feb 2020 18:09:09 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]:60256) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j0CkG-0007Be-8q for guix-devel@gnu.org; Fri, 07 Feb 2020 18:09:08 -0500 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-mx.org@gnu.org Sender: "Guix-devel" To: rb-general@lists.reproducible-builds.org Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain 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 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXj3uDQAKCRDcUY/If5cW qqLyAQDS10p406G2/RgYb3s8FGbIG9lf+YxlMxQxfQOldCBW3QD+IFejxvfpUOHM 3ATDG2OlKOZGwfByGQh4H+BDmPCZGQg= =udaP -----END PGP SIGNATURE----- --=-=-=--