GNU bug report logs - #38390
[core-updates] Scheme-only bootstrap: merge wip-bootstrap

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Severity: important; Reported by: Jan Nieuwenhuizen <janneke@HIDDEN>; Keywords: patch; dated Tue, 26 Nov 2019 16:39:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.
Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) patch. Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 8 Dec 2019 22:11:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 08 17:11:23 2019
Received: from localhost ([127.0.0.1]:52367 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ie4ls-0006cP-24
	for submit <at> debbugs.gnu.org; Sun, 08 Dec 2019 17:11:23 -0500
Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:50099)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <samplet@HIDDEN>) id 1ie4lp-0006bt-I2
 for 38390 <at> debbugs.gnu.org; Sun, 08 Dec 2019 17:11:18 -0500
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id D4E8D725;
 Sun,  8 Dec 2019 17:11:11 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Sun, 08 Dec 2019 17:11:12 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=PYxQGm
 2e7JBZDcX3mLE0ERrSSXUHW4sIbsPP3bkpyA8=; b=JxdR6aJbmPMzFw2KlWAnjG
 +sT2+sFYVRPNc5KqQihy3Yz7qqciw3gP8Rj4dfF9+jSoHKeEMn1EG3HJVEjPgQjw
 Hai4pbMj2BIgt7UrBCSgMKLbeFogR7/yBvPGYYfqjFW+MDdrhCv9sgMmM3XtUdy6
 kddka2dWsvINvtbF24je0l3OB7SLj6DGHqupO/7aiMrzaUL1dBV2BB6PK58bBoyY
 wLqjvbzeNCzK92SCG469MVc787GhEu7PHrzU9PMAyRx2YgXqkXsewBctgZ/lYHl2
 wChHqVD0PAflyHRi5Z7ObSdudUYFSLYareIdNanEL1Y8AiI/zugVPJT/KLs0F+gA
 ==
X-ME-Sender: <xms:_3TtXTm7VN28vJbZR7IEFLrEgv7HXZgceD6sOchYOcKWY4G37yCdJg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudekjedgudehlecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecunecujfgurhephffvufhfffgjkfgfgggtsehmtd
 erredtreejnecuhfhrohhmpefvihhmohhthhihucfurghmphhlvgcuoehsrghmphhlvght
 sehnghihrhhordgtohhmqeenucffohhmrghinhepghhithhlrggsrdgtohhmpdhgihhthh
 husgdrtghomhenucfkphepjeegrdduudeirddukeeirdeggeenucfrrghrrghmpehmrghi
 lhhfrhhomhepshgrmhhplhgvthesnhhghihrohdrtghomhenucevlhhushhtvghrufhiii
 gvpedt
X-ME-Proxy: <xmx:_3TtXeTkphWVKjkyesdd97f1n0-3oAj11Norir8lsmM1XjqwEFogYQ>
 <xmx:_3TtXXBVYhgqAhVhhV6ot2PhH7cebSbL-1z3bPj-qWB2GwLIoa5_yg>
 <xmx:_3TtXVSEq4Z258pS-C0zaWZtlMbOiKTzZQxACm-vXsoGwQzXi1Jepw>
 <xmx:_3TtXfvkg7pszfz10kpO_bXYj5LRqXOHFGUvUk8EEQLSOoqaGsV3QQ>
Received: from mrblack (74-116-186-44.qc.dsl.ebox.net [74.116.186.44])
 by mail.messagingengine.com (Postfix) with ESMTPA id 21D6930600D7;
 Sun,  8 Dec 2019 17:11:11 -0500 (EST)
From: Timothy Sample <samplet@HIDDEN>
To: Jan Nieuwenhuizen <janneke@HIDDEN>
Subject: Re: Gash 0.2.0
References: <87muc8g68f.fsf@HIDDEN> <87eexk1mag.fsf@HIDDEN>
 <878snped7a.fsf@HIDDEN> <87tv6bv9ds.fsf@HIDDEN>
 <87d0cyh96s.fsf@HIDDEN>
Date: Sun, 08 Dec 2019 17:11:10 -0500
In-Reply-To: <87d0cyh96s.fsf@HIDDEN> (Jan Nieuwenhuizen's message of "Sun, 08
 Dec 2019 21:08:27 +0100")
Message-ID: <877e36v56p.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 38390
Cc: 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Jan,

Jan Nieuwenhuizen <janneke@HIDDEN> writes:

> Timothy Sample writes:
>
> [cc: 38390 <at> debbugs.gnu.org]
>
> Hi Timothy,
>
>> There=E2=80=99s one last thing I need from you (besides an OK on your te=
st
>> whenever you get to it).
>
> I just found two things I'm not too happy about.  Both stem from using
> our bootstrap guile-2.0.9.  Previously, I used guile-2.0 (=3D 2.0.14) to
> compile the .go files that were later used during bootstrap.

I did all of my bootstrapping tests with the bootstrap Guile.  I=E2=80=99ve
attached my package definition for reference (it belongs in
=E2=80=9Ccommencement.scm=E2=80=9D).  The reason I say this is to reassure =
you that
going from 2.0.14 to 2.0.9 shouldn=E2=80=99t be too disruptive.

> When I build `gash-boot' on my real experimental `wip-boot' guix branch
> at gitlab (https://gitlab.com/janneke/guix/tree/wip-boot) like so
>
>     ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gash-bo=
ot)'
>
> and run gash, I get:
>
> 20:44:25 janneke@dundal:~/src/guix/wip-boot [env]
> $ ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gash-boot=
)'
> /gnu/store/hihv59xdpqfnijb5i2mi0g8wg09qphi4-gash-boot-0.1.50-c1b8
> 20:44:32 janneke@dundal:~/src/guix/wip-boot [env]
> $ /gnu/store/8bl7iqln6qaajr3d6kwbyvkzy2gvr4rf-gash-boot-0.1.50-c1b8/bin/g=
ash --version
> %% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 242
>

Snipping a thousand more =E2=80=9CShift/Reduce=E2=80=9D warnings....

