From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: [rb-general] Quick reproducible test for GNU Guix Date: Tue, 11 Feb 2020 15:38:08 +0100 Message-ID: <87k14t1967.fsf@gnu.org> References: <87o8uauh9w.fsf@ponder> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:52445) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j1Wg0-0008Dt-Ce for guix-devel@gnu.org; Tue, 11 Feb 2020 09:38:13 -0500 In-Reply-To: <87o8uauh9w.fsf@ponder> (Vagrant Cascadian's message of "Fri, 07 Feb 2020 15:08:59 -0800") 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: Vagrant Cascadian Cc: rb-general@lists.reproducible-builds.org, guix-devel@gnu.org Hi Vagrant! Vagrant Cascadian skribis: > 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=3Ddiffoscope ... > 2,463 store items were analyzed: > - 2,016 (81.9%) were identical > - 37 (1.5%) differed > - 410 (16.6%) were inconclusive Woow, nice! There are 12+K packages now, but at least that gives us a good overview of the story for core packages. > The log file produced was 951MB compressed with lz4, including > diffoscope output. Still reading it? ;-) > 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 ?). Yes, =E2=80=9Cguix challenge=E2=80=9D without any arguments compares all th= e items in your store, which includes file specific to your machine, like =E2=80=98grub.cfg=E2=80=99, the initrd, etc. If you want to focus on packages, you can run something like: guix challenge $(guix package -A | cut -f1) > 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/ma= ster/issues.yml The user name in the build environment is canonicalized: https://git.savannah.gnu.org/cgit/guix.git/tree/nix/libstore/build.cc#n18= 58 > 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! That=E2=80=99d be great! Related to that, Christopher Baines developed a nice feature for the Guix Data Service during and after the summit: for each Guix revision, there=E2=80=99s a page showing the overall package reproducibility status b= ased on the info obtained from our two independent build farms. The URL is something like (right now it=E2=80=99s empty for some reason, but normally it shows identical/different/inconclusive percentages.) Thanks, Ludo=E2=80=99.