From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Bootstrapping Date: Thu, 11 Feb 2016 11:54:31 +0100 Message-ID: <87bn7nsejc.fsf_-_@gnu.org> References: <20160206113802.GA17867@thebird.nl> <87mvre2eyz.fsf@gnu.org> <87wpqhu0t1.fsf@dustycloud.org> <20160208104530.GA26946@crashnator.suse.cz> <87zivbxggp.fsf@dustycloud.org> <87lh6vx9v0.fsf@dustycloud.org> <20160208204350.GA29053@thebird.nl> <87k2mekw5z.fsf_-_@gnu.org> <20160210085301.GG26946@crashnator.suse.cz> <20160210124452.GA27325@novena-choice-citizen.lan> <8760xvvm0p.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35566) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTotS-0002vu-NS for guix-devel@gnu.org; Thu, 11 Feb 2016 05:54:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTotP-00008b-Hk for guix-devel@gnu.org; Thu, 11 Feb 2016 05:54:38 -0500 In-Reply-To: <8760xvvm0p.fsf@elephly.net> (Ricardo Wurmus's message of "Thu, 11 Feb 2016 06:44:38 +0100") 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.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: guix-devel Ricardo Wurmus skribis: > Jookia <166291@gmail.com> writes: [...] >> I brought this up a bit earlier in IRC but you could rebuild the bootstr= ap >> binaries- but then they'd just be identical to the ones shipped. So are = they >> really foreign then? > > I wonder: can you *really* rebuild them? First, you=E2=80=99d need to build them as explained at , but starting from the exact same commit that was used to build them. > Would that not require reproducible builds, something that we try to > achieve with Guix? Indeed, some of the packages in the bootstrap binaries are reproducible, some are not. See for a previous experiment in that area. > I wished we could reduce the number of bootstrap binaries down to little > more than just Guile and an old C compiler, i.e. implement a subset of > tar in Guile and use that to unpack the tarballs, then use the simple C > compiler to compile an old version of GCC (without C++), then use that > version of GCC to compile a GCC capable of building C++, then use that > GCC to build a modern GCC... > > Since Guile is mostly written in Guile (and it is probably somewhat > easier to come to a point to trust it) there may be value in trying to > bootstrap from even less. Definitely! Just like we have cpio, FTP and HTTP clients, etc. in Scheme, we could incrementally have tiny replacements for some of the things currently found in the bootstrap binaries. They don=E2=80=99t need = to be full-featured. This is one of the topics discussed as the reproducible summit: https://lists.gnu.org/archive/html/guix-devel/2015-12/msg00107.html https://reproducible-builds.org/events/athens2015/bootstrapping/ Ludo=E2=80=99.