>
> Backtrace:
> In ice-9/boot-9.scm:
> 3966: 19 [#<procedure 152f880 at ice-9/boot-9.scm:3961:3 ()>]
> 1645: 18 [%start-stack load-stack ...]
> 1650: 17 [#<procedure 1534540 ()>]
> In unknown file:
>    ?: 16 [primitive-load "/gnu/store/8bl7iqln6qaajr3d6kwbyvkzy2gvr4rf-gas=
h-boot-0.1.50-c1b8/bin/gash"]
> In ice-9/eval.scm:
>  505: 15 [#<procedure 13fba20 at ice-9/eval.scm:499:4 (exp)> (define # # =
#)]
> In ice-9/psyntax.scm:
> 1101: 14 [expand-top-sequence ((define (main args) (setenv "SHELL" #) ...=
)) () ...]
> 1259: 13 [#<procedure 1488120 at ice-9/psyntax.scm:1067:36 ()>]
> 1605: 12 [expand-simple-lambda (# . #) () (()) ...]
> 1509: 11 [parse ((# . #) (# . #)) () () ...]
> In ice-9/boot-9.scm:
>  625: 10 [map #<procedure 1538f60 at ice-9/psyntax.scm:1510:50 (x)> (# #)]
> In ice-9/psyntax.scm:
> 1257: 9 [#<procedure 1538f60 at ice-9/psyntax.scm:1510:50 (x)> (# . #)]
> 1186: 8 [syntax-type (# #) (# #) (# # #) ...]
>  579: 7 [syntax-type main (# #) (#) ...]
>  293: 6 [get-global-definition-hook main (public gash gash)]
> In ice-9/boot-9.scm:
> 2708: 5 [#<procedure 14a3f20 at ice-9/boot-9.scm:2696:4 (name #:optional =
autoload version #:key ensure)> # ...]
> 2981: 4 [try-module-autoload (gash gash) #f]
> 2320: 3 [save-module-excursion #<procedure 15389f0 at ice-9/boot-9.scm:29=
82:17 ()>]
> 3001: 2 [#<procedure 15389f0 at ice-9/boot-9.scm:2982:17 ()>]
> In unknown file:
>    ?: 1 [primitive-load-path "gash/gash" ...]
>    ?: 0 [setlocale 6 ""]
>
> ERROR: In procedure setlocale:
> ERROR: In procedure setlocale: Invalid argument
> [1]20:44:45 janneke@dundal:~/src/guix/wip-boot [env]
> $=20
>
> If I set LC_ALL=3DC=20
>
>     LC_ALL=3DC
> /gnu/store/8bl7iqln6qaajr3d6kwbyvkzy2gvr4rf-gash-boot-0.1.50-c1b8/bin/gash
> --version
>
> then I (of course) still get the Shift/Reduce warnings and everything
> "seems" to work.  It seems that the empty locale is problematic for
> guile 2.0.9 or our bootstrap environment.  I just tried a patch and
> pushed to my wip-0.2.0.

I added (at the last minute) the call to =E2=80=9Csetlocale=E2=80=9D to nor=
malize some
differences between Guile 2 and Guile 2.2 (I was getting test failures
without it).  From reading Guile=E2=80=99s NEWS, version 2.2 started
initializing the locale automatically, so I =E2=80=9Cbackported=E2=80=9D th=
at to Guile 2
by calling =E2=80=9Csetlocale=E2=80=9D with an empty string (as discussed i=
n the
manual).  Anyway, this is definitely my fault!  Perhaps it should try
that and then fall back on =E2=80=9C(setlocale LC_ALL "C")=E2=80=9D if ther=
e is a
problem.  I=E2=80=99ll figure it out before releasing.

> I am less cheerful about the Shift/Reduce warnings; I am afraid they
> might break something somewhere during the bootstrap build.  Any ideas
> why these surface at this time?  I'll play some more with
> lalr.upstream.scm versions...

My understanding is that these are spurious.  There is upstream commit
92b64f9b3c02b0086a4aea7cbe7dc38376768150 which is not included in Guile
2.0.9 but included in later versions (maybe starting with 2.0.10 =E2=80=93 I
don=E2=80=99t recall).  The commit message is =E2=80=9CNo more unexpected s=
hift-reduce
conflicts with LR driver.=E2=80=9D  See <https://github.com/schemeway/lalr-=
scm>.
Since the newer versions are fine with the parser, and I have parsed
oodles of shell script using Guile 2.0.9, I think the these warnings are
just the result of a bug.  :)


-- Tim


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=gash-boot.scm

(define gash-boot
  (package-with-bootstrap-guile
   (package
     (inherit gash)
     (name "gash-boot")
     (source (origin
               (method url-fetch)
               ;; This should point to the result of `make dist' from
               ;; commit b5831f715eabd857a17d10ea6ce06439aecf8014.
               (uri "file:///home/debian/gash/gash-0.1.40-b583.tar.gz")
               (sha256
                (base32
                 "04cm8y39wgcvx83b38yndi1d9fwf1ahvvzzpd54h7p18r43irmkl"))))
     (arguments
      `(#:implicit-inputs? #f
        #:guile ,%bootstrap-guile
        #:phases
        (modify-phases %standard-phases
          (delete 'patch-source-shebangs)
          (replace 'configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (guile-dir (assoc-ref inputs "guile"))
                     (guile (string-append guile-dir "/bin/guile"))
                     (moddir (string-append out "/share/guile/site/"
                                            (effective-version)))
                     (godir (string-append out "/lib/guile/"
                                           (effective-version)
                                           "/site-ccache")))
                (format #t "Configuring gash/config.scm.in~%")
                (copy-file "gash/config.scm.in" "gash/config.scm")
                (substitute* "gash/config.scm"
                  (("@VERSION@") ,(package-version gash)))
                (format #t "Configuring scripts/gash.in~%")
                (copy-file "scripts/gash.in" "scripts/gash")
                (substitute* "scripts/gash"
                  (("@GUILE@") guile)
                  (("@MODDIR@") moddir)
                  (("@GODIR@") godir))
                #t)))
          (delete 'patch-generated-file-shebangs)
          (replace 'build
            (lambda _
              (add-to-load-path (getcwd))
              (for-each (lambda (scm)
                          (let* ((base (string-drop-right scm 4))
                                 (go (string-append base ".go"))
                                 (dir (dirname scm)))
                            (format #t "Compiling ~a~%" scm)
                            (compile-file scm #:output-file go)))
                        (find-files "gash" "\\.scm$"))
              #t))
          (delete 'check)
          (replace 'install
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (guile-dir (assoc-ref inputs "guile"))
                     (guile (string-append guile-dir "/bin/guile"))
                     (moddir (string-append out "/share/guile/site/"
                                            (effective-version)))
                     (godir (string-append out "/lib/guile/"
                                           (effective-version)
                                           "/site-ccache")))
                (for-each (lambda (scm)
                            (let* ((base (string-drop-right scm 4))
                                   (go (string-append base ".go"))
                                   (dir (dirname scm)))
                              (format #t "Installing ~a~%" scm)
                              (install-file scm (string-append moddir "/" dir))
                              (format #t "Installing ~a~%" go)
                              (install-file go (string-append godir "/" dir))))
                          (find-files "gash" "\\.scm$"))
                (format #t "Installing scripts/gash~%")
                (install-file "scripts/gash" (string-append out "/bin"))
                (chmod (string-append out "/bin/gash") #o555)
                (symlink (string-append out "/bin/gash")
                         (string-append out "/bin/sh"))
                (symlink (string-append out "/bin/gash")
                         (string-append out "/bin/bash"))
                #t))))))
     (inputs `(("guile" ,%bootstrap-guile)))
     (native-inputs `(("coreutils" ,%bootstrap-coreutils&co))))))

--=-=-=--




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 8 Dec 2019 20:08:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 08 15:08:41 2019
Received: from localhost ([127.0.0.1]:52261 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ie2r7-00082A-7Y
	for submit <at> debbugs.gnu.org; Sun, 08 Dec 2019 15:08:41 -0500
Received: from eggs.gnu.org ([209.51.188.92]:49549)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@HIDDEN>) id 1ie2r4-00081x-MD
 for 38390 <at> debbugs.gnu.org; Sun, 08 Dec 2019 15:08:35 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:49115)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <janneke@HIDDEN>)
 id 1ie2qz-0008CA-H2; Sun, 08 Dec 2019 15:08:29 -0500
Received: from [2001:980:1b4f:1:42d2:832d:bb59:862] (port=44588
 helo=dundal.peder.onsbrabantnet.nl)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <janneke@HIDDEN>)
 id 1ie2qy-0001aP-PS; Sun, 08 Dec 2019 15:08:29 -0500
From: Jan Nieuwenhuizen <janneke@HIDDEN>
To: Timothy Sample <samplet@HIDDEN>
Subject: Re: Gash 0.2.0
Organization: AvatarAcademy.nl
References: <87muc8g68f.fsf@HIDDEN> <87eexk1mag.fsf@HIDDEN>
 <878snped7a.fsf@HIDDEN> <87tv6bv9ds.fsf@HIDDEN>
X-Url: http://AvatarAcademy.nl
Date: Sun, 08 Dec 2019 21:08:27 +0100
In-Reply-To: <87tv6bv9ds.fsf@HIDDEN> (Timothy Sample's message of "Sat, 07
 Dec 2019 21:28:15 -0500")
Message-ID: <87d0cyh96s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Timothy Sample writes:

[cc: 38390 <at> debbugs.gnu.org]

Hi Timothy,

> There=E2=80=99s one last thing I need from you (besides an OK on your test
> whenever you get to it).

I just found two things I'm not too happy about.  Both stem from using
our bootstrap guile-2.0.9.  Previously, I used guile-2.0 (=3D 2.0.14) to
compile the .go files that were later used during bootstrap.

When I build `gash-boot' on my real experimental `wip-boot' guix branch
at gitlab (https://gitlab.com/janneke/guix/tree/wip-boot) like so

    ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gash-boot=
)'

and run gash, I get:

--8<---------------cut here---------------start------------->8---
20:44:25 janneke@dundal:~/src/guix/wip-boot [env]
$ ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gash-boot)'
/gnu/store/hihv59xdpqfnijb5i2mi0g8wg09qphi4-gash-boot-0.1.50-c1b8
20:44:32 janneke@dundal:~/src/guix/wip-boot [env]
$ /gnu/store/8bl7iqln6qaajr3d6kwbyvkzy2gvr4rf-gash-boot-0.1.50-c1b8/bin/gas=
h --version
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 242
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 241
%% Shift/Reduce conflict (shift 25, reduce 50) on 'LESS' in state 236
%% Shift/Reduce conflict (shift 24, reduce 50) on 'GREAT' in state 236
%% Shift/Reduce conflict (shift 23, reduce 50) on 'LPAREN' in state 236
%% Shift/Reduce conflict (shift 241, reduce 50) on 'DSEMI' in state 236
%% Shift/Reduce conflict (shift 22, reduce 50) on 'DLESS' in state 236
%% Shift/Reduce conflict (shift 21, reduce 50) on 'DGREAT' in state 236
%% Shift/Reduce conflict (shift 20, reduce 50) on 'LESSAND' in state 236
%% Shift/Reduce conflict (shift 19, reduce 50) on 'GREATAND' in state 236
%% Shift/Reduce conflict (shift 18, reduce 50) on 'LESSGREAT' in state 236
%% Shift/Reduce conflict (shift 17, reduce 50) on 'DLESSDASH' in state 236
%% Shift/Reduce conflict (shift 16, reduce 50) on 'CLOBBER' in state 236
%% Shift/Reduce conflict (shift 15, reduce 50) on 'If' in state 236
%% Shift/Reduce conflict (shift 14, reduce 50) on 'Case' in state 236
%% Shift/Reduce conflict (shift 13, reduce 50) on 'While' in state 236
%% Shift/Reduce conflict (shift 12, reduce 50) on 'Until' in state 236
%% Shift/Reduce conflict (shift 11, reduce 50) on 'For' in state 236
%% Shift/Reduce conflict (shift 10, reduce 50) on 'Lbrace' in state 236
%% Shift/Reduce conflict (shift 9, reduce 50) on 'Bang' in state 236
%% Shift/Reduce conflict (shift 8, reduce 50) on 'WORD' in state 236
%% Shift/Reduce conflict (shift 7, reduce 50) on 'ASSIGNMENT-WORD' in state=
 236
%% Shift/Reduce conflict (shift 6, reduce 50) on 'NAME' in state 236
%% Shift/Reduce conflict (shift 5, reduce 50) on 'IO-NUMBER' in state 236
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 234
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 233
%% Shift/Reduce conflict (shift 180, reduce 60) on 'Else' in state 232
%% Shift/Reduce conflict (shift 179, reduce 60) on 'Elif' in state 232
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 231
%% Shift/Reduce conflict (shift 25, reduce 48) on 'LESS' in state 228
%% Shift/Reduce conflict (shift 24, reduce 48) on 'GREAT' in state 228
%% Shift/Reduce conflict (shift 23, reduce 48) on 'LPAREN' in state 228
%% Shift/Reduce conflict (shift 233, reduce 48) on 'DSEMI' in state 228
%% Shift/Reduce conflict (shift 22, reduce 48) on 'DLESS' in state 228
%% Shift/Reduce conflict (shift 21, reduce 48) on 'DGREAT' in state 228
%% Shift/Reduce conflict (shift 20, reduce 48) on 'LESSAND' in state 228
%% Shift/Reduce conflict (shift 19, reduce 48) on 'GREATAND' in state 228
%% Shift/Reduce conflict (shift 18, reduce 48) on 'LESSGREAT' in state 228
%% Shift/Reduce conflict (shift 17, reduce 48) on 'DLESSDASH' in state 228
%% Shift/Reduce conflict (shift 16, reduce 48) on 'CLOBBER' in state 228
%% Shift/Reduce conflict (shift 15, reduce 48) on 'If' in state 228
%% Shift/Reduce conflict (shift 14, reduce 48) on 'Case' in state 228
%% Shift/Reduce conflict (shift 13, reduce 48) on 'While' in state 228
%% Shift/Reduce conflict (shift 12, reduce 48) on 'Until' in state 228
%% Shift/Reduce conflict (shift 11, reduce 48) on 'For' in state 228
%% Shift/Reduce conflict (shift 10, reduce 48) on 'Lbrace' in state 228
%% Shift/Reduce conflict (shift 9, reduce 48) on 'Bang' in state 228
%% Shift/Reduce conflict (shift 8, reduce 48) on 'WORD' in state 228
%% Shift/Reduce conflict (shift 7, reduce 48) on 'ASSIGNMENT-WORD' in state=
 228
%% Shift/Reduce conflict (shift 6, reduce 48) on 'NAME' in state 228
%% Shift/Reduce conflict (shift 5, reduce 48) on 'IO-NUMBER' in state 228
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 226
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 219
%% Shift/Reduce conflict (shift 25, reduce 67) on 'LESS' in state 216
%% Shift/Reduce conflict (shift 24, reduce 67) on 'GREAT' in state 216
%% Shift/Reduce conflict (shift 22, reduce 67) on 'DLESS' in state 216
%% Shift/Reduce conflict (shift 21, reduce 67) on 'DGREAT' in state 216
%% Shift/Reduce conflict (shift 20, reduce 67) on 'LESSAND' in state 216
%% Shift/Reduce conflict (shift 19, reduce 67) on 'GREATAND' in state 216
%% Shift/Reduce conflict (shift 18, reduce 67) on 'LESSGREAT' in state 216
%% Shift/Reduce conflict (shift 17, reduce 67) on 'DLESSDASH' in state 216
%% Shift/Reduce conflict (shift 16, reduce 67) on 'CLOBBER' in state 216
%% Shift/Reduce conflict (shift 5, reduce 67) on 'IO-NUMBER' in state 216
%% Shift/Reduce conflict (shift 25, reduce 66) on 'LESS' in state 183
%% Shift/Reduce conflict (shift 24, reduce 66) on 'GREAT' in state 183
%% Shift/Reduce conflict (shift 22, reduce 66) on 'DLESS' in state 183
%% Shift/Reduce conflict (shift 21, reduce 66) on 'DGREAT' in state 183
%% Shift/Reduce conflict (shift 20, reduce 66) on 'LESSAND' in state 183
%% Shift/Reduce conflict (shift 19, reduce 66) on 'GREATAND' in state 183
%% Shift/Reduce conflict (shift 18, reduce 66) on 'LESSGREAT' in state 183
%% Shift/Reduce conflict (shift 17, reduce 66) on 'DLESSDASH' in state 183
%% Shift/Reduce conflict (shift 16, reduce 66) on 'CLOBBER' in state 183
%% Shift/Reduce conflict (shift 5, reduce 66) on 'IO-NUMBER' in state 183
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 180
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 179
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 164
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 157
%% Shift/Reduce conflict (shift 25, reduce 30) on 'LESS' in state 156
%% Shift/Reduce conflict (shift 24, reduce 30) on 'GREAT' in state 156
%% Shift/Reduce conflict (shift 23, reduce 30) on 'LPAREN' in state 156
%% Shift/Reduce conflict (shift 22, reduce 30) on 'DLESS' in state 156
%% Shift/Reduce conflict (shift 21, reduce 30) on 'DGREAT' in state 156
%% Shift/Reduce conflict (shift 20, reduce 30) on 'LESSAND' in state 156
%% Shift/Reduce conflict (shift 19, reduce 30) on 'GREATAND' in state 156
%% Shift/Reduce conflict (shift 18, reduce 30) on 'LESSGREAT' in state 156
%% Shift/Reduce conflict (shift 17, reduce 30) on 'DLESSDASH' in state 156
%% Shift/Reduce conflict (shift 16, reduce 30) on 'CLOBBER' in state 156
%% Shift/Reduce conflict (shift 15, reduce 30) on 'If' in state 156
%% Shift/Reduce conflict (shift 14, reduce 30) on 'Case' in state 156
%% Shift/Reduce conflict (shift 13, reduce 30) on 'While' in state 156
%% Shift/Reduce conflict (shift 12, reduce 30) on 'Until' in state 156
%% Shift/Reduce conflict (shift 11, reduce 30) on 'For' in state 156
%% Shift/Reduce conflict (shift 10, reduce 30) on 'Lbrace' in state 156
%% Shift/Reduce conflict (shift 9, reduce 30) on 'Bang' in state 156
%% Shift/Reduce conflict (shift 8, reduce 30) on 'WORD' in state 156
%% Shift/Reduce conflict (shift 7, reduce 30) on 'ASSIGNMENT-WORD' in state=
 156
%% Shift/Reduce conflict (shift 6, reduce 30) on 'NAME' in state 156
%% Shift/Reduce conflict (shift 5, reduce 30) on 'IO-NUMBER' in state 156
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 149
%% Shift/Reduce conflict (shift 25, reduce 71) on 'LESS' in state 146
%% Shift/Reduce conflict (shift 24, reduce 71) on 'GREAT' in state 146
%% Shift/Reduce conflict (shift 22, reduce 71) on 'DLESS' in state 146
%% Shift/Reduce conflict (shift 21, reduce 71) on 'DGREAT' in state 146
%% Shift/Reduce conflict (shift 20, reduce 71) on 'LESSAND' in state 146
%% Shift/Reduce conflict (shift 19, reduce 71) on 'GREATAND' in state 146
%% Shift/Reduce conflict (shift 18, reduce 71) on 'LESSGREAT' in state 146
%% Shift/Reduce conflict (shift 17, reduce 71) on 'DLESSDASH' in state 146
%% Shift/Reduce conflict (shift 16, reduce 71) on 'CLOBBER' in state 146
%% Shift/Reduce conflict (shift 97, reduce 71) on 'If' in state 146
%% Shift/Reduce conflict (shift 96, reduce 71) on 'Then' in state 146
%% Shift/Reduce conflict (shift 95, reduce 71) on 'Else' in state 146
%% Shift/Reduce conflict (shift 94, reduce 71) on 'Elif' in state 146
%% Shift/Reduce conflict (shift 93, reduce 71) on 'Fi' in state 146
%% Shift/Reduce conflict (shift 92, reduce 71) on 'Do' in state 146
%% Shift/Reduce conflict (shift 91, reduce 71) on 'Done' in state 146
%% Shift/Reduce conflict (shift 90, reduce 71) on 'Case' in state 146
%% Shift/Reduce conflict (shift 89, reduce 71) on 'Esac' in state 146
%% Shift/Reduce conflict (shift 88, reduce 71) on 'While' in state 146
%% Shift/Reduce conflict (shift 87, reduce 71) on 'Until' in state 146
%% Shift/Reduce conflict (shift 86, reduce 71) on 'For' in state 146
%% Shift/Reduce conflict (shift 85, reduce 71) on 'Lbrace' in state 146
%% Shift/Reduce conflict (shift 84, reduce 71) on 'Rbrace' in state 146
%% Shift/Reduce conflict (shift 83, reduce 71) on 'Bang' in state 146
%% Shift/Reduce conflict (shift 82, reduce 71) on 'In' in state 146
%% Shift/Reduce conflict (shift 81, reduce 71) on 'WORD' in state 146
%% Shift/Reduce conflict (shift 80, reduce 71) on 'ASSIGNMENT-WORD' in stat=
e 146
%% Shift/Reduce conflict (shift 79, reduce 71) on 'NAME' in state 146
%% Shift/Reduce conflict (shift 5, reduce 71) on 'IO-NUMBER' in state 146
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 143
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 135
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 134
%% Shift/Reduce conflict (shift 127, reduce 29) on 'AND' in state 131
%% Shift/Reduce conflict (shift 126, reduce 29) on 'SEMI' in state 131
%% Shift/Reduce conflict (shift 1, reduce 29) on 'NEWLINE' in state 131
%% Shift/Reduce conflict (shift 25, reduce 105) on 'LESS' in state 130
%% Shift/Reduce conflict (shift 24, reduce 105) on 'GREAT' in state 130
%% Shift/Reduce conflict (shift 23, reduce 105) on 'LPAREN' in state 130
%% Shift/Reduce conflict (shift 22, reduce 105) on 'DLESS' in state 130
%% Shift/Reduce conflict (shift 21, reduce 105) on 'DGREAT' in state 130
%% Shift/Reduce conflict (shift 20, reduce 105) on 'LESSAND' in state 130
%% Shift/Reduce conflict (shift 19, reduce 105) on 'GREATAND' in state 130
%% Shift/Reduce conflict (shift 18, reduce 105) on 'LESSGREAT' in state 130
%% Shift/Reduce conflict (shift 17, reduce 105) on 'DLESSDASH' in state 130
%% Shift/Reduce conflict (shift 16, reduce 105) on 'CLOBBER' in state 130
%% Shift/Reduce conflict (shift 15, reduce 105) on 'If' in state 130
%% Shift/Reduce conflict (shift 14, reduce 105) on 'Case' in state 130
%% Shift/Reduce conflict (shift 13, reduce 105) on 'While' in state 130
%% Shift/Reduce conflict (shift 12, reduce 105) on 'Until' in state 130
%% Shift/Reduce conflict (shift 11, reduce 105) on 'For' in state 130
%% Shift/Reduce conflict (shift 10, reduce 105) on 'Lbrace' in state 130
%% Shift/Reduce conflict (shift 9, reduce 105) on 'Bang' in state 130
%% Shift/Reduce conflict (shift 8, reduce 105) on 'WORD' in state 130
%% Shift/Reduce conflict (shift 7, reduce 105) on 'ASSIGNMENT-WORD' in stat=
e 130
%% Shift/Reduce conflict (shift 6, reduce 105) on 'NAME' in state 130
%% Shift/Reduce conflict (shift 51, reduce 105) on 'NEWLINE' in state 130
%% Shift/Reduce conflict (shift 5, reduce 105) on 'IO-NUMBER' in state 130
%% Shift/Reduce conflict (shift 25, reduce 6) on 'LESS' in state 128
%% Shift/Reduce conflict (shift 24, reduce 6) on 'GREAT' in state 128
%% Shift/Reduce conflict (shift 23, reduce 6) on 'LPAREN' in state 128
%% Shift/Reduce conflict (shift 22, reduce 6) on 'DLESS' in state 128
%% Shift/Reduce conflict (shift 21, reduce 6) on 'DGREAT' in state 128
%% Shift/Reduce conflict (shift 20, reduce 6) on 'LESSAND' in state 128
%% Shift/Reduce conflict (shift 19, reduce 6) on 'GREATAND' in state 128
%% Shift/Reduce conflict (shift 18, reduce 6) on 'LESSGREAT' in state 128
%% Shift/Reduce conflict (shift 17, reduce 6) on 'DLESSDASH' in state 128
%% Shift/Reduce conflict (shift 16, reduce 6) on 'CLOBBER' in state 128
%% Shift/Reduce conflict (shift 15, reduce 6) on 'If' in state 128
%% Shift/Reduce conflict (shift 14, reduce 6) on 'Case' in state 128
%% Shift/Reduce conflict (shift 13, reduce 6) on 'While' in state 128
%% Shift/Reduce conflict (shift 12, reduce 6) on 'Until' in state 128
%% Shift/Reduce conflict (shift 11, reduce 6) on 'For' in state 128
%% Shift/Reduce conflict (shift 10, reduce 6) on 'Lbrace' in state 128
%% Shift/Reduce conflict (shift 9, reduce 6) on 'Bang' in state 128
%% Shift/Reduce conflict (shift 8, reduce 6) on 'WORD' in state 128
%% Shift/Reduce conflict (shift 7, reduce 6) on 'ASSIGNMENT-WORD' in state =
128
%% Shift/Reduce conflict (shift 6, reduce 6) on 'NAME' in state 128
%% Shift/Reduce conflict (shift 5, reduce 6) on 'IO-NUMBER' in state 128
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 125
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 124
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 123
%% Shift/Reduce conflict (shift 25, reduce 19) on 'LESS' in state 122
%% Shift/Reduce conflict (shift 24, reduce 19) on 'GREAT' in state 122
%% Shift/Reduce conflict (shift 22, reduce 19) on 'DLESS' in state 122
%% Shift/Reduce conflict (shift 21, reduce 19) on 'DGREAT' in state 122
%% Shift/Reduce conflict (shift 20, reduce 19) on 'LESSAND' in state 122
%% Shift/Reduce conflict (shift 19, reduce 19) on 'GREATAND' in state 122
%% Shift/Reduce conflict (shift 18, reduce 19) on 'LESSGREAT' in state 122
%% Shift/Reduce conflict (shift 17, reduce 19) on 'DLESSDASH' in state 122
%% Shift/Reduce conflict (shift 16, reduce 19) on 'CLOBBER' in state 122
%% Shift/Reduce conflict (shift 5, reduce 19) on 'IO-NUMBER' in state 122
%% Shift/Reduce conflict (shift 25, reduce 74) on 'LESS' in state 119
%% Shift/Reduce conflict (shift 24, reduce 74) on 'GREAT' in state 119
%% Shift/Reduce conflict (shift 22, reduce 74) on 'DLESS' in state 119
%% Shift/Reduce conflict (shift 21, reduce 74) on 'DGREAT' in state 119
%% Shift/Reduce conflict (shift 20, reduce 74) on 'LESSAND' in state 119
%% Shift/Reduce conflict (shift 19, reduce 74) on 'GREATAND' in state 119
%% Shift/Reduce conflict (shift 18, reduce 74) on 'LESSGREAT' in state 119
%% Shift/Reduce conflict (shift 17, reduce 74) on 'DLESSDASH' in state 119
%% Shift/Reduce conflict (shift 16, reduce 74) on 'CLOBBER' in state 119
%% Shift/Reduce conflict (shift 97, reduce 74) on 'If' in state 119
%% Shift/Reduce conflict (shift 96, reduce 74) on 'Then' in state 119
%% Shift/Reduce conflict (shift 95, reduce 74) on 'Else' in state 119
%% Shift/Reduce conflict (shift 94, reduce 74) on 'Elif' in state 119
%% Shift/Reduce conflict (shift 93, reduce 74) on 'Fi' in state 119
%% Shift/Reduce conflict (shift 92, reduce 74) on 'Do' in state 119
%% Shift/Reduce conflict (shift 91, reduce 74) on 'Done' in state 119
%% Shift/Reduce conflict (shift 90, reduce 74) on 'Case' in state 119
%% Shift/Reduce conflict (shift 89, reduce 74) on 'Esac' in state 119
%% Shift/Reduce conflict (shift 88, reduce 74) on 'While' in state 119
%% Shift/Reduce conflict (shift 87, reduce 74) on 'Until' in state 119
%% Shift/Reduce conflict (shift 86, reduce 74) on 'For' in state 119
%% Shift/Reduce conflict (shift 85, reduce 74) on 'Lbrace' in state 119
%% Shift/Reduce conflict (shift 84, reduce 74) on 'Rbrace' in state 119
%% Shift/Reduce conflict (shift 83, reduce 74) on 'Bang' in state 119
%% Shift/Reduce conflict (shift 82, reduce 74) on 'In' in state 119
%% Shift/Reduce conflict (shift 81, reduce 74) on 'WORD' in state 119
%% Shift/Reduce conflict (shift 80, reduce 74) on 'ASSIGNMENT-WORD' in stat=
e 119
%% Shift/Reduce conflict (shift 79, reduce 74) on 'NAME' in state 119
%% Shift/Reduce conflict (shift 5, reduce 74) on 'IO-NUMBER' in state 119
%% Shift/Reduce conflict (shift 25, reduce 72) on 'LESS' in state 116
%% Shift/Reduce conflict (shift 24, reduce 72) on 'GREAT' in state 116
%% Shift/Reduce conflict (shift 22, reduce 72) on 'DLESS' in state 116
%% Shift/Reduce conflict (shift 21, reduce 72) on 'DGREAT' in state 116
%% Shift/Reduce conflict (shift 20, reduce 72) on 'LESSAND' in state 116
%% Shift/Reduce conflict (shift 19, reduce 72) on 'GREATAND' in state 116
%% Shift/Reduce conflict (shift 18, reduce 72) on 'LESSGREAT' in state 116
%% Shift/Reduce conflict (shift 17, reduce 72) on 'DLESSDASH' in state 116
%% Shift/Reduce conflict (shift 16, reduce 72) on 'CLOBBER' in state 116
%% Shift/Reduce conflict (shift 97, reduce 72) on 'If' in state 116
%% Shift/Reduce conflict (shift 96, reduce 72) on 'Then' in state 116
%% Shift/Reduce conflict (shift 95, reduce 72) on 'Else' in state 116
%% Shift/Reduce conflict (shift 94, reduce 72) on 'Elif' in state 116
%% Shift/Reduce conflict (shift 93, reduce 72) on 'Fi' in state 116
%% Shift/Reduce conflict (shift 92, reduce 72) on 'Do' in state 116
%% Shift/Reduce conflict (shift 91, reduce 72) on 'Done' in state 116
%% Shift/Reduce conflict (shift 90, reduce 72) on 'Case' in state 116
%% Shift/Reduce conflict (shift 89, reduce 72) on 'Esac' in state 116
%% Shift/Reduce conflict (shift 88, reduce 72) on 'While' in state 116
%% Shift/Reduce conflict (shift 87, reduce 72) on 'Until' in state 116
%% Shift/Reduce conflict (shift 86, reduce 72) on 'For' in state 116
%% Shift/Reduce conflict (shift 85, reduce 72) on 'Lbrace' in state 116
%% Shift/Reduce conflict (shift 84, reduce 72) on 'Rbrace' in state 116
%% Shift/Reduce conflict (shift 83, reduce 72) on 'Bang' in state 116
%% Shift/Reduce conflict (shift 82, reduce 72) on 'In' in state 116
%% Shift/Reduce conflict (shift 81, reduce 72) on 'WORD' in state 116
%% Shift/Reduce conflict (shift 80, reduce 72) on 'ASSIGNMENT-WORD' in stat=
e 116
%% Shift/Reduce conflict (shift 79, reduce 72) on 'NAME' in state 116
%% Shift/Reduce conflict (shift 5, reduce 72) on 'IO-NUMBER' in state 116
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 98
%% Shift/Reduce conflict (shift 135, reduce 106) on 'SEMI' in state 76
%% Shift/Reduce conflict (shift 134, reduce 106) on 'Do' in state 76
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 76
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 50
%% Shift/Reduce conflict (shift 127, reduce 7) on 'AND' in state 48
%% Shift/Reduce conflict (shift 126, reduce 7) on 'SEMI' in state 48
%% Shift/Reduce conflict (shift 25, reduce 18) on 'LESS' in state 43
%% Shift/Reduce conflict (shift 24, reduce 18) on 'GREAT' in state 43
%% Shift/Reduce conflict (shift 22, reduce 18) on 'DLESS' in state 43
%% Shift/Reduce conflict (shift 21, reduce 18) on 'DGREAT' in state 43
%% Shift/Reduce conflict (shift 20, reduce 18) on 'LESSAND' in state 43
%% Shift/Reduce conflict (shift 19, reduce 18) on 'GREATAND' in state 43
%% Shift/Reduce conflict (shift 18, reduce 18) on 'LESSGREAT' in state 43
%% Shift/Reduce conflict (shift 17, reduce 18) on 'DLESSDASH' in state 43
%% Shift/Reduce conflict (shift 16, reduce 18) on 'CLOBBER' in state 43
%% Shift/Reduce conflict (shift 5, reduce 18) on 'IO-NUMBER' in state 43
%% Shift/Reduce conflict (shift 25, reduce 75) on 'LESS' in state 32
%% Shift/Reduce conflict (shift 24, reduce 75) on 'GREAT' in state 32
%% Shift/Reduce conflict (shift 22, reduce 75) on 'DLESS' in state 32
%% Shift/Reduce conflict (shift 21, reduce 75) on 'DGREAT' in state 32
%% Shift/Reduce conflict (shift 20, reduce 75) on 'LESSAND' in state 32
%% Shift/Reduce conflict (shift 19, reduce 75) on 'GREATAND' in state 32
%% Shift/Reduce conflict (shift 18, reduce 75) on 'LESSGREAT' in state 32
%% Shift/Reduce conflict (shift 17, reduce 75) on 'DLESSDASH' in state 32
%% Shift/Reduce conflict (shift 16, reduce 75) on 'CLOBBER' in state 32
%% Shift/Reduce conflict (shift 97, reduce 75) on 'If' in state 32
%% Shift/Reduce conflict (shift 96, reduce 75) on 'Then' in state 32
%% Shift/Reduce conflict (shift 95, reduce 75) on 'Else' in state 32
%% Shift/Reduce conflict (shift 94, reduce 75) on 'Elif' in state 32
%% Shift/Reduce conflict (shift 93, reduce 75) on 'Fi' in state 32
%% Shift/Reduce conflict (shift 92, reduce 75) on 'Do' in state 32
%% Shift/Reduce conflict (shift 91, reduce 75) on 'Done' in state 32
%% Shift/Reduce conflict (shift 90, reduce 75) on 'Case' in state 32
%% Shift/Reduce conflict (shift 89, reduce 75) on 'Esac' in state 32
%% Shift/Reduce conflict (shift 88, reduce 75) on 'While' in state 32
%% Shift/Reduce conflict (shift 87, reduce 75) on 'Until' in state 32
%% Shift/Reduce conflict (shift 86, reduce 75) on 'For' in state 32
%% Shift/Reduce conflict (shift 85, reduce 75) on 'Lbrace' in state 32
%% Shift/Reduce conflict (shift 84, reduce 75) on 'Rbrace' in state 32
%% Shift/Reduce conflict (shift 83, reduce 75) on 'Bang' in state 32
%% Shift/Reduce conflict (shift 82, reduce 75) on 'In' in state 32
%% Shift/Reduce conflict (shift 81, reduce 75) on 'WORD' in state 32
%% Shift/Reduce conflict (shift 80, reduce 75) on 'ASSIGNMENT-WORD' in stat=
e 32
%% Shift/Reduce conflict (shift 79, reduce 75) on 'NAME' in state 32
%% Shift/Reduce conflict (shift 5, reduce 75) on 'IO-NUMBER' in state 32
%% Shift/Reduce conflict (shift 25, reduce 73) on 'LESS' in state 31
%% Shift/Reduce conflict (shift 24, reduce 73) on 'GREAT' in state 31
%% Shift/Reduce conflict (shift 22, reduce 73) on 'DLESS' in state 31
%% Shift/Reduce conflict (shift 21, reduce 73) on 'DGREAT' in state 31
%% Shift/Reduce conflict (shift 20, reduce 73) on 'LESSAND' in state 31
%% Shift/Reduce conflict (shift 19, reduce 73) on 'GREATAND' in state 31
%% Shift/Reduce conflict (shift 18, reduce 73) on 'LESSGREAT' in state 31
%% Shift/Reduce conflict (shift 17, reduce 73) on 'DLESSDASH' in state 31
%% Shift/Reduce conflict (shift 16, reduce 73) on 'CLOBBER' in state 31
%% Shift/Reduce conflict (shift 8, reduce 73) on 'WORD' in state 31
%% Shift/Reduce conflict (shift 113, reduce 73) on 'ASSIGNMENT-WORD' in sta=
te 31
%% Shift/Reduce conflict (shift 112, reduce 73) on 'NAME' in state 31
%% Shift/Reduce conflict (shift 5, reduce 73) on 'IO-NUMBER' in state 31
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 26
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 15
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 13
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 12
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 10
%% Shift/Reduce conflict (shift 25, reduce 3) on 'LESS' in state 2
%% Shift/Reduce conflict (shift 24, reduce 3) on 'GREAT' in state 2
%% Shift/Reduce conflict (shift 23, reduce 3) on 'LPAREN' in state 2
%% Shift/Reduce conflict (shift 22, reduce 3) on 'DLESS' in state 2
%% Shift/Reduce conflict (shift 21, reduce 3) on 'DGREAT' in state 2
%% Shift/Reduce conflict (shift 20, reduce 3) on 'LESSAND' in state 2
%% Shift/Reduce conflict (shift 19, reduce 3) on 'GREATAND' in state 2
%% Shift/Reduce conflict (shift 18, reduce 3) on 'LESSGREAT' in state 2
%% Shift/Reduce conflict (shift 17, reduce 3) on 'DLESSDASH' in state 2
%% Shift/Reduce conflict (shift 16, reduce 3) on 'CLOBBER' in state 2
%% Shift/Reduce conflict (shift 15, reduce 3) on 'If' in state 2
%% Shift/Reduce conflict (shift 14, reduce 3) on 'Case' in state 2
%% Shift/Reduce conflict (shift 13, reduce 3) on 'While' in state 2
%% Shift/Reduce conflict (shift 12, reduce 3) on 'Until' in state 2
%% Shift/Reduce conflict (shift 11, reduce 3) on 'For' in state 2
%% Shift/Reduce conflict (shift 10, reduce 3) on 'Lbrace' in state 2
%% Shift/Reduce conflict (shift 9, reduce 3) on 'Bang' in state 2
%% Shift/Reduce conflict (shift 8, reduce 3) on 'WORD' in state 2
%% Shift/Reduce conflict (shift 7, reduce 3) on 'ASSIGNMENT-WORD' in state 2
%% Shift/Reduce conflict (shift 6, reduce 3) on 'NAME' in state 2
%% Shift/Reduce conflict (shift 5, reduce 3) on 'IO-NUMBER' in state 2
%% Shift/Reduce conflict (shift 1, reduce 106) on 'NEWLINE' in state 0
Backtrace:
In ice-9/boot-9.scm:
3966: 19 [#<procedure 152f880 at ice-9/boot-9.scm:3961:3 ()>]
1645: 18 [%start-stack load-stack ...]
1650: 17 [#<procedure 1534540 ()>]
In unknown file:
   ?: 16 [primitive-load "/gnu/store/8bl7iqln6qaajr3d6kwbyvkzy2gvr4rf-gash-=
boot-0.1.50-c1b8/bin/gash"]
In ice-9/eval.scm:
 505: 15 [#<procedure 13fba20 at ice-9/eval.scm:499:4 (exp)> (define # # #)]
In ice-9/psyntax.scm:
1101: 14 [expand-top-sequence ((define (main args) (setenv "SHELL" #) ...))=
 () ...]
1259: 13 [#<procedure 1488120 at ice-9/psyntax.scm:1067:36 ()>]
1605: 12 [expand-simple-lambda (# . #) () (()) ...]
1509: 11 [parse ((# . #) (# . #)) () () ...]
In ice-9/boot-9.scm:
 625: 10 [map #<procedure 1538f60 at ice-9/psyntax.scm:1510:50 (x)> (# #)]
In ice-9/psyntax.scm:
1257: 9 [#<procedure 1538f60 at ice-9/psyntax.scm:1510:50 (x)> (# . #)]
1186: 8 [syntax-type (# #) (# #) (# # #) ...]
 579: 7 [syntax-type main (# #) (#) ...]
 293: 6 [get-global-definition-hook main (public gash gash)]
In ice-9/boot-9.scm:
2708: 5 [#<procedure 14a3f20 at ice-9/boot-9.scm:2696:4 (name #:optional au=
toload version #:key ensure)> # ...]
2981: 4 [try-module-autoload (gash gash) #f]
2320: 3 [save-module-excursion #<procedure 15389f0 at ice-9/boot-9.scm:2982=
:17 ()>]
3001: 2 [#<procedure 15389f0 at ice-9/boot-9.scm:2982:17 ()>]
In unknown file:
   ?: 1 [primitive-load-path "gash/gash" ...]
   ?: 0 [setlocale 6 ""]

ERROR: In procedure setlocale:
ERROR: In procedure setlocale: Invalid argument
[1]20:44:45 janneke@dundal:~/src/guix/wip-boot [env]
$=20
--8<---------------cut here---------------end--------------->8---

If I set LC_ALL=3DC=20

    LC_ALL=3DC /gnu/store/8bl7iqln6qaajr3d6kwbyvkzy2gvr4rf-gash-boot-0.1.50=
-c1b8/bin/gash --version

then I (of course) still get the Shift/Reduce warnings and everything
"seems" to work.  It seems that the empty locale is problematic for
guile 2.0.9 or our bootstrap environment.  I just tried a patch and
pushed to my wip-0.2.0.

I am less cheerful about the Shift/Reduce warnings; I am afraid they
might break something somewhere during the bootstrap build.  Any ideas
why these surface at this time?  I'll play some more with
lalr.upstream.scm versions...

> Assuming all of the above is okay, Gash 0.2.0 is ready.  \o/

Yay, scheme-only bootstrap, here we come \o/

Thanks for all your amazing work!
janneke

--=20
Jan Nieuwenhuizen <janneke@HIDDEN> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 8 Dec 2019 03:00:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 07 22:00:10 2019
Received: from localhost ([127.0.0.1]:50096 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1idmnq-0000Gd-GY
	for submit <at> debbugs.gnu.org; Sat, 07 Dec 2019 22:00:10 -0500
Received: from eggs.gnu.org ([209.51.188.92]:50762)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1idmnp-00009r-5a
 for 38390 <at> debbugs.gnu.org; Sat, 07 Dec 2019 22:00:09 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:38601)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1idic4-0006j6-Sp; Sat, 07 Dec 2019 17:31:45 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53966 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1idic1-0001Gq-Ia; Sat, 07 Dec 2019 17:31:42 -0500
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Jan Nieuwenhuizen <janneke@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
References: <87tv6qoank.fsf@HIDDEN> <87sgm4m9fu.fsf@HIDDEN>
 <87v9r0arni.fsf@HIDDEN> <87y2vqdjwz.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 17 Frimaire an 228 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Sat, 07 Dec 2019 23:31:37 +0100
In-Reply-To: <87y2vqdjwz.fsf@HIDDEN> (Jan Nieuwenhuizen's message of "Fri, 06
 Dec 2019 07:53:32 +0100")
Message-ID: <871rtfu5rq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: Timothy Sample <samplet@HIDDEN>, 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hello!

Jan Nieuwenhuizen <janneke@HIDDEN> skribis:

> Just a heads-up: In a productive and fun debugging session yesterday in
> Marrakech Ludo and I got a fix in for this!  This means that I now
> consider `wip-bootstrap' functionally correct.
>
> Earlier this week, Ludo and I found a way to not add Gash or Gash Core
> Utils to the Bootstrap Seed and instead build them as first packages
> using %bootstrap-guile.
>
> We will be working on a rewrite of wip-bootstrap to have it use Gash
> wip-0.2.0+ and include a number of cleanups.

It looks like this is all shaping up nicely, and I=E2=80=99m happy to see w=
e=E2=80=99ve
already (!) reached that point where we can again strip some of the
binary seeds!  Kudos, comrades!

Ludo=E2=80=99.




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 6 Dec 2019 16:15:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 06 11:15:46 2019
Received: from localhost ([127.0.0.1]:46937 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1idGGg-000533-IZ
	for submit <at> debbugs.gnu.org; Fri, 06 Dec 2019 11:15:46 -0500
Received: from eggs.gnu.org ([209.51.188.92]:57062)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@HIDDEN>) id 1idGGa-000511-Lz
 for 38390 <at> debbugs.gnu.org; Fri, 06 Dec 2019 11:15:42 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43175)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <janneke@HIDDEN>)
 id 1idGGQ-0001JP-Um; Fri, 06 Dec 2019 11:15:31 -0500
Received: from [160.174.176.236] (port=40048
 helo=dundal.peder.onsbrabantnet.nl)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <janneke@HIDDEN>)
 id 1id7Ue-0006Bh-6B; Fri, 06 Dec 2019 01:53:37 -0500
From: Jan Nieuwenhuizen <janneke@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
Organization: AvatarAcademy.nl
References: <87tv6qoank.fsf@HIDDEN> <87sgm4m9fu.fsf@HIDDEN>
 <87v9r0arni.fsf@HIDDEN>
X-Url: http://AvatarAcademy.nl
Date: Fri, 06 Dec 2019 07:53:32 +0100
In-Reply-To: <87v9r0arni.fsf@HIDDEN> (Jan Nieuwenhuizen's message of "Sun, 01
 Dec 2019 18:21:05 +0100")
Message-ID: <87y2vqdjwz.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: Timothy Sample <samplet@HIDDEN>, 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Jan Nieuwenhuizen writes:

>>> ERROR: ld.so: object
>>> '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/libtestlookup.so'
>>> from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
>>
>> We should have a debugging session for this one.  :-)
>
> I would love that; I looked into it today but there is some dependency
> that I do not grok yet...

Just a heads-up: In a productive and fun debugging session yesterday in
Marrakech Ludo and I got a fix in for this!  This means that I now
consider `wip-bootstrap' functionally correct.

Earlier this week, Ludo and I found a way to not add Gash or Gash Core
Utils to the Bootstrap Seed and instead build them as first packages
using %bootstrap-guile.

We will be working on a rewrite of wip-bootstrap to have it use Gash
wip-0.2.0+ and include a number of cleanups.

Here is my current TODO list

  * base bootstrap on Gash wip-0.20.0 (plus janneke's 2 patches)
  * remove %bootstrap-gash (with gash core utils) from bootstrap seed
  * look at possibility/cost to avoid updating the mescc-tools and mes
    bootstrap binaries
  * remove any generated (gitlab/github) tarballs
  * look into awkward combined bash+gash dependency of glibc-mesboot0
  * add some %bootX-input stages, at least when reached gcc-mesboot1
  * commit messages: Use "Use Gash instead of coretutils&co." rather than
    "Scheme-only bootstrap."
  * some smaller cleanups and nitpicks here and there

Greetings,
janneke

--=20
Jan Nieuwenhuizen <janneke@HIDDEN> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 1 Dec 2019 17:21:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 01 12:21:18 2019
Received: from localhost ([127.0.0.1]:36636 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ibSuM-0008Lv-24
	for submit <at> debbugs.gnu.org; Sun, 01 Dec 2019 12:21:18 -0500
Received: from eggs.gnu.org ([209.51.188.92]:37324)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@HIDDEN>) id 1ibSuJ-0008Lf-Hv
 for 38390 <at> debbugs.gnu.org; Sun, 01 Dec 2019 12:21:16 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:51180)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <janneke@HIDDEN>)
 id 1ibSuE-0002j3-8m; Sun, 01 Dec 2019 12:21:10 -0500
Received: from [160.177.94.41] (port=10403 helo=dundal.peder.onsbrabantnet.nl)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <janneke@HIDDEN>)
 id 1ibSuD-0006qd-0m; Sun, 01 Dec 2019 12:21:09 -0500
From: Jan Nieuwenhuizen <janneke@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
Organization: AvatarAcademy.nl
References: <87tv6qoank.fsf@HIDDEN> <87sgm4m9fu.fsf@HIDDEN>
X-Url: http://AvatarAcademy.nl
Date: Sun, 01 Dec 2019 18:21:05 +0100
In-Reply-To: <87sgm4m9fu.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Sun, 01 Dec 2019 15:01:25 +0100")
Message-ID: <87v9r0arni.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: Timothy Sample <samplet@HIDDEN>, 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Ludovic Court=C3=A8s writes:

> (gash core-utils awk *) look quite fancy though!  I thought =E2=80=98conf=
igure=E2=80=99
> only used a couple of trivial Awk snippets and after checking, I see
> that there are in fact relatively fancy Awk programs in there.  Bah.

Yeah, that's what I thought...and then it grew.

> How much work would be necessary at first sign to implement what=E2=80=99s
> missing from (gash core-utils awk) to cover what modern-time =E2=80=98con=
figure=E2=80=99
> scripts need?
>
> I suppose having a good(-enough) Awk implementation in Gash would be
> more fruitful in the long run than reviving old C packages.  Notably, I
> think you=E2=80=99d rather keep Mes=E2=80=99 libc as small as possible IM=
O, because it=E2=80=99s
> cumbersome to write and maintain, which means more Scheme and less C.
> But obviously, this all depends on the difficulty of implementing the
> missing bits of Awk.
>
>> Another thing to note is that we do not have bzip2, lzip or xz and that
>> after 2009 some crucial tools (coreutils, diffutils, grep, sed, ...)
>> start shipping .xz or .lz tarballs only.  While bzip2 can be built early
>> in the bootstrap, I only managed to build xz with a fairly recent gcc
>> (4.6).
>
> At worst, we could host gzipped versions of these tarballs (or ask the
> maintainers to do so).

Hmm.  Yes.  Somehow I would prefer if we could convince upstream to help
us bootstrap their package (dare I say to "do the right thing"?).

> Or we could have a fixed-output derivation that does the lzip->gzip
> conversion (creating a =E2=80=9Csoft=E2=80=9D circular dependency), which=
 is kinda
> equivalent to hosting a gzipped versions when substitutes are available.
>
> Longer-term, we could also consider having a derivation built-in that
> would allow us to =E2=80=9Ccheat=E2=80=9D (i.e., take gz/lzip/xz/bzip2 fo=
r granted),
> though it=E2=80=99s not so nice.

Okay, that's many options.  Maybe we could brainstorm a bit about
possible attack vectors against the different "solutions", WDYT?

>> When we manage to merge this, we will have halved the bootstrap seed
>> again, reducing the bootstrap seed to under 60MB.
>
> Woohoo!

Yes, I feel so too; thanks!

>> ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/=
libtestlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
>
> We should have a debugging session for this one.  :-)

I would love that; I looked into it today but there is some dependency
that I do not grok yet...

> What about building the =E2=80=98core=E2=80=99 subset of =E2=80=98wip-boo=
tstrap=E2=80=99 on berlin?
> That would allow others to experiment (and debug!) without having to
> build it all by themselves.

Yes, that would be great!

> At some point we should consider =E2=80=9Ccleaning up=E2=80=9D the histor=
y of that
> branch.  For instance, I see commit =E2=80=9C326d45561c gnu: Add gash.  W=
IP=E2=80=9D,
> which adds =E2=80=98guile-gash=E2=80=99 when there=E2=80=99s already a =
=E2=80=98gash=E2=80=99 package (and it
> also modifies =E2=80=98jupyter-guile-kernel=E2=80=99).

Hmm, I cannot find that commit; are you looking at `wip-bootstrap' on
savannah?  I remember something like that and probably rewrote it.

Anyway, the Gash and Gash Core Utils commits are marked WIP because I
want to replace them with a proper release by Timothy :-)

> We=E2=80=99ll also have to collectively review the new bootstrap tarballs.

Yes, sure.

> Anyway, great perspectives and much excitement!  :-)

Very happily enjoying the excitement you share, thanks :-)
Greetings,
janneke

--=20
Jan Nieuwenhuizen <janneke@HIDDEN> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 1 Dec 2019 17:14:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 01 12:14:33 2019
Received: from localhost ([127.0.0.1]:36626 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ibSnp-00089c-0R
	for submit <at> debbugs.gnu.org; Sun, 01 Dec 2019 12:14:33 -0500
Received: from eggs.gnu.org ([209.51.188.92]:36593)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1ibSnm-00089Q-PH
 for 38390 <at> debbugs.gnu.org; Sun, 01 Dec 2019 12:14:31 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:51149)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1ibSnh-00076R-Ge; Sun, 01 Dec 2019 12:14:25 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=54852 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1ibSng-0006O3-Ty; Sun, 01 Dec 2019 12:14:25 -0500
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Timothy Sample <samplet@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
References: <87tv6qoank.fsf@HIDDEN> <87sgm4m9fu.fsf@HIDDEN>
 <87r21of1y8.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 11 Frimaire an 228 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Sun, 01 Dec 2019 18:14:23 +0100
In-Reply-To: <87r21of1y8.fsf@HIDDEN> (Timothy Sample's message of "Sun, 01
 Dec 2019 11:25:03 -0500")
Message-ID: <87d0d8m0i8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: 38390 <at> debbugs.gnu.org, Jan Nieuwenhuizen <janneke@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi, Timothy!

Timothy Sample <samplet@HIDDEN> skribis:

> Ludovic Court=C3=A8s <ludo@HIDDEN> writes:

[...]

>> So this is meant to be a Gash extension but separate from Gash.  Looks
>> really cool!
>
> My long term plan for it is to be a really, really souped-up version of
> =E2=80=9C(guix build utils)=E2=80=9D.  Hopefully we can get reasonably ni=
ce Scheme
> interfaces for common shell idioms and then build the utilities on top
> of those interfaces.  Then, the library could be useful independent of
> the external utilities, Gash, and bootstrapping.  It=E2=80=99s nowhere ne=
ar
> there yet, but that=E2=80=99s the goal.

I agree with the goal!  Having a nice Scheme interface for all these
things, perhaps with inspiration from scsh, would be great, and
certainly nicer than the very ad-hoc (guix build utils).

>> Do you plan to eventually merge it on Savannah?  (I expected to find the
>> code there.  :-)
>
> Yes!  I plan to add another repo as part of the Gash project.  This will
> happen when it=E2=80=99s closer to an initial release.  (I=E2=80=99ll hav=
e to audit all
> of the copyright notices, etc., which I find easier to do while getting
> ready for a release.)

Alright!

>> BTW, I posted (unimportant) patches to
>> <https://lists.gnu.org/archive/html/gash-devel/2019-06/threads.html>.)
>
> I was not subscribed to gash-devel!  :P  I was an admin, but that
> doesn=E2=80=99t mean I was subscribed.  Sorry!
>
> I noticed the install path patch that you added to the Guix package, so
> it=E2=80=99s already fixed.  So far I=E2=80=99ve been too busy to test on=
 Guile 3....

Heheh, no problem.  :-)

> In around one week (with the usual caveats around software estimates), I
> will make another release of Gash, at which point it will be =E2=80=9Cgood
> enough=E2=80=9D for the bootstrapping task.  After that, I plan to turn my
> attention to the other utilities.  There=E2=80=99s a lot of administrativ=
e work
> and cleaning to do there, so it will take some time to get a release
> out.  Once that happens I=E2=80=99ll move on to removing some intermediate
> bootstrapping packages like early versions of Gawk, etc.

Sounds good, thanks a lot for all the work!

Ludo=E2=80=99.




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 1 Dec 2019 16:56:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 01 11:56:17 2019
Received: from localhost ([127.0.0.1]:36616 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ibSW5-0007h3-5F
	for submit <at> debbugs.gnu.org; Sun, 01 Dec 2019 11:56:17 -0500
Received: from eggs.gnu.org ([209.51.188.92]:34789)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@HIDDEN>) id 1ibSW3-0007gj-8O
 for 38390 <at> debbugs.gnu.org; Sun, 01 Dec 2019 11:56:11 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:50847)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <janneke@HIDDEN>)
 id 1ibSVw-0004GZ-QK; Sun, 01 Dec 2019 11:56:04 -0500
Received: from [160.177.94.41] (port=26846 helo=dundal.peder.onsbrabantnet.nl)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <janneke@HIDDEN>)
 id 1ibSVv-0002Ay-8r; Sun, 01 Dec 2019 11:56:04 -0500
From: Jan Nieuwenhuizen <janneke@HIDDEN>
To: Timothy Sample <samplet@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
Organization: AvatarAcademy.nl
References: <87tv6qoank.fsf@HIDDEN> <87sgm4m9fu.fsf@HIDDEN>
 <87r21of1y8.fsf@HIDDEN>
X-Url: http://AvatarAcademy.nl
Date: Sun, 01 Dec 2019 17:55:57 +0100
In-Reply-To: <87r21of1y8.fsf@HIDDEN> (Timothy Sample's message of "Sun, 01
 Dec 2019 11:25:03 -0500")
Message-ID: <87zhgcaste.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Timothy Sample writes:

Hi Ludo, Timothy,

>>> Gash Core Utils currently comes with
>>>
>>>    [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname,
>>>    egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls,
>>>    mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test,
>>>    touch, tr, true, uname, uniq, wc, and which.
>>
>> Woow, excellent!  Do I get it right that =E2=80=9CGash Core Utils=E2=80=
=9D refers to the
>> =E2=80=98gash-core-utils=E2=80=99 branch at <https://gitlab.com/janneke/=
gash>?
>
> For now (see below).

Right.  I think that while Timothy mostly worked on the Gash core to
make it a full sh alternative, I have been working in parallel to add
all utilities that are needed during bootstrap.  That worked out pretty
OK, but now things need to come together again.

>> So this is meant to be a Gash extension but separate from Gash.  Looks
>> really cool!
>
> My long term plan for it is to be a really, really souped-up version of
> =E2=80=9C(guix build utils)=E2=80=9D.  Hopefully we can get reasonably ni=
ce Scheme
> interfaces for common shell idioms and then build the utilities on top
> of those interfaces.  Then, the library could be useful independent of
> the external utilities, Gash, and bootstrapping.  It=E2=80=99s nowhere ne=
ar
> there yet, but that=E2=80=99s the goal.

Yes, a nice shell library for Guile was Rutger's initial goal for the
pre-merger Gash.  I have diverged quite a bit from that path by
focussing on the actual shell tools -- so while some of the library
functionality is starting to fall in place, an actual nice library
interface is still mostly missing...

>> Do you plan to eventually merge it on Savannah?  (I expected to find the
>> code there.  :-)
>
> Yes!  I plan to add another repo as part of the Gash project.  This will
> happen when it=E2=80=99s closer to an initial release.  (I=E2=80=99ll hav=
e to audit all
> of the copyright notices, etc., which I find easier to do while getting
> ready for a release.)

Great!

>> BTW, I posted (unimportant) patches to
>> <https://lists.gnu.org/archive/html/gash-devel/2019-06/threads.html>.)
>
> I was not subscribed to gash-devel!  :P  I was an admin, but that
> doesn=E2=80=99t mean I was subscribed.  Sorry!
>
> I noticed the install path patch that you added to the Guix package, so
> it=E2=80=99s already fixed.  So far I=E2=80=99ve been too busy to test on=
 Guile 3....

Oh, I only subscribed in September 22nd...oops!

>> I suppose having a good(-enough) Awk implementation in Gash would be
>> more fruitful in the long run than reviving old C packages.  Notably, I
>> think you=E2=80=99d rather keep Mes=E2=80=99 libc as small as possible I=
MO, because it=E2=80=99s
>> cumbersome to write and maintain, which means more Scheme and less C.
>> But obviously, this all depends on the difficulty of implementing the
>> missing bits of Awk.
>
> I agree this is the right way to go in the long run.  I=E2=80=99m pretty =
sure
> we=E2=80=99ll get there, but I haven=E2=80=99t worked on the Awk implemen=
tation yet.

I think the parser is OK, and I also thought the Awk we needed was only
assignments and printing columns.  I started with a naive AST-interpreter
that worked a bit too well but has a flawed design (I don't remember the
details).  We need some good tests and probably a re-thinking and
re-implementatation of the `run-commands' and `awk-expression'
functions.

> In around one week (with the usual caveats around software estimates), I
> will make another release of Gash, at which point it will be =E2=80=9Cgood
> enough=E2=80=9D for the bootstrapping task.  After that, I plan to turn my
> attention to the other utilities.  There=E2=80=99s a lot of administrativ=
e work
> and cleaning to do there, so it will take some time to get a release
> out.  Once that happens I=E2=80=99ll move on to removing some intermediate
> bootstrapping packages like early versions of Gawk, etc.

Great!
janneke

--=20
Jan Nieuwenhuizen <janneke@HIDDEN> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 1 Dec 2019 16:25:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 01 11:25:12 2019
Received: from localhost ([127.0.0.1]:36597 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ibS24-0006jH-3Q
	for submit <at> debbugs.gnu.org; Sun, 01 Dec 2019 11:25:12 -0500
Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:54451)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <samplet@HIDDEN>) id 1ibS22-0006iz-Ke
 for 38390 <at> debbugs.gnu.org; Sun, 01 Dec 2019 11:25:11 -0500
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id C7D5B9B8;
 Sun,  1 Dec 2019 11:25:04 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Sun, 01 Dec 2019 11:25:05 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm1; bh=B2Z9KwyHDLGot4S2SagKXoYo44WEkoIXLpf2z4mkL
 34=; b=x8KpWRmX9v0I+ttjATemV7XF04sZYrNhjwDtOFxurQsWBAJpH0IRnoWYc
 GZtUQc9OWCRp7kvO49en/kkxZjEX7PiirmpEaJs9PS5RbKkarULEIAyGoaATCPpS
 Oqryd1O+6YOgoRRspkI2ZlEeMOF7YwoPuC8cgdbtuj4VYGV0imBt8+hYbYn8G6Nx
 xOwMP7vWVjLMOfTHqJZyLDbVBAA4jXSvdwO+U/wkj98hRzmPzW8NnVm9s+WbyI0C
 lA9QMD/S1XVHssnJ4nGCaEooobrkRKjK1jtmy3HnSqqa+nu5hCarqCdUxgFmiQCH
 PqT+0mhHF2KvrT96ZSYzaGuBW8QKg==
X-ME-Sender: <xms:YOnjXbPWr-ONyFgvT7KIo-WfCoDq4R9vx-t2xMkMdRScrR8hUrANPA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudejfedgledtucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepvfhimhho
 thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuffhomh
 grihhnpehgihhtlhgrsgdrtghomhdpghhnuhdrohhrghenucfkphepjeegrdduudeirddu
 keeirdeggeenucfrrghrrghmpehmrghilhhfrhhomhepshgrmhhplhgvthesnhhghihroh
 drtghomhenucevlhhushhtvghrufhiiigvpedt
X-ME-Proxy: <xmx:YOnjXWxg4waYqU0yrGm1bzUcNTwUzp6Am1_huPKFM53D1ZkWXYgimw>
 <xmx:YOnjXY1WSWkwxCGSsjdgvTJrgMnvAHLhFbca50SQfRT450DB9j4EFQ>
 <xmx:YOnjXVi0gTnAQe41jxIRjCztJZtvHFnr3ngoq_DYvW3v0HcQ-iiEGQ>
 <xmx:YOnjXSgzS2tR586Aj3ZrtJznrvl8iBxui6L-NgxXfSbeyVtiDEBbZw>
Received: from mrblack (74-116-186-44.qc.dsl.ebox.net [74.116.186.44])
 by mail.messagingengine.com (Postfix) with ESMTPA id BF4C480060;
 Sun,  1 Dec 2019 11:25:03 -0500 (EST)
From: Timothy Sample <samplet@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
References: <87tv6qoank.fsf@HIDDEN> <87sgm4m9fu.fsf@HIDDEN>
Date: Sun, 01 Dec 2019 11:25:03 -0500
In-Reply-To: <87sgm4m9fu.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Sun, 01 Dec 2019 15:01:25 +0100")
Message-ID: <87r21of1y8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 38390
Cc: 38390 <at> debbugs.gnu.org, Jan Nieuwenhuizen <janneke@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Ludovic,

Ludovic Court=C3=A8s <ludo@HIDDEN> writes:

> Hello Janneke & Timothy!
>
> Jan Nieuwenhuizen <janneke@HIDDEN> skribis:
>
>> Gash has now reached pretty good posix compliance, which really helps to
>> run configure scripts and sh snippets in autotool-generated Makefiles.
>>
>> Gash Core Utils currently comes with
>>
>>    [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname,
>>    egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls,
>>    mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test,
>>    touch, tr, true, uname, uniq, wc, and which.
>
> Woow, excellent!  Do I get it right that =E2=80=9CGash Core Utils=E2=80=
=9D refers to the
> =E2=80=98gash-core-utils=E2=80=99 branch at <https://gitlab.com/janneke/g=
ash>?

For now (see below).

> So this is meant to be a Gash extension but separate from Gash.  Looks
> really cool!

My long term plan for it is to be a really, really souped-up version of
=E2=80=9C(guix build utils)=E2=80=9D.  Hopefully we can get reasonably nice=
 Scheme
interfaces for common shell idioms and then build the utilities on top
of those interfaces.  Then, the library could be useful independent of
the external utilities, Gash, and bootstrapping.  It=E2=80=99s nowhere near
there yet, but that=E2=80=99s the goal.

> Do you plan to eventually merge it on Savannah?  (I expected to find the
> code there.  :-)

Yes!  I plan to add another repo as part of the Gash project.  This will
happen when it=E2=80=99s closer to an initial release.  (I=E2=80=99ll have =
to audit all
of the copyright notices, etc., which I find easier to do while getting
ready for a release.)

> BTW, I posted (unimportant) patches to
> <https://lists.gnu.org/archive/html/gash-devel/2019-06/threads.html>.)

I was not subscribed to gash-devel!  :P  I was an admin, but that
doesn=E2=80=99t mean I was subscribed.  Sorry!

I noticed the install path patch that you added to the Guix package, so
it=E2=80=99s already fixed.  So far I=E2=80=99ve been too busy to test on G=
uile 3....

> [...]

> How much work would be necessary at first sign to implement what=E2=80=99s
> missing from (gash core-utils awk) to cover what modern-time =E2=80=98con=
figure=E2=80=99
> scripts need?
>
> I suppose having a good(-enough) Awk implementation in Gash would be
> more fruitful in the long run than reviving old C packages.  Notably, I
> think you=E2=80=99d rather keep Mes=E2=80=99 libc as small as possible IM=
O, because it=E2=80=99s
> cumbersome to write and maintain, which means more Scheme and less C.
> But obviously, this all depends on the difficulty of implementing the
> missing bits of Awk.

I agree this is the right way to go in the long run.  I=E2=80=99m pretty su=
re
we=E2=80=99ll get there, but I haven=E2=80=99t worked on the Awk implementa=
tion yet.

In around one week (with the usual caveats around software estimates), I
will make another release of Gash, at which point it will be =E2=80=9Cgood
enough=E2=80=9D for the bootstrapping task.  After that, I plan to turn my
attention to the other utilities.  There=E2=80=99s a lot of administrative =
work
and cleaning to do there, so it will take some time to get a release
out.  Once that happens I=E2=80=99ll move on to removing some intermediate
bootstrapping packages like early versions of Gawk, etc.


-- Tim




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at 38390 <at> debbugs.gnu.org:


Received: (at 38390) by debbugs.gnu.org; 1 Dec 2019 14:01:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 01 09:01:37 2019
Received: from localhost ([127.0.0.1]:35571 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ibPn6-0002fh-RB
	for submit <at> debbugs.gnu.org; Sun, 01 Dec 2019 09:01:37 -0500
Received: from eggs.gnu.org ([209.51.188.92]:43614)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1ibPn4-0002fO-D0
 for 38390 <at> debbugs.gnu.org; Sun, 01 Dec 2019 09:01:34 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:49568)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1ibPmy-0001w1-Rc; Sun, 01 Dec 2019 09:01:29 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=54346 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1ibPmx-0006Ir-W1; Sun, 01 Dec 2019 09:01:28 -0500
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Jan Nieuwenhuizen <janneke@HIDDEN>
Subject: Re: [bug#38390] [core-updates] Scheme-only bootstrap: merge
 wip-bootstrap
References: <87tv6qoank.fsf@HIDDEN>
Date: Sun, 01 Dec 2019 15:01:25 +0100
In-Reply-To: <87tv6qoank.fsf@HIDDEN> (Jan Nieuwenhuizen's message of "Tue, 26
 Nov 2019 17:38:39 +0100")
Message-ID: <87sgm4m9fu.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 38390
Cc: Timothy Sample <samplet@HIDDEN>, 38390 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hello Janneke & Timothy!

Jan Nieuwenhuizen <janneke@HIDDEN> skribis:

> Gash has now reached pretty good posix compliance, which really helps to
> run configure scripts and sh snippets in autotool-generated Makefiles.
>
> Gash Core Utils currently comes with
>
>    [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname,
>    egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls,
>    mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test,
>    touch, tr, true, uname, uniq, wc, and which.

Woow, excellent!  Do I get it right that =E2=80=9CGash Core Utils=E2=80=9D =
refers to the
=E2=80=98gash-core-utils=E2=80=99 branch at <https://gitlab.com/janneke/gas=
h>?

So this is meant to be a Gash extension but separate from Gash.  Looks
really cool!

Do you plan to eventually merge it on Savannah?  (I expected to find the
code there.  :-)  BTW, I posted (unimportant) patches to
<https://lists.gnu.org/archive/html/gash-devel/2019-06/threads.html>.)

> that in comparison with Gash are much flakier.  While basic
> functionality is generally OK, most Gash tools cannot be used to
> bootstrap the entire system yet.  This holds especially for awk, grep,
> and sed.

(gash core-utils awk *) look quite fancy though!  I thought =E2=80=98config=
ure=E2=80=99
only used a couple of trivial Awk snippets and after checking, I see
that there are in fact relatively fancy Awk programs in there.  Bah.

> Between autoconf 2.61 (2006) and autoconf-2.63 (2008), much
> functionality that was written in sed was moved to awk.  The NEWS file
> states performance reasons.  Gash's sed is much mature than Gash's awk,
> so currently it makes sense to target C versions of around 2004.
>
> However, some of the 2004 C tools are not good enough anymore to
> bootstrap the entire system; so we need a second round for them.  The
> Mes C Library is another constraint.  With Mes 0.21 it gained support
> for many early C tools; but more recent tools have C library
> requirements that are not yet covered.

How much work would be necessary at first sign to implement what=E2=80=99s
missing from (gash core-utils awk) to cover what modern-time =E2=80=98confi=
gure=E2=80=99
scripts need?

I suppose having a good(-enough) Awk implementation in Gash would be
more fruitful in the long run than reviving old C packages.  Notably, I
think you=E2=80=99d rather keep Mes=E2=80=99 libc as small as possible IMO,=
 because it=E2=80=99s
cumbersome to write and maintain, which means more Scheme and less C.
But obviously, this all depends on the difficulty of implementing the
missing bits of Awk.

> Another thing to note is that we do not have bzip2, lzip or xz and that
> after 2009 some crucial tools (coreutils, diffutils, grep, sed, ...)
> start shipping .xz or .lz tarballs only.  While bzip2 can be built early
> in the bootstrap, I only managed to build xz with a fairly recent gcc
> (4.6).

At worst, we could host gzipped versions of these tarballs (or ask the
maintainers to do so).

Or we could have a fixed-output derivation that does the lzip->gzip
conversion (creating a =E2=80=9Csoft=E2=80=9D circular dependency), which i=
s kinda
equivalent to hosting a gzipped versions when substitutes are available.

Longer-term, we could also consider having a derivation built-in that
would allow us to =E2=80=9Ccheat=E2=80=9D (i.e., take gz/lzip/xz/bzip2 for =
granted),
though it=E2=80=99s not so nice.

> Even with these considerations, there still is quite some room to change
> build order and versions of the C versions of coreutils&co.  The current
> choices are mostly made by "what works".  We could invest in fixing
> Gash's awk or sed or enrich the Mes C library or ..., if that seems a
> helpful thing to do.
>
> When we manage to merge this, we will have halved the bootstrap seed
> again, reducing the bootstrap seed to under 60MB.

Woohoo!

> Just when I thought the branch was functionally done; I already found one
> small problem; I have pushed this ugly workaround
>
> bootstrap: ACL: disable tests.  FIXME: LD_PRELOAD.
>
> Running
>
>     ./pre-inst-env build hello
>
> fails to build acl:
>
> ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/l=
ibtestlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~

We should have a debugging session for this one.  :-)

What about building the =E2=80=98core=E2=80=99 subset of =E2=80=98wip-boots=
trap=E2=80=99 on berlin?
That would allow others to experiment (and debug!) without having to
build it all by themselves.

At some point we should consider =E2=80=9Ccleaning up=E2=80=9D the history =
of that
branch.  For instance, I see commit =E2=80=9C326d45561c gnu: Add gash.  WIP=
=E2=80=9D,
which adds =E2=80=98guile-gash=E2=80=99 when there=E2=80=99s already a =E2=
=80=98gash=E2=80=99 package (and it
also modifies =E2=80=98jupyter-guile-kernel=E2=80=99).

We=E2=80=99ll also have to collectively review the new bootstrap tarballs.

Anyway, great perspectives and much excitement!  :-)

Thank you,
Ludo=E2=80=99.




Information forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 26 Nov 2019 16:38:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 26 11:38:48 2019
Received: from localhost ([127.0.0.1]:52822 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iZdrU-0004ZW-FG
	for submit <at> debbugs.gnu.org; Tue, 26 Nov 2019 11:38:48 -0500
Received: from lists.gnu.org ([209.51.188.17]:50335)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@HIDDEN>) id 1iZdrT-0004ZP-4v
 for submit <at> debbugs.gnu.org; Tue, 26 Nov 2019 11:38:47 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:38510)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <janneke@HIDDEN>) id 1iZdrR-0001Yw-GY
 for guix-patches@HIDDEN; Tue, 26 Nov 2019 11:38:46 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_40,
 URIBL_BLOCKED autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:470:142:3::e]:60015)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <janneke@HIDDEN>)
 id 1iZdrR-00033v-4r; Tue, 26 Nov 2019 11:38:45 -0500
Received: from [2001:980:1b4f:1:42d2:832d:bb59:862] (port=43118
 helo=dundal.peder.onsbrabantnet.nl)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <janneke@HIDDEN>)
 id 1iZdrQ-0005Dr-Eg; Tue, 26 Nov 2019 11:38:44 -0500
From: Jan Nieuwenhuizen <janneke@HIDDEN>
To: guix-patches@HIDDEN
Subject: [core-updates] Scheme-only bootstrap: merge wip-bootstrap
Date: Tue, 26 Nov 2019 17:38:39 +0100
Message-ID: <87tv6qoank.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
Cc: Timothy Sample <samplet@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi!

With the release of Mes 0.21, the wip-bootstrap branch is ready for a
first review.  This is a big one, so I am opening this bug to discuss
and keep track of things.

Please note that wip-bootstrap uses development snapshots of Gash and
Gash Core Utils; we still expect some changes here and probably hard
resets of `wip-bootstrap'.

Gash has now reached pretty good posix compliance, which really helps to
run configure scripts and sh snippets in autotool-generated Makefiles.

Gash Core Utils currently comes with

   [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname,
   egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls,
   mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test,
   touch, tr, true, uname, uniq, wc, and which.

that in comparison with Gash are much flakier.  While basic
functionality is generally OK, most Gash tools cannot be used to
bootstrap the entire system yet.  This holds especially for awk, grep,
and sed.

Between autoconf 2.61 (2006) and autoconf-2.63 (2008), much
functionality that was written in sed was moved to awk.  The NEWS file
states performance reasons.  Gash's sed is much mature than Gash's awk,
so currently it makes sense to target C versions of around 2004.

However, some of the 2004 C tools are not good enough anymore to
bootstrap the entire system; so we need a second round for them.  The
Mes C Library is another constraint.  With Mes 0.21 it gained support
for many early C tools; but more recent tools have C library
requirements that are not yet covered.

Another thing to note is that we do not have bzip2, lzip or xz and that
after 2009 some crucial tools (coreutils, diffutils, grep, sed, ...)
start shipping .xz or .lz tarballs only.  While bzip2 can be built early
in the bootstrap, I only managed to build xz with a fairly recent gcc
(4.6).

Even with these considerations, there still is quite some room to change
build order and versions of the C versions of coreutils&co.  The current
choices are mostly made by "what works".  We could invest in fixing
Gash's awk or sed or enrich the Mes C library or ..., if that seems a
helpful thing to do.

When we manage to merge this, we will have halved the bootstrap seed
again, reducing the bootstrap seed to under 60MB.

--8<---------------cut here---------------start------------->8---
10:40:02 janneke@dundal:~/tmp [env]
$ cd guix-sob/
10:40:04 janneke@dundal:~/tmp/guix-sob [env]
$ du -schx $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bo=
otstrap-tarballs)/*)
388K	/gnu/store/49giv6b94zbv2pjl6a9ycgy5ny9x3jbc-gash-bootstrap-guile-tarba=
ll-0.1-9.32188ac/gash-bootstrap-guile-0.1-9.32188ac-x86_64-linux.tar.xz
5.7M	/gnu/store/47qxvqs7rm7agdp86lxr2jzvval5hkqc-guile-static-stripped-tarb=
all-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K	/gnu/store/l6m2rmqs31mc9w7rl99xxl6m35x7fg6v-linux-libre-headers-strippe=
d-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
280K	/gnu/store/gnz5mlnzcb0nkaiyad5smblalfjvi8xc-mescc-tools-static-strippe=
d-tarball-0.6.1/mescc-tools-static-stripped-0.6.1-x86_64-linux.tar.xz
352K	/gnu/store/p32p46x5iic0sff2wcf5gilddvfibb19-mes-minimal-stripped-tarba=
ll-0.21/mes-minimal-stripped-0.21-x86_64-linux.tar.xz
6.7M	total
10:40:14 janneke@dundal:~/tmp/guix-sob [env]
$ for i in $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bo=
otstrap-tarballs)/*); do sudo tar xf $i; done
10:45:29 janneke@dundal:~/tmp/guix-sob [env]
$ du -schx *
6.2M	bin
988K	include
42M	lib
8.3M	share
58M	total
--8<---------------cut here---------------end--------------->8---

Just when I thought the branch was functionally done; I already found one
small problem; I have pushed this ugly workaround

--8<---------------cut here---------------start------------->8---
bootstrap: ACL: disable tests.  FIXME: LD_PRELOAD.

Running

    ./pre-inst-env build hello

fails to build acl:

ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib=
testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib=
testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib=
testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib=
testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
[7] $ rm large-file -- failed
ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib=
testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~
4 commands (2 passed, 2 failed)
FAIL test/getfacl-lfs.test (exit status: 2)

* gnu/packages/acl.scm (acl): Disable tests.
--8<---------------cut here---------------end--------------->8---

It looks like a coreutils is getting built with a too early bootstrap
gcc/glibc, but I could use some help here.

Greetings,
janneke

--=20
Jan Nieuwenhuizen <janneke@HIDDEN> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com




Acknowledgement sent to Jan Nieuwenhuizen <janneke@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#38390; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 8 Dec 2019 22:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.