From 2750c820586500c54afa5efd51218970a0d9d344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 28 Jan 2021 20:13:56 +0000 Subject: [PATCH 1/2] Remove a note about sed. s/a/b/ seems functional. --- README.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index 52a61798..c2209c46 100644 --- a/README.md +++ b/README.md @@ -181,14 +181,7 @@ old tooling instead. #### Part 7: sed 4.0.7 -You are most likely aware of GNU `sed`, a line editor. Here, we had to make a -compromise between two versions: - -- 1.18: fully functional `s/a/b`, but no `-i`. -- 4.0.7: fully functional `-i`, but broken `s/a/b`. - -We opted for the latter, as otherwise there would be no patching of files for -quite some time. We can delete lines from files now! +You are most likely aware of GNU `sed`, a line editor. #### Part 8: tar 1.12 From 596af33507ab4b55e880f4484e9ce310ec4c20ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 28 Jan 2021 21:55:00 +0000 Subject: [PATCH 2/2] Rebuild bash parser. --- README.md | 9 +++++---- sysa/bash-2.05b/bash-2.05b.kaem | 1 + sysa/bash-2.05b/mk/main.mk | 3 +++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c2209c46..2fa29dd8 100644 --- a/README.md +++ b/README.md @@ -245,16 +245,17 @@ be useful later for autotools. of standard UNIX utilities derived from code by Caldera and Sun. Differently from the analogous utilities from the GNU project, they can be compiled with a simple `Makefile`. -#### Part 21: bash 2.05b +#### Part 18: bash 2.05b GNU `bash` is the most well known shell and the most complex piece of software so far. However, it comes with a number of great benefits over kaem, including proper POSIX sh support, globbing, etc. -NOTE: Currently, there is a bison pre-generated file here, which we are working -to remove. +Bash ships with a bison pre-generated file here which we delete. Unfortunately, +we have not bootstrapped bison but fortunately for us, heirloom yacc is able to +cope here. -#### Part 22: m4 1.4 +#### Part 19: m4 1.4 `m4` is the first piece of software we need in the autotools suite. It allows macros to be defined and files to be generated from those macros. diff --git a/sysa/bash-2.05b/bash-2.05b.kaem b/sysa/bash-2.05b/bash-2.05b.kaem index f29af052..65f8f1fb 100755 --- a/sysa/bash-2.05b/bash-2.05b.kaem +++ b/sysa/bash-2.05b/bash-2.05b.kaem @@ -17,6 +17,7 @@ cp ../../mk/common.mk common.mk touch config.h touch include/version.h touch include/pipesize.h +rm y.tab.c y.tab.h # Patch patch -Np0 -i ../../patches/mes-libc.patch diff --git a/sysa/bash-2.05b/mk/main.mk b/sysa/bash-2.05b/mk/main.mk index bc45182a..365c5d83 100644 --- a/sysa/bash-2.05b/mk/main.mk +++ b/sysa/bash-2.05b/mk/main.mk @@ -78,6 +78,9 @@ mksignames: $(MKSIGNAMES_OBJS) signames.h: mksignames ./mksignames $@ +y.tab.c: parse.y + yacc -d $^ + trap.c: signames.h bash: libsh.a libglob.a libtilde.a $(OBJS)