guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bootstrap: i686-linux now builds without binutils, gcc seeds


From: Jan Nieuwenhuizen
Subject: Re: bootstrap: i686-linux now builds without binutils, gcc seeds
Date: Sat, 22 Sep 2018 17:34:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Ludovic Courtès writes:

Hi!

>> I finally realised what it really means that the GuixSD bootstrap has
>> `binutils-cross-boot0' (I really think that should be reflected in the
>> SCM name too?) and `gcc-cross-boot0': bolting the x86_64-linux bootstrap
>> onto the i686-linux Mes bootstrap proved to be "almost" trivial (very
>> low hanging fruit I think whas wat Ludovic said).
>
> Awesome, really great.
>
> Hopefully ARMv7 and AArch64 can be addressed similarly in one go when we
> get there.

Hmm, wondering how you see that...running the initial the Arm* bootstrap
on i686-linux and making the jump in *-cross-boot0?

I /am/ working on a native x86_64-linux Mes and one of the Arms could be
next...but you see a shortcut (at least temporary)?

>> So, I took the freedom to add another commit onto wip-bootstrap that
>> also replaces the x86_64-linux bootstrap.  I realise that this commit
>> may have its own problems; so when moving to core-updates-next we may
>> want to be a bit careful before taking it in.
>
> I think as long as we can build Hello or similar things and “make check”
> doesn’t show new regressions, we should be fine.

Hmm, make check showed some silly errors, I needed this patch

--8<---------------cut here---------------start------------->8---
test: Oops, syntax error and filter %bootstrap-inputs.

This is a fixup of

    86811e6faf bootstrap: %bootstrap-inputs: Wrap input lists into thunks.

* tests/builders.scm (%bootstrap-inputs): Oops, put parentheses in correct
place.
(%bootstrap-search-paths): Likewise.  Also, filter on package?.

1 file changed, 7 insertions(+), 5 deletions(-)
tests/builders.scm | 12 +++++++-----

modified   tests/builders.scm
@@ -28,7 +28,8 @@
   #:use-module (gcrypt hash)
   #:use-module (guix tests)
   #:use-module ((guix packages)
-                #:select (package-derivation package-native-search-paths))
+                #:select (package?
+                          package-derivation package-native-search-paths))
   #:use-module (gnu packages bootstrap)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -47,14 +48,15 @@
        (map (match-lambda
              ((name package)
               (list name (package-derivation %store package))))
-            (@@ (gnu packages commencement) (%boot0-inputs)))))
+            ((@@ (gnu packages commencement) %boot0-inputs)))))
 
 (define %bootstrap-search-paths
   ;; Search path specifications that go with %BOOTSTRAP-INPUTS.
   (append-map (match-lambda
-               ((name package _ ...)
-                (package-native-search-paths package)))
-              (@@ (gnu packages commencement) (%boot0-inputs))))
+                ((name package _ ...)
+                 (package-native-search-paths package)))
+              (filter package?
+                      ((@@ (gnu packages commencement) %boot0-inputs)))))
 
 (define url-fetch*
   (store-lower url-fetch))
--8<---------------cut here---------------end--------------->8---

> I’ve looked at the latest set of commits that ends with
> 78b8c9af45e7e261b22b198886daffcf12f22a56 and it LGTM!  So I think you
> can go ahead and push as ‘core-updates-next’.

I folded the above patch into 86811e6faf for core-updates-next.  So,
wip-bootstrap and my local core-updates-next now differ in hash, but are
identical in git diff...

Hmm, I thought make check was OK now and almost pushed, but there are
still problems with make check on wip-bootstrap.  So I didn't dare to go
core-updates-next yet, if there's a good reason to do that anyway,
please do so or let me know.

I'll be looking into this later tonight, I could do with some help, just
in case someone is feeling bored ;)

> Something to keep in mind regarding “bootstrap: Add Mes bootstrap
> seeds.”: once the branch is in place, we should regenerate the seeds
> from the branch, upload them to ftp.gnu.org, adjust bootstrap.scm and
> record in the commit log which commit we used to generated those seeds
> (hoping they are bit-reproducible.)

Of course I agree, added to TODO.  I fear we need something more than
hope to have them bit-reproducible.  I haven't really looked into this
so we may get lucky but I also haven't patched binutils-2.20 or
gcc-2.95.3, gcc-4.7.4 wrt reproducibility.

> Anyway, thumbs up for making what’s to my knowledge the distro with the
> smallest set of binary seeds!

Yay!  I think the way forward to reduce them further that I like best is
to assume Guile and start building a Gash/Geesh and the other utilities
from there.

It would be nice to one day replace bootstrap-guile with bootstrap-mes
(or bootstrap Guile directly...) just dreaming here.

Thanks for the support!
janneke



reply via email to

[Prev in Thread] Current Thread [Next in Thread]