doc: Release update.
* BOOTSTRAP: Update. * HACKING: Update. * NEWS: Update. * README: Update. * doc/mes.texi (Submitting Patches): Fix misquoting, misattribution.
This commit is contained in:
parent
9a36cf22d0
commit
bb6d786736
|
@ -99,16 +99,15 @@ be source.
|
||||||
https://gitlab.com/janneke/tinycc
|
https://gitlab.com/janneke/tinycc
|
||||||
|
|
||||||
* TODO
|
* TODO
|
||||||
** upstream mes-boot to GuixSD.
|
|
||||||
** replace GuixSD bootstrap for x86.
|
|
||||||
** remove or upstream patches from tcc-boot
|
** remove or upstream patches from tcc-boot
|
||||||
** prepare src/mes.c for M2-Planet transpiler.
|
** prepare src/mes.c for M2-Planet transpiler.
|
||||||
|
** arm, the Hurd
|
||||||
** fix bootstrap-loops: (Nyacc?, mes.M2, psyntax.pp?)
|
** fix bootstrap-loops: (Nyacc?, mes.M2, psyntax.pp?)
|
||||||
** make GNU gcc (8.0?) bootstrappable again, remove [need for] tcc stage
|
** make GNU gcc (8.0?) bootstrappable again, remove [need for] tcc stage
|
||||||
** integrate with GuixSD
|
|
||||||
** x86_64, arm, the Hurd
|
|
||||||
|
|
||||||
* DONE
|
* DONE
|
||||||
|
** upstream mes-boot to GuixSD.
|
||||||
|
** replace GuixSD bootstrap for x86_64.
|
||||||
|
** replace GuixSD bootstrap for x86.
|
||||||
** add full source gcc-4.7 package build.
|
** add full source gcc-4.7 package build.
|
||||||
** bootstrap gcc+glibc-built binutils-20.1, gcc-4.1.0.
|
** bootstrap gcc+glibc-built binutils-20.1, gcc-4.1.0.
|
||||||
** have tcc-boot compile gnutools triplet: binutils-2.14, gcc-2.95.3, glibc-2.2.5.
|
** have tcc-boot compile gnutools triplet: binutils-2.14, gcc-2.95.3, glibc-2.2.5.
|
||||||
|
|
40
HACKING
40
HACKING
|
@ -28,6 +28,7 @@ To help development we assume ./configure sets these variables for make
|
||||||
|
|
||||||
CC -- gcc
|
CC -- gcc
|
||||||
CC32 -- i686-unknown-linux-gnu-gcc (or on x86, also gcc)
|
CC32 -- i686-unknown-linux-gnu-gcc (or on x86, also gcc)
|
||||||
|
CC64 -- gcc for use with Mes C Library: -nostdinc, -nostdlib
|
||||||
GUILE -- guile
|
GUILE -- guile
|
||||||
HEX2 -- hex2
|
HEX2 -- hex2
|
||||||
MES -- unset
|
MES -- unset
|
||||||
|
@ -41,8 +42,12 @@ during development.
|
||||||
Gcc is used to verify the sanity of our C sources.
|
Gcc is used to verify the sanity of our C sources.
|
||||||
|
|
||||||
i686-unknown-linux-gnu-gcc is used to compare hex/assembly, to test
|
i686-unknown-linux-gnu-gcc is used to compare hex/assembly, to test
|
||||||
the gcc variant of Mes-libc: lib/libc-gcc.c and steal ideas. Target
|
the gcc variant of Mes C Libirary.
|
||||||
prefix: mlibc-gcc.
|
Target prefix: mes-gcc.
|
||||||
|
|
||||||
|
gcc (CC64) -nostdinc,-nostdlib is used to compare hex/assembly, to test
|
||||||
|
the 64bit variant of Mes C Library.
|
||||||
|
Target prefix: x86_64-mes-gcc.
|
||||||
|
|
||||||
Guile is used to develop MesCC, the C compiler in Scheme that during
|
Guile is used to develop MesCC, the C compiler in Scheme that during
|
||||||
bootstrapping will be executed by Mes.
|
bootstrapping will be executed by Mes.
|
||||||
|
@ -66,40 +71,31 @@ mes.c.
|
||||||
* ROADMAP
|
* ROADMAP
|
||||||
** TODO
|
** TODO
|
||||||
*** release 0.x, unsorted
|
*** release 0.x, unsorted
|
||||||
- upstream mes-boot to GuixSD.
|
- replace bootstrap utils with Gash: bash, coreutils, grep, gzip,
|
||||||
- replace bootstrap utils (with gash?): flex, bash, bzip2,
|
sed, tar.
|
||||||
coreutils, gawk, grep, gzip, sed, tar.
|
|
||||||
- tcc: remove or upstream patches from tcc-boot.
|
- tcc: remove or upstream patches from tcc-boot.
|
||||||
- tcc: build 0.9.27 directly instead of via 0.9.26,
|
- tcc: build 0.9.27 directly instead of via 0.9.26, see tinycc
|
||||||
see tinycc wip-bootstrappable@0.9.27 branch
|
wip-bootstrappable@0.9.27 branch
|
||||||
|
- mes: performance!
|
||||||
- mes: prepare src/mes.c for M2-Planet transpiler,
|
- mes: prepare src/mes.c for M2-Planet transpiler,
|
||||||
Jeremiah branched-out from mes; see https://github.com/oriansj/mes-m2.
|
Jeremiah branched-out from mes; see https://github.com/oriansj/mes-m2.
|
||||||
- mes: real module support, bonus for supporting Guile's define-module/define-public syntax.
|
- mes: real module support, bonus for supporting Guile's define-module/define-public syntax.
|
||||||
- mes: we're a full Scheme now, drop .MES suffix, use .SCM.
|
- mes/mescc: bootstrap a minimal-Guile?
|
||||||
+ find a way to fix foo.mes/foo.scm trickery (full Guile-like module support?)
|
|
||||||
+ how about setting `guile' or even `guile-2' cond-expand features
|
|
||||||
for external libraries (Nyacc) we look like Guile/Guile-2
|
|
||||||
internally, we could make sure to start every cond-expand with (mes)
|
|
||||||
- mes: use more efficient scheme continuation stack (wip-array?)
|
|
||||||
- mes: drop SCM stack in C / implement call/cc a la guile-1.8 setjmp?
|
|
||||||
- mes/mescc: bootstrap a minimal-Guile
|
|
||||||
+ libguile/{eval,init,list,strings,values,..}.c
|
+ libguile/{eval,init,list,strings,values,..}.c
|
||||||
+ ice-9/eval.scm
|
+ ice-9/eval.scm
|
||||||
- mescc: have mes-tcc pass all scaffold/tests, scaffold/tinycc tests.
|
- mescc: have mes-tcc pass all scaffold/tests, scaffold/tinycc tests.
|
||||||
- mescc: support long long.
|
- mescc: support long long?
|
||||||
- mescc: full support for floats?
|
- mescc: full support for floats?
|
||||||
- mescc: some success with 8cc,pcc,guile/libguile/eval.c.
|
- mescc: some success with 8cc,pcc,guile/libguile/eval.c?
|
||||||
- build: guile/guix/make.scm: add file-types, intermediate, hash all dependencies
|
- build: guile/guix/make.scm: add file-types, intermediate, hash all dependencies
|
||||||
- build: make.scm: imperative->declaritive
|
|
||||||
- get full source syntax-case up (Andre van Tonder?) OR drop it.
|
- get full source syntax-case up (Andre van Tonder?) OR drop it.
|
||||||
https://srfi.schemers.org/srfi-72/srfi-72.html
|
https://srfi.schemers.org/srfi-72/srfi-72.html
|
||||||
psyntax/syntax-case and rewrite Nyacc without syntax-case+R7RS Ellipsis.
|
psyntax/syntax-case and rewrite Nyacc without syntax-case+R7RS Ellipsis.
|
||||||
- mescc: split-off MesCC as as standalone Guile C compiler project.
|
- mescc: split-off MesCC as as standalone Guile C compiler project.
|
||||||
*** release 1.0
|
*** release 1.0
|
||||||
- replace GuixSD's bootstrap binaries for x86.
|
|
||||||
- add x86_64, replace GuixSD's bootstrap binaries for x86_64.
|
|
||||||
- more architectures (does GuixSD require this, i.e. before 1.0?).
|
- more architectures (does GuixSD require this, i.e. before 1.0?).
|
||||||
** DONE
|
** DONE
|
||||||
|
*** 0.18 GNU mes now supports GuixSD bootstrap (x86,x86_64) and has native x86_64 support.
|
||||||
*** 0.17.1 GNU Mes now allows removing glibc, binutils and gcc from the GuixSD bootstrap.
|
*** 0.17.1 GNU Mes now allows removing glibc, binutils and gcc from the GuixSD bootstrap.
|
||||||
*** 0.17 GNU Mes is now an official GNU project and bootstraps gcc-4.7.4.
|
*** 0.17 GNU Mes is now an official GNU project and bootstraps gcc-4.7.4.
|
||||||
*** 0.16.1 Mes now has info docs and installs ootb on Debian buster/testing.
|
*** 0.16.1 Mes now has info docs and installs ootb on Debian buster/testing.
|
||||||
|
@ -261,3 +257,7 @@ https://miyuki.github.io/2017/10/04/gcc-archaeology-1.html
|
||||||
** rain1's Bootstrapping Wiki: https://bootstrapping.miraheze.org/wiki/Main_Page
|
** rain1's Bootstrapping Wiki: https://bootstrapping.miraheze.org/wiki/Main_Page
|
||||||
** rain1's hex86
|
** rain1's hex86
|
||||||
https://notabug.org/rain1/hex86/src/master/tests/hex0b3.hex86
|
https://notabug.org/rain1/hex86/src/master/tests/hex0b3.hex86
|
||||||
|
** <pdewacht> janneke, have you ever tried testing mescc with csmith? [10:55]
|
||||||
|
** <pdewacht> e.g. as described here
|
||||||
|
https://jamey.thesharps.us/2016/07/15/testing-strategies-for-corrode/
|
||||||
|
("Randomized testing with Csmith and C-Reduce") [10:58]
|
||||||
|
|
4
INSTALL
4
INSTALL
|
@ -24,7 +24,7 @@ similar way.
|
||||||
|
|
||||||
*** Other GNU/Linux
|
*** Other GNU/Linux
|
||||||
- [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
|
- [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
|
||||||
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
|
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.86.0 is known to work.
|
||||||
- GNU Gcc, 4.9.3 is known to work.
|
- GNU Gcc, 4.9.3 is known to work.
|
||||||
- GNU Guile, version 2.0.12 or is know to work.
|
- GNU Guile, version 2.0.12 or is know to work.
|
||||||
- SH, /bin/sh, GNU Bash 4.3 is known to work.
|
- SH, /bin/sh, GNU Bash 4.3 is known to work.
|
||||||
|
@ -53,7 +53,7 @@ http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mes.scm?h=wip-bootst
|
||||||
|
|
||||||
** Prerequisites
|
** Prerequisites
|
||||||
- [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
|
- [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
|
||||||
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
|
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.86.0 is known to work.
|
||||||
- [[https://gitlab.com/janneke/mes-seed][mes-seed]], 0.17.1 is known to work.
|
- [[https://gitlab.com/janneke/mes-seed][mes-seed]], 0.17.1 is known to work.
|
||||||
|
|
||||||
** Build it
|
** Build it
|
||||||
|
|
17
NEWS
17
NEWS
|
@ -10,10 +10,23 @@ Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
|
||||||
Please send Mes bug reports to bug-mes@gnu.org.
|
Please send Mes bug reports to bug-mes@gnu.org.
|
||||||
|
|
||||||
* Changes in 0.17.1 since 0.17
|
* Changes in 0.18 since 0.17.1
|
||||||
** Core
|
** Core
|
||||||
|
*** Mes/MesCC now supports x86_64.
|
||||||
|
*** Mes/MesCC now brings a Reduced Binary Seed bootstrap to GuixSD.
|
||||||
|
** Language
|
||||||
|
*** fold-right now supports 3 lists.
|
||||||
** MesCC
|
** MesCC
|
||||||
*** Mes C Library has now been exploded into a separate C f per function.
|
*** MesCC now supports x86_64 (also as cross build), using -m 64.
|
||||||
|
*** Mes C Library now has better support for bootstrapping gcc-3.0.
|
||||||
|
*** Mes C test suite now has 178 tests; 74 tests were added.
|
||||||
|
*** MesCC has been refactored to support use an abstracted assembly language.
|
||||||
|
*** MesCC now uses Nyacc 0.86.0.
|
||||||
|
** Noteworthy bug fixes
|
||||||
|
*** scaffold/tests/7s-struct-short.c has been fixed.
|
||||||
|
* Changes in 0.17.1 since 0.17
|
||||||
|
** MesCC
|
||||||
|
*** Mes C Library has now been exploded into a separate C file per function.
|
||||||
*** Mes C Library now bootstraps glibc-2.16.0, binutils-2.20.1, gcc-4.7.4.
|
*** Mes C Library now bootstraps glibc-2.16.0, binutils-2.20.1, gcc-4.7.4.
|
||||||
*** Mes C Library now supports compiling make-3.82.
|
*** Mes C Library now supports compiling make-3.82.
|
||||||
*** Mes C Library now supports compiling diffutils-2.7.
|
*** Mes C Library now supports compiling diffutils-2.7.
|
||||||
|
|
24
README
24
README
|
@ -1,11 +1,11 @@
|
||||||
#+COMMENT: -*- org -*-
|
g#+COMMENT: -*- org -*-
|
||||||
#+TITLE: About GNU Mes
|
#+TITLE: About GNU Mes
|
||||||
|
|
||||||
#+SUBTITLE: Maxwell Equations of Software
|
#+SUBTITLE: Maxwell Equations of Software
|
||||||
|
|
||||||
[[https://www.gnu.org/software/mes][GNU Mes]] aims to help create full
|
[[https://www.gnu.org/software/mes][GNU Mes]] brings a [[http://joyofsource.com/reduced-binary-seed-bootstrap.html][Reduced Binary Seed bootstrap]] to [[https://www.gnu.org/software/guix][GuixSD]] and
|
||||||
source bootstrapping for GNU/Linux distributions such as
|
potentially to any other interested GNU/Linux distribution, and aims
|
||||||
[[https://www.gnu.org/software/guix][GuixSD]] as part of the
|
to help create a full source bootstrap as part of the
|
||||||
[[http://bootstrappable.org][bootstrappable builds]] effort.
|
[[http://bootstrappable.org][bootstrappable builds]] effort.
|
||||||
|
|
||||||
It consists of a mutual self-hosting Scheme interpreter written in
|
It consists of a mutual self-hosting Scheme interpreter written in
|
||||||
|
@ -20,9 +20,9 @@ C-compiler: MesCC.
|
||||||
|
|
||||||
Mes+MesCC can compile an only [[http://gitlab.com/janneke/tinycc][lightly patched TinyCC]] that is
|
Mes+MesCC can compile an only [[http://gitlab.com/janneke/tinycc][lightly patched TinyCC]] that is
|
||||||
self-hosting. Using this tcc and the Mes C library we now have a
|
self-hosting. Using this tcc and the Mes C library we now have a
|
||||||
reduced-binary-seed bootstrap for the gnutools triplet: glibc-2.16.0,
|
Reduced Binary Seed bootstrap for the gnutools triplet: glibc-2.2.5,
|
||||||
binutils-2.20.1, gcc-4.7.4. This is enough to replace the GuixSD
|
binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap GuixSD for
|
||||||
boostrap for i686-linux.
|
i686-linux and x86_64-linux.
|
||||||
|
|
||||||
Mes is inspired by The Maxwell Equations of Software: [[http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf][LISP-1.5]] -- John
|
Mes is inspired by The Maxwell Equations of Software: [[http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf][LISP-1.5]] -- John
|
||||||
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
||||||
|
@ -48,15 +48,17 @@ General Public Licence version 3 or later. See the file [[file:COPYING][COPYING
|
||||||
* REPL it
|
* REPL it
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
#+BEGIN_SRC bash
|
||||||
src/mes.gcc # default (64 bit) gcc-compiled
|
src/mes.gcc-out # default (64 bit) gcc-compiled
|
||||||
src/mes.mlibc-gcc # 32 bit, gcc -nostdlib
|
src/mes.mes-gcc-out # 32 bit, gcc -nostdlib, Mes C Lib
|
||||||
src/mes # 32 bit, bootstrapped, mes.M1+MesCC-compiled
|
src/mes.mes-out # 32 bit, bootstrapped, mes.M1+MesCC-compiled
|
||||||
|
src/mes.x86_64-mes-gcc-out # 64 bit, gcc -nostdlib, Mes C Lib
|
||||||
|
src/mes.x86_64-mes-out # 64 bit, bootstrapped, mes.M1+MesCC-compiled
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* MesCC compiler
|
* MesCC compiler
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
#+BEGIN_SRC bash
|
||||||
scripts/mescc -c scaffold/main.c
|
./pre-inst env mescc -c scaffold/main.c
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Bugs
|
* Bugs
|
||||||
|
|
2
configure
vendored
2
configure
vendored
|
@ -378,7 +378,7 @@ Some influential environment variables:
|
||||||
(make-dep "help2man" '(1 47) #:optional? #t)
|
(make-dep "help2man" '(1 47) #:optional? #t)
|
||||||
(make-dep "perl" '(5) #:optional? #t)
|
(make-dep "perl" '(5) #:optional? #t)
|
||||||
(make-dep "git" '(2) #:optional? #t))))
|
(make-dep "git" '(2) #:optional? #t))))
|
||||||
(deps (cons (check-program-version (make-dep "nyacc" '(0 80 41) #:commands (list (string-append (file-name "guile" deps) " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'")) #:file-name #t))
|
(deps (cons (check-program-version (make-dep "nyacc" '(0 86 0) #:commands (list (string-append (file-name "guile" deps) " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'")) #:file-name #t))
|
||||||
deps))
|
deps))
|
||||||
(deps (if (file-name "cc" deps)
|
(deps (if (file-name "cc" deps)
|
||||||
(cons* (check-header-c (make-dep "stdio.h"))
|
(cons* (check-header-c (make-dep "stdio.h"))
|
||||||
|
|
|
@ -1,90 +1,124 @@
|
||||||
digraph "Guix bag" {
|
digraph "Guix bag" {
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" [label = "gcc-mesboot@4.7.4", shape = box, fontname = Helvetica];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" [color = peachpuff4];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
|
"/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [color = darkviolet];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkviolet];
|
||||||
"/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = peachpuff4];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
|
"/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkviolet];
|
||||||
"/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = magenta];
|
"/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
|
"/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = red];
|
||||||
"/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
|
"/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
|
||||||
"/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = magenta];
|
"/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
|
||||||
"/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = magenta];
|
"/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = red];
|
||||||
"/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
|
"/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = red];
|
||||||
"/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" -> "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [color = cyan3];
|
"/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" -> "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" [color = cyan3];
|
"/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" -> "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = cyan3];
|
"/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" -> "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [label = "mes-boot@0.17", shape = box, fontname = Helvetica];
|
"/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" -> "/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = peachpuff4];
|
"/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
|
"/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" -> "/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" [color = cyan3];
|
||||||
"/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = peachpuff4];
|
"/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = cyan3];
|
||||||
"/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" [label = "mescc-tools-boot@0.4-1.f02b8f4", shape = box, fontname = Helvetica];
|
"/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = cyan3];
|
||||||
"/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
|
"/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" [label = "mescc-tools-boot@0.5.2", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
|
"/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
|
"/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" [label = "tcc-boot0@0.9.26-2.b7aa906", shape = box, fontname = Helvetica];
|
"/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [color = dimgrey];
|
"/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" [label = "tcc-boot0@0.9.26-4.46ee3f1", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = dimgrey];
|
"/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [color = darkseagreen];
|
||||||
"/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = dimgrey];
|
"/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" [color = darkseagreen];
|
||||||
"/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = dimgrey];
|
"/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
"/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
|
"/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = darkseagreen];
|
||||||
"/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [color = darkgoldenrod];
|
"/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
|
"/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [color = red];
|
||||||
"/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
"/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = red];
|
||||||
"/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
"/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
|
||||||
"/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = darkgoldenrod];
|
"/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
|
||||||
"/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
|
"/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = red];
|
||||||
"/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = blue];
|
"/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
|
"/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = blue];
|
||||||
"/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
|
"/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = blue];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
|
"/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = blue];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" [color = dimgrey];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = dimgrey];
|
||||||
"/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = magenta];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" [color = dimgrey];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
|
"/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = dimgrey];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = magenta];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = magenta];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = magenta];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = magenta];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" [label = "mesboot-headers@0.17", shape = box, fontname = Helvetica];
|
"/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkgoldenrod];
|
||||||
"/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = red];
|
"/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = red];
|
"/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
|
"/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
|
"/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkviolet];
|
||||||
"/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = darkseagreen];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
|
"/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkviolet];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = blue];
|
"/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = blue];
|
"/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = blue];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [color = blue];
|
"/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" [color = blue];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = blue];
|
"/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = blue];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
|
||||||
"/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = blue];
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkseagreen];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkgoldenrod];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkgoldenrod];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [color = darkgoldenrod];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkgoldenrod];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||||
|
"/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
208
doc/mes.texi
208
doc/mes.texi
|
@ -115,13 +115,19 @@ These were “Maxwell’s Equations of Software!”
|
||||||
@author Alan Kay
|
@author Alan Kay
|
||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
GNU Mes@footnote{``Mes'' is an acronym for the Maxwell Equations of
|
The purpose of GNU Mes@footnote{``Mes'' is an acronym for the Maxwell
|
||||||
Software.} consists of a mutual self-hosting Scheme interpreter written
|
Equations of Software.} is to help create a computer operating system
|
||||||
in C and a Nyacc-based (see @pxref{NYACC User's Guide,,, nyacc-ug, NYACC
|
that we can trust.
|
||||||
User's Guide}) C compiler written in Scheme.
|
|
||||||
|
|
||||||
The Scheme interpreter @file{mes.c} is about 5000LOC of restricted C and
|
Mes consists of a mutual self-hosting Scheme interpreter written in C
|
||||||
intended to be bootstrappable using a very simple C compiler.
|
and a Nyacc-based (see @pxref{NYACC User's Guide,,, nyacc-ug, NYACC
|
||||||
|
User's Guide}) C compiler written in Scheme. The Scheme interpreter
|
||||||
|
@file{mes.c} is about 5000LOC of restricted C and intended to be
|
||||||
|
bootstrappable using a very simple C compiler.
|
||||||
|
|
||||||
|
If we want to trust our computers to do what we instructed them to do
|
||||||
|
then we need to be able to inspect all instructions---all
|
||||||
|
softwares---that we have given it to run.
|
||||||
|
|
||||||
@section Software Freedom
|
@section Software Freedom
|
||||||
@cindex purpose
|
@cindex purpose
|
||||||
|
@ -154,11 +160,25 @@ essential freedoms:
|
||||||
@end enumerate
|
@end enumerate
|
||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
So we have access to the software, we have studied it, possibly modified
|
A computer operating system that respects the user's freedom is one
|
||||||
it, we built it and we installed it on a computer or some device. How
|
essential ingredient for building a reliable, trustable computing
|
||||||
can we trust that when we run the program we are indeed running the
|
system. There are about a dozen general purpose operating systems that
|
||||||
untainted product of the source code that we studied? Unless we are
|
can be trusted in this way, see
|
||||||
certain of this we cannot really enjoy freedom 1.
|
@url{https://www.gnu.org/distros/free-distros.html, Free Distributions}.
|
||||||
|
For all softwares on such a system we have the full source code and
|
||||||
|
build recipes available.
|
||||||
|
|
||||||
|
@c The Free System Distribution Guidelines (GNU FSDG)@footnote{Examples of
|
||||||
|
@c free operating systems are GNU GuixSD, GNU Parabola and Trisquel, see
|
||||||
|
@c https://www.gnu.org/distros/free-system-distribution-guidelines.html}
|
||||||
|
@c can serve as help to create such a system
|
||||||
|
|
||||||
|
So we have access to all the software, we have studied it, possibly
|
||||||
|
modified it, then we built it and we installed it on a computer or some
|
||||||
|
device or appliance. How can we trust that when we run the program we
|
||||||
|
are indeed running the untainted product of the source code that we
|
||||||
|
studied? Unless we are certain of this we cannot really enjoy
|
||||||
|
Freedom 1.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Reproducible Builds:: Reproducibility and free software.
|
* Reproducible Builds:: Reproducibility and free software.
|
||||||
|
@ -170,8 +190,10 @@ certain of this we cannot really enjoy freedom 1.
|
||||||
@section Reproducible Builds
|
@section Reproducible Builds
|
||||||
|
|
||||||
The current Reproducible Builds effort incubated in the Debian
|
The current Reproducible Builds effort incubated in the Debian
|
||||||
project@footnote{@url{http://debian.org, The Debian Project}} and was organized by Lunar. Quoting
|
project@footnote{@url{http://debian.org, The Debian Project}} and was
|
||||||
the Reproducible Builds website@footnote{@url{https://reproducible-builds.org/,Reproducible Builds}}
|
organized by Lunar. Quoting the Reproducible Builds
|
||||||
|
website@footnote{@url{https://reproducible-builds.org/,Reproducible
|
||||||
|
Builds}}
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
A build is reproducible if given the same source code, build environment
|
A build is reproducible if given the same source code, build environment
|
||||||
|
@ -183,11 +205,11 @@ copies of all specified artifacts.
|
||||||
|
|
||||||
Now consider the opposite, that a second build of a piece of source code
|
Now consider the opposite, that a second build of a piece of source code
|
||||||
produces a different binary program. Upon further investigation we
|
produces a different binary program. Upon further investigation we
|
||||||
might find that the only difference is a timestamp that was embedded in
|
might find that the only difference is probably harmless: a timestamp
|
||||||
the binary, or perhaps the name of the directory it was built in. Such
|
that was embedded in the binary, or perhaps the name of the user that
|
||||||
investigations can be nontrivial and are highly unpractical. And what
|
built it or directory it was built in. Such investigations can be
|
||||||
if the binary difference is not so trivial, cannot be easily accounted
|
nontrivial and are highly unpractical. And what if the binary
|
||||||
for?
|
difference is not so trivial, cannot be easily accounted for?
|
||||||
|
|
||||||
A piece of software that cannot be built bit-by-bit reproducible is
|
A piece of software that cannot be built bit-by-bit reproducible is
|
||||||
probably not a good community member in the world of software freedom.
|
probably not a good community member in the world of software freedom.
|
||||||
|
@ -233,8 +255,8 @@ seeds that are used to start building the distribution.
|
||||||
|
|
||||||
The GNU GuixSD operating system has a relatively small closure of
|
The GNU GuixSD operating system has a relatively small closure of
|
||||||
bootstrap binaries: GNU binutils, GNU gcc, GNU Libc, GNU Guile, and
|
bootstrap binaries: GNU binutils, GNU gcc, GNU Libc, GNU Guile, and
|
||||||
``Static binaries'' (think: bash, coreutils, diffutils, findutils,
|
``Static binaries'' (think: bash, bzip2, coreutils, gawk, grep, gzip,
|
||||||
gawk, grep, gzip, make, sed, tar)
|
patch, sed, tar, xz).
|
||||||
|
|
||||||
@example
|
@example
|
||||||
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
|
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
|
||||||
|
@ -267,16 +289,113 @@ $ du -schx *
|
||||||
There is an obvious solution: we cannot allow any binary seeds in our
|
There is an obvious solution: we cannot allow any binary seeds in our
|
||||||
software stack. Not even in the bootstrap binaries. Maybe that is a
|
software stack. Not even in the bootstrap binaries. Maybe that is a
|
||||||
bit too strong: we want to have the absolute minimum of binary seeds and
|
bit too strong: we want to have the absolute minimum of binary seeds and
|
||||||
all binary seeds need to be inspectable and must be reviewed.
|
all binary seeds need to be inspectable and must be reviewed. How big
|
||||||
|
would the absolute minimal set be?
|
||||||
|
|
||||||
@subsection The Magical Self-Hosting Hex Assembler
|
@subsection The Magical Self-Hosting Hex Assembler
|
||||||
|
|
||||||
June 2016 I learnt about
|
June 2016 I learnt about
|
||||||
@url{https://github.com/oriansj/stage0/,Stage0}. Jeremiah Orians
|
@url{https://github.com/oriansj/stage0/,Stage0}. Jeremiah Orians
|
||||||
created `hex0' a ~500 byte self-hosting hex assembler. The source code
|
created @file{hex0} a ~500 byte self-hosting hex assembler. The source
|
||||||
is well documented and the binary is the exact mirror of the source
|
code is well documented and the binary is the exact mirror of the source
|
||||||
code. I was inspired: what if we could bootstrap a whole GNU
|
code. I was inspired.
|
||||||
distribution from source, using only an initial 500 byte binary seed?
|
|
||||||
|
Here is an example of what the @file{hex0} program looks like; the start
|
||||||
|
of the @var{hex} function
|
||||||
|
|
||||||
|
@example
|
||||||
|
00000060: 4883 f830 7c6f 4883 f83a 7c5a 4883 f841 H..0|oH..:|ZH..A
|
||||||
|
@dots{}
|
||||||
|
000000d0: 48c7 c0ff ffff ffc3 0000 0000 0000 0000 H...............
|
||||||
|
000000e0: 4883 e830 c300 0000 0000 0000 0000 0000 H..0............
|
||||||
|
@end example
|
||||||
|
|
||||||
|
All computer programs look like this: an opaque list of computer codes.
|
||||||
|
The initial programs that we take for granted---the bootstrap
|
||||||
|
binaries---are about 250MB of such numbers: think 250,000 pages full of
|
||||||
|
numbers.
|
||||||
|
|
||||||
|
Most computers work pretty well so apparently there is not a pressing
|
||||||
|
need to inspect and study all of these codes. At the same time it is
|
||||||
|
tricky to fully trust@footnote{ Ken Thompson's 1984 Turing award
|
||||||
|
acceptance speech
|
||||||
|
@url{http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf,
|
||||||
|
Reflections on Trusting Tust}.} a computer that was bootstrapped in this
|
||||||
|
way.
|
||||||
|
|
||||||
|
Here is what the source code of the @file{hex0} assembler looks like
|
||||||
|
|
||||||
|
@example
|
||||||
|
## function: hex
|
||||||
|
48 83 f8 30 # cmp $0x30,%rax
|
||||||
|
7c 6f # jl 6000f3 <ascii_other>
|
||||||
|
48 83 f8 3a # cmp $0x3a,%rax
|
||||||
|
7c 5a # jl 6000e4 <ascii_num>
|
||||||
|
48 83 f8 41 # cmp $0x41,%rax
|
||||||
|
@dots{}
|
||||||
|
## function: ascii_other
|
||||||
|
48 c7 c0 ff ff ff ff # mov $0xffffffffffffffff,%rax
|
||||||
|
c3 # ret
|
||||||
|
@dots{}
|
||||||
|
## function: ascii_num
|
||||||
|
48 83 e8 30 # sub $0x30,%rax
|
||||||
|
c3 # ret
|
||||||
|
@end example
|
||||||
|
|
||||||
|
While it may be hard to understand what this piece of the program does,
|
||||||
|
it should be possible for anyone to verify that the computer codes above
|
||||||
|
correspond to the source code with comments.
|
||||||
|
|
||||||
|
One step beyond these annotated codes is Assembly language. To write a
|
||||||
|
program in Assembly, you only need to provide the instructions; the
|
||||||
|
codes are computed by the @file{assembler} program.
|
||||||
|
|
||||||
|
@example
|
||||||
|
hex:
|
||||||
|
# deal all ascii less than 0
|
||||||
|
cmp $48, %rax
|
||||||
|
jl ascii_other
|
||||||
|
# deal with 0-9
|
||||||
|
cmp $58, %rax
|
||||||
|
jl ascii_num
|
||||||
|
@dots{}
|
||||||
|
ascii_other:
|
||||||
|
mov $-1, %rax
|
||||||
|
ret
|
||||||
|
ascii_num:
|
||||||
|
sub $48, %rax
|
||||||
|
ret
|
||||||
|
@end example
|
||||||
|
|
||||||
|
More readable still, a similar program text in the C programming language.
|
||||||
|
|
||||||
|
@example
|
||||||
|
int
|
||||||
|
hex (int c)
|
||||||
|
@{
|
||||||
|
if (c >= '0' && c <= '9')
|
||||||
|
return c - 48;
|
||||||
|
@dots{}
|
||||||
|
@}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
What if we could bootstrap our entire system from only this one
|
||||||
|
@file{hex0} assembler binary seed? We would only ever need to inspect
|
||||||
|
these 500 bytes of computer codes. Every@footnote{Some program
|
||||||
|
languages have become very hard or practically impossible to bootstrap.
|
||||||
|
Instead of depending on a simple language such as C, they depend on a
|
||||||
|
recent version of itself, or on other binary or ASCII seeds, on other
|
||||||
|
recent programs written in that language, or even on manual
|
||||||
|
intervention. Programs written in a language that cannot be
|
||||||
|
bootstrapped can still run on our systems, but cannot enjoy any of the
|
||||||
|
trust we intend to create.} later program is written in a more friendly
|
||||||
|
programming language: Assembly, C, @dots{} Scheme.
|
||||||
|
|
||||||
|
Inspecting all these programs is a lot of work, but it can certainly be
|
||||||
|
done. We might be able to create a fully inspectable path from almost
|
||||||
|
nothing to all of the programs that our computer runs. Something that
|
||||||
|
seemed to be an impossible dream is suddenly starting to look like
|
||||||
|
``just a couple years of work''.
|
||||||
|
|
||||||
@subsection LISP as Maxwell's Equations of Software
|
@subsection LISP as Maxwell's Equations of Software
|
||||||
|
|
||||||
|
@ -298,8 +417,8 @@ over.
|
||||||
|
|
||||||
Our starting point is @file{hex0}, a 500 byte hex assembler and we need
|
Our starting point is @file{hex0}, a 500 byte hex assembler and we need
|
||||||
to somehow close the gap to building the bootstrap binaries, esp. GNU
|
to somehow close the gap to building the bootstrap binaries, esp. GNU
|
||||||
Gcc and GNU Libc. What better way to do that than by leveraging the
|
Gcc and the GNU C Library. What better way to do that than by
|
||||||
powers of LISP?
|
leveraging the powers of LISP?
|
||||||
|
|
||||||
GNU Mes is a Scheme@footnote{Scheme is a modern LISP} interpreter that
|
GNU Mes is a Scheme@footnote{Scheme is a modern LISP} interpreter that
|
||||||
will be indirectly bootstrapped from @file{hex0} and that wields the
|
will be indirectly bootstrapped from @file{hex0} and that wields the
|
||||||
|
@ -337,9 +456,7 @@ GNU Mes depends on the following packages:
|
||||||
@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or
|
@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or
|
||||||
later, including 2.2.x;
|
later, including 2.2.x;
|
||||||
@item @url{http://www.gnu.org/software/make/, GNU Make}.
|
@item @url{http://www.gnu.org/software/make/, GNU Make}.
|
||||||
@item @url{https://savannah.gnu.org/projects/nyacc/, NYACC}, currently only the patched
|
@item @url{https://savannah.gnu.org/projects/nyacc/, NYACC}, 0.86.0 is known to work.
|
||||||
version 0.80.42 from @url{http://gitlab.com/janneke/nyacc/, patched
|
|
||||||
NYACC} is known to work.
|
|
||||||
@item @url{http://gcc.gnu.org, GCC's gcc}, version 2.95.3 or later.
|
@item @url{http://gcc.gnu.org, GCC's gcc}, version 2.95.3 or later.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@ -409,8 +526,8 @@ MES_BOOT=scaffold/boot/00-zero.scm src/mes
|
||||||
Run a single Mes Scheme test
|
Run a single Mes Scheme test
|
||||||
|
|
||||||
@example
|
@example
|
||||||
tests/boot.test
|
./pre-inst-env tests/boot.test
|
||||||
tests/boot.test-guile
|
MES=guile ./pre-inst-env tests/boot.test
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Run MesCC tests only
|
Run MesCC tests only
|
||||||
|
@ -474,9 +591,9 @@ responsibility.
|
||||||
@section The Mes Bootstrap Process
|
@section The Mes Bootstrap Process
|
||||||
|
|
||||||
The Mes full source bootstrap process@footnote{TBH, the current state of
|
The Mes full source bootstrap process@footnote{TBH, the current state of
|
||||||
affairs demands to label this a `reduced binary seed bootstrap'} is
|
affairs demands to label this a `Reduced Binary Seed bootstrap'} is
|
||||||
currently being developed in GuixSD@footnote{See
|
currently being developed in GuixSD@footnote{See
|
||||||
@file{gnu/packages/mes.scm} in the @var{wip-bootstrap} branch in Guix
|
@file{gnu/packages/commencement.scm} in the @var{core-updates-next} branch in Guix
|
||||||
git
|
git
|
||||||
@url{http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mes.scm?h=wip-bootstrap}}.
|
@url{http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mes.scm?h=wip-bootstrap}}.
|
||||||
In it's intiial form it is only available for x86-linux.
|
In it's intiial form it is only available for x86-linux.
|
||||||
|
@ -505,7 +622,7 @@ glibc-source + binutils + gcc + glibc0 => glibc
|
||||||
|
|
||||||
@c This graph is generated from wip-bootstrap, doing:
|
@c This graph is generated from wip-bootstrap, doing:
|
||||||
|
|
||||||
@c ~/src/guix-bootstrap/pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) gcc-mesboot))' doc/images/gcc-mesboot-graph.dot
|
@c ~/src/guix-boot/pre-inst-env guix graph --type=bag -e '(@@ (gnu packages commencement) gcc-mesboot)' doc/images/gcc-mesboot-graph.dot
|
||||||
@c dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png
|
@c dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png
|
||||||
|
|
||||||
Here's a generated dependency diagram to for the final bootstrap gcc
|
Here's a generated dependency diagram to for the final bootstrap gcc
|
||||||
|
@ -519,8 +636,8 @@ injected by our own doing as temporary shortcut
|
||||||
mescc-tools-seed, mes-seed, tinycc-seed
|
mescc-tools-seed, mes-seed, tinycc-seed
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
These additional non-bootstrapped dependencies (i.e., binary seeds) are
|
For now, these additional non-bootstrapped dependencies (i.e., binary
|
||||||
taken for granted
|
seeds) are taken for granted
|
||||||
|
|
||||||
@example
|
@example
|
||||||
BOOTSTRAP-GUILE, bash, bzip2, coreutils, gawk, grep, gzip, patch, sed,
|
BOOTSTRAP-GUILE, bash, bzip2, coreutils, gawk, grep, gzip, patch, sed,
|
||||||
|
@ -889,24 +1006,25 @@ without any effort.
|
||||||
|
|
||||||
However, please don't let our preference stop you from reporting a bug.
|
However, please don't let our preference stop you from reporting a bug.
|
||||||
There's one thing @emph{much} worse for us than getting a bug report
|
There's one thing @emph{much} worse for us than getting a bug report
|
||||||
without a patch: Reading a complaint or rant online about your pain and
|
without a patch: Reading a complaint or rant online about your
|
||||||
how our work sucks, without having heard directly what you experienced.
|
frustrations and how our work sucks, without having heard directly what
|
||||||
|
you experienced.
|
||||||
|
|
||||||
So if you report a problem, will it be fixed? And @strong{when}? The
|
So if you report a problem, will it be fixed? And @strong{when}? The
|
||||||
most honest answer is: It depends. Let's curry that informationless
|
most honest answer is: It depends. Let's curry that informationless
|
||||||
honesty with a more helpful and more blunt reminder of a mantra of Free
|
honesty with a more helpful and more blunt reminder of a mantra of free
|
||||||
Software:
|
software:
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
@table @strong
|
@table @strong
|
||||||
@item Q:
|
@item Q:
|
||||||
When@dots{}?
|
When will it be finished?
|
||||||
|
|
||||||
@item A:
|
@item A:
|
||||||
@dots{}sooner if you help.
|
It will be ready sooner if you help.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@author Eric Raymond
|
@author Richard Stallman
|
||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
@cindex contact, irc, mailing list
|
@cindex contact, irc, mailing list
|
||||||
|
@ -922,7 +1040,7 @@ Please send bug reports with full details to @email{bug-mes@@gnu.org}.
|
||||||
|
|
||||||
We would like to thank the following people for their help: Jeremiah
|
We would like to thank the following people for their help: Jeremiah
|
||||||
Orians, pdewacht, rain1, Ricardo Wurmus, Rutger van Beusekom.
|
Orians, pdewacht, rain1, Ricardo Wurmus, Rutger van Beusekom.
|
||||||
w
|
|
||||||
We also thank Ludovic Courtès for creating GuixSD and making the
|
We also thank Ludovic Courtès for creating GuixSD and making the
|
||||||
bootstrap problem so painfully visible, John McCarthy for creating
|
bootstrap problem so painfully visible, John McCarthy for creating
|
||||||
LISP-1.5 and Alan Kay for their inspiring comment on
|
LISP-1.5 and Alan Kay for their inspiring comment on
|
||||||
|
|
Loading…
Reference in a new issue