From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= Subject: Re: many similar builds Date: Tue, 9 Oct 2018 21:51:44 +0200 Message-ID: <20181009215144.31910103@alma-ubu> References: <20181009203428.28b100a2@jasniac.instanton> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/WG.m0E88gAC761dPuirS+_1"; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37214) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9y2q-0001Mb-C6 for help-guix@gnu.org; Tue, 09 Oct 2018 15:51:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9y2l-0008Am-VK for help-guix@gnu.org; Tue, 09 Oct 2018 15:51:52 -0400 Received: from m4s11.vlinux.de ([83.151.27.109]:47286 helo=bjoernhoefling.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9y2l-00087k-Nq for help-guix@gnu.org; Tue, 09 Oct 2018 15:51:47 -0400 In-Reply-To: <20181009203428.28b100a2@jasniac.instanton> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Marco van Hulten Cc: help-guix --Sig_/WG.m0E88gAC761dPuirS+_1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, 9 Oct 2018 20:34:28 +0200 Marco van Hulten wrote: > $ md5sum /gnu/store/*-xeyes-*/bin/xeyes > e17c8aab7cdeedb763601288b6eb0c43 /gnu/store/3syyc8yvyymnwsada0kgm1jmc832= 32c8-xeyes-1.1.2/bin/xeyes > f44bf885477a110f7d0ee7b3524b978a /gnu/store/j0ycra947a0y3d3c9afms7sjlyki= s629-xeyes-1.1.2/bin/xeyes > $ ls -l /gnu/store/*-atril-*/bin/atril > -r-xr-xr-x 2 root root 1226 Jan 1 > 1970 /gnu/store/01j2hg31cv41a0fb19h1wvmn7dzxlv8s-atril-1.18.1/bin/atril > -r-xr-xr-x 2 root root 1226 Jan 1 > 1970 /gnu/store/1qsm3qmiqc84p8yakbxvyccjbg64ak7z-atril-1.18.1/bin/atril > -r-xr-xr-x 2 root root 1226 Jan 1 > 1970 /gnu/store/30syxb0vqbcc0zap47mhxlswmhq0w2vw-atril-1.18.1/bin/atril > -r-xr-xr-x 2 root root 1226 Jan 1 > 1970 /gnu/store/3b95dhdrkyhbw3bijzy9phd34bq32nnq-atril-1.18.1/bin/atril > ... >=20 > and many more, and 14 different =C2=ABsame-version=C2=BB installations for > brasero. Does this mean that it is just very difficult to get > reproducible builds? To add to the already given answers: The store is deduplicated (if that feature is not explicitly disabled): If two files share the same content, they are stored only once on hard disk and a hard link points to that same inode. See here: I have 21 copies of icedtea-3.7.0 in my store: $ ls /gnu/store/*icedtea-3.7.0/bin/java -d | wc 21 21 1407 But if I look at the java command in there, I see it has only two different ones, with inode count 17 and 24 (first column after permissions): ls -l /gnu/store/*icedtea-3.7.0/bin/java -d -r-xr-xr-x 17 root root 8344 Jan 1 1970 /gnu/store/5737dyajx477kl9h0bi39= 3ax0qb4vixc-icedtea-3.7.0/bin/java -r-xr-xr-x 24 root root 8328 Jan 1 1970 /gnu/store/9lg4136fwprf0fm5jjwd8= 18zqsn2bqim-icedtea-3.7.0/bin/java [...] (Of cause 17 + 24 > 21, so there must be some bitwise-identical java around in some other package) And `du` tells me: $ du -shc /gnu/store/*icedtea-3.7.0 114M /gnu/store/0s9z0prad24i9l6bjvzjf6agwgfmh1l8-icedtea-3.7.0 15M /gnu/store/2k3ixx4hfkb2nf8d9530phympalxb7bs-icedtea-3.7.0 [..] 186M total # With '-l' option to ignore hard links: $ du -shcl /gnu/store/*icedtea-3.7.0 114M /gnu/store/0s9z0prad24i9l6bjvzjf6agwgfmh1l8-icedtea-3.7.0 [..] 2.4G total Wow, that's a space-saver! You don't have to worry to have all those (nearly similar/totally similar) store entries around. I prefer to keep them if I can, that saves me CPU-time whenever I build older commits out of the Guix git repository. Bj=C3=B6rn --Sig_/WG.m0E88gAC761dPuirS+_1 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlu9BtEACgkQvyhstlk+X/1AZwCeIk6Unz+Zu70ZcYhjUrd0k/ov sjgAn2O7jFSHlJD1zIervnFxb2RGZkx9 =t48y -----END PGP SIGNATURE----- --Sig_/WG.m0E88gAC761dPuirS+_1--